diff options
author | Lad, Prabhakar <prabhakar.lad@ti.com> | 2012-09-25 07:11:49 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-05 21:12:27 -0400 |
commit | 2bd4e58c9d00325b7a850b2ac73fd902e9148b77 (patch) | |
tree | ef3242b551f05c3a54533e4a21ff21acd9a3b137 /include/media | |
parent | c389648a927bada928c854dccccf0301317784eb (diff) |
[media] media: davinci: vpif: display: separate out subdev from output
vpif_display relied on a 1-1 mapping of output and subdev. This is not
necessarily the case. Separate the two. So there is a list of subdevs
and a list of outputs. Each output refers to a subdev and has routing
information. An output does not have to have a subdev.
The initial output for each channel is set to the fist output.
Currently missing is support for associating multiple subdevs with
an output.
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/davinci/vpif_types.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/include/media/davinci/vpif_types.h b/include/media/davinci/vpif_types.h index 65e8fe17e116..3882e0675ccf 100644 --- a/include/media/davinci/vpif_types.h +++ b/include/media/davinci/vpif_types.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/i2c.h> | 20 | #include <linux/i2c.h> |
21 | 21 | ||
22 | #define VPIF_CAPTURE_MAX_CHANNELS 2 | 22 | #define VPIF_CAPTURE_MAX_CHANNELS 2 |
23 | #define VPIF_DISPLAY_MAX_CHANNELS 2 | ||
23 | 24 | ||
24 | enum vpif_if_type { | 25 | enum vpif_if_type { |
25 | VPIF_IF_BT656, | 26 | VPIF_IF_BT656, |
@@ -39,15 +40,25 @@ struct vpif_subdev_info { | |||
39 | struct i2c_board_info board_info; | 40 | struct i2c_board_info board_info; |
40 | }; | 41 | }; |
41 | 42 | ||
43 | struct vpif_output { | ||
44 | struct v4l2_output output; | ||
45 | const char *subdev_name; | ||
46 | u32 input_route; | ||
47 | u32 output_route; | ||
48 | }; | ||
49 | |||
50 | struct vpif_display_chan_config { | ||
51 | const struct vpif_output *outputs; | ||
52 | int output_count; | ||
53 | bool clip_en; | ||
54 | }; | ||
55 | |||
42 | struct vpif_display_config { | 56 | struct vpif_display_config { |
43 | int (*set_clock)(int, int); | 57 | int (*set_clock)(int, int); |
44 | struct vpif_subdev_info *subdevinfo; | 58 | struct vpif_subdev_info *subdevinfo; |
45 | int subdev_count; | 59 | int subdev_count; |
46 | const char **output; | 60 | struct vpif_display_chan_config chan_config[VPIF_DISPLAY_MAX_CHANNELS]; |
47 | int output_count; | ||
48 | const char *card_name; | 61 | const char *card_name; |
49 | bool ch2_clip_en; | ||
50 | bool ch3_clip_en; | ||
51 | }; | 62 | }; |
52 | 63 | ||
53 | struct vpif_input { | 64 | struct vpif_input { |