drm/i915: use forced codec wake on all gen9+ platforms
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Tue, 24 Mar 2020 15:32:12 +0000 (17:32 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 27 Mar 2020 15:33:12 +0000 (17:33 +0200)
Commit 632f3ab95fe2 ("drm/i915/audio: add codec wakeup override
enabled/disable callback"), added logic to toggle Codec Wake on gen9.
This is used by audio driver when it resets the HDA controller.

It seems explicit toggling of the wakeline can help to fix problems
with probe failing on some gen12 platforms. And based on specs, there
is no reason why this programming sequence should not be applied to all
gen9+ platforms. No side-effects are seen on gen10/11. So apply
the wake-logic to all gen9+ platforms.

Link: https://github.com/thesofproject/linux/issues/1847
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200324153212.6303-1-kai.vehmanen@linux.intel.com
drivers/gpu/drm/i915/display/intel_audio.c

index 62f234f641de60f6caa98cd1ac1fc299adb74102..950160f1a89fd7a0896f9f0cc7121940bdfc085c 100644 (file)
@@ -931,7 +931,7 @@ static void i915_audio_component_codec_wake_override(struct device *kdev,
        unsigned long cookie;
        u32 tmp;
 
-       if (!IS_GEN(dev_priv, 9))
+       if (INTEL_GEN(dev_priv) < 9)
                return;
 
        cookie = i915_audio_component_get_power(kdev);