[v1,13/35] ipa: rkisp1: Add initializeFrameContext() function
diff mbox series

Message ID 20251024085130.995967-14-stefan.klug@ideasonboard.com
State New
Headers show
Series
  • rkisp1: pipeline rework for PFC
Related show

Commit Message

Stefan Klug Oct. 24, 2025, 8:50 a.m. UTC
In preparation to handling startup controls, split the frame context
initialization from queueRequest into a separate function.

This patch contains no functional changes.

Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
---
 src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Paul Elder Jan. 22, 2026, 9:15 a.m. UTC | #1
Quoting Stefan Klug (2025-10-24 17:50:37)
> In preparation to handling startup controls, split the frame context
> initialization from queueRequest into a separate function.
> 
> This patch contains no functional changes.
> 
> Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com>
> ---
>  src/ipa/rkisp1/rkisp1.cpp | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> index ee87c899fcb1..a55bac260026 100644
> --- a/src/ipa/rkisp1/rkisp1.cpp
> +++ b/src/ipa/rkisp1/rkisp1.cpp
> @@ -67,6 +67,9 @@ public:
>  
>         void queueRequest(const uint32_t frame, const ControlList &controls) override;
>         void computeParams(const uint32_t frame, const uint32_t bufferId) override;
> +       void initializeFrameContext(const uint32_t frame,
> +                                   IPAFrameContext &frameContext,
> +                                   const ControlList &controls);
>         void processStats(const uint32_t frame, const uint32_t bufferId,
>                           const ControlList &sensorControls) override;
>  
> @@ -331,6 +334,13 @@ void IPARkISP1::queueRequest(const uint32_t frame, const ControlList &controls)
>         IPAFrameContext &frameContext = context_.frameContexts.alloc(frame);
>         context_.debugMetadata.enableByControl(controls);
>  
> +       initializeFrameContext(frame, frameContext, controls);
> +}
> +
> +void IPARkISP1::initializeFrameContext(const uint32_t frame,
> +                                      IPAFrameContext &frameContext,
> +                                      const ControlList &controls)
> +{
>         for (auto const &a : algorithms()) {
>                 Algorithm *algo = static_cast<Algorithm *>(a.get());
>                 if (algo->disabled_)

Semantically this feels a bit weird because initializing the frame context is
achieved by queuing requests to the algos. Although perhaps that's a misnomer
on the IPA interface side.

In any case I think Jacopo caught more stuff on the next patch that I didn't
see and that patch is a superset of this.


Paul

> -- 
> 2.48.1
>

Patch
diff mbox series

diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
index ee87c899fcb1..a55bac260026 100644
--- a/src/ipa/rkisp1/rkisp1.cpp
+++ b/src/ipa/rkisp1/rkisp1.cpp
@@ -67,6 +67,9 @@  public:
 
 	void queueRequest(const uint32_t frame, const ControlList &controls) override;
 	void computeParams(const uint32_t frame, const uint32_t bufferId) override;
+	void initializeFrameContext(const uint32_t frame,
+				    IPAFrameContext &frameContext,
+				    const ControlList &controls);
 	void processStats(const uint32_t frame, const uint32_t bufferId,
 			  const ControlList &sensorControls) override;
 
@@ -331,6 +334,13 @@  void IPARkISP1::queueRequest(const uint32_t frame, const ControlList &controls)
 	IPAFrameContext &frameContext = context_.frameContexts.alloc(frame);
 	context_.debugMetadata.enableByControl(controls);
 
+	initializeFrameContext(frame, frameContext, controls);
+}
+
+void IPARkISP1::initializeFrameContext(const uint32_t frame,
+				       IPAFrameContext &frameContext,
+				       const ControlList &controls)
+{
 	for (auto const &a : algorithms()) {
 		Algorithm *algo = static_cast<Algorithm *>(a.get());
 		if (algo->disabled_)