Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754684Ab2FMR7A (ORCPT ); Wed, 13 Jun 2012 13:59:00 -0400 Received: from mga02.intel.com ([134.134.136.20]:62468 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754507Ab2FMR67 convert rfc822-to-8bit (ORCPT ); Wed, 13 Jun 2012 13:58:59 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.67,351,1309762800"; d="scan'208";a="157212651" From: "Heasley, Seth" To: Takashi Iwai CC: Jaroslav Kysela , David Henningsson , "alsa-devel@alsa-project.org" , "linux-kernel@vger.kernel.org" , "Ralston, James D" Subject: RE: [PATCH 1/1] hda_intel: switch Intel chipsets to COMBO position_fix Thread-Topic: [PATCH 1/1] hda_intel: switch Intel chipsets to COMBO position_fix Thread-Index: AQHNSPQnAQ6WnVOgV0aFN9pBiC6dUJb4QkAAgABCW5A= Date: Wed, 13 Jun 2012 17:58:57 +0000 Message-ID: References: <1339543800-10834-1-git-send-email-seth.heasley@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.22.254.138] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2771 Lines: 74 >> This patch implements the COMBO position_fix for recent Intel client >chipsets. >> >> Signed-off-by: Seth Heasley > >Thanks for the patch. >But could you give a bit more context why this change is needed? The COMBO method was recommended for Intel chipsets by a certain audio maintainer. ;) It was also tested on the most recent Intel chips because we were seeing warning messages when using DMA positioning ("Invalid position buffer, using LPIB read method instead."). >> --- >> 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/