On 26/10/2023 21:08, Konrad Dybcio wrote:
+ if (vfe->id >= camss->res->vfe_num)
return 0;
P.S. this seems better suited for some warning, I think
Noo this indicates VFE lite !
power-domains = <VFE_0>,
<VFE_1>,
<TITAN_TOP>; // the controller pd
vfe-set = <VFE_0>, // has its own PD vfe->id = 0
<VFE_1>, // has its own PD vfe->id = 1
<VFE_LITE_N>; // has no PD vfe->id = 2
The basic problem this series fixes is magic indexing.
In the first instance, using named power-domains so that the ordering of
declaration doesn't matter and we don't have funky code inferring if a
power-domain belongs to the TOP or not.
Secondly though, which is what the first patch in the series does - is
as I rebased I realised the VFE/VFE Lite thing was still there.
what vfe->id >= camss->res->vfe_num does is checks to see if the vfe->id
<= a VFE not a VFE Lite id.
in other words we have yet another magic indexing problem requiring
VFE_LITE_N to always be declared after VFE.
The solution here is
1. Make the driver support not caring about indexes any more
This series.
2. Name the power-domains in the various dtsis
Populating the struct resources in CAMSS to match
Next series
3. Gate new SoCs to _require_ named pds
Deprecate the legacy indexing support of 'n' kernel releases
4. Profit
So yeah the check above is I'm sorry to say not an error at all it
implies VFE Lite...
---
bod