[PATCH v4 06/25] drm/msm/dpu: switch RM to use crtc_id rather than enc_id for allocation

2024-12-16 Thread Jessica Zhang
From: Dmitry Baryshkov Up to now the driver has been using encoder to allocate hardware resources. Switch it to use CRTC id in preparation for the next step. Reviewed-by: Abhinav Kumar Signed-off-by: Dmitry Baryshkov Signed-off-by: Jessica Zhang --- Changes in v4 (due to rebase): - moved *_g

[PATCH v4 25/25] drm/msm/dpu: Set possible clones for all encoders

2024-12-16 Thread Jessica Zhang
Set writeback encoders as possible clones for DSI encoders and vice versa. Reviewed-by: Dmitry Baryshkov Signed-off-by: Jessica Zhang --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 32 + drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h | 2 ++ drivers/gpu/drm/msm/disp

[PATCH v4 24/25] drm/msm/dpu: Reorder encoder kickoff for CWB

2024-12-16 Thread Jessica Zhang
Add a helper that will handle the correct order of the encoder kickoffs for concurrent writeback. For concurrent writeback, the realtime encoder must always kickoff last as it will call the trigger flush and start. This avoids the following scenario where the writeback encoder increments the pend

[PATCH v4 12/25] drm/msm/dpu: Add dpu_hw_cwb abstraction for CWB block

2024-12-16 Thread Jessica Zhang
The CWB mux has its own registers and set of operations. Add dpu_hw_cwb abstraction to allow driver to configure the CWB mux. Reviewed-by: Dmitry Baryshkov Signed-off-by: Jessica Zhang --- drivers/gpu/drm/msm/Makefile| 1 + drivers/gpu/drm/msm/disp/dpu1/dpu_hw_cwb.c | 73 +

[PATCH v4 10/25] drm/msm/dpu: Specify dedicated CWB pingpong blocks

2024-12-16 Thread Jessica Zhang
Change pingpong index and names to distinguish between general use pingpong blocks and pingpong blocks dedicated for concurrent writeback Reviewed-by: Dmitry Baryshkov Signed-off-by: Jessica Zhang --- drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_10_0_sm8650.h | 8 drivers/gpu/drm/msm/dis

[PATCH v4 05/25] drm/msm/dpu: get rid of struct dpu_rm_requirements

2024-12-16 Thread Jessica Zhang
From: Dmitry Baryshkov The struct dpu_rm_requirements was used to wrap display topology and hw resources, which meant INTF indices. As of commit ef58e0ad3436 ("drm/msm/dpu: get INTF blocks directly rather than through RM") the hw resources struct was removed, leaving struct dpu_rm_requirements co

[PATCH v4 18/25] drm/msm/dpu: Reserve resources for CWB

2024-12-16 Thread Jessica Zhang
Add support for RM to reserve dedicated CWB PINGPONGs and CWB muxes For concurrent writeback, even-indexed CWB muxes must be assigned to even-indexed LMs and odd-indexed CWB muxes for odd-indexed LMs. The same even/odd rule applies for dedicated CWB PINGPONGs. Track the CWB muxes in the global st

<    1   2