[alsa-devel] [PATCH 1/2] Revert "ALSA: hda - mask buggy stream DMA0 for Broadwell display controller"
From: Libin Yang libin.yang@intel.com
This reverts commit 7189eb9b8f7962474956196c301676470542f253.
It will use LPIB to get the DMA position on Broadwell HDMI Audio.
Signed-off-by: Libin Yang libin.yang@intel.com --- sound/pci/hda/hda_intel.c | 6 ------ 1 file changed, 6 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd77b9b..f93f338 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1367,12 +1367,6 @@ static int azx_first_init(struct azx *chip) /* initialize streams */ azx_init_stream(chip);
- /* workaround for Broadwell HDMI: the first stream is broken, - * so mask it by keeping it as if opened - */ - if (pci->vendor == 0x8086 && pci->device == 0x160c) - chip->azx_dev[0].opened = 1; - /* initialize chip */ azx_init_pci(chip); azx_init_chip(chip, (probe_only[dev] & 2) == 0);
From: Libin Yang libin.yang@intel.com
Broadwell HDMI can't use position buffer reliably, force to use LPIB
Signed-off-by: Libin Yang libin.yang@intel.com --- sound/pci/hda/hda_intel.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index f93f338..bb65a124 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -237,6 +237,12 @@ enum { AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_PM_RUNTIME | \ AZX_DCAPS_I915_POWERWELL)
+/* Broadwell HDMI can't use position buffer reliably, force to use LPIB */ +#define AZX_DCAPS_INTEL_BROADWELL \ + (AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_ALIGN_BUFSIZE | \ + AZX_DCAPS_POSFIX_LPIB | AZX_DCAPS_PM_RUNTIME | \ + AZX_DCAPS_I915_POWERWELL) + /* quirks for ATI SB / AMD Hudson */ #define AZX_DCAPS_PRESET_ATI_SB \ (AZX_DCAPS_ATI_SNOOP | AZX_DCAPS_NO_TCSEL | \ @@ -1763,7 +1769,7 @@ static const struct pci_device_id azx_ids[] = { .driver_data = AZX_DRIVER_HDMI | AZX_DCAPS_INTEL_HASWELL }, /* Broadwell */ { PCI_DEVICE(0x8086, 0x160c), - .driver_data = AZX_DRIVER_HDMI | AZX_DCAPS_INTEL_HASWELL }, + .driver_data = AZX_DRIVER_HDMI | AZX_DCAPS_INTEL_BROADWELL }, /* 5 Series/3400 */ { PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM },
At Mon, 9 Jun 2014 15:28:58 +0800, libin.yang@intel.com wrote:
From: Libin Yang libin.yang@intel.com
This reverts commit 7189eb9b8f7962474956196c301676470542f253.
It will use LPIB to get the DMA position on Broadwell HDMI Audio.
Signed-off-by: Libin Yang libin.yang@intel.com
Thanks, applied this with the next patch, but in a different order. In general, you shouldn't break things in the middle, especially for bisection. The second patch doesn't conflict with the DMA0 disablement, so we can apply it first, then revert DMA0 disablement.
Takashi
sound/pci/hda/hda_intel.c | 6 ------ 1 file changed, 6 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd77b9b..f93f338 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1367,12 +1367,6 @@ static int azx_first_init(struct azx *chip) /* initialize streams */ azx_init_stream(chip);
- /* workaround for Broadwell HDMI: the first stream is broken,
* so mask it by keeping it as if opened
*/
- if (pci->vendor == 0x8086 && pci->device == 0x160c)
chip->azx_dev[0].opened = 1;
- /* initialize chip */ azx_init_pci(chip); azx_init_chip(chip, (probe_only[dev] & 2) == 0);
-- 1.8.3.2
Hi Takashi,
Got it. Thanks.
Regards, Libin
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Monday, June 9, 2014 3:35 PM To: Yang, Libin Cc: alsa-devel@alsa-project.org; Lin, Mengdong Subject: Re: [PATCH 1/2] Revert "ALSA: hda - mask buggy stream DMA0 for Broadwell display controller"
At Mon, 9 Jun 2014 15:28:58 +0800, libin.yang@intel.com wrote:
From: Libin Yang libin.yang@intel.com
This reverts commit 7189eb9b8f7962474956196c301676470542f253.
It will use LPIB to get the DMA position on Broadwell HDMI Audio.
Signed-off-by: Libin Yang libin.yang@intel.com
Thanks, applied this with the next patch, but in a different order. In general, you shouldn't break things in the middle, especially for bisection. The second patch doesn't conflict with the DMA0 disablement, so we can apply it first, then revert DMA0 disablement.
Takashi
sound/pci/hda/hda_intel.c | 6 ------ 1 file changed, 6 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index cd77b9b..f93f338 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1367,12 +1367,6 @@ static int azx_first_init(struct azx *chip) /* initialize streams */ azx_init_stream(chip);
- /* workaround for Broadwell HDMI: the first stream is broken,
* so mask it by keeping it as if opened
*/
- if (pci->vendor == 0x8086 && pci->device == 0x160c)
chip->azx_dev[0].opened = 1;
- /* initialize chip */ azx_init_pci(chip); azx_init_chip(chip, (probe_only[dev] & 2) == 0);
-- 1.8.3.2
participants (3)
-
libin.yang@intel.com
-
Takashi Iwai
-
Yang, Libin