On Thu, Dec 22, 2022 at 12:19:35AM +0100, Marijn Suijten wrote: > This preliminary Display Stream Compression support package for > (initially tested on) sm8[12]50 is based on comparing DSC behaviour > between downstream and mainline. Some new callbacks are added (for > binding blocks on active CTLs), logic bugs are corrected, zeroed struct > members are now assigned proper values, and RM allocation and hw block > retrieval now hand out (or not) DSC blocks without causing null-pointer > dereferences. > > Unfortunately it is not yet enough to get rid of completely corrupted > display output on the boards I tested here: > - Sony Xperia 1 (sm8150), 1644x3840 or 1096x2560 pixels; > - Sony Xperia 5II (sm8250), 1080x2520, at 60 or 120Hz; > - (can include more Xperia boards if desired) > > Both devices use the DUALPIPE_DSCMERGE topology downstream: dual LM, PP > and DSC, but only a single INTF/encoder/DSI-link. > > Hopefully this spawns some community/upstream interest to help rootcause > our corruption issues (after we open a drm/msm report on GitLab for more > appropriate tracking). > > The Sony Xperia XZ3 (sdm845) was fully tested and validated with this > series to not cause any regressions (and one of the math fixes now > allows us to change slice_count in the panel driver, which would corrupt > previously). > > Changes since v1: > > - Split patch 6 into two separately backportable Fixes: patches; > - Additionally remove num_enc from msm_display_topology in favour of > num_dsc; > - Reorder patches to have all Fixes: at the beginning for easier > picking; > - Fix existing multiline comment while editing it anyway; > - Add missing Signed-off-by to patch 5. Please note that Electric Boogaloo/Boogaloo Boys has been appropriated by US alt-right groups, and so is really not a great thing to put into the cover letter for your patch series. For the next round, please use a meme that isn't tarnished like this. Thanks, Daniel > > v1: https://lore.kernel.org/linux-arm-msm/20221213232207.113607-1-marijn.suijten@xxxxxxxxxxxxxx/T/#u > > Marijn Suijten (8): > drm/msm/dpu: Wire up DSC mask for active CTL configuration > drm/msm/dsi: Use DSC slice(s) packet size to compute word count > drm/msm/dsi: Flip greater-than check for slice_count and > slice_per_intf > drm/msm/dpu: Disallow unallocated resources to be returned > drm/msm/dpu: Reject topologies for which no DSC blocks are available > drm/msm/dpu: Remove num_enc from topology struct in favour of num_dsc > drm/msm/dpu: Implement DSC binding to PP block for CTL V1 > drm/msm/dpu: Add DSC configuration for SM8150 and SM8250 > > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 12 +++++---- > .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 1 + > .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 1 + > .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 23 +++++++++++----- > .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 9 +++++++ > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 27 +++++++++++++++++++ > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h | 4 +++ > drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 14 ++++++++-- > drivers/gpu/drm/msm/dsi/dsi_host.c | 7 ++--- > drivers/gpu/drm/msm/msm_drv.h | 2 -- > 10 files changed, 82 insertions(+), 18 deletions(-) > > -- > 2.39.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch