summaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/vsp1/vsp1_drm.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2017-06-21 16:10:18 +0300
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2017-08-03 16:17:20 +0300
commit3be0bf9734a0c1a8e2c1d4249d09f23b3f874d3c (patch)
treee480a3adce9cfd99224968d5eee5991ff5d2d7fe /drivers/media/platform/vsp1/vsp1_drm.c
parentd455b45f8393e163afe940d7b4048e7ac9087ceb (diff)
downloadlinux-3be0bf9734a0c1a8e2c1d4249d09f23b3f874d3c.tar.bz2
v4l: vsp1: Add support for multiple LIF instances
The VSP2-DL instance (present in the H3 ES2.0 and M3-N SoCs) has two LIF instances. Adapt the driver infrastructure to support multiple LIFs. Support for multiple display pipelines will be added separately. The change to the entity routing table removes the ability to connect the LIF output to the HGO or HGT histogram generators. This feature is only available on Gen2 hardware, isn't supported by the rest of the driver, and has no known use case, so this isn't an issue. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Acked-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/platform/vsp1/vsp1_drm.c')
-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 daaafe7885fa..4e1b893e8f51 100644
--- a/drivers/media/platform/vsp1/vsp1_drm.c
+++ b/drivers/media/platform/vsp1/vsp1_drm.c
@@ -181,7 +181,7 @@ int vsp1_du_setup_lif(struct device *dev, unsigned int pipe_index,
format.format.code);
format.pad = LIF_PAD_SINK;
- ret = v4l2_subdev_call(&vsp1->lif->entity.subdev, pad, set_fmt, NULL,
+ ret = v4l2_subdev_call(&vsp1->lif[0]->entity.subdev, pad, set_fmt, NULL,
&format);
if (ret < 0)
return ret;
@@ -599,15 +599,15 @@ int vsp1_drm_init(struct vsp1_device *vsp1)
vsp1->bru->entity.sink = &vsp1->wpf[0]->entity;
vsp1->bru->entity.sink_pad = 0;
- vsp1->wpf[0]->entity.sink = &vsp1->lif->entity;
+ vsp1->wpf[0]->entity.sink = &vsp1->lif[0]->entity;
vsp1->wpf[0]->entity.sink_pad = 0;
list_add_tail(&vsp1->bru->entity.list_pipe, &pipe->entities);
list_add_tail(&vsp1->wpf[0]->entity.list_pipe, &pipe->entities);
- list_add_tail(&vsp1->lif->entity.list_pipe, &pipe->entities);
+ list_add_tail(&vsp1->lif[0]->entity.list_pipe, &pipe->entities);
pipe->bru = &vsp1->bru->entity;
- pipe->lif = &vsp1->lif->entity;
+ pipe->lif = &vsp1->lif[0]->entity;
pipe->output = vsp1->wpf[0];
pipe->output->pipe = pipe;
pipe->frame_end = vsp1_du_pipeline_frame_end;