aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/vsp1/vsp1_video.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2013-07-10 17:37:27 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-04-23 09:18:36 -0400
commitd9b45ed3d8b75e8cf38c8cd1563c29217eecba27 (patch)
treef9e39e90b9c7df408ecf534f8729cc4a6614b61c /drivers/media/platform/vsp1/vsp1_video.c
parent6051f5f860671577b0759a0d054781b3e599d1cd (diff)
[media] v4l: vsp1: Support multi-input entities
Rework the route configuration code to support entities with multiple sink pads. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/platform/vsp1/vsp1_video.c')
-rw-r--r--drivers/media/platform/vsp1/vsp1_video.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_video.c b/drivers/media/platform/vsp1/vsp1_video.c
index a0595c17700f..1ef875d521da 100644
--- a/drivers/media/platform/vsp1/vsp1_video.c
+++ b/drivers/media/platform/vsp1/vsp1_video.c
@@ -461,7 +461,7 @@ static int vsp1_pipeline_stop(struct vsp1_pipeline *pipe)
461 461
462 list_for_each_entry(entity, &pipe->entities, list_pipe) { 462 list_for_each_entry(entity, &pipe->entities, list_pipe) {
463 if (entity->route) 463 if (entity->route)
464 vsp1_write(entity->vsp1, entity->route, 464 vsp1_write(entity->vsp1, entity->route->reg,
465 VI6_DPR_NODE_UNUSED); 465 VI6_DPR_NODE_UNUSED);
466 466
467 v4l2_subdev_call(&entity->subdev, video, s_stream, 0); 467 v4l2_subdev_call(&entity->subdev, video, s_stream, 0);
@@ -680,11 +680,12 @@ static void vsp1_entity_route_setup(struct vsp1_entity *source)
680{ 680{
681 struct vsp1_entity *sink; 681 struct vsp1_entity *sink;
682 682
683 if (source->route == 0) 683 if (source->route->reg == 0)
684 return; 684 return;
685 685
686 sink = container_of(source->sink, struct vsp1_entity, subdev.entity); 686 sink = container_of(source->sink, struct vsp1_entity, subdev.entity);
687 vsp1_write(source->vsp1, source->route, sink->id); 687 vsp1_write(source->vsp1, source->route->reg,
688 sink->route->inputs[source->sink_pad]);
688} 689}
689 690
690static int vsp1_video_start_streaming(struct vb2_queue *vq, unsigned int count) 691static int vsp1_video_start_streaming(struct vb2_queue *vq, unsigned int count)