devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-14 10:20 ` [PATCH 2/2] arm64: dts: imx93: add DDR controller node Xu Yang
@ 2023-09-14 10:19   ` Krzysztof Kozlowski
  2023-09-15  2:39     ` [EXT] " Xu Yang
  2023-09-14 14:20   ` [EXT] " Frank Li
  1 sibling, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-09-14 10:19 UTC (permalink / raw)
  To: Xu Yang, will, mark.rutland, robh+dt, shawnguo
  Cc: krzysztof.kozlowski+dt, conor+dt, linux-imx, devicetree,
	linux-arm-kernel, ye.li

On 14/09/2023 12:20, Xu Yang wrote:
> Add DDR controller node which will be used by EDAC driver later, also
> move the DDR PMU node as the subnode of the DDR controller.
> 
> Signed-off-by: Ye Li <ye.li@nxp.com>
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> index 6f85a05ee7e1..992bdeef70cd 100644
> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> @@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
>  			status = "disabled";
>  		};
>  
> -		ddr-pmu@4e300dc0 {
> -			compatible = "fsl,imx93-ddr-pmu";
> -			reg = <0x4e300dc0 0x200>;
> -			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> +		ddr: memory-controller@4e300000 {
> +			compatible = "simple-mfd";

No, that's not allowed alone.

It does not look like you tested the DTS against bindings. Please run
`make dtbs_check W=1` (see
Documentation/devicetree/bindings/writing-schema.rst or
https://www.linaro.org/blog/tips-and-tricks-for-validating-devicetree-sources-with-the-devicetree-schema/
for instructions).

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict
@ 2023-09-14 10:20 Xu Yang
  2023-09-14 10:20 ` [PATCH 2/2] arm64: dts: imx93: add DDR controller node Xu Yang
  2023-09-14 10:21 ` [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Krzysztof Kozlowski
  0 siblings, 2 replies; 10+ messages in thread
From: Xu Yang @ 2023-09-14 10:20 UTC (permalink / raw)
  To: will, mark.rutland, robh+dt, shawnguo
  Cc: krzysztof.kozlowski+dt, conor+dt, linux-imx, devicetree,
	linux-arm-kernel, ye.li

Usually, the ddr pmu node will be a subnode of DDR controller, then using
devm_platform_ioremap_resource will report conflict with DDR controller
resource. So update the driver to use devm_ioremap to avoid such
resource check.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
 drivers/perf/fsl_imx9_ddr_perf.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/perf/fsl_imx9_ddr_perf.c b/drivers/perf/fsl_imx9_ddr_perf.c
index 5cf770a1bc31..885024665968 100644
--- a/drivers/perf/fsl_imx9_ddr_perf.c
+++ b/drivers/perf/fsl_imx9_ddr_perf.c
@@ -602,8 +602,15 @@ static int ddr_perf_probe(struct platform_device *pdev)
 	void __iomem *base;
 	int ret, irq;
 	char *name;
+	struct resource *r;
 
-	base = devm_platform_ioremap_resource(pdev, 0);
+	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!r) {
+		dev_err(&pdev->dev, "platform_get_resource() failed\n");
+		return -ENOMEM;
+	}
+
+	base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
 	if (IS_ERR(base))
 		return PTR_ERR(base);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-14 10:20 [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Xu Yang
@ 2023-09-14 10:20 ` Xu Yang
  2023-09-14 10:19   ` Krzysztof Kozlowski
  2023-09-14 14:20   ` [EXT] " Frank Li
  2023-09-14 10:21 ` [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Krzysztof Kozlowski
  1 sibling, 2 replies; 10+ messages in thread
From: Xu Yang @ 2023-09-14 10:20 UTC (permalink / raw)
  To: will, mark.rutland, robh+dt, shawnguo
  Cc: krzysztof.kozlowski+dt, conor+dt, linux-imx, devicetree,
	linux-arm-kernel, ye.li

Add DDR controller node which will be used by EDAC driver later, also
move the DDR PMU node as the subnode of the DDR controller.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
index 6f85a05ee7e1..992bdeef70cd 100644
--- a/arch/arm64/boot/dts/freescale/imx93.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
@@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
 			status = "disabled";
 		};
 
-		ddr-pmu@4e300dc0 {
-			compatible = "fsl,imx93-ddr-pmu";
-			reg = <0x4e300dc0 0x200>;
-			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
+		ddr: memory-controller@4e300000 {
+			compatible = "simple-mfd";
+			reg = <0x4e300000 0x2000>;
+			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+			little-endian;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges;
+
+			ddr-pmu@4e300dc0 {
+				compatible = "fsl,imx93-ddr-pmu";
+				reg = <0x4e300dc0 0x200>;
+				interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
+			};
 		};
 	};
 };
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict
  2023-09-14 10:20 [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Xu Yang
  2023-09-14 10:20 ` [PATCH 2/2] arm64: dts: imx93: add DDR controller node Xu Yang
@ 2023-09-14 10:21 ` Krzysztof Kozlowski
  2023-09-15  2:46   ` [EXT] " Xu Yang
  1 sibling, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-09-14 10:21 UTC (permalink / raw)
  To: Xu Yang, will, mark.rutland, robh+dt, shawnguo
  Cc: krzysztof.kozlowski+dt, conor+dt, linux-imx, devicetree,
	linux-arm-kernel, ye.li

On 14/09/2023 12:20, Xu Yang wrote:
> Usually, the ddr pmu node will be a subnode of DDR controller, then using
> devm_platform_ioremap_resource will report conflict with DDR controller
> resource. So update the driver to use devm_ioremap to avoid such
> resource check.
> 

Why would you like to map same region twice? The resource check is for
purpose there...

> Signed-off-by: Ye Li <ye.li@nxp.com>
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---
>  drivers/perf/fsl_imx9_ddr_perf.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/perf/fsl_imx9_ddr_perf.c b/drivers/perf/fsl_imx9_ddr_perf.c
> index 5cf770a1bc31..885024665968 100644
> --- a/drivers/perf/fsl_imx9_ddr_perf.c
> +++ b/drivers/perf/fsl_imx9_ddr_perf.c
> @@ -602,8 +602,15 @@ static int ddr_perf_probe(struct platform_device *pdev)
>  	void __iomem *base;
>  	int ret, irq;
>  	char *name;
> +	struct resource *r;
>  
> -	base = devm_platform_ioremap_resource(pdev, 0);
> +	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!r) {
> +		dev_err(&pdev->dev, "platform_get_resource() failed\n");
> +		return -ENOMEM;
> +	}
> +
> +	base = devm_ioremap(&pdev->dev, r->start, resource_size(r));

You need to document this, otherwise someone will revert your commit soon.


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-14 10:20 ` [PATCH 2/2] arm64: dts: imx93: add DDR controller node Xu Yang
  2023-09-14 10:19   ` Krzysztof Kozlowski
@ 2023-09-14 14:20   ` Frank Li
  2023-09-15  1:33     ` Ye Li
  1 sibling, 1 reply; 10+ messages in thread
From: Frank Li @ 2023-09-14 14:20 UTC (permalink / raw)
  To: Xu Yang, will@kernel.org, mark.rutland@arm.com,
	robh+dt@kernel.org, shawnguo@kernel.org
  Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	dl-linux-imx, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Ye Li



> -----Original Message-----
> From: Xu Yang <xu.yang_2@nxp.com>
> Sent: Thursday, September 14, 2023 5:21 AM
> To: will@kernel.org; mark.rutland@arm.com; robh+dt@kernel.org;
> shawnguo@kernel.org
> Cc: krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; dl-linux-imx
> <linux-imx@nxp.com>; devicetree@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org; Ye Li <ye.li@nxp.com>
> Subject: [EXT] [PATCH 2/2] arm64: dts: imx93: add DDR controller node
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> Add DDR controller node which will be used by EDAC driver later, also
> move the DDR PMU node as the subnode of the DDR controller.
> 
> Signed-off-by: Ye Li <ye.li@nxp.com>
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---
>  arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi
> b/arch/arm64/boot/dts/freescale/imx93.dtsi
> index 6f85a05ee7e1..992bdeef70cd 100644
> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> @@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
>                         status = "disabled";
>                 };
> 
> -               ddr-pmu@4e300dc0 {
> -                       compatible = "fsl,imx93-ddr-pmu";
> -                       reg = <0x4e300dc0 0x200>;
> -                       interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> +               ddr: memory-controller@4e300000 {
> +                       compatible = "simple-mfd";
> +                       reg = <0x4e300000 0x2000>;

[Frank Li] Can you just use EDAC register space size? 
I suppose EDAC and PMU's register space is not over lapped.  

> +                       interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
> +                       little-endian;
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges;
> +
> +                       ddr-pmu@4e300dc0 {
> +                               compatible = "fsl,imx93-ddr-pmu";
> +                               reg = <0x4e300dc0 0x200>;
> +                               interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> +                       };
>                 };
>         };
>  };
> --
> 2.34.1
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-14 14:20   ` [EXT] " Frank Li
@ 2023-09-15  1:33     ` Ye Li
  0 siblings, 0 replies; 10+ messages in thread
From: Ye Li @ 2023-09-15  1:33 UTC (permalink / raw)
  To: Frank Li, Xu Yang, will@kernel.org, mark.rutland@arm.com,
	robh+dt@kernel.org, shawnguo@kernel.org
  Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	dl-linux-imx, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

Hi Frank,

> -----Original Message-----
> From: Frank Li <frank.li@nxp.com>
> Sent: Thursday, September 14, 2023 10:21 PM
> To: Xu Yang <xu.yang_2@nxp.com>; will@kernel.org; mark.rutland@arm.com;
> robh+dt@kernel.org; shawnguo@kernel.org
> Cc: krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org; dl-linux-imx
> <linux-imx@nxp.com>; devicetree@vger.kernel.org;
> linux-arm-kernel@lists.infradead.org; Ye Li <ye.li@nxp.com>
> Subject: RE: [EXT] [PATCH 2/2] arm64: dts: imx93: add DDR controller node
> 
> 
> 
> > -----Original Message-----
> > From: Xu Yang <xu.yang_2@nxp.com>
> > Sent: Thursday, September 14, 2023 5:21 AM
> > To: will@kernel.org; mark.rutland@arm.com; robh+dt@kernel.org;
> > shawnguo@kernel.org
> > Cc: krzysztof.kozlowski+dt@linaro.org; conor+dt@kernel.org;
> > dl-linux-imx <linux-imx@nxp.com>; devicetree@vger.kernel.org;
> > linux-arm- kernel@lists.infradead.org; Ye Li <ye.li@nxp.com>
> > Subject: [EXT] [PATCH 2/2] arm64: dts: imx93: add DDR controller node
> >
> > Caution: This is an external email. Please take care when clicking
> > links or opening attachments. When in doubt, report the message using
> > the 'Report this email' button
> >
> >
> > Add DDR controller node which will be used by EDAC driver later, also
> > move the DDR PMU node as the subnode of the DDR controller.
> >
> > Signed-off-by: Ye Li <ye.li@nxp.com>
> > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > ---
> >  arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
> >  1 file changed, 14 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > index 6f85a05ee7e1..992bdeef70cd 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > @@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
> >                         status = "disabled";
> >                 };
> >
> > -               ddr-pmu@4e300dc0 {
> > -                       compatible = "fsl,imx93-ddr-pmu";
> > -                       reg = <0x4e300dc0 0x200>;
> > -                       interrupts = <GIC_SPI 90
> IRQ_TYPE_LEVEL_HIGH>;
> > +               ddr: memory-controller@4e300000 {
> > +                       compatible = "simple-mfd";
> > +                       reg = <0x4e300000 0x2000>;
> 
> [Frank Li] Can you just use EDAC register space size?
> I suppose EDAC and PMU's register space is not over lapped.
> 
We will re-use layerscape EDAC driver which needs DDR controller's base address.

Best regards,
Ye Li
> > +                       interrupts = <GIC_SPI 91
> IRQ_TYPE_LEVEL_HIGH>;
> > +                       little-endian;
> > +                       #address-cells = <1>;
> > +                       #size-cells = <1>;
> > +                       ranges;
> > +
> > +                       ddr-pmu@4e300dc0 {
> > +                               compatible = "fsl,imx93-ddr-pmu";
> > +                               reg = <0x4e300dc0 0x200>;
> > +                               interrupts = <GIC_SPI 90
> IRQ_TYPE_LEVEL_HIGH>;
> > +                       };
> >                 };
> >         };
> >  };
> > --
> > 2.34.1
> >


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-14 10:19   ` Krzysztof Kozlowski
@ 2023-09-15  2:39     ` Xu Yang
  2023-09-15  6:54       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 10+ messages in thread
From: Xu Yang @ 2023-09-15  2:39 UTC (permalink / raw)
  To: Krzysztof Kozlowski, will@kernel.org, mark.rutland@arm.com,
	robh+dt@kernel.org, shawnguo@kernel.org
  Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	dl-linux-imx, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Ye Li

Hi Krzysztof,

> On 14/09/2023 12:20, Xu Yang wrote:
> > Add DDR controller node which will be used by EDAC driver later, also
> > move the DDR PMU node as the subnode of the DDR controller.
> >
> > Signed-off-by: Ye Li <ye.li@nxp.com>
> > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > ---
> >  arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
> >  1 file changed, 14 insertions(+), 4 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > index 6f85a05ee7e1..992bdeef70cd 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > @@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
> >                       status = "disabled";
> >               };
> >
> > -             ddr-pmu@4e300dc0 {
> > -                     compatible = "fsl,imx93-ddr-pmu";
> > -                     reg = <0x4e300dc0 0x200>;
> > -                     interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> > +             ddr: memory-controller@4e300000 {
> > +                     compatible = "simple-mfd";
> 
> No, that's not allowed alone.

Well, then how should I modify this compatible?

> 
> It does not look like you tested the DTS against bindings. Please run
> `make dtbs_check W=1` 
> 

I just run the check script, it seems no warnings for this node.

$ dt-validate -s Documentation/devicetree/bindings/processed-schema.json arch/arm64/boot/dts/freescale/imx93-11x11-evk.dtb
/home/nxf75279/work/linux-next/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dtb: tmu@44482000: fsl,tmu-range: 'oneOf' conditional failed, one must be fixed:
        [2147483866, 2147483881, 2147483906, 2147483946, 2147484006, 2147484071, 2147484086] is too long
        From schema: /home/nxf75279/work/linux-next/Documentation/devicetree/bindings/thermal/qoriq-thermal.yaml
/home/nxf75279/work/linux-next/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dtb: tmu@44482000: 'oneOf' conditional failed, one must be fixed:
        'interrupts' is a required property
        'interrupts-extended' is a required property
        From schema: /home/nxf75279/work/linux-next/Documentation/devicetree/bindings/thermal/qoriq-thermal.yaml
/home/nxf75279/work/linux-next/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dtb: gpio@43820080: gpio-ranges: [[30, 0, 84, 8], [30, 8, 66, 18], [30, 26, 34, 2], [30, 28, 0, 4]] is too long
        From schema: /home/nxf75279/work/linux-next/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml
/home/nxf75279/work/linux-next/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dtb: gpio@43830080: gpio-ranges: [[30, 0, 38, 28], [30, 28, 36, 2]] is too long
        From schema: /home/nxf75279/work/linux-next/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml

Thanks,
Xu Yang

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict
  2023-09-14 10:21 ` [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Krzysztof Kozlowski
@ 2023-09-15  2:46   ` Xu Yang
  0 siblings, 0 replies; 10+ messages in thread
From: Xu Yang @ 2023-09-15  2:46 UTC (permalink / raw)
  To: Krzysztof Kozlowski, will@kernel.org, mark.rutland@arm.com,
	robh+dt@kernel.org, shawnguo@kernel.org
  Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	dl-linux-imx, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Ye Li

Hi Krzysztof,

> On 14/09/2023 12:20, Xu Yang wrote:
> > Usually, the ddr pmu node will be a subnode of DDR controller, then using
> > devm_platform_ioremap_resource will report conflict with DDR controller
> > resource. So update the driver to use devm_ioremap to avoid such
> > resource check.
> >
> 
> Why would you like to map same region twice? The resource check is for
> purpose there...
> 

Because the ddr pmu region is a subset of ddr controller region. When
edac driver is enabled, it will map the whole region firstly. I will check
if this can be changed.

> > Signed-off-by: Ye Li <ye.li@nxp.com>
> > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > ---
> >  drivers/perf/fsl_imx9_ddr_perf.c | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/perf/fsl_imx9_ddr_perf.c b/drivers/perf/fsl_imx9_ddr_perf.c
> > index 5cf770a1bc31..885024665968 100644
> > --- a/drivers/perf/fsl_imx9_ddr_perf.c
> > +++ b/drivers/perf/fsl_imx9_ddr_perf.c
> > @@ -602,8 +602,15 @@ static int ddr_perf_probe(struct platform_device *pdev)
> >       void __iomem *base;
> >       int ret, irq;
> >       char *name;
> > +     struct resource *r;
> >
> > -     base = devm_platform_ioremap_resource(pdev, 0);
> > +     r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > +     if (!r) {
> > +             dev_err(&pdev->dev, "platform_get_resource() failed\n");
> > +             return -ENOMEM;
> > +     }
> > +
> > +     base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
> 
> You need to document this, otherwise someone will revert your commit soon.
> 
> 
> Best regards,
> Krzysztof

Thanks,
Xu Yang

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [EXT] Re: [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-15  2:39     ` [EXT] " Xu Yang
@ 2023-09-15  6:54       ` Krzysztof Kozlowski
  2023-09-15  7:33         ` Xu Yang
  0 siblings, 1 reply; 10+ messages in thread
From: Krzysztof Kozlowski @ 2023-09-15  6:54 UTC (permalink / raw)
  To: Xu Yang, will@kernel.org, mark.rutland@arm.com,
	robh+dt@kernel.org, shawnguo@kernel.org
  Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	dl-linux-imx, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Ye Li

On 15/09/2023 04:39, Xu Yang wrote:
> Hi Krzysztof,
> 
>> On 14/09/2023 12:20, Xu Yang wrote:
>>> Add DDR controller node which will be used by EDAC driver later, also
>>> move the DDR PMU node as the subnode of the DDR controller.
>>>
>>> Signed-off-by: Ye Li <ye.li@nxp.com>
>>> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
>>> ---
>>>  arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
>>>  1 file changed, 14 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
>>> index 6f85a05ee7e1..992bdeef70cd 100644
>>> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
>>> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
>>> @@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
>>>                       status = "disabled";
>>>               };
>>>
>>> -             ddr-pmu@4e300dc0 {
>>> -                     compatible = "fsl,imx93-ddr-pmu";
>>> -                     reg = <0x4e300dc0 0x200>;
>>> -                     interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
>>> +             ddr: memory-controller@4e300000 {
>>> +                     compatible = "simple-mfd";
>>
>> No, that's not allowed alone.
> 
> Well, then how should I modify this compatible?

You need specific compatible, just like everywhere else. You can use
"git grep simple-mfd" or "git grep simple-mfd -- arch/arm*" or on
bindings to figure this out.

Just remember that simple-mfd means children do not depend on anything
provided by the parent. You cannot later remove it "just because" or
"oh, now I want driver". That would affect users of DTS.

> 
>>
>> It does not look like you tested the DTS against bindings. Please run
>> `make dtbs_check W=1` 
>>
> 
> I just run the check script, it seems no warnings for this node.

Right, I always forget we did not convert simple-mfd to DT schema, so
the warnings are only for syscon.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [EXT] Re: [PATCH 2/2] arm64: dts: imx93: add DDR controller node
  2023-09-15  6:54       ` Krzysztof Kozlowski
@ 2023-09-15  7:33         ` Xu Yang
  0 siblings, 0 replies; 10+ messages in thread
From: Xu Yang @ 2023-09-15  7:33 UTC (permalink / raw)
  To: Krzysztof Kozlowski, will@kernel.org, mark.rutland@arm.com,
	robh+dt@kernel.org, shawnguo@kernel.org
  Cc: krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
	dl-linux-imx, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Ye Li


> On 15/09/2023 04:39, Xu Yang wrote:
> > Hi Krzysztof,
> >
> >> On 14/09/2023 12:20, Xu Yang wrote:
> >>> Add DDR controller node which will be used by EDAC driver later, also
> >>> move the DDR PMU node as the subnode of the DDR controller.
> >>>
> >>> Signed-off-by: Ye Li <ye.li@nxp.com>
> >>> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> >>> ---
> >>>  arch/arm64/boot/dts/freescale/imx93.dtsi | 18 ++++++++++++++----
> >>>  1 file changed, 14 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi b/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>> index 6f85a05ee7e1..992bdeef70cd 100644
> >>> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> >>> @@ -917,10 +917,20 @@ media_blk_ctrl: system-controller@4ac10000 {
> >>>                       status = "disabled";
> >>>               };
> >>>
> >>> -             ddr-pmu@4e300dc0 {
> >>> -                     compatible = "fsl,imx93-ddr-pmu";
> >>> -                     reg = <0x4e300dc0 0x200>;
> >>> -                     interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> >>> +             ddr: memory-controller@4e300000 {
> >>> +                     compatible = "simple-mfd";
> >>
> >> No, that's not allowed alone.
> >
> > Well, then how should I modify this compatible?
> 
> You need specific compatible, just like everywhere else. You can use
> "git grep simple-mfd" or "git grep simple-mfd -- arch/arm*" or on
> bindings to figure this out.
> 
> Just remember that simple-mfd means children do not depend on anything
> provided by the parent. You cannot later remove it "just because" or
> "oh, now I want driver". That would affect users of DTS.

I see. Thanks for your explanation.

Best Regards,
Xu Yang

> 
> >
> >>
> >> It does not look like you tested the DTS against bindings. Please run
> >> `make dtbs_check W=1`
> >>
> >
> > I just run the check script, it seems no warnings for this node.
> 
> Right, I always forget we did not convert simple-mfd to DT schema, so
> the warnings are only for syscon.
> 
> Best regards,
> Krzysztof


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-09-15  7:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-14 10:20 [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Xu Yang
2023-09-14 10:20 ` [PATCH 2/2] arm64: dts: imx93: add DDR controller node Xu Yang
2023-09-14 10:19   ` Krzysztof Kozlowski
2023-09-15  2:39     ` [EXT] " Xu Yang
2023-09-15  6:54       ` Krzysztof Kozlowski
2023-09-15  7:33         ` Xu Yang
2023-09-14 14:20   ` [EXT] " Frank Li
2023-09-15  1:33     ` Ye Li
2023-09-14 10:21 ` [PATCH 1/2] perf: imx9_ddr_perf: resolve resource map conflict Krzysztof Kozlowski
2023-09-15  2:46   ` [EXT] " Xu Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).