From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Loic Poulain <loic.poulain@oss.qualcomm.com>
Cc: Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Kees Cook <kees@kernel.org>,
"Gustavo A. R. Silva" <gustavoars@kernel.org>,
Bryan O'Donoghue <bod@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org,
devicetree@vger.kernel.org, laurent.pinchart@ideasonboard.com,
kieran.bingham@ideasonboard.com
Subject: Re: [PATCH v2 10/14] dt-bindings: media: qcom: Add CAMSS Offline Processing Engine (OPE)
Date: Fri, 15 May 2026 14:57:29 +0200 [thread overview]
Message-ID: <bd4e93dd-5293-4cbc-bfbe-314b3f348d31@oss.qualcomm.com> (raw)
In-Reply-To: <CAFEp6-1uDO7UzYm+5ejRH0fCtnFZSA3z_Xa+4ibDEbXBh38ueA@mail.gmail.com>
On 5/5/26 3:16 PM, Loic Poulain wrote:
> On Tue, Apr 28, 2026 at 12:16 PM Konrad Dybcio
> <konrad.dybcio@oss.qualcomm.com> wrote:
>>
>> On 4/27/26 10:33 PM, Loic Poulain wrote:
>>> On Mon, Apr 27, 2026 at 4:22 PM Konrad Dybcio
>>> <konrad.dybcio@oss.qualcomm.com> wrote:
>>>>
>>>> On 4/27/26 2:43 PM, Loic Poulain wrote:
>>>>> Add Devicetree binding documentation for the Qualcomm Camera Subsystem
>>>>> Offline Processing Engine (OPE) found on platforms such as Agatti.
>>>>> The OPE is a memory-to-memory image processing block which operates
>>>>> on frames read from and written back to system memory.
>>>>>
>>>>> Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
>>>>> ---
>>>>
>>>> [...]
>>>>
>>>>> + clocks = <&gcc GCC_CAMSS_OPE_CLK>,
>>>>> + <&gcc GCC_CAMSS_OPE_AHB_CLK>,
>>>>> + <&gcc GCC_CAMSS_NRT_AXI_CLK>;
>>>>
>>>> Should the two AXI clocks be aggregated by camss-top instead?
>>>>
>>>> Otherwise we run the risk of the OPE driver setting a rate of A
>>>> and another sub-device setting a rate of B
>>>
>>> On qcm2290, OPE appears to be the only consumer of the NRT AXI clock,
>>> while the capture path (VFE/TFE) relies on the RT AXI clock. That
>>> said, this may not always be the case and these clocks (AXI / NRT‑AXI
>>> / RT‑AXI) seem like they could reasonably be managed at the
>>> camss-bus/top level.
>>>
>>> The open question is how the NRT AXI clock should be enabled when
>>> required? enabling them unconditionally (similar to other camss PM
>>> clocks), introducing a dedicated CAMSS top‑level interface for voting,
>>> or leveraging an existing framework to handle this?
>>
>> So, interconnect, or some internal, smaller version of it?
>
> Downstream, there is a CPAS driver that handles these clocks in
> conjunction with the internal CAMNOC block. Dmitry also mentioned the
> existing icc_clock mechanism, but we likely need to investigate this
> further to support proper dynamic scaling of the required clocks.
> However, I don’t plan to address this as part of the current series,
> as it would significantly increase its scope.
>
> I believe the current approach is acceptable for now because:
> - This NRT clock is required by this specific sub-block, but not by
> all CAMSS sub-blocks (unlike, for example, camss-ahb), so referencing
> it makes sense here.
> - At the moment, the OPE only enables this clock without setting its
> rate (i.e., it uses the default), so this should not conflict with
> introducing a more complete scaling framework later.
>
> Does this sound good?
Depends how you're going to want to tackle this debt in the future.
If you go through the icc framework, you'll end up needing to alter
the DT
If you bake in something internal to the camss family, say
camss_foo_bar_request_bandwidth(u32 val), you may get it done
without that. But I don't know what practical challenges that will
entail
Konrad
next prev parent reply other threads:[~2026-05-15 12:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-27 12:43 [PATCH v2 00/14] media: qcom: camss: CAMSS Offline Processing Engine support Loic Poulain
2026-04-27 12:43 ` [PATCH v2 01/14] media: qcom: camss: Add support to populate sub-devices Loic Poulain
2026-04-28 6:43 ` Krzysztof Kozlowski
2026-04-28 11:41 ` Loic Poulain
2026-04-27 12:43 ` [PATCH v2 02/14] media: qcom: camss: Add PM clock support and integrate with runtime PM Loic Poulain
2026-04-27 14:04 ` Konrad Dybcio
2026-05-06 12:50 ` Loic Poulain
2026-04-27 12:43 ` [PATCH v2 03/14] media: qcom: camss: Add PM clock definitions for QCM2290 Loic Poulain
2026-04-27 12:43 ` [PATCH v2 04/14] media: qcom: camss: Drop top_ahb/axi from QCM2290 subdevice clocks Loic Poulain
2026-04-27 12:43 ` [PATCH v2 05/14] media: qcom: camss: Add camss-isp-bufq helper Loic Poulain
2026-04-28 6:46 ` Krzysztof Kozlowski
2026-04-28 6:56 ` Bryan O'Donoghue
2026-04-28 11:29 ` Loic Poulain
2026-04-27 12:43 ` [PATCH v2 06/14] media: qcom: camss: Add camss-isp-sched helper Loic Poulain
2026-04-27 12:43 ` [PATCH v2 07/14] media: qcom: camss: Add camss-isp-pipeline helper Loic Poulain
2026-04-27 12:43 ` [PATCH v2 08/14] media: qcom-camss: Add image formats for Qualcomm CAMSS parameters buffer Loic Poulain
2026-04-27 12:43 ` [PATCH v2 09/14] media: qcom: camss: Add camss-isp-params helper Loic Poulain
2026-04-27 12:43 ` [PATCH v2 10/14] dt-bindings: media: qcom: Add CAMSS Offline Processing Engine (OPE) Loic Poulain
2026-04-27 14:22 ` Konrad Dybcio
2026-04-27 20:33 ` Loic Poulain
2026-04-28 10:15 ` Konrad Dybcio
2026-05-05 13:16 ` Loic Poulain
2026-05-15 12:57 ` Konrad Dybcio [this message]
2026-04-28 6:31 ` Krzysztof Kozlowski
2026-04-27 12:43 ` [PATCH v2 11/14] dt-bindings: media: qcom,qcm2290-camss: Add OPE ISP subnode Loic Poulain
2026-04-28 6:35 ` Krzysztof Kozlowski
2026-04-28 9:50 ` Konrad Dybcio
2026-04-28 9:54 ` Krzysztof Kozlowski
2026-04-27 12:43 ` [PATCH v2 12/14] media: uapi: Add CAMSS ISP configuration definition Loic Poulain
2026-04-27 12:56 ` Konrad Dybcio
2026-04-27 20:08 ` Loic Poulain
2026-04-27 20:25 ` Laurent Pinchart
2026-04-27 21:01 ` Loic Poulain
2026-04-27 21:57 ` Bryan O'Donoghue
2026-04-27 12:43 ` [PATCH v2 13/14] media: qcom: camss: Add CAMSS Offline Processing Engine driver Loic Poulain
2026-04-27 12:43 ` [PATCH v2 14/14] arm64: dts: qcom: agatti: Add OPE node Loic Poulain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bd4e93dd-5293-4cbc-bfbe-314b3f348d31@oss.qualcomm.com \
--to=konrad.dybcio@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=bod@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gustavoars@kernel.org \
--cc=kees@kernel.org \
--cc=kieran.bingham@ideasonboard.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=vladimir.zapolskiy@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox