[PATCH 0/2] Add DP MST DSC support to i915

Lisovskiy, Stanislav stanislav.lisovskiy at intel.com
Thu Aug 11 07:33:51 UTC 2022


On Wed, Aug 10, 2022 at 04:02:08PM -0400, Lyude Paul wrote:
> Btw, what's the plan for this? Figured I'd ask since I noticed this on the ML,
> nd I'm now finishing up getting the atomic only MST patches I've been working
> on merged :)

Current plan is that I need to fix this, as current implementation doesn't
seem to work because of my wrong assumption that drm_dp_mst_find_vcpi_slots
will fail if no slots are available and then we can fallback to DSC.

In reality that function can return whatever bogus value it wants, like
71 slots, while you have only 63 available. The real check is done in
drm_dp_mst_atomic_check, which would of course reject that configuration,
however by that moment its going to be too late for swithcing to DSC.

So looke like I will have to move that check at least partly to where DSC/no DSC decision is done. However if there are multiple displays we get
another problem, lets say we have 2 displays requiring 40 vcpi slots each in DSC
mode with certain input bpp.
We have now either option to reject the whole config or go back and try with
another bpp to check if we can reduce amount of slots.
Because by default we choose the first one which fits, however by the time when 
compute_config is called, we still don't have all config computed, which might
lead to that last crtc can either run our of vcpi slots or we will have to 
go back and try recalculating with higher compression ratio.

My other question was that DSC was supposed to be "visually" lossless, wondering
why we are still trying with different bpps? Could have just set highest
compression ratio right away.

So need to sort this out first before floating new series.

Stan

> 
> On Wed, 2022-08-10 at 11:17 +0300, Stanislav Lisovskiy wrote:
> > Currently we have only DSC support for DP SST.
> > 
> > Stanislav Lisovskiy (2):
> >   drm: Add missing DP DSC extended capability definitions.
> >   drm/i915: Add DSC support to MST path
> > 
> >  drivers/gpu/drm/i915/display/intel_dp.c     |  76 +++++-----
> >  drivers/gpu/drm/i915/display/intel_dp.h     |  17 +++
> >  drivers/gpu/drm/i915/display/intel_dp_mst.c | 145 ++++++++++++++++++++
> >  include/drm/display/drm_dp.h                |  10 +-
> >  4 files changed, 203 insertions(+), 45 deletions(-)
> > 
> 
> -- 
> Cheers,
>  Lyude Paul (she/her)
>  Software Engineer at Red Hat
> 


More information about the dri-devel mailing list