[alsa-devel] [PATCH 1/1] hda_intel: switch Intel chipsets to COMBO position_fix

Takashi Iwai tiwai at suse.de
Wed Jun 13 08:40:22 CEST 2012


At Tue, 12 Jun 2012 16:30:00 -0700,
Seth Heasley wrote:
> 
> This patch implements the COMBO position_fix for recent Intel client chipsets.
> 
> Signed-off-by: Seth Heasley <seth.heasley at intel.com>

Thanks for the patch.
But could you give a bit more context why this change is needed?


Takashi

> ---
>  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
> 


More information about the Alsa-devel mailing list