The dpu_encoder_phys_ops::atomic_mode_set() callback is mostly redundant. Implementations only set the IRQ indices there. Move statically allocated IRQs to dpu_encoder_phys_*_init() and set dynamically allocated IRQs in the irq_enable() callback. The writeback backend of the dpu_encoder is the only user of the dpu_encoder_phys_ops::atomic_check() callback. Move corresponding code to the DPU's drm_writeback_connector implementation (dpu_writeback.c) and drop corresponding callback code. Changes since v2: - Rebase on top of linux-next - Also incorporate the dpu_encoder_phys::atomic_check series Changes since v1: - Split trace events into enable/disable pairs (Abhinav). Dmitry Baryshkov (5): drm/msm/dpu: split irq_control into irq_enable and _disable drm/msm/dpu: split _dpu_encoder_resource_control_helper() drm/msm/dpu: drop dpu_encoder_phys_ops.atomic_mode_set drm/msm/dpu: move writeback's atomic_check to dpu_writeback.c drm/msm/dpu: drop dpu_encoder_phys_ops::atomic_check() drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 94 ++++++++++-------- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 15 +-- .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 95 +++++++++---------- .../drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 59 ++++++------ .../drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 88 ++++------------- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 9 +- drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 74 +++++++++++---- drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c | 57 ++++++++++- drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h | 3 +- 9 files changed, 270 insertions(+), 224 deletions(-) -- 2.39.2