summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/vsp1
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2018-02-22 17:27:47 -0500
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-05-04 07:57:06 -0400
commitd4fedb0b91bc4ea585c029a6e8e0ee3dd4aad741 (patch)
tree813fc50007d1da7a1ce5a72e1c157ccaf1253ab5 /drivers/media/platform/vsp1
parent1ccbb32cb8b4b0445d4281a37752e54e0fcade4c (diff)
downloadop-kernel-dev-d4fedb0b91bc4ea585c029a6e8e0ee3dd4aad741.zip
op-kernel-dev-d4fedb0b91bc4ea585c029a6e8e0ee3dd4aad741.tar.gz
media: v4l: vsp1: Use vsp1_entity.pipe to check if entity belongs to a pipeline
The DRM pipeline handling code uses the entity's pipe list head to check whether the entity is already included in a pipeline. This method is a bit fragile in the sense that it uses list_empty() on a list_head that is a list member. Replace it by a simpler check for the entity pipe pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/vsp1')
-rw-r--r--drivers/media/platform/vsp1/vsp1_drm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_drm.c b/drivers/media/platform/vsp1/vsp1_drm.c
index a7ad85a..e210917 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
@@ -119,9 +119,9 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index,
* Remove the RPF from the pipe and the list of BRU
* inputs.
*/
- WARN_ON(list_empty(&rpf->entity.list_pipe));
+ WARN_ON(!rpf->entity.pipe);
rpf->entity.pipe = NULL;
- list_del_init(&rpf->entity.list_pipe);
+ list_del(&rpf->entity.list_pipe);
pipe->inputs[i] = NULL;
bru->inputs[rpf->bru_input].rpf = NULL;
@@ -537,7 +537,7 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index)
continue;
}
- if (list_empty(&rpf->entity.list_pipe)) {
+ if (!rpf->entity.pipe) {
rpf->entity.pipe = pipe;
list_add_tail(&rpf->entity.list_pipe, &pipe->entities);
}
@@ -566,7 +566,7 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index)
VI6_DPR_NODE_UNUSED);
entity->pipe = NULL;
- list_del_init(&entity->list_pipe);
+ list_del(&entity->list_pipe);
continue;
}
OpenPOWER on IntegriCloud