Re: [PATCH v3 0/5] media: qcom: camss: Introduce support for named power-domains

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1.11.2023 12.54, Bryan O'Donoghue wrote:
> V3:
> - Includes bugfix reported on IRC
>   genpd_link and genpd should be checked for NULL on the cleanup path.
>   Matti Lehtimäki 
> - Retains NULL check before dev_pm_domain_attach_by_name()
>   I experimented with the suggested drop but of_property_match_string()
>   chokes
>   Link: https://lore.kernel.org/lkml/883ce8a7-80e1-4065-a957-424d0b4a6535@xxxxxxxxxx/T/#m10e5a43d0245f13eca177ef2f65b24259c641030
>   Konrad
> - Fixes spelling caught by codespell - Konrad
> 
> Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/b4-camss-named-power-domains-v3
> sm8250-testable: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/b4/b4-camss-named-power-domains-v3+sm8250
> 
> V2:
> - Incorporates Konrad's suggestion re: removing 'id'
> - Adds RB - Konrad
> - Adds in a flag to indicate if a VFE has a power domain.
>   As I rebased this series I realised we had some magic indexing for VFE v
>   VFE Lite, which isn't the root cause of my bug bear in this series but is
>   the same sin - inferring functionality from indexing.
>   Once we transition fully to named pds we won't need a 'has_pd' to flag
>   which VFEs need power-domain attachment and which don't.
>   That transition will require populating all upstream dtsi with pd-names
>   and then deprecating the old way.
>   has_pd is a far better choice than inferring from indexes so, I've added.
> 
> Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/commits/aa45a2b58aa1e187a2698a65164d694251f08fa1
> 
> V1:
> At the moment the Qcom CAMSS driver relies on the declaration order of
> power-domains within the dtsi to determine which power-domain relates to a
> VFE and which power-domain relates to the top-level (top) CAMSS
> power-domain.
> 
> VFE power-domains must be declared prior to the top power-domain. The top
> power-domain must be declared last. Early SoCs have just one top
> power-domain with later SoCs introducing VFE specific power-domains.
> 
> Differentiating between the number of power-domains results in lots of code
> which is brittle and which we can mostly get rid of with named
> power-domains.
> 
> The reliance on declaration ordering is in-effect magic number indexing.
> 
> This series introduces named power-domains for CAMSS and refactors some of
> the code in CAMSS to support the new named power-domains. We continue to
> support the legacy indexing model with an intention to remove after a
> reasonable transition period.
> 
> New SoC additions should use named power-domains from now on.
> 
> Tested on x13s, rb5, db410c
> 
> Link: https://git.codelinaro.org/bryan.odonoghue/kernel/-/tree/linux-next-23-10-23-camss-named-power-domains
> 
> Bryan O'Donoghue (5):
>   media: qcom: camss: Flag which VFEs require a power-domain
>   media: qcom: camss: Convert to per-VFE pointer for power-domain
>     linkages
>   media: qcom: camss: Use common VFE pm_domain_on/pm_domain_off where
>     applicable
>   media: qcom: camss: Move VFE power-domain specifics into vfe.c
>   media: qcom: camss: Add support for named power-domains
> 
>  .../media/platform/qcom/camss/camss-vfe-170.c | 36 --------
>  .../media/platform/qcom/camss/camss-vfe-4-1.c |  8 +-
>  .../media/platform/qcom/camss/camss-vfe-4-7.c | 36 --------
>  .../media/platform/qcom/camss/camss-vfe-4-8.c | 31 -------
>  .../media/platform/qcom/camss/camss-vfe-480.c | 36 --------
>  drivers/media/platform/qcom/camss/camss-vfe.c | 77 ++++++++++++++++
>  drivers/media/platform/qcom/camss/camss-vfe.h | 16 ++++
>  drivers/media/platform/qcom/camss/camss.c     | 87 ++++++++++++-------
>  drivers/media/platform/qcom/camss/camss.h     |  7 +-
>  9 files changed, 156 insertions(+), 178 deletions(-)
> 
> --
> 2.42.0
> 
> ---
> Bryan O'Donoghue (5):
>       media: qcom: camss: Flag which VFEs require a power-domain
>       media: qcom: camss: Convert to per-VFE pointer for power-domain linkages
>       media: qcom: camss: Use common VFE pm_domain_on/pm_domain_off where applicable
>       media: qcom: camss: Move VFE power-domain specifics into vfe.c
>       media: qcom: camss: Add support for named power-domains
> 
>  drivers/media/platform/qcom/camss/camss-vfe-170.c | 36 ----------
>  drivers/media/platform/qcom/camss/camss-vfe-4-1.c |  8 +--
>  drivers/media/platform/qcom/camss/camss-vfe-4-7.c | 36 ----------
>  drivers/media/platform/qcom/camss/camss-vfe-4-8.c | 31 --------
>  drivers/media/platform/qcom/camss/camss-vfe-480.c | 36 ----------
>  drivers/media/platform/qcom/camss/camss-vfe.c     | 79 ++++++++++++++++++++
>  drivers/media/platform/qcom/camss/camss-vfe.h     | 16 +++++
>  drivers/media/platform/qcom/camss/camss.c         | 87 ++++++++++++++---------
>  drivers/media/platform/qcom/camss/camss.h         |  7 +-
>  9 files changed, 158 insertions(+), 178 deletions(-)
> ---
> base-commit: 48016737a9af47328dd321df4dd3479ed5e2041d
> change-id: 20231031-b4-camss-named-power-domains-cc2ac2722543
> 
> Best regards,

Tested the series using work in progress SC7280 CAMSS.
Power domain handling works correctly.

For the series:

Tested-by: Matti Lehtimäki <matti.lehtimaki@xxxxxxxxx>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux