summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2020-01-24 00:08:11 -0300
committerDavid P <megver83@parabola.nu>2020-01-24 00:08:11 -0300
commit41a7ce9bcea2cff5a7aeb8095639d899e6859134 (patch)
treec96139c86a9d9f62609f9f40348f30b180960da5 /kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch
parent75d02d599d1d041607af05ef3e3444c3295f24e5 (diff)
downloadabslibre-41a7ce9bcea2cff5a7aeb8095639d899e6859134.tar.gz
abslibre-41a7ce9bcea2cff5a7aeb8095639d899e6859134.tar.bz2
abslibre-41a7ce9bcea2cff5a7aeb8095639d899e6859134.zip
updpkg: kernels/linux-libre-xtreme 5.4.13-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch')
-rw-r--r--kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch87
1 files changed, 0 insertions, 87 deletions
diff --git a/kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch b/kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch
deleted file mode 100644
index ae34f4cf7..000000000
--- a/kernels/linux-libre-xtreme/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From fd29a8b6f1d2974791dd4b700bad5254f2ad28d9 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Fri, 20 Sep 2019 11:39:18 +0300
-Subject: [PATCH 09/15] drm/i915: save AUD_FREQ_CNTRL state at audio domain
- suspend
-
-When audio power domain is suspended, the display driver must
-save state of AUD_FREQ_CNTRL on Tiger Lake and Ice Lake
-systems. The initial value of the register is set by BIOS and
-is read by driver during the audio component init sequence.
-
-Cc: Jani Nikula <jani.nikula@intel.com>
-Cc: Imre Deak <imre.deak@intel.com>
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20190920083918.27057-1-kai.vehmanen@linux.intel.com
----
- drivers/gpu/drm/i915/display/intel_audio.c | 17 +++++++++++++++--
- drivers/gpu/drm/i915/i915_drv.h | 1 +
- drivers/gpu/drm/i915/i915_reg.h | 2 ++
- 3 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
-index ddcccf4408c3..439bc0a93410 100644
---- a/drivers/gpu/drm/i915/display/intel_audio.c
-+++ b/drivers/gpu/drm/i915/display/intel_audio.c
-@@ -850,10 +850,17 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
-
- ret = intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
-
-- /* Force CDCLK to 2*BCLK as long as we need audio to be powered. */
-- if (dev_priv->audio_power_refcount++ == 0)
-+ if (dev_priv->audio_power_refcount++ == 0) {
-+ if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
-+ I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl);
-+ DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n",
-+ dev_priv->audio_freq_cntrl);
-+ }
-+
-+ /* Force CDCLK to 2*BCLK as long as we need audio powered. */
- if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv))
- glk_force_audio_cdclk(dev_priv, true);
-+ }
-
- return ret;
- }
-@@ -1114,6 +1121,12 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv)
- return;
- }
-
-+ if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) {
-+ dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL);
-+ DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n",
-+ dev_priv->audio_freq_cntrl);
-+ }
-+
- dev_priv->audio_component_registered = true;
- }
-
-diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 89b6112bd66b..043ce1b47aeb 100644
---- a/drivers/gpu/drm/i915/i915_drv.h
-+++ b/drivers/gpu/drm/i915/i915_drv.h
-@@ -1530,6 +1530,7 @@ struct drm_i915_private {
- */
- struct mutex av_mutex;
- int audio_power_refcount;
-+ u32 audio_freq_cntrl;
-
- struct {
- struct mutex mutex;
-diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index f8ee9aba3955..e1fe356463ec 100644
---- a/drivers/gpu/drm/i915/i915_reg.h
-+++ b/drivers/gpu/drm/i915/i915_reg.h
-@@ -9104,6 +9104,8 @@ enum {
- #define HSW_AUD_CHICKENBIT _MMIO(0x65f10)
- #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15)
-
-+#define AUD_FREQ_CNTRL _MMIO(0x65900)
-+
- /*
- * HSW - ICL power wells
- *
---
-2.24.1
-