[alsa-devel] [PATCH] ALSA: hda - disable dynamic clock gating on Broxton before reset

Takashi Iwai tiwai at suse.de
Fri Jan 29 13:59:20 CET 2016


On Fri, 29 Jan 2016 13:39:09 +0100,
libin.yang at linux.intel.com wrote:
> 
> From: Libin Yang <libin.yang at linux.intel.com>
> 
> On Broxton, to make sure the reset controller works properly,
> MISCBDCGE bit (bit 6) in CGCTL (0x48) of PCI configuration space
> need be cleared before reset and set back to 1 after reset.
> Otherwise, it may prevent the CORB/RIRB logic from being reset.
> 
> Signed-off-by: Libin Yang <libin.yang at linux.intel.com>

Applied, thanks.


Takashi


> ---
>  sound/pci/hda/hda_intel.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index aeaa9a5..12c5442 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -90,6 +90,8 @@ enum {
>  #define NVIDIA_HDA_ENABLE_COHBIT      0x01
>  
>  /* Defines for Intel SCH HDA snoop control */
> +#define INTEL_HDA_CGCTL	 0x48
> +#define INTEL_HDA_CGCTL_MISCBDCGE        (0x1 << 6)
>  #define INTEL_SCH_HDA_DEVC      0x78
>  #define INTEL_SCH_HDA_DEVC_NOSNOOP       (0x1<<11)
>  
> @@ -536,10 +538,21 @@ static void hda_intel_init_chip(struct azx *chip, bool full_reset)
>  {
>  	struct hdac_bus *bus = azx_bus(chip);
>  	struct pci_dev *pci = chip->pci;
> +	u32 val;
>  
>  	if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL)
>  		snd_hdac_set_codec_wakeup(bus, true);
> +	if (IS_BROXTON(pci)) {
> +		pci_read_config_dword(pci, INTEL_HDA_CGCTL, &val);
> +		val = val & (~(INTEL_HDA_CGCTL_MISCBDCGE));
> +		pci_write_config_dword(pci, INTEL_HDA_CGCTL, val);
> +	}
>  	azx_init_chip(chip, full_reset);
> +	if (IS_BROXTON(pci)) {
> +		pci_read_config_dword(pci, INTEL_HDA_CGCTL, &val);
> +		val = val | INTEL_HDA_CGCTL_MISCBDCGE;
> +		pci_write_config_dword(pci, INTEL_HDA_CGCTL, val);
> +	}
>  	if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL)
>  		snd_hdac_set_codec_wakeup(bus, false);
>  
> -- 
> 1.9.1
> 


More information about the Alsa-devel mailing list