On Wed, Dec 11, 2019 at 06:23:47PM +0200, Jani Nikula wrote:
> 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.
>

Hmm, so we could still use PIPE_A but if its eDP or DSI it would use
TRANSCODER_EDP or TRANSCODER_DSI and that should still work?

So its simpler to say that if it is PIPE_A && transcoder_A then it doesnt
support DSC?
Wouldnt it be simpler to change the condition to :
if (INTEL_GEN(i915) >= 10 && !(pipe_A && transcode_A)
     return true;

Regards
Manasi
 
> Cc: Manasi Navare <manasi.d.nav...@intel.com>
> Cc: Vandita Kulkarni <vandita.kulka...@intel.com>
> Signed-off-by: Jani Nikula <jani.nik...@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_vdsc.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> 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;
> -- 
> 2.20.1
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to