Hi Seth, 2012/6/15 Seth Heasley <[email protected]>: > This patch activates the COMBO position_fix for recent Intel client chipsets. > COMBO mode is the recommended setting for Intel chipsets and eliminates HD > audio warnings in dmesg. This patch has been tested on Lynx Point, Panther > Point, and Cougar Pont.
Haswell HDMI audio works now on Sharkbay mobile platform, so i would like to test whether this patch is useful for Haswell. Would you tell me how to finish the test to prove it works better? thanks --xingchao > > Signed-off-by: Seth Heasley <[email protected]> > --- > sound/pci/hda/hda_intel.c | 11 ++++++++--- > 1 files changed, 8 insertions(+), 3 deletions(-) > > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c > index 2b6392b..466a88c 100644 > --- a/sound/pci/hda/hda_intel.c > +++ b/sound/pci/hda/hda_intel.c > @@ -535,6 +535,7 @@ enum { > #define AZX_DCAPS_BUFSIZE (1 << 21) /* no buffer size alignment */ > #define AZX_DCAPS_ALIGN_BUFSIZE (1 << 22) /* buffer size > alignment */ > #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 << 23) /* BDLE in 4k boundary */ > +#define AZX_DCAPS_POSFIX_COMBO (1 << 24) /* Use COMBO as default */ > > /* quirks for ATI SB / AMD Hudson */ > #define AZX_DCAPS_PRESET_ATI_SB \ > @@ -2728,6 +2729,10 @@ static int __devinit check_position_fix(struct azx > *chip, int fix) > snd_printd(SFX "Using LPIB position fix\n"); > return POS_FIX_LPIB; > } > + if (chip->driver_caps & AZX_DCAPS_POSFIX_COMBO) { > + snd_printd(SFX "Using COMBO position fix\n"); > + return POS_FIX_COMBO; > + } > return POS_FIX_AUTO; > } > > @@ -3240,7 +3245,7 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { > /* CPT */ > { PCI_DEVICE(0x8086, 0x1c20), > .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | > - AZX_DCAPS_BUFSIZE }, > + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, > /* PBG */ > { PCI_DEVICE(0x8086, 0x1d20), > .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | > @@ -3248,11 +3253,11 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = { > /* Panther Point */ > { PCI_DEVICE(0x8086, 0x1e20), > .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | > - AZX_DCAPS_BUFSIZE}, > + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, > /* Lynx Point */ > { PCI_DEVICE(0x8086, 0x8c20), > .driver_data = AZX_DRIVER_PCH | AZX_DCAPS_SCH_SNOOP | > - AZX_DCAPS_BUFSIZE}, > + AZX_DCAPS_BUFSIZE | AZX_DCAPS_POSFIX_COMBO }, > /* SCH */ > { PCI_DEVICE(0x8086, 0x811b), > .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_SCH_SNOOP | > -- > 1.7.4.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

