Messages in this thread | | | Date | Fri, 27 Oct 2023 10:10:23 +0100 | Subject | Re: [PATCH v2 2/5] media: qcom: camss: Convert to per-VFE pointer for power-domain linkages | From | Bryan O'Donoghue <> |
| |
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
| |