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 | |
| 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')
| -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 { |
