[PATCH 00/21] drm/msm: Support quad pipe with dual-DSI
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Thu Aug 29 12:22:54 UTC 2024
On Thu, 29 Aug 2024 at 13:19, Jun Nie <jun.nie at linaro.org> wrote:
>
> 2 SSPP and dual-DSI interface are need for super wide DSI panel.
> This patch set make changes to DSI driver and extend pipes
> and related mixer blending logic to support quad pipe.
>
> This patch set is based on virtual plane patch set:
> https://patchwork.freedesktop.org/series/131109/
Is this "depends" or "used some ideas" or something else?
If it depends, please say that clearly, including the revision of the patchset.
Next, generic feedback for the series.
- Please provide detailed commit messages. Describe why the change is
being introduced.
- Please grok why and how SSPPs are handled in non-virtual and
especially in a virtual case. Feel free to ask questions, but I really
don't expect to see patches assuming single SSPP per pair of pipes.
- Please drop all unrelated changes. DSI, DSC, etc must go to separate series.
- Please take care about the commit trailers. If the change is a fix,
it should have the Fixes trailer.
Next, please restructure the series. The patches should be ordered and
split in a logical order.
Start with a commit that gets rid of r_pipe. Don't increase
PIPES_PER_STAGE, etc, just loop over two pipes. Note how the code
handles r_pipe->sspp and keep that unchanged. Be sure to handle odd
plane sizes correctly. You can not just divide width by two to get the
pipe width.
Next, split PIPES_PER_STAGE into two defines: one for mixer code, one
for the pipes per plane.
Next come additional patches, like PP stride, etc.
Then extract the code to handle a single LM pair.
Finally introduce quad pipe, allocate two sets of LM configs, etc.
Each LM config still gets two pipes per plane. Each plane can have 4
pipes. Be extremely careful with splitting of the plane framebuffer
into the pipe configuration. Both x coordinate and width can be odd.
And a pair of pipes can not cross the screen middle line.
>
> Signed-off-by: Jun Nie <jun.nie at linaro.org>
> ---
> Jonathan Marek (3):
> drm/msm/dsi: add support to DSI CTRL v2.8.0
> drm/msm/dsi: fix DSC width for the bonded DSI case
> drm/msm/dsi: support DSC configurations with slice_per_pkt > 1
>
> Jun Nie (18):
> drm/msm/dsi: pass the right width to dsc
> drm/msm/dpu: polish log for resource allocation
> drm/msm/dpu: Add utility to get mixer number
> drm/msm/dpu: Support dynamic DSC number
> drm/msm/dpu: decide right side per last bit
> drm/msm/dpu: request more mixer for 4K+ DSC case
> drm/msm/dpu: fix lm number counter for quad-pipe
> drm/msm/dpu: Support 4 mixers at most
> drm/msm/dpu: switch RM to use crtc_id rather than enc_id for allocation
> drm/msm/dpu: Support quad pipe in header files
> drm/msm/dpu: Support quad-pipe in SSPP checking
> drm/msm/dpu: support plane splitting in quad-pipe case
> drm/msm/dpu: support SSPP assignment for quad-pipe case
> drm/msm/dpu: setup pipes with 2 set of stage config
> drm/msm/dpu: blend pipes by left and right
> drm/msm/dpu: bind correct pingpong for quad pipe
> drm/msm/dpu: support quad pipe in general operations
> drm/msm/dpu: revise debug info to support quad pipe
>
> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 119 ++++---
> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 11 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 73 +++--
> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 3 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 1 +
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 19 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 4 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h | 2 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 11 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 12 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 385 ++++++++++++-----------
> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h | 30 +-
> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 209 ++++++------
> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 19 +-
> drivers/gpu/drm/msm/dsi/dsi.h | 3 +-
> drivers/gpu/drm/msm/dsi/dsi_host.c | 54 ++--
> drivers/gpu/drm/msm/dsi/dsi_manager.c | 2 +-
> include/drm/drm_mipi_dsi.h | 2 +
> 18 files changed, 566 insertions(+), 393 deletions(-)
> ---
> base-commit: 9651fbfb684e7a1288dbae3bf1f15cd484c0217a
> change-id: 20240829-sm8650-v6-11-hmd-pocf-mdss-quad-upstream-8-d2d6b3eb1d57
>
> Best regards,
> --
> Jun Nie <jun.nie at linaro.org>
>
--
With best wishes
Dmitry
More information about the Freedreno
mailing list