Now that drm_writeback_connector is embedded with the drm_connector adapt the dpu writeback functionality to this changes. This includes changing the drm_writeback_connector to be changed to drm_connector within the dpu_wb_connector. Some other changes are done which are a result of the all the above changes mentioned.
Signed-off-by: Suraj Kandpal <suraj.kand...@intel.com> --- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c | 3 ++- drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c | 16 +++++++++------- drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h | 4 ++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c index 56a5b596554d..0e60c1ac07c5 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c @@ -484,7 +484,8 @@ static void dpu_encoder_phys_wb_prepare_for_kickoff( return; } - drm_conn = &wb_enc->wb_conn->base; + drm_conn = + container_of(wb_enc->wb_conn, struct drm_connector, writeback); state = drm_conn->state; if (wb_enc->wb_conn && wb_enc->wb_job) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c index cd73468e369a..49412d2ed9aa 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c @@ -28,8 +28,7 @@ static int dpu_wb_conn_get_modes(struct drm_connector *connector) static int dpu_wb_conn_atomic_check(struct drm_connector *connector, struct drm_atomic_state *state) { - struct drm_writeback_connector *wb_conn = drm_connector_to_writeback(connector); - struct dpu_wb_connector *dpu_wb_conn = to_dpu_wb_conn(wb_conn); + struct dpu_wb_connector *dpu_wb_conn = to_dpu_wb_conn(connector); struct drm_connector_state *conn_state = drm_atomic_get_new_connector_state(state, connector); struct drm_crtc *crtc; @@ -84,10 +83,11 @@ static const struct drm_connector_funcs dpu_wb_conn_funcs = { .atomic_destroy_state = drm_atomic_helper_connector_destroy_state, }; -static int dpu_wb_conn_prepare_job(struct drm_writeback_connector *connector, +static int dpu_wb_conn_prepare_job(struct drm_writeback_connector *wb_conn, struct drm_writeback_job *job) { - + struct drm_connector *connector = + container_of(wb_conn, struct drm_connector, writeback); struct dpu_wb_connector *dpu_wb_conn = to_dpu_wb_conn(connector); if (!job->fb) @@ -98,9 +98,11 @@ static int dpu_wb_conn_prepare_job(struct drm_writeback_connector *connector, return 0; } -static void dpu_wb_conn_cleanup_job(struct drm_writeback_connector *connector, +static void dpu_wb_conn_cleanup_job(struct drm_writeback_connector *wb_connector, struct drm_writeback_job *job) { + struct drm_connector *connector = + container_of(wb_connector, struct drm_connector, writeback); struct dpu_wb_connector *dpu_wb_conn = to_dpu_wb_conn(connector); if (!job->fb) @@ -128,9 +130,9 @@ int dpu_writeback_init(struct drm_device *dev, struct drm_encoder *enc, dpu_wb_conn->maxlinewidth = maxlinewidth; - drm_connector_helper_add(&dpu_wb_conn->base.base, &dpu_wb_conn_helper_funcs); + drm_connector_helper_add(&dpu_wb_conn->base, &dpu_wb_conn_helper_funcs); - rc = drmm_writeback_connector_init(dev, &dpu_wb_conn->base, + rc = drmm_writeback_connector_init(dev, &dpu_wb_conn->base.writeback, &dpu_wb_conn_funcs, enc, format_list, num_formats); diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h index 4b11cca8014c..9ebf15392b20 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.h @@ -16,12 +16,12 @@ #include "dpu_encoder_phys.h" struct dpu_wb_connector { - struct drm_writeback_connector base; + struct drm_connector base; struct drm_encoder *wb_enc; u32 maxlinewidth; }; -static inline struct dpu_wb_connector *to_dpu_wb_conn(struct drm_writeback_connector *conn) +static inline struct dpu_wb_connector *to_dpu_wb_conn(struct drm_connector *conn) { return container_of(conn, struct dpu_wb_connector, base); } -- 2.34.1