Message ID | 20220518121104.951621-1-vladimir.zapolskiy@linaro.org |
---|---|
Headers | show |
Series | media: dt-bindings: media: sm8250-camss: Add power-domain-names property | expand |
On Fri, May 20, 2022 at 12:53:02AM +0300, Vladimir Zapolskiy wrote: > On 5/18/22 15:11, Vladimir Zapolskiy wrote: > > QCOM SM8250 camera subsystem depends on three power domains, at the moment > > all of them are not differentiated one from another, however the power > > domains compose a hierarchical structure with vfe0 and vfe1 as subdomains > > of titan_top, also managing vfe0 and vfe1 separately allows to get more > > fine-grained power control in runtime. > > > > The change relates to my review comment for v2 of CAMSS on SM8250 submission: > > > > https://lore.kernel.org/all/13ad033e-cd5d-3a8c-b036-50a3ac4245c0@linaro.org/ > > > > Apparently it becomes important to manage CAMSS power domains much better for > > newer platforms, this referes to platforms with Titan GDSC, for instance CAMSS > > on SM8450 has 6 power domains, and dealing with them in bulk is not an option. > > > > There was a note in commit 2f6f8af67203 ("media: camss: Refactor VFE power > > domain toggling") about problems with power VFE domains on/off, but perhaps > > it's related to the fact that Titan GDSC is a special power domain and VFE > > are subdomains, the latter shall not be enabled earlier than the Titan, but > > the driver did not construct a proper hierarchy and leaves a room for races. > > > > The change should have no implications on any SM8250 CAMSS users, since > > none of the supported in upstream boards enables the camss device tree node. > > The correspondent changes in the driver will follow this dt specific series. > > > > Most likely a similar change is required for SDM845 platform, but it would > > need additional investigation and testing. > > > > Vladimir Zapolskiy (2): > > media: dt-bindings: media: sm8250-camss: Add power-domain-names property > > arm64: dts: qcom: sm8250: camss: Add power-domain-names property > > > > .../devicetree/bindings/media/qcom,sm8250-camss.yaml | 7 +++++++ > > arch/arm64/boot/dts/qcom/sm8250.dtsi | 1 + > > 2 files changed, 8 insertions(+) > > > > These changes will be unneeded, if it is reliable to state that the order > of 'power-domains' array values is fixed. > > From Documentation/devicetree/bindings/media/qcom,sm8250-camss.yaml > > power-domains: > items: > - description: IFE0 GDSC - Image Front End, Global Distributed Switch Controller. > - description: IFE1 GDSC - Image Front End, Global Distributed Switch Controller. > - description: Titan GDSC - Titan ISP Block, Global Distributed Switch Controller. > > Apparently it's insufficient to ensure the fixed order of the power domains > by running a check against the schema, and likely it can not be improved, > but please correct me here, if I'm wrong. Right, the schemas can't check that the order is correct. > That's said, what is the preferred way here? Leave everything as is and rely > on the order of item descriptions, or add a new power-domain-names property? Well, you can't start requiring power-domain-names without breaking the ABI and it has to be required to allow any order. Even then, defined order is preferred unless there's too many variations and we're stuck with no defined order. Rob
Hi Vladimir, On 18/05/2022 14:11, Vladimir Zapolskiy wrote: > QCOM SM8250 camera subsystem depends on three power domains, at the moment > all of them are not differentiated one from another, however the power > domains compose a hierarchical structure with vfe0 and vfe1 as subdomains > of titan_top, also managing vfe0 and vfe1 separately allows to get more > fine-grained power control in runtime. > > The change relates to my review comment for v2 of CAMSS on SM8250 submission: > > https://lore.kernel.org/all/13ad033e-cd5d-3a8c-b036-50a3ac4245c0@linaro.org/ > > Apparently it becomes important to manage CAMSS power domains much better for > newer platforms, this referes to platforms with Titan GDSC, for instance CAMSS > on SM8450 has 6 power domains, and dealing with them in bulk is not an option. > > There was a note in commit 2f6f8af67203 ("media: camss: Refactor VFE power > domain toggling") about problems with power VFE domains on/off, but perhaps > it's related to the fact that Titan GDSC is a special power domain and VFE > are subdomains, the latter shall not be enabled earlier than the Titan, but > the driver did not construct a proper hierarchy and leaves a room for races. > > The change should have no implications on any SM8250 CAMSS users, since > none of the supported in upstream boards enables the camss device tree node. > The correspondent changes in the driver will follow this dt specific series. > > Most likely a similar change is required for SDM845 platform, but it would > need additional investigation and testing. > > Vladimir Zapolskiy (2): > media: dt-bindings: media: sm8250-camss: Add power-domain-names property > arm64: dts: qcom: sm8250: camss: Add power-domain-names property > > .../devicetree/bindings/media/qcom,sm8250-camss.yaml | 7 +++++++ > arch/arm64/boot/dts/qcom/sm8250.dtsi | 1 + > 2 files changed, 8 insertions(+) > I am marking this series as 'Obsoleted' in patchwork. If you believe this (or a variant of it) is still needed, then please repost. Regards, Hans