]> www.infradead.org Git - users/jedix/linux-maple.git/commit
media: vimc: scaler: Use subdev active state
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Wed, 24 Apr 2024 23:57:41 +0000 (02:57 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 26 Jun 2024 14:39:34 +0000 (16:39 +0200)
commit7603ac5a8a1cce6513fa5956b089843b1965689c
tree839b663a62b4929c169fd30c9a286d7177dc4e60
parent4c46cb2a7f1d63fa7b027af05e0393e4fe9ccb52
media: vimc: scaler: Use subdev active state

Store the active formats and crop rectangle in the subdevice active
state. This simplifies implementation of the format and selection
accessors, and allows using the v4l2_subdev_get_fmt() helper to
implement the .get_fmt() operation.

The active configuration that is used in the .process_frame() handler is
still stored in the vimc_scaler_device structure. The driver could
instead access the active state in the .process_frame() handler, but the
required locking could interfere with the real time constraints of the
frame processing. This data would be stored in registers in the
.s_stream() handler for real hardware, storing it in dedicated storage
thus mimics a real driver. To differentiate them from the rest of the
device private data, move the corresponding fields to a sub-structure of
vimc_scaler_device named hw.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/test-drivers/vimc/vimc-scaler.c