diff options
author | 2024-02-01 17:45:32 +0000 | |
---|---|---|
committer | 2024-02-01 17:45:32 +0000 | |
commit | e81fdba0208666b65bafeaba814874b4d6e5edde (patch) | |
tree | 5de26e8be4ca1801ca27bffe25c129d29b13dba9 /drivers/gpu/drm/i915/display/intel_psr.c | |
parent | ASoC: amd: acp: Fix support for a Huawei Matebook laptop (diff) | |
parent | ALSA: hda: cs35l56: Remove unused test stub function (diff) | |
download | linux-e81fdba0208666b65bafeaba814874b4d6e5edde.tar.gz linux-e81fdba0208666b65bafeaba814874b4d6e5edde.tar.bz2 linux-e81fdba0208666b65bafeaba814874b4d6e5edde.zip |
ALSA: Various fixes for Cirrus Logic CS35L56 support
Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:
These patches fixe various things that were undocumented, unknown or
uncertain when the original driver code was written. And also a few
things that were just bugs.
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_psr.c')
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_psr.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 8f702c3fc62d..57bbf3e3af92 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -1525,8 +1525,18 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp, * can rely on frontbuffer tracking. */ mask = EDP_PSR_DEBUG_MASK_MEMUP | - EDP_PSR_DEBUG_MASK_HPD | - EDP_PSR_DEBUG_MASK_LPSP; + EDP_PSR_DEBUG_MASK_HPD; + + /* + * For some unknown reason on HSW non-ULT (or at least on + * Dell Latitude E6540) external displays start to flicker + * when PSR is enabled on the eDP. SR/PC6 residency is much + * higher than should be possible with an external display. + * As a workaround leave LPSP unmasked to prevent PSR entry + * when external displays are active. + */ + if (DISPLAY_VER(dev_priv) >= 8 || IS_HASWELL_ULT(dev_priv)) + mask |= EDP_PSR_DEBUG_MASK_LPSP; if (DISPLAY_VER(dev_priv) < 20) mask |= EDP_PSR_DEBUG_MASK_MAX_SLEEP; |