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 >