Commit d4fedb0b authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Mauro Carvalho Chehab

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: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: default avatarKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 1ccbb32c
...@@ -119,9 +119,9 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index, ...@@ -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 * Remove the RPF from the pipe and the list of BRU
* inputs. * inputs.
*/ */
WARN_ON(list_empty(&rpf->entity.list_pipe)); WARN_ON(!rpf->entity.pipe);
rpf->entity.pipe = NULL; rpf->entity.pipe = NULL;
list_del_init(&rpf->entity.list_pipe); list_del(&rpf->entity.list_pipe);
pipe->inputs[i] = NULL; pipe->inputs[i] = NULL;
bru->inputs[rpf->bru_input].rpf = NULL; bru->inputs[rpf->bru_input].rpf = NULL;
...@@ -537,7 +537,7 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index) ...@@ -537,7 +537,7 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index)
continue; continue;
} }
if (list_empty(&rpf->entity.list_pipe)) { if (!rpf->entity.pipe) {
rpf->entity.pipe = pipe; rpf->entity.pipe = pipe;
list_add_tail(&rpf->entity.list_pipe, &pipe->entities); 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) ...@@ -566,7 +566,7 @@ void vsp1_du_atomic_flush(struct device *dev, unsigned int pipe_index)
VI6_DPR_NODE_UNUSED); VI6_DPR_NODE_UNUSED);
entity->pipe = NULL; entity->pipe = NULL;
list_del_init(&entity->list_pipe); list_del(&entity->list_pipe);
continue; continue;
} }
......
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