mbox series

[0/3] interconnect: qcom: Add SM4450 interconnect driver

Message ID 20230908064427.26999-1-quic_tengfan@quicinc.com
Headers show
Series interconnect: qcom: Add SM4450 interconnect driver | expand

Message

Tengfei Fan Sept. 8, 2023, 6:44 a.m. UTC
Add SM4450 interconnect provider driver for support enable uart console.

Tengfei Fan (3):
  dt-bindings: interconnect: Add Qualcomm SM4450
  interconnect: qcom: Add SM4450 interconnect provider driver
  arm64: defconfig: enable interconnect for SM4450

 .../interconnect/qcom,sm4450-rpmh.yaml        |  133 ++
 arch/arm64/configs/defconfig                  |    1 +
 drivers/interconnect/qcom/Kconfig             |    9 +
 drivers/interconnect/qcom/Makefile            |    2 +
 drivers/interconnect/qcom/sm4450.c            | 1848 +++++++++++++++++
 drivers/interconnect/qcom/sm4450.h            |  152 ++
 .../dt-bindings/interconnect/qcom,sm4450.h    |  163 ++
 7 files changed, 2308 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.yaml
 create mode 100644 drivers/interconnect/qcom/sm4450.c
 create mode 100644 drivers/interconnect/qcom/sm4450.h
 create mode 100644 include/dt-bindings/interconnect/qcom,sm4450.h


base-commit: a47fc304d2b678db1a5d760a7d644dac9b067752

Comments

Konrad Dybcio Sept. 8, 2023, 8:16 a.m. UTC | #1
On 8.09.2023 08:44, Tengfei Fan wrote:
> Add driver for the Qualcomm interconnect buses found in SM4450 based
> platforms. The topology consists of several NoCs that are controlled
> by a remote processor that collects the aggregated bandwidth for each
> master-slave pairs.
> 
> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
> ---
[...]

> +++ b/drivers/interconnect/qcom/sm4450.c
> @@ -0,0 +1,1848 @@
> +// SPDX-License-Identifier: GPL-2.0-only
> +/*
> + * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
> + *
Stray blank line
> + */
> +
> +#include <linux/device.h>
> +#include <linux/interconnect.h>
> +#include <linux/interconnect-provider.h>
> +#include <linux/io.h>
Is this necessary?

> +#include <linux/module.h>
> +#include <linux/of_device.h>
> +#include <linux/of_platform.h>
> +#include <linux/platform_device.h>
> +#include <dt-bindings/interconnect/qcom,sm4450.h>
> +
[...]

> +static struct qcom_icc_node * const mmss_noc_nodes[] = {
> +	[MASTER_CAMNOC_HF] = &qnm_camnoc_hf,
> +	[MASTER_CAMNOC_ICP] = &qnm_camnoc_icp,
> +	[MASTER_CAMNOC_SF] = &qnm_camnoc_sf,
> +	[MASTER_MDP] = &qnm_mdp,
> +	[MASTER_CNOC_MNOC_CFG] = &qnm_mnoc_cfg,
> +	[MASTER_VIDEO_P0_MMNOC] = &qnm_video0,
> +	[MASTER_VIDEO_PROC_MMNOC] = &qnm_video_cpu,
> +	[SLAVE_MNOC_HF_MEM_NOC] = &qns_mem_noc_hf,
> +	[SLAVE_MNOC_SF_MEM_NOC] = &qns_mem_noc_sf,
> +	[SLAVE_SERVICE_MNOC] = &srvc_mnoc,
> +	[MASTER_MDP_DISP] = &qnm_mdp_disp,
> +	[SLAVE_MNOC_HF_MEM_NOC_DISP] = &qns_mem_noc_hf_disp,
Please drop the _DISP paths, upstream will handle these with icc
tags.

[...]

> +
> +static const struct of_device_id qnoc_of_match[] = {
> +	{ .compatible = "qcom,sm4450-aggre1-noc",
> +	  .data = &sm4450_aggre1_noc},
Nit, but please:

- make these one line, like this:
{ .compatible = "qcom,sm4450-aggre1-noc", .data = &sm4450_aggre1_noc },

- add the missing space before '}'

Konrad
Tengfei Fan Sept. 8, 2023, 8:25 a.m. UTC | #2
在 9/8/2023 3:42 PM, Rob Herring 写道:
> 
> On Fri, 08 Sep 2023 14:44:25 +0800, Tengfei Fan wrote:
>> The Qualcomm SM4450 SoC has several bus fabrics that could be controlled
>> and tuned dynamically according to the bandwidth demand.
>>
>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>> ---
>>   .../interconnect/qcom,sm4450-rpmh.yaml        | 133 ++++++++++++++
>>   .../dt-bindings/interconnect/qcom,sm4450.h    | 163 ++++++++++++++++++
>>   2 files changed, 296 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.yaml
>>   create mode 100644 include/dt-bindings/interconnect/qcom,sm4450.h
>>
> 
> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
> 
> yamllint warnings/errors:
> 
> dtschema/dtc warnings/errors:
> Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.example.dts:18:18: fatal error: dt-bindings/clock/qcom,gcc-sm4450.h: No such file or directory
>     18 |         #include <dt-bindings/clock/qcom,gcc-sm4450.h>
>        |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> compilation terminated.
> make[2]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.example.dtb] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1500: dt_binding_check] Error 2
> make: *** [Makefile:234: __sub-make] Error 2
> 
> doc reference errors (make refcheckdocs):
> 
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230908064427.26999-2-quic_tengfan@quicinc.com
> 
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
> 
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
> 
> pip3 install dtschema --upgrade
> 
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
> 
Thanks review this patch, will setup new env for verify again.
Tengfei Fan Sept. 11, 2023, 10:15 a.m. UTC | #3
在 9/8/2023 4:25 PM, Tengfei Fan 写道:
> 
> 
> 在 9/8/2023 3:42 PM, Rob Herring 写道:
>>
>> On Fri, 08 Sep 2023 14:44:25 +0800, Tengfei Fan wrote:
>>> The Qualcomm SM4450 SoC has several bus fabrics that could be controlled
>>> and tuned dynamically according to the bandwidth demand.
>>>
>>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>>> ---
>>>   .../interconnect/qcom,sm4450-rpmh.yaml        | 133 ++++++++++++++
>>>   .../dt-bindings/interconnect/qcom,sm4450.h    | 163 ++++++++++++++++++
>>>   2 files changed, 296 insertions(+)
>>>   create mode 100644 
>>> Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.yaml
>>>   create mode 100644 include/dt-bindings/interconnect/qcom,sm4450.h
>>>
>>
>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.example.dts:18:18: fatal error: dt-bindings/clock/qcom,gcc-sm4450.h: No such file or directory
>>     18 |         #include <dt-bindings/clock/qcom,gcc-sm4450.h>
>>        |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> compilation terminated.
>> make[2]: *** [scripts/Makefile.lib:419: 
>> Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.example.dtb] Error 1
>> make[2]: *** Waiting for unfinished jobs....
>> make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1500: 
>> dt_binding_check] Error 2
>> make: *** [Makefile:234: __sub-make] Error 2
>>
>> doc reference errors (make refcheckdocs):
>>
>> See 
>> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230908064427.26999-2-quic_tengfan@quicinc.com
>>
>> The base for the series is generally the latest rc1. A different 
>> dependency
>> should be noted in *this* patch.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above
>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>>
>> Please check and re-submit after running the above command yourself. Note
>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>> your schema. However, it must be unset to test all examples with your 
>> schema.
>>
> Thanks review this patch, will setup new env for verify again.
> 
this error is due to have dependence with: 
https://lore.kernel.org/linux-arm-msm/20230824173410.550126-1-quic_ajipan@quicinc.com/, 
will add this link to coverletter.
Krzysztof Kozlowski Sept. 11, 2023, 11:43 a.m. UTC | #4
On 11/09/2023 12:15, Tengfei Fan wrote:
>>>
>>> My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
>>> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>>>
>>> yamllint warnings/errors:
>>>
>>> dtschema/dtc warnings/errors:
>>> Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.example.dts:18:18: fatal error: dt-bindings/clock/qcom,gcc-sm4450.h: No such file or directory
>>>     18 |         #include <dt-bindings/clock/qcom,gcc-sm4450.h>
>>>        |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> compilation terminated.
>>> make[2]: *** [scripts/Makefile.lib:419: 
>>> Documentation/devicetree/bindings/interconnect/qcom,sm4450-rpmh.example.dtb] Error 1
>>> make[2]: *** Waiting for unfinished jobs....
>>> make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1500: 
>>> dt_binding_check] Error 2
>>> make: *** [Makefile:234: __sub-make] Error 2
>>>
>>> doc reference errors (make refcheckdocs):
>>>
>>> See 
>>> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230908064427.26999-2-quic_tengfan@quicinc.com
>>>
>>> The base for the series is generally the latest rc1. A different 
>>> dependency
>>> should be noted in *this* patch.
>>>
>>> If you already ran 'make dt_binding_check' and didn't see the above
>>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>>> date:
>>>
>>> pip3 install dtschema --upgrade
>>>
>>> Please check and re-submit after running the above command yourself. Note
>>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>>> your schema. However, it must be unset to test all examples with your 
>>> schema.
>>>
>> Thanks review this patch, will setup new env for verify again.
>>
> this error is due to have dependence with: 
> https://lore.kernel.org/linux-arm-msm/20230824173410.550126-1-quic_ajipan@quicinc.com/, 
> will add this link to coverletter.

The patch should have it for the bot to understand it.

Best regards,
Krzysztof
Krzysztof Kozlowski Sept. 11, 2023, 11:48 a.m. UTC | #5
On 08/09/2023 08:44, Tengfei Fan wrote:
> The Qualcomm SM4450 SoC has several bus fabrics that could be controlled
> and tuned dynamically according to the bandwidth demand.
> 
> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
> ---


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


---

This is an automated instruction, just in case, because many review tags
are being ignored. If you know the process, you can skip it (please do
not feel offended by me posting it here - no bad intentions intended).
If you do not know the process, here is a short explanation:

Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions, under or above your Signed-off-by tag. Tag is "received", when
provided in a message replied to you on the mailing list. Tools like b4
can help here. However, there's no need to repost patches *only* to add
the tags. The upstream maintainer will do that for tags received on the
version they apply.

https://elixir.bootlin.com/linux/v6.5-rc3/source/Documentation/process/submitting-patches.rst#L577

Best regards,
Krzysztof