aboutsummaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorLad, Prabhakar <prabhakar.lad@ti.com>2012-09-25 07:11:49 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-05 21:12:27 -0400
commit2bd4e58c9d00325b7a850b2ac73fd902e9148b77 (patch)
treeef3242b551f05c3a54533e4a21ff21acd9a3b137 /include/media
parentc389648a927bada928c854dccccf0301317784eb (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.h19
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
24enum vpif_if_type { 25enum 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
43struct vpif_output {
44 struct v4l2_output output;
45 const char *subdev_name;
46 u32 input_route;
47 u32 output_route;
48};
49
50struct vpif_display_chan_config {
51 const struct vpif_output *outputs;
52 int output_count;
53 bool clip_en;
54};
55
42struct vpif_display_config { 56struct 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
53struct vpif_input { 64struct vpif_input {