All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>,
	Tsuchiya Yuto <kitakar@gmail.com>,
	Andy Shevchenko <andy@kernel.org>,
	Yury Luneff <yury.lunev@gmail.com>,
	Nable <nable.maininbox@googlemail.com>,
	andrey.i.trufanov@gmail.com, Fabio Aiuto <fabioaiuto83@gmail.com>,
	linux-media@vger.kernel.org, linux-staging@lists.linux.dev
Subject: [PATCH 10/57] media: atomisp: Remove V4L2_CID_BIN_FACTOR_HORZ/_VERT
Date: Mon, 23 Jan 2023 13:51:18 +0100	[thread overview]
Message-ID: <20230123125205.622152-11-hdegoede@redhat.com> (raw)
In-Reply-To: <20230123125205.622152-1-hdegoede@redhat.com>

The bin-factor-x and bin-factor-y ctrls are only used internally to
get a single value to pass to atomisp_css_input_set_binning_factor(),
which is supposed to tune the lens-shading correction for the binning
factor. But all sensor drivers return either 0 or 1 for this,
with 0 meaning unset and 1 meaning no-binning. Even though some modes
do actually do binning ...

Also note that the removed atomisp_get_sensor_bin_factor() would fall
back to 0 if either the x and y factor differ or if the ctrls are not
implemented (not all sensor drivers implement them).

Simply always pass 0 to atomisp_css_input_set_binning_factor().

This is part of a patch-series which tries to remove atomisp specific /
custom code from the sensor drivers, with as end goal to make the atomisp
drivers regular camera sensor drivers.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 .../media/atomisp/i2c/atomisp-gc0310.c        | 46 -----------------
 .../media/atomisp/i2c/atomisp-mt9m114.c       | 46 -----------------
 .../media/atomisp/i2c/atomisp-ov2680.c        | 49 -------------------
 .../media/atomisp/i2c/ov5693/atomisp-ov5693.c | 46 -----------------
 .../media/atomisp/include/linux/atomisp.h     |  4 --
 .../staging/media/atomisp/pci/atomisp_ioctl.c | 20 --------
 .../media/atomisp/pci/atomisp_subdev.c        | 36 +-------------
 7 files changed, 1 insertion(+), 246 deletions(-)

diff --git a/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c b/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c
index 4968ec51ff1b..0d90683ed227 100644
--- a/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c
+++ b/drivers/staging/media/atomisp/i2c/atomisp-gc0310.c
@@ -241,24 +241,6 @@ static int gc0310_write_reg_array(struct i2c_client *client,
 	return __gc0310_flush_reg_array(client, &ctrl);
 }
 
-static int gc0310_g_bin_factor_x(struct v4l2_subdev *sd, s32 *val)
-{
-	struct gc0310_device *dev = to_gc0310_sensor(sd);
-
-	*val = dev->res->bin_factor_x;
-
-	return 0;
-}
-
-static int gc0310_g_bin_factor_y(struct v4l2_subdev *sd, s32 *val)
-{
-	struct gc0310_device *dev = to_gc0310_sensor(sd);
-
-	*val = dev->res->bin_factor_y;
-
-	return 0;
-}
-
 static int gc0310_set_gain(struct v4l2_subdev *sd, int gain)
 
 {
@@ -441,12 +423,6 @@ static int gc0310_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
 	case V4L2_CID_EXPOSURE_ABSOLUTE:
 		ret = gc0310_q_exposure(&dev->sd, &ctrl->val);
 		break;
-	case V4L2_CID_BIN_FACTOR_HORZ:
-		ret = gc0310_g_bin_factor_x(&dev->sd, &ctrl->val);
-		break;
-	case V4L2_CID_BIN_FACTOR_VERT:
-		ret = gc0310_g_bin_factor_y(&dev->sd, &ctrl->val);
-		break;
 	default:
 		ret = -EINVAL;
 	}
@@ -491,28 +467,6 @@ static const struct v4l2_ctrl_config gc0310_controls[] = {
 		.step = 1,
 		.def = 0,
 	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_HORZ,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "horizontal binning factor",
-		.min = 0,
-		.max = GC0310_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_VERT,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "vertical binning factor",
-		.min = 0,
-		.max = GC0310_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
 };
 
 static int gc0310_init(struct v4l2_subdev *sd)
diff --git a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
index 1df38f5fe1f4..0e5a981dd331 100644
--- a/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
+++ b/drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
@@ -1016,24 +1016,6 @@ static int mt9m114_s_exposure_selection(struct v4l2_subdev *sd,
 	return 0;
 }
 
-static int mt9m114_g_bin_factor_x(struct v4l2_subdev *sd, s32 *val)
-{
-	struct mt9m114_device *dev = to_mt9m114_sensor(sd);
-
-	*val = mt9m114_res[dev->res].bin_factor_x;
-
-	return 0;
-}
-
-static int mt9m114_g_bin_factor_y(struct v4l2_subdev *sd, s32 *val)
-{
-	struct mt9m114_device *dev = to_mt9m114_sensor(sd);
-
-	*val = mt9m114_res[dev->res].bin_factor_y;
-
-	return 0;
-}
-
 static int mt9m114_s_ev(struct v4l2_subdev *sd, s32 val)
 {
 	struct i2c_client *c = v4l2_get_subdevdata(sd);
@@ -1159,12 +1141,6 @@ static int mt9m114_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
 	case V4L2_CID_EXPOSURE_ZONE_NUM:
 		ret = mt9m114_g_exposure_zone_num(&dev->sd, &ctrl->val);
 		break;
-	case V4L2_CID_BIN_FACTOR_HORZ:
-		ret = mt9m114_g_bin_factor_x(&dev->sd, &ctrl->val);
-		break;
-	case V4L2_CID_BIN_FACTOR_VERT:
-		ret = mt9m114_g_bin_factor_y(&dev->sd, &ctrl->val);
-		break;
 	case V4L2_CID_EXPOSURE:
 		ret = mt9m114_g_ev(&dev->sd, &ctrl->val);
 		break;
@@ -1237,28 +1213,6 @@ static struct v4l2_ctrl_config mt9m114_controls[] = {
 		.def = 1,
 		.flags = 0,
 	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_HORZ,
-		.name = "horizontal binning factor",
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.min = 0,
-		.max = MT9M114_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_VERT,
-		.name = "vertical binning factor",
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.min = 0,
-		.max = MT9M114_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
 	{
 		.ops = &ctrl_ops,
 		.id = V4L2_CID_EXPOSURE,
diff --git a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
index 9379c25205b4..88fdeb828c6c 100644
--- a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
+++ b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
@@ -119,27 +119,6 @@ static int ov2680_write_reg_array(struct i2c_client *client,
 	return 0;
 }
 
-static int ov2680_g_bin_factor_x(struct v4l2_subdev *sd, s32 *val)
-{
-	struct ov2680_device *dev = to_ov2680_sensor(sd);
-	struct i2c_client *client = v4l2_get_subdevdata(sd);
-
-	dev_dbg(&client->dev,  "++++ov2680_g_bin_factor_x\n");
-	*val = dev->res->bin_factor_x;
-
-	return 0;
-}
-
-static int ov2680_g_bin_factor_y(struct v4l2_subdev *sd, s32 *val)
-{
-	struct ov2680_device *dev = to_ov2680_sensor(sd);
-	struct i2c_client *client = v4l2_get_subdevdata(sd);
-
-	*val = dev->res->bin_factor_y;
-	dev_dbg(&client->dev,  "++++ov2680_g_bin_factor_y\n");
-	return 0;
-}
-
 static long __ov2680_set_exposure(struct v4l2_subdev *sd, int coarse_itg,
 				  int gain, int digitgain)
 
@@ -419,12 +398,6 @@ static int ov2680_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
 	case V4L2_CID_EXPOSURE_ABSOLUTE:
 		ret = ov2680_q_exposure(&dev->sd, &ctrl->val);
 		break;
-	case V4L2_CID_BIN_FACTOR_HORZ:
-		ret = ov2680_g_bin_factor_x(&dev->sd, &ctrl->val);
-		break;
-	case V4L2_CID_BIN_FACTOR_VERT:
-		ret = ov2680_g_bin_factor_y(&dev->sd, &ctrl->val);
-		break;
 	default:
 		ret = -EINVAL;
 	}
@@ -449,28 +422,6 @@ static const struct v4l2_ctrl_config ov2680_controls[] = {
 		.def = 0x00,
 		.flags = 0,
 	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_HORZ,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "horizontal binning factor",
-		.min = 0,
-		.max = OV2680_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_VERT,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "vertical binning factor",
-		.min = 0,
-		.max = OV2680_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
 	{
 		.ops = &ctrl_ops,
 		.id = V4L2_CID_VFLIP,
diff --git a/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c b/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
index e65759499d81..da8c3b1d3bcd 100644
--- a/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
+++ b/drivers/staging/media/atomisp/i2c/ov5693/atomisp-ov5693.c
@@ -415,24 +415,6 @@ static int ov5693_write_reg_array(struct i2c_client *client,
 	return __ov5693_flush_reg_array(client, &ctrl);
 }
 
-static int ov5693_g_bin_factor_x(struct v4l2_subdev *sd, s32 *val)
-{
-	struct ov5693_device *dev = to_ov5693_sensor(sd);
-
-	*val = ov5693_res[dev->fmt_idx].bin_factor_x;
-
-	return 0;
-}
-
-static int ov5693_g_bin_factor_y(struct v4l2_subdev *sd, s32 *val)
-{
-	struct ov5693_device *dev = to_ov5693_sensor(sd);
-
-	*val = ov5693_res[dev->fmt_idx].bin_factor_y;
-
-	return 0;
-}
-
 static long __ov5693_set_exposure(struct v4l2_subdev *sd, int coarse_itg,
 				  int gain, int digitgain)
 
@@ -1014,12 +996,6 @@ static int ov5693_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
 	case V4L2_CID_FOCUS_STATUS:
 		ret = ov5693_q_focus_status(&dev->sd, &ctrl->val);
 		break;
-	case V4L2_CID_BIN_FACTOR_HORZ:
-		ret = ov5693_g_bin_factor_x(&dev->sd, &ctrl->val);
-		break;
-	case V4L2_CID_BIN_FACTOR_VERT:
-		ret = ov5693_g_bin_factor_y(&dev->sd, &ctrl->val);
-		break;
 	default:
 		ret = -EINVAL;
 	}
@@ -1099,28 +1075,6 @@ static const struct v4l2_ctrl_config ov5693_controls[] = {
 		.def = 0,
 		.flags = 0,
 	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_HORZ,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "horizontal binning factor",
-		.min = 0,
-		.max = OV5693_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
-	{
-		.ops = &ctrl_ops,
-		.id = V4L2_CID_BIN_FACTOR_VERT,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "vertical binning factor",
-		.min = 0,
-		.max = OV5693_BIN_FACTOR_MAX,
-		.step = 1,
-		.def = 0,
-		.flags = 0,
-	},
 };
 
 static int ov5693_init(struct v4l2_subdev *sd)
diff --git a/drivers/staging/media/atomisp/include/linux/atomisp.h b/drivers/staging/media/atomisp/include/linux/atomisp.h
index d6da776e9bf4..63b1bcd35399 100644
--- a/drivers/staging/media/atomisp/include/linux/atomisp.h
+++ b/drivers/staging/media/atomisp/include/linux/atomisp.h
@@ -1071,10 +1071,6 @@ struct atomisp_sensor_ae_bracketing_lut {
 /* Query Focus Status */
 #define V4L2_CID_FOCUS_STATUS              (V4L2_CID_CAMERA_LASTP1 + 14)
 
-/* Query sensor's binning factor */
-#define V4L2_CID_BIN_FACTOR_HORZ	   (V4L2_CID_CAMERA_LASTP1 + 15)
-#define V4L2_CID_BIN_FACTOR_VERT	   (V4L2_CID_CAMERA_LASTP1 + 16)
-
 /* number of frames to skip at stream start */
 #define V4L2_CID_G_SKIP_FRAMES		   (V4L2_CID_CAMERA_LASTP1 + 17)
 
diff --git a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
index d202b2b9ae18..9cb9685d91bb 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c
@@ -172,24 +172,6 @@ static struct v4l2_queryctrl ci_v4l2_controls[] = {
 		.step = 1,
 		.default_value = 1,
 	},
-	{
-		.id = V4L2_CID_BIN_FACTOR_HORZ,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "Horizontal binning factor",
-		.minimum = 0,
-		.maximum = 10,
-		.step = 1,
-		.default_value = 0,
-	},
-	{
-		.id = V4L2_CID_BIN_FACTOR_VERT,
-		.type = V4L2_CTRL_TYPE_INTEGER,
-		.name = "Vertical binning factor",
-		.minimum = 0,
-		.maximum = 10,
-		.step = 1,
-		.default_value = 0,
-	},
 	{
 		.id = V4L2_CID_2A_STATUS,
 		.type = V4L2_CTRL_TYPE_BITMASK,
@@ -1827,8 +1809,6 @@ static int atomisp_camera_g_ext_ctrls(struct file *file, void *fh,
 		case V4L2_CID_EXPOSURE_ABSOLUTE:
 		case V4L2_CID_EXPOSURE_AUTO:
 		case V4L2_CID_IRIS_ABSOLUTE:
-		case V4L2_CID_BIN_FACTOR_HORZ:
-		case V4L2_CID_BIN_FACTOR_VERT:
 		case V4L2_CID_3A_LOCK:
 		case V4L2_CID_TEST_PATTERN:
 		case V4L2_CID_TEST_PATTERN_COLOR_R:
diff --git a/drivers/staging/media/atomisp/pci/atomisp_subdev.c b/drivers/staging/media/atomisp/pci/atomisp_subdev.c
index cadc468b4c2f..fc9e07bf63ae 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_subdev.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_subdev.c
@@ -574,40 +574,6 @@ static int isp_subdev_set_selection(struct v4l2_subdev *sd,
 					    sel->target, sel->flags, &sel->r);
 }
 
-static int atomisp_get_sensor_bin_factor(struct atomisp_sub_device *asd)
-{
-	struct v4l2_control ctrl = {0};
-	struct atomisp_device *isp = asd->isp;
-	int hbin, vbin;
-	int ret;
-
-	if (isp->inputs[asd->input_curr].type == FILE_INPUT ||
-	    isp->inputs[asd->input_curr].type == TEST_PATTERN)
-		return 0;
-
-	ctrl.id = V4L2_CID_BIN_FACTOR_HORZ;
-	ret =
-	    v4l2_g_ctrl(isp->inputs[asd->input_curr].camera->ctrl_handler,
-			&ctrl);
-	hbin = ctrl.value;
-	ctrl.id = V4L2_CID_BIN_FACTOR_VERT;
-	ret |=
-	    v4l2_g_ctrl(isp->inputs[asd->input_curr].camera->ctrl_handler,
-			&ctrl);
-	vbin = ctrl.value;
-
-	/*
-	 * ISP needs to know binning factor from sensor.
-	 * In case horizontal and vertical sensor's binning factors
-	 * are different or sensor does not support binning factor CID,
-	 * ISP will apply default 0 value.
-	 */
-	if (ret || hbin != vbin)
-		hbin = 0;
-
-	return hbin;
-}
-
 void atomisp_subdev_set_ffmt(struct v4l2_subdev *sd,
 			     struct v4l2_subdev_state *sd_state,
 			     uint32_t which,
@@ -645,7 +611,7 @@ void atomisp_subdev_set_ffmt(struct v4l2_subdev *sd,
 							 ATOMISP_INPUT_STREAM_GENERAL, ffmt);
 			atomisp_css_input_set_binning_factor(isp_sd,
 							     ATOMISP_INPUT_STREAM_GENERAL,
-							     atomisp_get_sensor_bin_factor(isp_sd));
+							     0);
 			atomisp_css_input_set_bayer_order(isp_sd, ATOMISP_INPUT_STREAM_GENERAL,
 							  fc->bayer_order);
 			atomisp_css_input_set_format(isp_sd, ATOMISP_INPUT_STREAM_GENERAL,
-- 
2.39.0


  parent reply	other threads:[~2023-01-23 12:52 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-23 12:51 [PATCH 00/57] media: atomisp: Big power-management changes + lots of fixes Hans de Goede
2023-01-23 12:51 ` [PATCH 01/57] media: atomisp: fix videobuf2 Kconfig depenendency Hans de Goede
2023-01-23 14:12   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 02/57] media: atomisp: use vb2_start_streaming_called() Hans de Goede
2023-01-23 12:51 ` [PATCH 03/57] media: atomisp: Remove atomisp_sw_contex struct Hans de Goede
2023-01-23 14:14   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 04/57] media: atomisp: Move power-management over to a custom pm-domain Hans de Goede
2023-01-23 12:51 ` [PATCH 05/57] media: atomisp: Silence "isys dma store at addr, val" debug messages Hans de Goede
2023-01-23 14:18   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 06/57] media: atomisp: Remove non working doorbell check from punit_ddr_dvfs_enable() Hans de Goede
2023-01-23 12:51 ` [PATCH 07/57] media: atomisp: Remove useless msleep(10) before power-on on BYT Hans de Goede
2023-01-23 14:40   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 08/57] media: atomisp: Remove custom ATOMISP_IOC_ISP_MAKERNOTE ioctl Hans de Goede
2023-01-23 14:30   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 09/57] media: atomisp: Remove custom ATOMISP_IOC_G_SENSOR_MODE_DATA ioctl Hans de Goede
2023-01-23 14:31   ` Andy Shevchenko
2023-01-23 12:51 ` Hans de Goede [this message]
2023-01-23 14:33   ` [PATCH 10/57] media: atomisp: Remove V4L2_CID_BIN_FACTOR_HORZ/_VERT Andy Shevchenko
2023-01-23 12:51 ` [PATCH 11/57] media: atomisp: Remove no longer used binning info from sensor resolution info Hans de Goede
2023-01-23 14:33   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 12/57] media: atomisp: Propagate set_fmt() errors in queue_setup() Hans de Goede
2023-01-23 14:35   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 13/57] media: atomisp: Remove deferred firmware loading support Hans de Goede
2023-01-23 14:37   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 14/57] media: atomisp: Check buffer index is in range inside atomisp_qbuf_wrapper() Hans de Goede
2023-01-23 14:38   ` Andy Shevchenko
2023-01-24 11:09     ` Hans de Goede
2023-01-23 12:51 ` [PATCH 15/57] media: atomisp: Drop atomisp_init_pipe() Hans de Goede
2023-01-23 15:30   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 16/57] media: atomisp: Remove unnecessary memset(foo, 0, sizeof(foo)) calls Hans de Goede
2023-01-23 17:41   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 17/57] media: atomisp: Only set default_run_mode on first open of a stream/asd Hans de Goede
2023-01-23 17:42   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 18/57] media: atomisp: Do not turn off sensor when the atomisp-sub-dev does not own it Hans de Goede
2023-01-23 12:51 ` [PATCH 19/57] media: atomisp: Allow sensor drivers without a s_power callback Hans de Goede
2023-01-23 17:49   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 20/57] media: atomisp: Fix regulator registers on BYT devices with CRC PMIC Hans de Goede
2023-01-23 17:51   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 21/57] media: atomisp: Remove atomisp_gmin_find_subdev() Hans de Goede
2023-01-23 17:53   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 22/57] media: atomisp: Add atomisp_register_sensor_no_gmin() helper Hans de Goede
2023-01-23 17:55   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 23/57] media: atomisp: Fix WARN() when the vb2 start_streaming callback fails Hans de Goede
2023-01-23 17:56   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 24/57] media: atomisp: Drop ffmt local var from atomisp_set_fmt() Hans de Goede
2023-01-23 12:51 ` [PATCH 25/57] media: atomisp: Stop overriding padding w/h to 12 on BYT Hans de Goede
2023-01-23 17:59   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 26/57] media: atomisp: Put sensor ACPI devices in D3 before disable ACPI power-resources Hans de Goede
2023-01-23 12:51 ` [PATCH 27/57] media: atomisp: Remove isp_subdev_link_setup() Hans de Goede
2023-01-23 18:02   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 28/57] media: Add ovxxxx_16bit_addr_reg_helpers.h Hans de Goede
2023-01-23 18:09   ` Andy Shevchenko
2023-01-24 11:21     ` Hans de Goede
2023-01-24 12:47       ` Andy Shevchenko
2023-01-23 18:15   ` Andy Shevchenko
2023-01-23 18:23   ` Andy Shevchenko
2023-01-24 11:25     ` Hans de Goede
2023-02-08  9:52   ` Laurent Pinchart
2023-02-08 11:27     ` Andy Shevchenko
2023-02-08 15:41       ` Laurent Pinchart
2023-02-08 15:50         ` Andy Shevchenko
2023-02-08 16:03           ` Laurent Pinchart
2023-02-08 17:31             ` Andy Shevchenko
2023-02-09 10:31               ` Laurent Pinchart
2023-02-09 15:03     ` Hans de Goede
2023-02-09 16:11       ` Laurent Pinchart
2023-02-10 10:21         ` Sakari Ailus
2023-02-10 10:29           ` Laurent Pinchart
2023-02-10 10:47             ` Sakari Ailus
2023-02-10 10:53               ` Andy Shevchenko
2023-02-10 11:05                 ` Laurent Pinchart
2023-02-10 15:35                   ` Andy Shevchenko
2023-02-10 16:01                     ` Hans de Goede
2023-02-10 11:19                 ` Hans de Goede
2023-02-10 11:35                   ` Laurent Pinchart
2023-02-10 12:01                     ` Hans de Goede
2023-02-10 11:04               ` Laurent Pinchart
2023-02-10 11:18                 ` Sakari Ailus
2023-02-10 11:34                   ` Laurent Pinchart
2023-02-10 11:20         ` Hans de Goede
2023-02-10 11:45           ` Laurent Pinchart
2023-02-10 11:56             ` Hans de Goede
2023-02-10 12:09               ` Laurent Pinchart
2023-02-10 12:17                 ` Sakari Ailus
2023-02-10 12:59                   ` Hans de Goede
2023-02-10 13:31                     ` Sakari Ailus
2023-02-10 12:47                 ` Hans de Goede
2023-02-10 13:18                   ` Sakari Ailus
2023-02-10 14:43                     ` Hans de Goede
2023-02-10 16:43                       ` Laurent Pinchart
2023-02-10 20:16                       ` Sakari Ailus
2023-02-10 12:26             ` Sakari Ailus
2023-02-10 15:42               ` Andy Shevchenko
2023-02-10 16:39                 ` Laurent Pinchart
2023-02-10 20:18                   ` Sakari Ailus
2023-02-10 16:40               ` Laurent Pinchart
2023-02-08 11:31   ` Sakari Ailus
2023-02-08 14:33     ` Mauro Carvalho Chehab
2023-02-08 15:39       ` Laurent Pinchart
2023-01-23 12:51 ` [PATCH 29/57] media: atomisp: ov2680: Use the new ovxxxx_16bit_addr_reg_helpers.h Hans de Goede
2023-01-23 18:13   ` Andy Shevchenko
2023-01-24 11:22     ` Hans de Goede
2023-01-23 12:51 ` [PATCH 30/57] media: atomisp: ov2680: Rework flip ctrls Hans de Goede
2023-01-23 18:33   ` Andy Shevchenko
2023-01-29  0:36   ` kernel test robot
2023-01-23 12:51 ` [PATCH 31/57] media: atomisp: ov2680: Drop custom ATOMISP_IOC_S_EXPOSURE support Hans de Goede
2023-01-23 18:35   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 32/57] media: atomisp: ov2680: Add exposure and gain controls Hans de Goede
2023-01-23 18:43   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 33/57] media: atomisp: ov2680: Add test pattern control Hans de Goede
2023-01-23 18:46   ` Andy Shevchenko
2023-01-24 11:27     ` Hans de Goede
2023-01-24 12:50       ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 34/57] media: atomisp: ov2680: Fix window settings and enable window for all resolutions Hans de Goede
2023-01-23 18:48   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 35/57] media: atomisp: ov2680: Make setting the modes algorithm based Hans de Goede
2023-01-24 10:37   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 36/57] media: atomisp: ov2680: Use defines for fps, lines-per-frame and skip-frames Hans de Goede
2023-01-24 10:40   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 37/57] media: atomisp: ov2680: Drop unused res member from struct ov2680_device Hans de Goede
2023-01-24 10:39   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 38/57] media: atomisp: ov2680: Fix ov2680_enum_frame_interval() Hans de Goede
2023-01-24 10:42   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 39/57] media: atomisp: ov2680: Drop v4l2_find_nearest_size() call from set_fmt() Hans de Goede
2023-01-24 10:43   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 40/57] media: atomisp: ov2680: Drop struct ov2680_resolution / ov2680_res_preview Hans de Goede
2023-01-24 10:44   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 41/57] media: atomisp: ov2680: Fix frame_size list Hans de Goede
2023-01-24 10:46   ` Andy Shevchenko
2023-01-24 11:29     ` Hans de Goede
2023-01-23 12:51 ` [PATCH 42/57] media: atomisp: ov2680: Remove unused data-types and defines from ov2680.h Hans de Goede
2023-01-24 10:46   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 43/57] media: atomisp: ov2680: Drop MAX_FMTS define Hans de Goede
2023-01-24 10:48   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 44/57] media: atomisp: ov2680: Consistently indent define values Hans de Goede
2023-01-24 10:49   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 45/57] media: atomisp: ov2680: Cleanup includes Hans de Goede
2023-01-24 10:50   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 46/57] media: atomisp: ov2680: Delay power-on till streaming is started Hans de Goede
2023-01-24 10:51   ` Andy Shevchenko
2023-01-24 11:31     ` Hans de Goede
2023-01-24 12:52       ` Andy Shevchenko
2023-01-24 13:35         ` Hans de Goede
2023-01-23 12:51 ` [PATCH 47/57] media: atomisp: ov2680: Add runtime-pm support Hans de Goede
2023-01-24 10:53   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 48/57] media: atomisp: ov2680: s/dev/sensor/ Hans de Goede
2023-01-24 10:54   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 49/57] media: atomisp: ov2680: Use devm_kzalloc() for sensor data struct Hans de Goede
2023-01-24 10:55   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 50/57] media: atomisp: ov2680: Switch over to ACPI powermanagement Hans de Goede
2023-01-24 10:59   ` Andy Shevchenko
2023-01-23 12:51 ` [PATCH 51/57] media: atomisp: ov2722: Call atomisp_gmin_remove_subdev() on probe failure Hans de Goede
2023-01-23 18:36   ` Andy Shevchenko
2023-01-23 12:52 ` [PATCH 52/57] media: atomisp: ov2722: Fix GPIO1 polarity Hans de Goede
2023-01-23 18:39   ` Andy Shevchenko
2023-01-23 18:40   ` Andy Shevchenko
2023-01-23 12:52 ` [PATCH 53/57] media: atomisp: ov2722: Don't take the input_lock for try_fmt calls Hans de Goede
2023-01-23 18:39   ` Andy Shevchenko
2023-01-23 12:52 ` [PATCH 54/57] media: atomisp: ov2722: Power on sensor from set_fmt() callback Hans de Goede
2023-01-23 18:42   ` Andy Shevchenko
2023-01-24 11:32     ` Hans de Goede
2023-01-23 12:52 ` [PATCH 55/57] media: atomisp: pci: Replace bytes macros with functions Hans de Goede
2023-01-23 12:52 ` [PATCH 56/57] media: atomisp: pci: hive_isp_css_common: host: vmem: Replace SUBWORD " Hans de Goede
2023-01-23 18:27   ` Andy Shevchenko
2023-01-23 18:29     ` Andy Shevchenko
2023-01-23 12:52 ` [PATCH 57/57] media: atomisp: pci: sh_css: Inline single invocation of macro STATS_ENABLED() Hans de Goede
2023-01-24 11:01 ` [PATCH 00/57] media: atomisp: Big power-management changes + lots of fixes Andy Shevchenko
2023-01-24 11:05   ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230123125205.622152-11-hdegoede@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=andrey.i.trufanov@gmail.com \
    --cc=andy@kernel.org \
    --cc=fabioaiuto83@gmail.com \
    --cc=kitakar@gmail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=mchehab@kernel.org \
    --cc=nable.maininbox@googlemail.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=yury.lunev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.