• Laurent Pinchart's avatar
    media: vimc: scaler: Use subdev active state · 7603ac5a
    Laurent Pinchart authored
    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: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
    7603ac5a
vimc-scaler.c 11 KB