[alsa-devel] [PATCH] ALSA: hda - Add DeviceID for Haswell HDA
Takashi Iwai
tiwai at suse.de
Mon Jul 16 10:40:49 CEST 2012
At Fri, 13 Jul 2012 19:48:22 +0200,
Jaroslav Kysela wrote:
>
> Date 13.6.2012 08:46, Takashi Iwai wrote:
> > 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? :)
> >
> > 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.
>
> The combo works OK for the Haswell. I think that the patch should be
> applied with the HDMI ID patch "[PATCH] ALSA: hda - add Haswell HDMI pci
> id".
>
> Acked-by: Jaroslav Kysela <perex at perex.cz>
>
> But it seems that the HDA bridge (8086:0c0c) with the HDMI codecs is
> detected as first in the PCI probe in this system, which is not ideal.
> So the card0 is HDMI only and card1 is analog:
>
>
> !Soundcards recognised by ALSA
> !!-----------------------------
>
> 0 [PCH ]: HDA-Intel - HDA Intel PCH
> HDA Intel PCH at 0xc2820000 irq 11
> 1 [PCH_1 ]: HDA-Intel - HDA Intel PCH
> HDA Intel PCH at 0xc2824000 irq 11
>
>
> !!PCI Soundcards installed in the system
> !!--------------------------------------
>
> 00:03.0 Audio device: Intel Corporation Device 0c0c (rev 01)
> 00:1b.0 Audio device: Intel Corporation Device 8c20 (rev 01)
>
>
> !!Advanced information - PCI Vendor/Device/Subsystem ID's
> !!-------------------------------------------------------
>
> 00:03.0 0403: 8086:0c0c (rev 01)
> Subsystem: 8086:2010
> --
> 00:1b.0 0403: 8086:8c20 (rev 01)
> Subsystem: 8086:7270
>
>
> Perhaps, we may add also some code to penalize the HDMI only HDA bridges
> and allocate these cards on indexes 1+ by default (implement
> AZX_DCAPS_INDEX1) . Comments? I'll prepare a patch upon an agreement.
Having index=0 for analog would be nice in general, but I'm afraid
that it isn't always safe in the case of HD-audio (depending on the
implementation, though, of course):
- BIOS may disable the analog PCI part, e.g. if a device has only
HDMI/DP, or vice versa.
- There are already devices showing the same problem, e.g. AMD
on-board with AMD D-GPU, and users may have already added index
option for such.
IMO, we should provide a mechanism to advertise the preferred
configuration from the driver side without fiddling the index.
For example, exposing an info bit that this is digital-I/O only card,
and let alsa-lib choose another one as default (unless explicitly
specified).
thanks,
Takashi
> Jaroslav
>
> >
> >
> > 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
> >
>
>
> --
> Jaroslav Kysela <perex at perex.cz>
> Linux Kernel Sound Maintainer
> ALSA Project; Red Hat, Inc.
>
>
More information about the Alsa-devel
mailing list