aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/display/intel_vdsc.c
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2019-12-11 18:23:47 +0200
committerJani Nikula <jani.nikula@intel.com>2019-12-19 15:23:59 +0200
commit4cb48c447e8753aec2c96630a539eb6207fd6814 (patch)
treeedafa967394a5eaf1594fb074217cc72b4bcc6f3 /drivers/gpu/drm/i915/display/intel_vdsc.c
parentdrm/i915/dsc: fix DSC register selection for ICL DSI transcoders (diff)
downloadlinux-dev-4cb48c447e8753aec2c96630a539eb6207fd6814.tar.xz
linux-dev-4cb48c447e8753aec2c96630a539eb6207fd6814.zip
drm/i915/dsc: clarify DSC support for pipe A on ICL
The check for cpu_transcoder != TRANSCODER_A is more magic than necessary, and potentially misleading. Before TGL, DSC is supported on pipe A if, and only if, it's used with eDP or DSI transcoders. No functional changes. Cc: Manasi Navare <manasi.d.navare@intel.com> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com> Reviewed-by: Vandita Kulkarni <vandita.kulkarni@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/f00e9d55ce20b256177222588780c660aa587cc3.1576081155.git.jani.nikula@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/display/intel_vdsc.c')
-rw-r--r--drivers/gpu/drm/i915/display/intel_vdsc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
index e6f60be9ee84..41718f721484 100644
--- a/drivers/gpu/drm/i915/display/intel_vdsc.c
+++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
@@ -337,7 +337,10 @@ static const struct rc_parameters *get_rc_params(u16 compressed_bpp,
bool intel_dsc_source_support(struct intel_encoder *encoder,
const struct intel_crtc_state *crtc_state)
{
+ const struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
+ enum pipe pipe = crtc->pipe;
if (!INTEL_INFO(i915)->display.has_dsc)
return false;
@@ -347,7 +350,10 @@ bool intel_dsc_source_support(struct intel_encoder *encoder,
return true;
if (INTEL_GEN(i915) >= 10 &&
- crtc_state->cpu_transcoder != TRANSCODER_A)
+ (pipe != PIPE_A ||
+ (cpu_transcoder == TRANSCODER_EDP ||
+ cpu_transcoder == TRANSCODER_DSI_0 ||
+ cpu_transcoder == TRANSCODER_DSI_1)))
return true;
return false;