Re: [PATCH 02/10] dt-bindings: power: Add rpm power domains for SDX75

From: Konrad Dybcio
Date: Wed Jul 05 2023 - 06:43:20 EST


On 5.07.2023 10:54, Rohit Agarwal wrote:
>
> On 7/4/2023 11:47 AM, Rohit Agarwal wrote:
>>
>> On 7/3/2023 8:29 PM, Konrad Dybcio wrote:
>>> On 3.07.2023 16:42, Rohit Agarwal wrote:
>>>> Add RPM power domain bindings for the SDX75 SoC.
>>>>
>>>> Signed-off-by: Rohit Agarwal <quic_rohiagar@xxxxxxxxxxx>
>>>> ---
>>>>   Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 1 +
>>>>   include/dt-bindings/power/qcom-rpmpd.h                  | 8 ++++++++
>>>>   2 files changed, 9 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
>>>> index afad313..58e1be8 100644
>>>> --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
>>>> +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml
>>>> @@ -40,6 +40,7 @@ properties:
>>>>         - qcom,sdm845-rpmhpd
>>>>         - qcom,sdx55-rpmhpd
>>>>         - qcom,sdx65-rpmhpd
>>>> +      - qcom,sdx75-rpmhpd
>>>>         - qcom,sm6115-rpmpd
>>>>         - qcom,sm6125-rpmpd
>>>>         - qcom,sm6350-rpmhpd
>>>> diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
>>>> index 1bf8e87..8092d0d 100644
>>>> --- a/include/dt-bindings/power/qcom-rpmpd.h
>>>> +++ b/include/dt-bindings/power/qcom-rpmpd.h
>>>> @@ -57,6 +57,14 @@
>>>>   #define SDX65_CX_AO    4
>>>>   #define SDX65_MXC    5
>>>>   +/* SDX75 Power Domain Indexes */
>>>> +#define SDX75_CX    0
>>>> +#define SDX75_CX_AO    1
>>>> +#define SDX75_MSS    2
>>>> +#define SDX75_MX    3
>>>> +#define SDX75_MX_AO    4
>>>> +#define SDX75_MXC    5
>>> Please instead introduce a set of defines without the SoC prefix
>>> (i.e. CX, CX_AO, MX etc.). We've been putting this off for too long
>>> and you're the first unlucky guy that submitted new RPMhPD support after
>>> we've concluded it'd be the way to go! :D Sadly, we can't replace the
>>> existing ones retroactively..
>> Surely No issues. Will update it.
>
> I have a doubt here. Cant we completely omit the #defines here and directly index this as 0,1,...
> because if the intention of this #defines is to understand the name of the pd then we can get
> it from the .name attribute in rpmhpd as well, right?
>
> The problems with a common set of #define would be, lets say if we define CX_AO as 1 and some platform
> doesn't have CX_AO then wouldnt it leave a null entry in the driver entry of that platform?
Yes.

We already do this in the rpmh clock driver, as:

1. there are domains that all chips share (like CX etc.)
2. wasting a couple of bytes lets us massively save on convolution

Konrad
>
> Thanks,
> Rohit.
>
>>
>> Thanks,
>> Rohit.
>>> Konrad
>>>> +
>>>>   /* SM6350 Power Domain Indexes */
>>>>   #define SM6350_CX    0
>>>>   #define SM6350_GFX    1