Commit 041bc406 authored by Yong Zhi's avatar Yong Zhi Committed by Mauro Carvalho Chehab

media: ipu3-imgu: Use MENU type for mode control

This addresses the below TODO item.
- Use V4L2_CTRL_TYPE_MENU for dual-pipe mode control. (Sakari)
Signed-off-by: default avatarYong Zhi <yong.zhi@intel.com>
Reviewed-by: default avatarTomasz Figa <tfiga@chromium.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 9dd0627d
...@@ -11,8 +11,6 @@ staging directory. ...@@ -11,8 +11,6 @@ staging directory.
- Prefix imgu for all public APIs, i.e. change ipu3_v4l2_register() to - Prefix imgu for all public APIs, i.e. change ipu3_v4l2_register() to
imgu_v4l2_register(). (Sakari) imgu_v4l2_register(). (Sakari)
- Use V4L2_CTRL_TYPE_MENU for dual-pipe mode control. (Sakari)
- IPU3 driver documentation (Laurent) - IPU3 driver documentation (Laurent)
Add diagram in driver rst to describe output capability. Add diagram in driver rst to describe output capability.
Comments on configuring v4l2 subdevs for CIO2 and ImgU. Comments on configuring v4l2 subdevs for CIO2 and ImgU.
......
...@@ -16,12 +16,6 @@ ...@@ -16,12 +16,6 @@
#define V4L2_CID_INTEL_IPU3_BASE (V4L2_CID_USER_BASE + 0x10c0) #define V4L2_CID_INTEL_IPU3_BASE (V4L2_CID_USER_BASE + 0x10c0)
#define V4L2_CID_INTEL_IPU3_MODE (V4L2_CID_INTEL_IPU3_BASE + 1) #define V4L2_CID_INTEL_IPU3_MODE (V4L2_CID_INTEL_IPU3_BASE + 1)
/* custom ctrl to set pipe mode */
enum ipu3_running_mode {
IPU3_RUNNING_MODE_VIDEO = 0,
IPU3_RUNNING_MODE_STILL = 1,
};
/******************* ipu3_uapi_stats_3a *******************/ /******************* ipu3_uapi_stats_3a *******************/
#define IPU3_UAPI_MAX_STRIPES 2 #define IPU3_UAPI_MAX_STRIPES 2
......
...@@ -12,6 +12,9 @@ ...@@ -12,6 +12,9 @@
/******************** v4l2_subdev_ops ********************/ /******************** v4l2_subdev_ops ********************/
#define IPU3_RUNNING_MODE_VIDEO 0
#define IPU3_RUNNING_MODE_STILL 1
static int ipu3_subdev_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) static int ipu3_subdev_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
{ {
struct imgu_v4l2_subdev *imgu_sd = container_of(sd, struct imgu_v4l2_subdev *imgu_sd = container_of(sd,
...@@ -1035,15 +1038,19 @@ static const struct v4l2_ctrl_ops ipu3_subdev_ctrl_ops = { ...@@ -1035,15 +1038,19 @@ static const struct v4l2_ctrl_ops ipu3_subdev_ctrl_ops = {
.s_ctrl = ipu3_sd_s_ctrl, .s_ctrl = ipu3_sd_s_ctrl,
}; };
static const char * const ipu3_ctrl_mode_strings[] = {
"Video mode",
"Still mode",
};
static const struct v4l2_ctrl_config ipu3_subdev_ctrl_mode = { static const struct v4l2_ctrl_config ipu3_subdev_ctrl_mode = {
.ops = &ipu3_subdev_ctrl_ops, .ops = &ipu3_subdev_ctrl_ops,
.id = V4L2_CID_INTEL_IPU3_MODE, .id = V4L2_CID_INTEL_IPU3_MODE,
.name = "IPU3 Pipe Mode", .name = "IPU3 Pipe Mode",
.type = V4L2_CTRL_TYPE_INTEGER, .type = V4L2_CTRL_TYPE_MENU,
.min = IPU3_RUNNING_MODE_VIDEO, .max = ARRAY_SIZE(ipu3_ctrl_mode_strings) - 1,
.max = IPU3_RUNNING_MODE_STILL,
.step = 1,
.def = IPU3_RUNNING_MODE_VIDEO, .def = IPU3_RUNNING_MODE_VIDEO,
.qmenu = ipu3_ctrl_mode_strings,
}; };
/******************** Framework registration ********************/ /******************** Framework registration ********************/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment