diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2013-07-10 17:37:27 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-04-23 09:18:36 -0400 |
commit | d9b45ed3d8b75e8cf38c8cd1563c29217eecba27 (patch) | |
tree | f9e39e90b9c7df408ecf534f8729cc4a6614b61c /drivers/media/platform/vsp1/vsp1_entity.h | |
parent | 6051f5f860671577b0759a0d054781b3e599d1cd (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.h | 23 |
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 | */ | ||
45 | struct vsp1_route { | ||
46 | enum vsp1_entity_type type; | ||
47 | unsigned int index; | ||
48 | unsigned int reg; | ||
49 | unsigned int inputs[4]; | ||
50 | }; | ||
51 | |||
33 | struct vsp1_entity { | 52 | struct 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; |