[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9c920cdf-1985-4656-bee2-8bfacc15bfa9@oss.qualcomm.com>
Date: Wed, 22 Oct 2025 17:36:48 +0200
From: Konrad Dybcio <konrad.dybcio@....qualcomm.com>
To: Vikash Garodia <vikash.garodia@....qualcomm.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Dikshita Agarwal <dikshita.agarwal@....qualcomm.com>,
Abhinav Kumar <abhinav.kumar@...ux.dev>,
Bryan O'Donoghue <bod@...nel.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley
<conor+dt@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: linux-arm-msm@...r.kernel.org, linux-media@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Vishnu Reddy <quic_bvisredd@...cinc.com>
Subject: Re: [PATCH v2 1/8] media: dt-bindings: qcom-kaanapali-iris: Add
kaanapali video codec binding
On 10/21/25 8:55 PM, Vikash Garodia wrote:
>
> On 10/18/2025 9:28 PM, Krzysztof Kozlowski wrote:
>> On 17/10/2025 16:16, Vikash Garodia wrote:
>>> + clock-names:
>>> + items:
>>> + - const: iface
>>> + - const: core
>>> + - const: vcodec0_core
>>> + - const: iface1
>>> + - const: core_freerun
>>> + - const: vcodec0_core_freerun
>>> + - const: vcodec_bse
>>> + - const: vcodec_vpp0
>>> + - const: vcodec_vpp1
>>> + - const: vcodec_apv
>>> +
>>> + dma-coherent: true
>>> +
>>> + firmware-name:
>>> + maxItems: 1
>>> +
>>> + interconnects:
>>> + maxItems: 2
>>> +
>>> + interconnect-names:
>>> + items:
>>> + - const: cpu-cfg
>>> + - const: video-mem
>>> +
>>> + interrupts:
>>> + maxItems: 1
>>> +
>>> + iommus:
>>> + minItems: 3
>>> + maxItems: 8
>>
>> I don't understand why this is flexible. Make it fixed size and anyway -
>> list the items.
>
> kaanapali vpu generates 8 different stream-ids. Now, boards running kernel in
> EL2 mode can list all of them, while boards running in EL1 can have only non
> secure stream IDs. Min have the list of stream ids which can be enabled for all
> type of boards, while max is for boards which can list all in HLOS given kernel
> is in EL2 mode.
>
> Below crash would be seen if boards running kernel in EL1 mode lists the secure
> ones.
>
> [ 1.361157] pc : qcom_smmu_write_s2cr+0x64/0xa4
> [ 1.361165] lr : arm_smmu_write_s2cr+0x2c/0xbc
> [ 1.361168] sp : ffff80008005b8f0
> [ 1.361169] x29: ffff80008005b8f0 x28: 0000000000000000 x27: ffffc7f252f45320
> ....
> [ 1.361195] x2 : ffff800081200c48 x1 : 0000000000000048 x0 : ffff800081200000
> [ 1.361198] Call trace:
> [ 1.361199] qcom_smmu_write_s2cr+0x64/0xa4 (P)
> [ 1.361203] arm_smmu_master_install_s2crs+0x7c/0xac
> [ 1.361207] arm_smmu_attach_dev+0xb0/0x1d4
>
> Could you please suggest on listing the iommu items ? I did not find the
> relevant references in other bindings where flexible iommus is being listed.
Krzysztof would probably like to see what I believe someone else somewhere
sometime suggested in the iommus discussions (sorry it's not possible to
keep track of it all), where the DT can list every possible required iommu
sid, but the driver ensures only the ones that are necessary are utilized.
This will require big changes to the iommu framework though, I'm afraid
>> I already asked this.
>>
>>> +
>>> + memory-region:
>>> + minItems: 1
>>> + maxItems: 2
>>
>> Same comment. I already asked this about iommus.
>
> Same here, there aren't any bindings which lists for flexible memory-region.
> Please suggest if there are any such references.
Similarly, we can define the additional memory region that's necessary
for $reasons and leave it unused in the driver (actually I don't know
why there may be two, but let's assume it's a QTEE/noQTEE detail), because
for the hw to operate, it must be set up by some entity in the system
either way (i.e. the memory is reserved even if it's not done by Linux)
Konrad
Powered by blists - more mailing lists