Message ID | 20210129111616.1047483-2-naush@raspberrypi.com |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Naush, Thank you for the patch. On Fri, Jan 29, 2021 at 11:16:12AM +0000, Naushir Patuck wrote: > From: Jacopo Mondi <jacopo@jmondi.org> > > 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> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com> > Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > Documentation/sensor_driver_requirements.rst | 6 ++++-- > src/libcamera/camera_sensor.cpp | 1 + > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst > index 6dcd4e68d64d..590797f054ce 100644 > --- a/Documentation/sensor_driver_requirements.rst > +++ b/Documentation/sensor_driver_requirements.rst > @@ -27,18 +27,20 @@ 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 > > While V4L2 doesn't specify a unit for the `EXPOSURE` control, libcamera 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);
diff --git a/Documentation/sensor_driver_requirements.rst b/Documentation/sensor_driver_requirements.rst index 6dcd4e68d64d..590797f054ce 100644 --- a/Documentation/sensor_driver_requirements.rst +++ b/Documentation/sensor_driver_requirements.rst @@ -27,18 +27,20 @@ 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 While V4L2 doesn't specify a unit for the `EXPOSURE` control, libcamera 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);