The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
To: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
	Bryan O'Donoghue <bod@kernel.org>,
	Atanas Filipov <atanas.filipov@oss.qualcomm.com>,
	linux-media@vger.kernel.org
Cc: mchehab@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
	conor+dt@kernel.org, andersson@kernel.org,
	konradybcio@kernel.org, linux-arm-msm@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 2/4] arm64: dts: qcom: sm8550: Add JPEG encoder node
Date: Fri, 19 Jun 2026 17:57:44 +0300	[thread overview]
Message-ID: <45a4b138-0fbd-4c55-bccd-83858d95df5d@linaro.org> (raw)
In-Reply-To: <c0017e02-ff6d-42bc-b02b-d51eec65736a@oss.qualcomm.com>

On 6/19/26 17:38, Konrad Dybcio wrote:
> On 6/14/26 3:13 AM, Bryan O'Donoghue wrote:
>> On 13/06/2026 12:16, Atanas Filipov wrote:
>>> Thank you for the detailed explanation. Let me share my understanding of
>>> the shared upper-level blocks. They are exactly the reason we have
>>> frameworks like ICC with aggregate bandwidth voting, reference counting
>>> in the clock framework, and so on — the same applies to power domains. I
>>> do not think using shared resources is a problem when the drivers are
>>> correctly designed.
>>>
>>> We have actually validated this: we got CAMSS working alongside the
>>> Qualcomm downstream camera stack after fixing the shared resource
>>> management — something everyone considered nearly impossible at the time.
>>>
>>> On the CAMNOC and CPAS concern: if that coordination becomes necessary,
>>> the right fix is to address the resource management in both drivers
>>> independently, using the aggregate capabilities of the existing
>>> frameworks — not to introduce a
>>> hierarchical dependency between them. Moving JPEG under CAMSS does not
>>> solve the CAMNOC, clock and power domain coordination problems, it just
>>> papers over them.
>>>
>>> IMO the problem you are pointing at is more general than just CAMNOC — I
>>> would add priorities, QoS and other shared resources to the list as
>>> well. The answer to all of them is the same: correct use of the existing
>>> frameworks, not driver
>>> merging.
>>>
>>> On the idea of putting JPEG inside CAMSS with an external API:
>>
>> I haven't remotely suggested that.
>>
>>> no engine or pipeline that produces YUV output, which is what the JPEG
>>> encoder needs as input. If JPEG moves into CAMSS without an external
>>> API, it becomes
>>> inaccessible to userspace. If it does expose one, we end up with a
>>> standalone interface anyway, just with an extra layer of indirection on top.
>>
>> This is a very long winded way of saying no without acknowledging the core point that the DT should scribe the hardware the way it really is, as opposed to following software architecture preference.
>>
>> It is the case JPEG lives inside of CAMSS. This is a fact of the hardware, the DT should express those facts not software preferences.
> 
> That's also precisely what the "Tree" part is about - CAMSS is essentially
> a bus (as evidenced by the existence of a set of resources, like the
> AHB/CPAS clocks, the TITAN_TOP GDSC and the interconnect paths that gate
> access to everything on it), just like MDSS essentially is a bus. The JPEG

I also agree that CAMSS should be thought as a bus, and therefore a child IP
shall both a) be described as a subnode, b) get shared resources on parent's
side like PDs and clocks avoiding unnecessary repeated description in its
own node.

I believe this general notice should be applicable to all CAMSS IPs, and I
repeat it here, because there was a disagreement about it somewhere else.

> encoder, just like all the other blocks are then devices on that bus,
> logically belonging to the CAMSS node
> 

-- 
Best wishes,
Vladimir

  reply	other threads:[~2026-06-19 14:57 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-12 19:44 [PATCH v1 0/4] This series adds support for the Qualcomm JPEG V4L2 mem2mem encoder Atanas Filipov
2026-06-12 19:44 ` [PATCH v1 1/4] dt-bindings: media: qcom: Add JPEG encoder binding Atanas Filipov
2026-06-12 20:42   ` Frank Li
2026-06-12 23:17   ` Bryan O'Donoghue
2026-06-12 23:38   ` Bryan O'Donoghue
2026-06-13 18:42   ` Krzysztof Kozlowski
2026-07-13  7:43     ` Atanas Filipov
2026-06-23  6:41   ` Luca Weiss
2026-06-12 19:44 ` [PATCH v1 2/4] arm64: dts: qcom: sm8550: Add JPEG encoder node Atanas Filipov
2026-06-12 23:14   ` Bryan O'Donoghue
2026-06-13  9:24     ` Atanas Filipov
2026-06-13  9:52       ` Bryan O'Donoghue
2026-06-13 11:16         ` Atanas Filipov
2026-06-14  1:13           ` Bryan O'Donoghue
2026-06-19 14:38             ` Konrad Dybcio
2026-06-19 14:57               ` Vladimir Zapolskiy [this message]
2026-06-12 23:52   ` Bryan O'Donoghue
2026-06-13 16:05     ` Atanas Filipov
2026-06-14  0:53       ` Bryan O'Donoghue
2026-06-14 21:28   ` Dmitry Baryshkov
2026-06-12 19:44 ` [PATCH v1 3/4] arm64: dts: qcom: sm8250: " Atanas Filipov
2026-06-12 19:44 ` [PATCH v1 4/4] media: qcom: jpeg: Add Qualcomm JPEG V4L2 encoder Atanas Filipov
2026-06-12 20:53   ` Frank Li
2026-06-13 18:43   ` Krzysztof Kozlowski
2026-07-13  7:50     ` Atanas Filipov
2026-06-25 13:43 ` [PATCH v1 0/4] This series adds support for the Qualcomm JPEG V4L2 mem2mem encoder Atanas Filipov
2026-06-25 13:53   ` Krzysztof Kozlowski
2026-07-13  7:52     ` Atanas Filipov

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=45a4b138-0fbd-4c55-bccd-83858d95df5d@linaro.org \
    --to=vladimir.zapolskiy@linaro.org \
    --cc=andersson@kernel.org \
    --cc=atanas.filipov@oss.qualcomm.com \
    --cc=bod@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.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