ipa: rkisp1: Use IPAConfig in IPA::configure()

The RkISP1 implementation of IPA::configure() still uses the legacy
interface where sensor controls (and eventually lens controls) are
passed from the pipeline handler to the IPA in a map.

Since the introduction of mojom-based IPA interface definition, it is
possible to define custom data types and use them in the interface
definition between the pipeline handler and the IPA.

Align the RkISP1 IPA::configure() implementation with the one in the
IPU3 IPA module by using a custom data type instead of relying on a map
to pass controls to the IPA.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Jacopo Mondi 2022-11-04 10:09:08 +01:00
parent 29d6d0e93b
commit 855228f7d5
3 changed files with 24 additions and 24 deletions

View file

@ -8,6 +8,11 @@ module ipa.rkisp1;
import "include/libcamera/ipa/core.mojom";
struct IPAConfigInfo {
libcamera.IPACameraSensorInfo sensorInfo;
libcamera.ControlInfoMap sensorControls;
};
interface IPARkISP1Interface {
init(libcamera.IPASettings settings,
uint32 hwRevision)
@ -15,9 +20,8 @@ interface IPARkISP1Interface {
start() => (int32 ret);
stop();
configure(libcamera.IPACameraSensorInfo sensorInfo,
map<uint32, libcamera.IPAStream> streamConfig,
map<uint32, libcamera.ControlInfoMap> entityControls)
configure(IPAConfigInfo configInfo,
map<uint32, libcamera.IPAStream> streamConfig)
=> (int32 ret);
mapBuffers(array<libcamera.IPABuffer> buffers);