[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