Message ID | 20220209172520.3719906-1-dmitry.baryshkov@linaro.org (mailing list archive) |
---|---|
Headers | show |
Series | drm/msm/dpu: wide planes support | expand |
Hi Dmitry I have reviewed the series , some patches completely , some of them especially the plane to sspp mapping is something i still need to check. But I had one question on the design. I thought we were going to have a boot param to control whether driver will internally use both rectangles for the layer so that in the future if compositors can do this splitting, we can use that instead of driver doing it ( keep boot param disabled ? ). Thanks Abhinav On 2/9/2022 9:24 AM, Dmitry Baryshkov wrote: > It took me a way longer to finish than I expected. And more patches that > I initially hoped. This patchset brings in multirect usage to support > using two SSPP rectangles for a single plane. Virtual planes support is > omitted from this pull request, it will come later. > > Dmitry Baryshkov (25): > drm/msm/dpu: rip out master planes support > drm/msm/dpu: do not limit the zpos property > drm/msm/dpu: add support for SSPP allocation to RM > drm/msm/dpu: move SSPP debugfs creation to dpu_kms.c > drm/msm/dpu: move pipe_hw to dpu_plane_state > drm/msm/dpu: inline dpu_plane_get_ctl_flush > drm/msm/dpu: drop dpu_plane_pipe function > drm/msm/dpu: get rid of cached flush_mask > drm/msm/dpu: dpu_crtc_blend_setup: split mixer and ctl logic > drm/msm/dpu: introduce struct dpu_sw_pipe > drm/msm/dpu: use dpu_sw_pipe for dpu_hw_sspp callbacks > drm/msm/dpu: inline _dpu_plane_set_scanout > drm/msm/dpu: pass dpu_format to _dpu_hw_sspp_setup_scaler3() > drm/msm/dpu: move stride programming to > dpu_hw_sspp_setup_sourceaddress > drm/msm/dpu: remove dpu_hw_fmt_layout from struct dpu_hw_pipe_cfg > drm/msm/dpu: drop EAGAIN check from dpu_format_populate_layout > drm/msm/dpu: drop src_split and multirect check from > dpu_crtc_atomic_check > drm/msm/dpu: move the rest of plane checks to dpu_plane_atomic_check() > drm/msm/dpu: don't use unsupported blend stages > drm/msm/dpu: add dpu_hw_pipe_cfg to dpu_plane_state > drm/msm/dpu: simplify dpu_plane_validate_src() > drm/msm/dpu: rewrite plane's QoS-related functions to take dpu_sw_pipe > and dpu_format > drm/msm/dpu: rework dpu_plane_atomic_check() and > dpu_plane_sspp_atomic_update() > drm/msm/dpu: populate SmartDMA features in hw catalog > drm/msm/dpu: add support for wide planes > > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 355 +++----- > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 1 - > drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 4 - > .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 10 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 78 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 35 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 136 +-- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 88 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 21 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 1 + > drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 813 +++++++++--------- > drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h | 42 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 81 ++ > drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 6 + > drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 19 +- > 15 files changed, 827 insertions(+), 863 deletions(-) >
On 17/03/2022 04:10, Abhinav Kumar wrote: > Hi Dmitry > > I have reviewed the series , some patches completely , some of them > especially the plane to sspp mapping is something i still need to check. > > But I had one question on the design. > > I thought we were going to have a boot param to control whether driver > will internally use both rectangles for the layer so that in the future > if compositors can do this splitting, we can use that instead of driver > doing it ( keep boot param disabled ? ). No need to for this patch series. If your composer allocates smaller planes, then the driver won't do a thing. For the proper multirect there will be a boot param (at least initially) and then you can work on the custom properties, etc. > > Thanks > > Abhinav > > On 2/9/2022 9:24 AM, Dmitry Baryshkov wrote: >> It took me a way longer to finish than I expected. And more patches that >> I initially hoped. This patchset brings in multirect usage to support >> using two SSPP rectangles for a single plane. Virtual planes support is >> omitted from this pull request, it will come later. >> >> Dmitry Baryshkov (25): >> drm/msm/dpu: rip out master planes support >> drm/msm/dpu: do not limit the zpos property >> drm/msm/dpu: add support for SSPP allocation to RM >> drm/msm/dpu: move SSPP debugfs creation to dpu_kms.c >> drm/msm/dpu: move pipe_hw to dpu_plane_state >> drm/msm/dpu: inline dpu_plane_get_ctl_flush >> drm/msm/dpu: drop dpu_plane_pipe function >> drm/msm/dpu: get rid of cached flush_mask >> drm/msm/dpu: dpu_crtc_blend_setup: split mixer and ctl logic >> drm/msm/dpu: introduce struct dpu_sw_pipe >> drm/msm/dpu: use dpu_sw_pipe for dpu_hw_sspp callbacks >> drm/msm/dpu: inline _dpu_plane_set_scanout >> drm/msm/dpu: pass dpu_format to _dpu_hw_sspp_setup_scaler3() >> drm/msm/dpu: move stride programming to >> dpu_hw_sspp_setup_sourceaddress >> drm/msm/dpu: remove dpu_hw_fmt_layout from struct dpu_hw_pipe_cfg >> drm/msm/dpu: drop EAGAIN check from dpu_format_populate_layout >> drm/msm/dpu: drop src_split and multirect check from >> dpu_crtc_atomic_check >> drm/msm/dpu: move the rest of plane checks to dpu_plane_atomic_check() >> drm/msm/dpu: don't use unsupported blend stages >> drm/msm/dpu: add dpu_hw_pipe_cfg to dpu_plane_state >> drm/msm/dpu: simplify dpu_plane_validate_src() >> drm/msm/dpu: rewrite plane's QoS-related functions to take dpu_sw_pipe >> and dpu_format >> drm/msm/dpu: rework dpu_plane_atomic_check() and >> dpu_plane_sspp_atomic_update() >> drm/msm/dpu: populate SmartDMA features in hw catalog >> drm/msm/dpu: add support for wide planes >> >> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 355 +++----- >> drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 1 - >> drivers/gpu/drm/msm/disp/dpu1/dpu_formats.c | 4 - >> .../gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 10 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.c | 78 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_ctl.h | 35 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.c | 136 +-- >> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 88 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 21 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h | 1 + >> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 813 +++++++++--------- >> drivers/gpu/drm/msm/disp/dpu1/dpu_plane.h | 42 +- >> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 81 ++ >> drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 6 + >> drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 19 +- >> 15 files changed, 827 insertions(+), 863 deletions(-) >>