2021-05-03 08:14:26

by Shawn Guo

[permalink] [raw]
Subject: [PATCH v2 0/2] Add MSM8939 APCS support

It's a series to add MSM8939 APCS support into qcom mailbox driver.

Changes for v2:
- Add MSM8939 APCS compatible.
- Reword commit log.
- Add Bjorn's Reviewed-by tag.

v1: https://lkml.org/lkml/2020/10/12/1770

Shawn Guo (2):
dt-bindings: mailbox: qcom: Add MSM8939 APCS compatible
mailbox: qcom: Add MSM8939 APCS support

.../devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml | 1 +
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

--
2.17.1


2021-05-03 08:14:32

by Shawn Guo

[permalink] [raw]
Subject: [PATCH v2 1/2] dt-bindings: mailbox: qcom: Add MSM8939 APCS compatible

Add compatible for the Qualcomm MSM8939 APCS block to the Qualcomm APCS
bindings.

Signed-off-by: Shawn Guo <[email protected]>
---
.../devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
index 5dc1173d03fd..96b29aa6c338 100644
--- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
+++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
@@ -19,6 +19,7 @@ properties:
- qcom,ipq6018-apcs-apps-global
- qcom,ipq8074-apcs-apps-global
- qcom,msm8916-apcs-kpss-global
+ - qcom,msm8939-apcs-kpss-global
- qcom,msm8994-apcs-kpss-global
- qcom,msm8996-apcs-hmss-global
- qcom,msm8998-apcs-hmss-global
--
2.17.1

2021-05-03 08:15:49

by Shawn Guo

[permalink] [raw]
Subject: [PATCH v2 2/2] mailbox: qcom: Add MSM8939 APCS support

MSM8939 has 3 APCS instances for Cluster0 (little cores), Cluster1 (big
cores) and CCI (Cache Coherent Interconnect). Although only APCS of
Cluster0 and Cluster1 have IPC bits, each of 3 APCS has A53PLL clock
control bits. That said, we need to register 3 'qcom-apcs-msm8916-clk'
devices to instantiate all 3 clocks. Let's use PLATFORM_DEVID_AUTO
rather than PLATFORM_DEVID_NONE for platform_device_register_data()
call. Otherwise, the second A53PLL 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

Signed-off-by: Shawn Guo <[email protected]>
Reviewed-by: Bjorn Andersson <[email protected]>
---
drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
index f25324d03842..1699ec38bc3b 100644
--- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
+++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
@@ -132,7 +132,7 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev)
if (apcs_data->clk_name) {
apcs->clk = platform_device_register_data(&pdev->dev,
apcs_data->clk_name,
- PLATFORM_DEVID_NONE,
+ PLATFORM_DEVID_AUTO,
NULL, 0);
if (IS_ERR(apcs->clk))
dev_err(&pdev->dev, "failed to register APCS clk\n");
@@ -158,6 +158,7 @@ static const struct of_device_id qcom_apcs_ipc_of_match[] = {
{ .compatible = "qcom,ipq6018-apcs-apps-global", .data = &ipq6018_apcs_data },
{ .compatible = "qcom,ipq8074-apcs-apps-global", .data = &ipq8074_apcs_data },
{ .compatible = "qcom,msm8916-apcs-kpss-global", .data = &msm8916_apcs_data },
+ { .compatible = "qcom,msm8939-apcs-kpss-global", .data = &msm8916_apcs_data },
{ .compatible = "qcom,msm8994-apcs-kpss-global", .data = &msm8994_apcs_data },
{ .compatible = "qcom,msm8996-apcs-hmss-global", .data = &msm8996_apcs_data },
{ .compatible = "qcom,msm8998-apcs-hmss-global", .data = &msm8998_apcs_data },
--
2.17.1

2021-05-06 19:03:29

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt-bindings: mailbox: qcom: Add MSM8939 APCS compatible

On Mon, 03 May 2021 16:13:33 +0800, Shawn Guo wrote:
> Add compatible for the Qualcomm MSM8939 APCS block to the Qualcomm APCS
> bindings.
>
> Signed-off-by: Shawn Guo <[email protected]>
> ---
> .../devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml | 1 +
> 1 file changed, 1 insertion(+)
>

Acked-by: Rob Herring <[email protected]>

2021-05-23 06:01:05

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] mailbox: qcom: Add MSM8939 APCS support

On Mon, May 03, 2021 at 04:13:34PM +0800, Shawn Guo wrote:
> MSM8939 has 3 APCS instances for Cluster0 (little cores), Cluster1 (big
> cores) and CCI (Cache Coherent Interconnect). Although only APCS of
> Cluster0 and Cluster1 have IPC bits, each of 3 APCS has A53PLL clock
> control bits. That said, we need to register 3 'qcom-apcs-msm8916-clk'
> devices to instantiate all 3 clocks. Let's use PLATFORM_DEVID_AUTO
> rather than PLATFORM_DEVID_NONE for platform_device_register_data()
> call. Otherwise, the second A53PLL 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
>
> Signed-off-by: Shawn Guo <[email protected]>
> Reviewed-by: Bjorn Andersson <[email protected]>

Hi Jassi,

Any comment on this patch?

Shawn

> ---
> drivers/mailbox/qcom-apcs-ipc-mailbox.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mailbox/qcom-apcs-ipc-mailbox.c b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
> index f25324d03842..1699ec38bc3b 100644
> --- a/drivers/mailbox/qcom-apcs-ipc-mailbox.c
> +++ b/drivers/mailbox/qcom-apcs-ipc-mailbox.c
> @@ -132,7 +132,7 @@ static int qcom_apcs_ipc_probe(struct platform_device *pdev)
> if (apcs_data->clk_name) {
> apcs->clk = platform_device_register_data(&pdev->dev,
> apcs_data->clk_name,
> - PLATFORM_DEVID_NONE,
> + PLATFORM_DEVID_AUTO,
> NULL, 0);
> if (IS_ERR(apcs->clk))
> dev_err(&pdev->dev, "failed to register APCS clk\n");
> @@ -158,6 +158,7 @@ static const struct of_device_id qcom_apcs_ipc_of_match[] = {
> { .compatible = "qcom,ipq6018-apcs-apps-global", .data = &ipq6018_apcs_data },
> { .compatible = "qcom,ipq8074-apcs-apps-global", .data = &ipq8074_apcs_data },
> { .compatible = "qcom,msm8916-apcs-kpss-global", .data = &msm8916_apcs_data },
> + { .compatible = "qcom,msm8939-apcs-kpss-global", .data = &msm8916_apcs_data },
> { .compatible = "qcom,msm8994-apcs-kpss-global", .data = &msm8994_apcs_data },
> { .compatible = "qcom,msm8996-apcs-hmss-global", .data = &msm8996_apcs_data },
> { .compatible = "qcom,msm8998-apcs-hmss-global", .data = &msm8998_apcs_data },
> --
> 2.17.1
>

2021-06-21 04:30:22

by Jassi Brar

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] mailbox: qcom: Add MSM8939 APCS support

On Sun, May 23, 2021 at 1:00 AM Shawn Guo <[email protected]> wrote:
>
> On Mon, May 03, 2021 at 04:13:34PM +0800, Shawn Guo wrote:
> > MSM8939 has 3 APCS instances for Cluster0 (little cores), Cluster1 (big
> > cores) and CCI (Cache Coherent Interconnect). Although only APCS of
> > Cluster0 and Cluster1 have IPC bits, each of 3 APCS has A53PLL clock
> > control bits. That said, we need to register 3 'qcom-apcs-msm8916-clk'
> > devices to instantiate all 3 clocks. Let's use PLATFORM_DEVID_AUTO
> > rather than PLATFORM_DEVID_NONE for platform_device_register_data()
> > call. Otherwise, the second A53PLL 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
> >
> > Signed-off-by: Shawn Guo <[email protected]>
> > Reviewed-by: Bjorn Andersson <[email protected]>
>
> Hi Jassi,
>
> Any comment on this patch?
>
1) I was not on the CC list, so I don't have this patch in my mbox.
2) Shouldn't this patch be broken into a fix and an enablement patch?

cheers.

2021-06-21 06:36:48

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] mailbox: qcom: Add MSM8939 APCS support

On Sun, Jun 20, 2021 at 11:27:49PM -0500, Jassi Brar wrote:
> On Sun, May 23, 2021 at 1:00 AM Shawn Guo <[email protected]> wrote:
> >
> > On Mon, May 03, 2021 at 04:13:34PM +0800, Shawn Guo wrote:
> > > MSM8939 has 3 APCS instances for Cluster0 (little cores), Cluster1 (big
> > > cores) and CCI (Cache Coherent Interconnect). Although only APCS of
> > > Cluster0 and Cluster1 have IPC bits, each of 3 APCS has A53PLL clock
> > > control bits. That said, we need to register 3 'qcom-apcs-msm8916-clk'
> > > devices to instantiate all 3 clocks. Let's use PLATFORM_DEVID_AUTO
> > > rather than PLATFORM_DEVID_NONE for platform_device_register_data()
> > > call. Otherwise, the second A53PLL 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
> > >
> > > Signed-off-by: Shawn Guo <[email protected]>
> > > Reviewed-by: Bjorn Andersson <[email protected]>
> >
> > Hi Jassi,
> >
> > Any comment on this patch?
> >
> 1) I was not on the CC list, so I don't have this patch in my mbox.

That's strange. The patch series was sent with your address
<[email protected]> on "To:" field. And that can be seen on
patch archive [1].

> 2) Shouldn't this patch be broken into a fix and an enablement patch?

MSM8939 is the only platform that I know has multiple clusters and uses
APCS driver. So the change becomes a fix only when MSM8939 is enabled.
But if you prefer to separate the change, I will do so.

Shawn

[1] https://lore.kernel.org/patchwork/patch/1420808/

2021-06-21 14:51:16

by Jassi Brar

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] mailbox: qcom: Add MSM8939 APCS support

On Mon, Jun 21, 2021 at 1:33 AM Shawn Guo <[email protected]> wrote:
>
> On Sun, Jun 20, 2021 at 11:27:49PM -0500, Jassi Brar wrote:
> > On Sun, May 23, 2021 at 1:00 AM Shawn Guo <[email protected]> wrote:
> > >
> > > On Mon, May 03, 2021 at 04:13:34PM +0800, Shawn Guo wrote:
> > > > MSM8939 has 3 APCS instances for Cluster0 (little cores), Cluster1 (big
> > > > cores) and CCI (Cache Coherent Interconnect). Although only APCS of
> > > > Cluster0 and Cluster1 have IPC bits, each of 3 APCS has A53PLL clock
> > > > control bits. That said, we need to register 3 'qcom-apcs-msm8916-clk'
> > > > devices to instantiate all 3 clocks. Let's use PLATFORM_DEVID_AUTO
> > > > rather than PLATFORM_DEVID_NONE for platform_device_register_data()
> > > > call. Otherwise, the second A53PLL 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
> > > >
> > > > Signed-off-by: Shawn Guo <[email protected]>
> > > > Reviewed-by: Bjorn Andersson <[email protected]>
> > >
> > > Hi Jassi,
> > >
> > > Any comment on this patch?
> > >
> > 1) I was not on the CC list, so I don't have this patch in my mbox.
>
> That's strange. The patch series was sent with your address
> <[email protected]> on "To:" field. And that can be seen on
> patch archive [1].
>
Sorry, yes you are right. But I still can't find it in my inbox (and
neither in spam).... perhaps I nuked it by mistake. anyways...

> > 2) Shouldn't this patch be broken into a fix and an enablement patch?
>
> MSM8939 is the only platform that I know has multiple clusters and uses
> APCS driver. So the change becomes a fix only when MSM8939 is enabled.
> But if you prefer to separate the change, I will do so.
>
Yes, please.

thanks.