Re: [PATCH 2/2] soc: qcom: rpmhpd: Make mx as a parent of cx only for sdm845

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

 



On Mon 15 Nov 23:26 CST 2021, Rajendra Nayak wrote:

> The requirement to specify the active + sleep and active-only MX power
> domains as the parents of the corresponding CX power domains is applicable
> only on the sdm845 SoC. With the same struct definition reused for all the
> SoCs this condition was wrongly applied to all those SoCs as well, which
> isn't needed. Define new sdm845 specific structures to manage this
> dependency and remove the parent assignements from the common structure.
> 

Looking at the downstream sm8150 dts I see that both cx and mmcx
specifies mx as parent "supply".

Is this not needed or should we instead name these resources
"cx_with_mx_parent" and have sm8150 opt in as well?

Regards,
Bjorn

> Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx>
> ---
>  drivers/soc/qcom/rpmhpd.c | 22 ++++++++++++++++++----
>  1 file changed, 18 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c
> index c71481d..12d8ce9 100644
> --- a/drivers/soc/qcom/rpmhpd.c
> +++ b/drivers/soc/qcom/rpmhpd.c
> @@ -108,7 +108,6 @@ static struct rpmhpd cx_ao;
>  static struct rpmhpd cx = {
>  	.pd = { .name = "cx", },
>  	.peer = &cx_ao,
> -	.parent = &mx.pd,
>  	.res_name = "cx.lvl",
>  };
>  
> @@ -116,7 +115,6 @@ static struct rpmhpd cx_ao = {
>  	.pd = { .name = "cx_ao", },
>  	.active_only = true,
>  	.peer = &cx,
> -	.parent = &mx_ao.pd,
>  	.res_name = "cx.lvl",
>  };
>  
> @@ -149,12 +147,28 @@ static struct rpmhpd mxc_ao = {
>  };
>  
>  /* SDM845 RPMH powerdomains */
> +static struct rpmhpd sdm845_cx_ao;
> +static struct rpmhpd sdm845_cx = {
> +	.pd = { .name = "cx", },
> +	.peer = &sdm845_cx_ao,
> +	.parent = &mx.pd,
> +	.res_name = "cx.lvl",
> +};
> +
> +static struct rpmhpd sdm845_cx_ao = {
> +	.pd = { .name = "cx_ao", },
> +	.active_only = true,
> +	.peer = &sdm845_cx,
> +	.parent = &mx_ao.pd,
> +	.res_name = "cx.lvl",
> +};
> +
>  static struct rpmhpd *sdm845_rpmhpds[] = {
>  	[SDM845_EBI] = &ebi,
>  	[SDM845_MX] = &mx,
>  	[SDM845_MX_AO] = &mx_ao,
> -	[SDM845_CX] = &cx,
> -	[SDM845_CX_AO] = &cx_ao,
> +	[SDM845_CX] = &sdm845_cx,
> +	[SDM845_CX_AO] = &sdm845_cx_ao,
>  	[SDM845_LMX] = &lmx,
>  	[SDM845_LCX] = &lcx,
>  	[SDM845_GFX] = &gfx,
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
> 



[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