[PATCH v6 2/6] drm/imx: use drm_atomic_set_fence_for_plane() to set the fence

From: Gustavo Padovan
Date: Thu Oct 27 2016 - 15:37:51 EST


From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>

drm_atomic_set_fence_for_plane() is smart and won't overwrite
plane_state->fence if the user already set an explicit fence there.

Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx>
---
drivers/gpu/drm/imx/imx-drm-core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c
index 98df09c..07fe955 100644
--- a/drivers/gpu/drm/imx/imx-drm-core.c
+++ b/drivers/gpu/drm/imx/imx-drm-core.c
@@ -158,6 +158,7 @@ static int imx_drm_atomic_commit(struct drm_device *dev,
struct drm_plane_state *plane_state;
struct drm_plane *plane;
struct dma_buf *dma_buf;
+ struct dma_fence *fence;
int i;

/*
@@ -170,8 +171,9 @@ static int imx_drm_atomic_commit(struct drm_device *dev,
0)->base.dma_buf;
if (!dma_buf)
continue;
- plane_state->fence =
- reservation_object_get_excl_rcu(dma_buf->resv);
+ fence = reservation_object_get_excl_rcu(dma_buf->resv);
+
+ drm_atomic_set_fence_for_plane(plane_state, fence);
}
}

--
2.5.5