[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <X9klmVX576ePRiAr@builder.lan>
Date: Tue, 15 Dec 2020 15:07:37 -0600
From: Bjorn Andersson <bjorn.andersson@...aro.org>
To: Shawn Guo <shawn.guo@...aro.org>
Cc: Jassi Brar <jassisinghbrar@...il.com>,
Andy Gross <agross@...nel.org>,
Konrad Dybcio <konradybcio@...il.com>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mailbox: qcom-apcs-ipc: use PLATFORM_DEVID_AUTO to
register device
On Fri 11 Dec 08:12 CST 2020, Shawn Guo wrote:
> On Fri, Dec 11, 2020 at 12:16 PM Bjorn Andersson
> <bjorn.andersson@...aro.org> wrote:
> >
> > On Mon 12 Oct 21:12 CDT 2020, Shawn Guo wrote:
> >
> > > On MSM8916, only one qcom-apcs-msm8916-clk device is needed, as there is
> > > only one APCS clock. However, on MSM8939 three APCS clocks need to be
> > > registered for cluster0 (little cores), cluster1 (big cores) and CCI
> > > (Cache Coherent Interconnect). That said, we will need to register 3
> > > qcom-apcs-msm8916-clk devices. Let's use PLATFORM_DEVID_AUTO rather
> > > than PLATFORM_DEVID_NONE for platform_device_register_data() call.
> > > Otherwise, the second APCS clock registration will fail due to duplicate
> > > device name.
> > >
> > > [ 0.519657] sysfs: cannot create duplicate filename '/bus/platform/devices/qcom-apcs-msm8916-clk'
> > > ...
> > > [ 0.661158] qcom_apcs_ipc b111000.mailbox: failed to register APCS clk
> > >
> >
> > Spotted this as I was looking for another patch, hence the late reply.
> > But it seems this was never reviewed or merged.
> >
> > What does the bigger picture look like? Do we have 3 APCS global, or
> > it's a single memory region that provides the 3 clocks? How does the
> > qcom-apcs-msm8916-clk with it's hard coded offset of 0x50 deal with
> > this? (Is this a single qcom-apcs-msm8939-clk that registers 3 clocks
> > instead? Making this patch unnecessary?)
>
> We have 3 APCS global instances. I haven't got time to send out other
> related patches, but the DT for these 3 APCS global looks like below.
>
> apcs2: mailbox@...1000 {
> compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
> reg = <0xb1d1000 0x1000>;
> #mbox-cells = <1>;
The thing at 0xb1d1000 does not have the IPC bits, so this shouldn't
have the #mbox-cells.
Other than that, this seems to be correct. Please do add the msm8939
compatible as you send this out.
Regards,
Bjorn
> clocks = <&a53pll_cci>, <&gcc GPLL0_VOTE>;
> clock-names = "pll", "aux";
> #clock-cells = <0>;
> clock-output-names = "a53mux_cci";
> };
>
> apcs1: mailbox@...1000 {
> compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
> reg = <0xb011000 0x1000>;
> #mbox-cells = <1>;
> clocks = <&a53pll_c1>, <&gcc GPLL0_VOTE>;
> clock-names = "pll", "aux";
> #clock-cells = <0>;
> clock-output-names = "a53mux_c1";
> };
>
> apcs0: mailbox@...1000 {
> compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
> reg = <0xb111000 0x1000>;
> #mbox-cells = <1>;
> clocks = <&a53pll_c0>, <&gcc GPLL0_VOTE>;
> clock-names = "pll", "aux";
> #clock-cells = <0>;
> clock-output-names = "a53mux_c0";
> };
>
> Shawn
Powered by blists - more mailing lists