From 4cb48c447e8753aec2c96630a539eb6207fd6814 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Wed, 11 Dec 2019 18:23:47 +0200 Subject: 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 Cc: Vandita Kulkarni Reviewed-by: Vandita Kulkarni Signed-off-by: Jani Nikula Link: https://patchwork.freedesktop.org/patch/msgid/f00e9d55ce20b256177222588780c660aa587cc3.1576081155.git.jani.nikula@intel.com --- drivers/gpu/drm/i915/display/intel_vdsc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/drm/i915/display/intel_vdsc.c') 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; -- cgit v1.2.3-59-g8ed1b