Message ID | 20230721-topic-rpm_clk_cleanup-v1-9-cf6cd5c621d5@linaro.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Clean up RPM bus clocks remnants | expand |
On 7/21/2023 9:36 AM, Konrad Dybcio wrote: > The AGGRE2 clock is a clock for the entire AGGRE2 bus, managed from > within the interconnect driver. Attaching it to SLPI was a total hack. > Get rid of it. Nit - why do we care what driver manages the clock? DT describes hardware... The entire SLPI block hangs off the AGGRE2 bus, so that bus needs to be on for the SLPI. I agree that AGGRE2 is really an interconnect device and SLPI should be a consumer of that, but we don't have 8998 interconnects defined yet. Seems like this hack is still needed. > > Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> > --- > arch/arm64/boot/dts/qcom/msm8998.dtsi | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi > index 360fe3edcc08..547c3f9654a6 100644 > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi > @@ -1599,9 +1599,8 @@ remoteproc_slpi: remoteproc@5800000 { > > px-supply = <&vreg_lvs2a_1p8>; > > - clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, > - <&rpmcc RPM_SMD_AGGR2_NOC_CLK>; > - clock-names = "xo", "aggre2"; > + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; > + clock-names = "xo"; > > memory-region = <&slpi_mem>; > >
On 21.07.2023 17:50, Jeffrey Hugo wrote: > On 7/21/2023 9:36 AM, Konrad Dybcio wrote: >> The AGGRE2 clock is a clock for the entire AGGRE2 bus, managed from >> within the interconnect driver. Attaching it to SLPI was a total hack. >> Get rid of it. > > Nit - why do we care what driver manages the clock? DT describes hardware... > > The entire SLPI block hangs off the AGGRE2 bus, so that bus needs to be on for the SLPI. I agree that AGGRE2 is really an interconnect device and SLPI should be a consumer of that, but we don't have 8998 interconnects defined yet. Seems like this hack is still needed. I'll try to get somebody to check on a device with working SLPI, but the DT-side explanation here is: this is not a clock. It's previously been misrepresented as such, but it lies within the "interconnect" class. Konrad > >> >> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> >> --- >> arch/arm64/boot/dts/qcom/msm8998.dtsi | 5 ++--- >> 1 file changed, 2 insertions(+), 3 deletions(-) >> >> diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi >> index 360fe3edcc08..547c3f9654a6 100644 >> --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi >> +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi >> @@ -1599,9 +1599,8 @@ remoteproc_slpi: remoteproc@5800000 { >> px-supply = <&vreg_lvs2a_1p8>; >> - clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, >> - <&rpmcc RPM_SMD_AGGR2_NOC_CLK>; >> - clock-names = "xo", "aggre2"; >> + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; >> + clock-names = "xo"; >> memory-region = <&slpi_mem>; >> >
On 21.07.2023 17:50, Jeffrey Hugo wrote: > On 7/21/2023 9:36 AM, Konrad Dybcio wrote: >> The AGGRE2 clock is a clock for the entire AGGRE2 bus, managed from >> within the interconnect driver. Attaching it to SLPI was a total hack. >> Get rid of it. > > Nit - why do we care what driver manages the clock? DT describes hardware... > > The entire SLPI block hangs off the AGGRE2 bus, so that bus needs to be on for the SLPI. I agree that AGGRE2 is really an interconnect device and SLPI should be a consumer of that, but we don't have 8998 interconnects defined yet. Seems like this hack is still needed. As we concluded in private, this has no effect as the clk-smd-rpm driver leaves that clock dangling at FMAX anyway Konrad
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi index 360fe3edcc08..547c3f9654a6 100644 --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi @@ -1599,9 +1599,8 @@ remoteproc_slpi: remoteproc@5800000 { px-supply = <&vreg_lvs2a_1p8>; - clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, - <&rpmcc RPM_SMD_AGGR2_NOC_CLK>; - clock-names = "xo", "aggre2"; + clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; + clock-names = "xo"; memory-region = <&slpi_mem>;
The AGGRE2 clock is a clock for the entire AGGRE2 bus, managed from within the interconnect driver. Attaching it to SLPI was a total hack. Get rid of it. Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> --- arch/arm64/boot/dts/qcom/msm8998.dtsi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)