[PATCH v5 00/16] drm/msm/dpu: be more friendly to X.org
Dmitry Baryshkov
dmitry.baryshkov at linaro.org
Mon Jun 24 21:13:40 UTC 2024
Unlike other compositors X.org allocates a single framebuffer covering
the whole screen space. This is not an issue with the single screens,
but with the multi-monitor setup 5120x4096 becomes a limiting factor.
Check the hardware-bound limitations and lift the FB max size to
16383x16383.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
---
Changes in v5:
- Fix crash in the writeback code.
- Link to v4: https://lore.kernel.org/r/20240624-dpu-mode-config-width-v4-0-1038c13da3a5@linaro.org
Changes in v4:
- Fix handling of the not visible planes with the FB being set, as
detected via the kms_cursor_edge_walk test.
- Link to v3: https://lore.kernel.org/r/20240614-dpu-mode-config-width-v3-0-29ec4069c99b@linaro.org
Changes in v3:
- Reoder the functions to pull up a fix to the start of the patchset
(Abhinav)
- Rename the _dpu_crtc_setup_lm_bounds() to
_dpu_crtc_check_and_setup_lm_bounds() (Abhinav)
- Make dpu_crtc_mode_valid() static.
- Link to v2: https://lore.kernel.org/r/20240603-dpu-mode-config-width-v2-0-16af520575a6@linaro.org
Changes in v2:
- Added dpu_crtc_valid() to verify that 2*lm_width limit is enforced
(Abhinav)
- Link to v1: https://lore.kernel.org/r/20240319-dpu-mode-config-width-v1-0-d0fe6bf81bf1@linaro.org
---
Dmitry Baryshkov (16):
drm/msm/dpu: cleanup FB if dpu_format_populate_layout fails
drm/msm/dpu: fix error condition in dpu_encoder_virt_atomic_mode_set
drm/msm/dpu: move CRTC resource assignment to dpu_encoder_virt_atomic_mode_set
drm/msm/dpu: check for overflow in _dpu_crtc_setup_lm_bounds()
drm/msm/dpu: drop dpu_format_check_modified_format
drm/msm/dpu: drop dpu_format_populate_layout from dpu_plane_sspp_atomic_update
drm/msm/dpu: drop extra aspace checks in dpu_formats
drm/msm/dpu: drop msm_format from struct dpu_hw_fmt_layout
drm/msm/dpu: pass drm_framebuffer to _dpu_format_get_plane_sizes()
drm/msm/dpu: move pitch check to _dpu_format_get_plane_sizes_linear()
drm/msm/dpu: split dpu_format_populate_layout
drm/msm/dpu: make dpu_format_populate_addrs return void
drm/msm/dpu: move layout setup population out of dpu_plane_prepare_fb()
drm/msm/dpu: check for the plane pitch overflow
drm/msm/dpu: merge MAX_IMG_WIDTH/HEIGHT with DPU_MAX_IMG_WIDTH/HEIGHT
drm/msm/dpu: sync mode_config limits to the FB limits in dpu_plane.c
drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 35 ++-
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 62 ++++--
.../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 37 ++--
drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 243 +++++++--------------
drivers/gpu/drm/msm/disp/dpu1/dpu_formats.h | 30 +--
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 4 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h | 2 -
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 2 +
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.c | 4 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_wb.h | 3 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 10 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 47 ++--
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h | 3 +
drivers/gpu/drm/msm/msm_kms.h | 6 -
14 files changed, 200 insertions(+), 288 deletions(-)
---
base-commit: 5c522ecead93987bcb0459f0160d8625e46d78d2
change-id: 20240318-dpu-mode-config-width-626d3c7ad52a
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
More information about the Freedreno
mailing list