aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/vsp1/vsp1_entity.h
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_entity.h
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_entity.h')
-rw-r--r--drivers/media/platform/vsp1/vsp1_entity.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/media/platform/vsp1/vsp1_entity.h b/drivers/media/platform/vsp1/vsp1_entity.h
index f6fd6988aeb0..3c6a5c831bcf 100644
--- a/drivers/media/platform/vsp1/vsp1_entity.h
+++ b/drivers/media/platform/vsp1/vsp1_entity.h
@@ -30,13 +30,31 @@ enum vsp1_entity_type {
30 VSP1_ENTITY_WPF, 30 VSP1_ENTITY_WPF,
31}; 31};
32 32
33/*
34 * struct vsp1_route - Entity routing configuration
35 * @type: Entity type this routing entry is associated with
36 * @index: Entity index this routing entry is associated with
37 * @reg: Output routing configuration register
38 * @inputs: Target node value for each input
39 *
40 * Each $vsp1_route entry describes routing configuration for the entity
41 * specified by the entry's @type and @index. @reg indicates the register that
42 * holds output routing configuration for the entity, and the @inputs array
43 * store the target node value for each input of the entity.
44 */
45struct vsp1_route {
46 enum vsp1_entity_type type;
47 unsigned int index;
48 unsigned int reg;
49 unsigned int inputs[4];
50};
51
33struct vsp1_entity { 52struct vsp1_entity {
34 struct vsp1_device *vsp1; 53 struct vsp1_device *vsp1;
35 54
36 enum vsp1_entity_type type; 55 enum vsp1_entity_type type;
37 unsigned int index; 56 unsigned int index;
38 unsigned int id; 57 const struct vsp1_route *route;
39 unsigned int route;
40 58
41 struct list_head list_dev; 59 struct list_head list_dev;
42 struct list_head list_pipe; 60 struct list_head list_pipe;
@@ -45,6 +63,7 @@ struct vsp1_entity {
45 unsigned int source_pad; 63 unsigned int source_pad;
46 64
47 struct media_entity *sink; 65 struct media_entity *sink;
66 unsigned int sink_pad;
48 67
49 struct v4l2_subdev subdev; 68 struct v4l2_subdev subdev;
50 struct v4l2_mbus_framefmt *formats; 69 struct v4l2_mbus_framefmt *formats;