[alsa-devel] [PATCH] ALSA: hda - Add DeviceID for Haswell HDA
Takashi Iwai
tiwai at suse.de
Wed Jun 13 10:14:05 CEST 2012
At Wed, 13 Jun 2012 16:05:12 +0800,
Wang Xingchao wrote:
>
> Hi Takashi,
>
> 2012/6/13 Takashi Iwai <tiwai at suse.de>:
> > At Wed, 13 Jun 2012 10:23:51 +0800,
> > Wang Xingchao wrote:
> >>
> >> this patch add proper id for Haswell HDA Controller.
> >>
> >> Signed-off-by: Wang Xingchao <xingchao.wang at intel.com>
> >
> > Oh, now ID number decreases to 0xxx? :)
>
> Id 0c0c is readout from "lspci" like below:
> [amanda at amanda-fedora-16 ~]$ lspci
>
> 00:03.0 Audio device: Intel Corporation Device 0c0c (rev 01)
>
> 00:1b.0 Audio device: Intel Corporation Device 8c20 (rev 01)
So, this machine has two controllers, one for Haswell and another for
Lynx Point? I guess the former is dedicated to HDMI/DP?
> > While we are on this: could you verify whether position_fix=4 (combo)
> > options works for Haswell? In this mode, LPIB is used for playback
> > positioning while POS buffer is used for capture.
> >
> > Seth (Cc'ed) figured out that this mode works better than the default
> > (usually POS buf both for playback and capture) on the recent Intel
> > controller chips, so I guess it'd be applied to Haswell, too.
> >
>
> I'm afraid no better result to provide now. This patch is to fix codec
> probe error at initialization. you can get details at this bug page:
> Bug 829405 - [Intel 6.4 Bug] Shark Bay: sound related warnings/errors in dmesg
> https://bugzilla.redhat.com/show_bug.cgi?id=829405
The page is unaccessible.
I wonder, though, how your patch fixes the "probing" problem.
There is already an entry like:
/* Generic Intel */
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_ANY_ID),
.class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
.class_mask = 0xffffff,
.driver_data = AZX_DRIVER_ICH | AZX_DCAPS_BUFSIZE },
thus basically all Intel controllers are probed. Your patch will add
a flag AZX_DCAPS_SCH_SNOOP, which shouldn't influence on the probing
but only about streaming results.
> The other patch about HDMI device id could get correct device list by
> "aplay -l", but there's still some problem to detect HDMI monitor, so
> i cannot test audio on Haswell HDA now. But once the HDMI monitor
> detection works, i will provide the test result of Seth's patch.
Another patch is irrelevant with the position-buffer usage, so it's
safe to apply.
> I think if someone has Haswell HDA plus normal ALC* codec, it could
> help much to test the patch easily.
>
> So Takashi you could reject this patch until i send out the updated
> one with test result then.
OK, I'll wait for a while.
thanks,
Takashi
>
> thanks
> --xingchao
> >
> > thanks,
> >
> > Takashi
> >
> >> ---
> >> sound/pci/hda/hda_intel.c | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> >> index 2b6392b..f530c40 100644
> >> --- a/sound/pci/hda/hda_intel.c
> >> +++ b/sound/pci/hda/hda_intel.c
> >> @@ -151,6 +151,7 @@ MODULE_SUPPORTED_DEVICE("{{Intel, ICH6},"
> >> "{Intel, CPT},"
> >> "{Intel, PPT},"
> >> "{Intel, LPT},"
> >> + "{Intel, HPT},"
> >> "{Intel, PBG},"
> >> "{Intel, SCH},"
> >> "{ATI, SB450},"
> >> @@ -3253,6 +3254,10 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
> >> { PCI_DEVICE(0x8086, 0x8c20),
> >> .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> >> AZX_DCAPS_BUFSIZE},
> >> + /* Haswell */
> >> + { PCI_DEVICE(0x8086, 0x0c0c),
> >> + .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP |
> >> + AZX_DCAPS_BUFSIZE},
> >> /* SCH */
> >> { PCI_DEVICE(0x8086, 0x811b),
> >> .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP |
> >> --
> >> 1.7.9.5
> >>
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel at alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list