mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/1] hda_intel: activate COMBO mode for Intel client chipsets
@ 2012-06-14 21:23 Seth Heasley
  2012-06-15  8:29 ` Takashi Iwai
  2012-07-16  6:10 ` Wang Xingchao
  0 siblings, 2 replies; 3+ messages in thread
From: Seth Heasley @ 2012-06-14 21:23 UTC (permalink / raw)
  To: Takashi Iwai, Jaroslav Kysela, David Henningsson
  Cc: alsa-devel, linux-kernel, James Ralston, Seth Heasley

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.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
---
 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] hda_intel: activate COMBO mode for Intel client chipsets
  2012-06-14 21:23 [PATCH 1/1] hda_intel: activate COMBO mode for Intel client chipsets Seth Heasley
@ 2012-06-15  8:29 ` Takashi Iwai
  2012-07-16  6:10 ` Wang Xingchao
  1 sibling, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2012-06-15  8:29 UTC (permalink / raw)
  To: Seth Heasley
  Cc: Jaroslav Kysela, David Henningsson, alsa-devel, linux-kernel,
	James Ralston

At Thu, 14 Jun 2012 14:23:53 -0700,
Seth Heasley wrote:
> 
> 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.
> 
> Signed-off-by: Seth Heasley <seth.heasley@intel.com>

Applied now.  Thanks.


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
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] hda_intel: activate COMBO mode for Intel client chipsets
  2012-06-14 21:23 [PATCH 1/1] hda_intel: activate COMBO mode for Intel client chipsets Seth Heasley
  2012-06-15  8:29 ` Takashi Iwai
@ 2012-07-16  6:10 ` Wang Xingchao
  1 sibling, 0 replies; 3+ messages in thread
From: Wang Xingchao @ 2012-07-16  6:10 UTC (permalink / raw)
  To: Seth Heasley
  Cc: Takashi Iwai, Jaroslav Kysela, David Henningsson, alsa-devel,
	linux-kernel, James Ralston

Hi Seth,

2012/6/15 Seth Heasley <seth.heasley@intel.com>:
> 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 <seth.heasley@intel.com>
> ---
>  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/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-07-16  6:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-14 21:23 [PATCH 1/1] hda_intel: activate COMBO mode for Intel client chipsets Seth Heasley
2012-06-15  8:29 ` Takashi Iwai
2012-07-16  6:10 ` Wang Xingchao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®