Commit b82c1f8f authored by Boris Brezillon's avatar Boris Brezillon

drm/atomic: Avoid connector to writeback_connector casts

Use container_of() instead of type casting so that it keeps working
even if base is moved inside the drm_writeback_connector struct.
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@bootlin.com>
Reviewed-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20180703075022.15138-2-boris.brezillon@bootlin.com
parent 73915b2b
...@@ -2428,6 +2428,7 @@ static int prepare_signaling(struct drm_device *dev, ...@@ -2428,6 +2428,7 @@ static int prepare_signaling(struct drm_device *dev,
} }
for_each_new_connector_in_state(state, conn, conn_state, i) { for_each_new_connector_in_state(state, conn, conn_state, i) {
struct drm_writeback_connector *wb_conn;
struct drm_writeback_job *job; struct drm_writeback_job *job;
struct drm_out_fence_state *f; struct drm_out_fence_state *f;
struct dma_fence *fence; struct dma_fence *fence;
...@@ -2451,7 +2452,8 @@ static int prepare_signaling(struct drm_device *dev, ...@@ -2451,7 +2452,8 @@ static int prepare_signaling(struct drm_device *dev,
f[*num_fences].out_fence_ptr = fence_ptr; f[*num_fences].out_fence_ptr = fence_ptr;
*fence_state = f; *fence_state = f;
fence = drm_writeback_get_out_fence((struct drm_writeback_connector *)conn); wb_conn = drm_connector_to_writeback(conn);
fence = drm_writeback_get_out_fence(wb_conn);
if (!fence) if (!fence)
return -ENOMEM; return -ENOMEM;
......
...@@ -110,6 +110,12 @@ struct drm_writeback_job { ...@@ -110,6 +110,12 @@ struct drm_writeback_job {
struct dma_fence *out_fence; struct dma_fence *out_fence;
}; };
static inline struct drm_writeback_connector *
drm_connector_to_writeback(struct drm_connector *connector)
{
return container_of(connector, struct drm_writeback_connector, base);
}
int drm_writeback_connector_init(struct drm_device *dev, int drm_writeback_connector_init(struct drm_device *dev,
struct drm_writeback_connector *wb_connector, struct drm_writeback_connector *wb_connector,
const struct drm_connector_funcs *con_funcs, const struct drm_connector_funcs *con_funcs,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment