[libcamera-devel,1/5] libcamera: camera_sensor: Make VBLANK mandatory
diff mbox series

Message ID 20210121174633.382334-2-jacopo@jmondi.org
State Superseded
Delegated to: Jacopo Mondi
Headers show
Series
  • android: Report frame durations
Related show

Commit Message

Jacopo Mondi Jan. 21, 2021, 5:46 p.m. UTC
Add the V4L2_CID_VBLANK control to the list of mandatory controls
the sensor driver has to report and document the new requirement.

The vertical blanking control is used to calculate the frame duration.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 Documentation/sensor_driver_requirements.rst | 6 ++++--
 src/libcamera/camera_sensor.cpp              | 1 +
 2 files changed, 5 insertions(+), 2 deletions(-)

Patch
diff mbox series

diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst
index c45d5a7ae61b..e365c17831ed 100644
--- a/Documentation/sensor_driver_requirements.rst
+++ b/Documentation/sensor_driver_requirements.rst
@@ -27,10 +27,12 @@  The sensor driver shall support the following V4L2 controls:
 * `V4L2_CID_EXPOSURE`_
 * `V4L2_CID_HBLANK`_
 * `V4L2_CID_PIXEL_RATE`_
+* `V4L2_CID_VBLANK`_
 
 .. _V4L2_CID_EXPOSURE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/control.html
 .. _V4L2_CID_HBLANK: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-image-source.html
 .. _V4L2_CID_PIXEL_RATE: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-image-process.html
+.. _V4L2_CID_VBLANK: https://www.kernel.org/doc/html/latest/userspace-api/media/v4l/ext-ctrls-image-source.html
 
 The `EXPOSURE` control shall report the image integration time in number of
 lines. While V4L2 doesn't specify a unit for the `EXPOSURE` control, libcamera
@@ -38,8 +40,8 @@  requires it to be expressed as a number of image lines. Camera sensor drivers
 that do not comply with this requirement will need to be adapted or will produce
 incorrect results.
 
-The `HBLANK` and `PIXEL_RATE` controls are used to compute the sensor output
-timings.
+The `HBLANK`, `PIXEL_RATE` and `VBLANK` controls are used to compute the sensor
+output timings.
 
 Optional Requirements
 ---------------------
diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
index ca33c0094088..ab315bdc468c 100644
--- a/src/libcamera/camera_sensor.cpp
+++ b/src/libcamera/camera_sensor.cpp
@@ -244,6 +244,7 @@  int CameraSensor::validateSensorDriver()
 		V4L2_CID_EXPOSURE,
 		V4L2_CID_HBLANK,
 		V4L2_CID_PIXEL_RATE,
+		V4L2_CID_VBLANK,
 	};
 
 	ControlList ctrls = subdev_->getControls(mandatoryControls);