diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2017-06-21 16:10:18 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2017-08-03 16:17:20 +0300 |
commit | 3be0bf9734a0c1a8e2c1d4249d09f23b3f874d3c (patch) | |
tree | e480a3adce9cfd99224968d5eee5991ff5d2d7fe /drivers/media/platform/vsp1/vsp1_drm.c | |
parent | d455b45f8393e163afe940d7b4048e7ac9087ceb (diff) | |
download | linux-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.c | 8 |
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; |