ipa: rpi: Add IpaBase::platformStart() member function

Add a virtual IpaBase::platformStart() member function that is called
at the end of IpaBase::start(). For the IpaVc4 derived class, this
function does nothing, but will be used in the PiSP derived class to
reset internal state on startup.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Naushir Patuck 2023-10-13 08:48:25 +01:00 committed by Kieran Bingham
parent 92a74cf454
commit 71bb5b345f
3 changed files with 10 additions and 0 deletions

View file

@ -341,6 +341,8 @@ void IpaBase::start(const ControlList &controls, StartResult *result)
firstStart_ = false;
lastRunTimestamp_ = 0;
platformStart(controls, result);
}
void IpaBase::mapBuffers(const std::vector<IPABuffer> &buffers)

View file

@ -67,6 +67,7 @@ private:
static constexpr unsigned int numMetadataContexts = 16;
virtual int32_t platformInit(const InitParams &params, InitResult *result) = 0;
virtual int32_t platformStart(const ControlList &controls, StartResult *result) = 0;
virtual int32_t platformConfigure(const ConfigParams &params, ConfigResult *result) = 0;
virtual void platformPrepareIsp(const PrepareParams &params,

View file

@ -51,6 +51,7 @@ public:
private:
int32_t platformInit(const InitParams &params, InitResult *result) override;
int32_t platformStart(const ControlList &controls, StartResult *result) override;
int32_t platformConfigure(const ConfigParams &params, ConfigResult *result) override;
void platformPrepareIsp(const PrepareParams &params, RPiController::Metadata &rpiMetadata) override;
@ -94,6 +95,12 @@ int32_t IpaVc4::platformInit([[maybe_unused]] const InitParams &params, [[maybe_
return 0;
}
int32_t IpaVc4::platformStart([[maybe_unused]] const ControlList &controls,
[[maybe_unused]] StartResult *result)
{
return 0;
}
int32_t IpaVc4::platformConfigure(const ConfigParams &params, [[maybe_unused]] ConfigResult *result)
{
ispCtrls_ = params.ispControls;