Hi All, Here is my next round of atomisp work. The atomisp wants some extra padding for processing in the data it receives from the sensor. E.g. For 1600x1200 it wants to receive 1616x1216 from the sensor. Currently the private sensor driver copies it uses give it e.g. 1616x1216 and the ISP2 code then substracts 16 before reporting the resolution to userspace. This patch series adds support for the v4l2 selections API and specifically the crop target so that atomisp can request the extra padding from standard v4l2 sensor drivers. This is implemented / tested with the atomisp_ov2680 driver. Besides that there is the usual cleanups / prep work. With the padding solved, the last bit of private atomisp sensor API is gone now. So we can start working on getting rid of its private sensor driver copies. As mentioned in the updated TODO file the next step is to port various improvements from the atomisp_ov2680 private sensor driver to the generic ov2680 sensor driver (such as the selections support) and then switch to the generic ov2680 sensor driver. Regards, Hans Hans de Goede (21): media: atomisp: Update TODO media: atomisp: ov2680: s/ov2680_device/ov2680_dev/ media: atomisp: ov2680: s/input_lock/lock/ media: atomisp: ov2680: Add missing ov2680_calc_mode() call to probe() media: atomisp: ov2680: Add init_cfg pad-op media: atomisp: ov2680: Implement selection support media: atomisp: Remove a bunch of sensor related custom IOCTLs media: atomisp: Remove redundant atomisp_subdev_set_selection() calls from atomisp_set_fmt() media: atomisp: Simplify atomisp_subdev_set_selection() calls in atomisp_set_fmt() media: atomisp: Add target validation to atomisp_subdev_set_selection() media: atomisp: Remove bogus fh use from atomisp_set_fmt*() media: atomisp: Add input helper variable for isp->asd->inputs[asd->input_curr] media: atomisp: Add ia_css_frame_pad_width() helper function media: atomisp: Refactor atomisp_try_fmt() / atomisp_set_fmt() media: atomisp: Add support for sensors which implement selection API / cropping media: atomisp: Pass MEDIA_BUS_FMT_* code when calling enum_frame_size pad-op media: atomisp: Make atomisp_init_sensor() check if the sensor supports binning media: atomisp: Use selection API info to determine sensor padding media: atomisp: Set crop before setting fmt media: atomisp: Add enum_framesizes function for sensors with selection / crop support media: atomisp: csi2-bridge: Set PMC clk-rate for sensors to 19.2 MHz drivers/staging/media/atomisp/TODO | 233 ++----- .../media/atomisp/i2c/atomisp-ov2680.c | 204 +++++- drivers/staging/media/atomisp/i2c/ov2680.h | 20 +- .../media/atomisp/i2c/ov5693/atomisp-ov5693.c | 40 -- .../media/atomisp/include/linux/atomisp.h | 120 ---- .../staging/media/atomisp/pci/atomisp_cmd.c | 612 ++++++------------ .../staging/media/atomisp/pci/atomisp_cmd.h | 14 +- .../atomisp/pci/atomisp_compat_ioctl32.h | 55 -- .../media/atomisp/pci/atomisp_csi2_bridge.c | 68 +- .../media/atomisp/pci/atomisp_internal.h | 9 + .../staging/media/atomisp/pci/atomisp_ioctl.c | 174 +++-- .../media/atomisp/pci/atomisp_subdev.c | 18 +- .../media/atomisp/pci/atomisp_subdev.h | 3 + .../staging/media/atomisp/pci/atomisp_v4l2.c | 85 +++ .../runtime/frame/interface/ia_css_frame.h | 2 + .../atomisp/pci/runtime/frame/src/frame.c | 44 +- 16 files changed, 685 insertions(+), 1016 deletions(-) -- 2.40.1