diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2012-04-27 08:33:10 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-05-20 08:22:47 -0400 |
commit | 0f735f5236643cbbeb833fa0946bd52c20d00966 (patch) | |
tree | 6876c402947a40d1b35c19811e500246ccf19c61 /include/media | |
parent | 2b511edb986fc11b8fa2b5e124c885a99aded257 (diff) |
[media] s5p-fimc: Rework the video pipeline control functions
There is getting more entities to manage within single video pipeline
in newer SoCs. To simplify code put subdevs' pointer into an array
rather than adding new member in struct fimc_pipeline for each subdev.
This allows to easier handle subdev operations in proper order.
Additionally walk graph in one direction only in fimc_pipeline_prepare()
function to make sure we properly gather only media entities that below
to single data pipeline. This avoids wrong initialization in case where,
for example there are multiple active links from s5p-mipi-csis subdev
output pad.
struct fimc_pipeline declaration is moved to the driver's public header
to allow other drivers to reuse the fimc-lite driver added in subsequent
patches.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/s5p_fimc.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/media/s5p_fimc.h b/include/media/s5p_fimc.h index 688fb3f1dc35..8587aaf73646 100644 --- a/include/media/s5p_fimc.h +++ b/include/media/s5p_fimc.h | |||
@@ -64,4 +64,20 @@ struct s5p_platform_fimc { | |||
64 | */ | 64 | */ |
65 | #define S5P_FIMC_TX_END_NOTIFY _IO('e', 0) | 65 | #define S5P_FIMC_TX_END_NOTIFY _IO('e', 0) |
66 | 66 | ||
67 | enum fimc_subdev_index { | ||
68 | IDX_SENSOR, | ||
69 | IDX_CSIS, | ||
70 | IDX_FLITE, | ||
71 | IDX_FIMC, | ||
72 | IDX_MAX, | ||
73 | }; | ||
74 | |||
75 | struct media_pipeline; | ||
76 | struct v4l2_subdev; | ||
77 | |||
78 | struct fimc_pipeline { | ||
79 | struct v4l2_subdev *subdevs[IDX_MAX]; | ||
80 | struct media_pipeline *m_pipeline; | ||
81 | }; | ||
82 | |||
67 | #endif /* S5P_FIMC_H_ */ | 83 | #endif /* S5P_FIMC_H_ */ |