There are some vendor drivers for which the writeback encoder shares hardware resources such as clocks and interrupts with the rest of the display pipeline. In addition, there can be use-cases where the writeback encoder could be a shared encoder between the physical display path and the writeback path. To accommodate for such cases, change the drm_writeback_connector to accept a pointer to drm_encoder. For existing users of drm_writeback_connector there will not be any change in functionality due to this change. This approach was first posted by Suraj Kandpal here [1] for both encoder and connector. But after discussions [2], the consensus was reached to split this change for the drm_encoder first and the drm_connector part can be reworked in a subsequent change later. Validation of this change was done using igt_writeback tests on MSM based RB5 board using the changes posted here [3]. For all other chipsets, these changes were compile-tested. [1] https://patchwork.kernel.org/project/dri-devel/patch/20220202081702.22119-1-suraj.kandpal@xxxxxxxxx/ [2] https://patchwork.kernel.org/project/dri-devel/patch/20220202085429.22261-6-suraj.kandpal@xxxxxxxxx/ [3] https://patchwork.freedesktop.org/series/99724/ Abhinav Kumar (6): drm: allow real encoder to be passed for drm_writeback_connector drm/komeda: use drm_encoder pointer for drm_writeback_connector drm/vkms: use drm_encoder pointer for drm_writeback_connector drm/vc4: use drm_encoder pointer for drm_writeback_connector drm/rcar_du: use drm_encoder pointer for drm_writeback_connector drm/malidp: use drm_encoder pointer for drm_writeback_connector drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c | 4 +++- drivers/gpu/drm/arm/malidp_mw.c | 3 ++- drivers/gpu/drm/drm_writeback.c | 8 ++++---- drivers/gpu/drm/rcar-du/rcar_du_writeback.c | 3 ++- drivers/gpu/drm/vc4/vc4_txp.c | 14 ++++++++++---- drivers/gpu/drm/vkms/vkms_writeback.c | 4 +++- include/drm/drm_writeback.h | 13 +++++++++++-- 7 files changed, 35 insertions(+), 14 deletions(-) -- 2.7.4