RE: [PATCH] clk: imx: imx8qxp-lpcg: use devm_platform_ioremap_resource

From: Peng Fan
Date: Thu Dec 05 2019 - 04:03:37 EST


> Subject: Re: [PATCH] clk: imx: imx8qxp-lpcg: use
> devm_platform_ioremap_resource
>
> On 2019-12-05 3:38 AM, Peng Fan wrote:
> >> Subject: Re: [PATCH] clk: imx: imx8qxp-lpcg: use
> >> devm_platform_ioremap_resource
> >>
> >> On 2019-12-04 12:14 PM, Peng Fan wrote:
> >>> From: Peng Fan <peng.fan@xxxxxxx>
> >>>
> >>> devm_platform_ioremap_resource() wraps platform_get_resource() and
> >>> devm_ioremap_resource(), we could use this API to simplify the code.
> >>>
> >>> Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> >>
> >> This patch has been posted before and it breaks uart on imx8qxp-mek
> >> and possibly other things.
> >>
> >> The old and new paths are not equivalent:
> >> devm_platform_ioremap_resource calls devm_ioremap_resource differs
> >> from devm_ioremap by also calling devm_request_mem_region.
> >>
> >> This prevents other mappings in the area; this is not an issue for
> >> most drivers but imx8qxp-lpcg maps whole subsystems. For example:
> >>
> >> adma_lpcg: clock-controller@59000000 {
> >> compatible = "fsl,imx8qxp-lpcg-adma";
> >> reg = <0x59000000 0x2000000>;
> >> #clock-cells = <1>;
> >> };
> >>
> >> adma_lpuart0: serial@5a060000 {
> >> reg = <0x5a060000 0x1000>;
> >> ...
> >> };
> >>
> >> Previously: https://patchwork.kernel.org/patch/10908807/
> >
> > Thanks. I think at least need to provide some comments in code.
>
> Yes, comments would help. I think it's actually the 3rd time this incorrect
> cleanup was posted.
>
> But mapping entire subsystems (32mb at a time) for LPCG is deeply
> flawed: the LPCG areas are each 64k and they're interspersed among the
> peripherals. The correct solution is to have many small clock providers.
>
> This is done by a series of patches from Aisheng, I think this is the latest one:
>
> https://patchwork.kernel.org/patch/11248235/
>
> If some aspects of that series are dubious perhaps they could be discussed
> and maybe the series could be split into smaller chunks?

That would be lots of lpcg nodes in device tree.

>
> That series does brings many essential improvements to imx8 clk support.

Seems that pending for long time? What is the blocking point?

Regards,
Peng.

>
> --
> Regards,
> Leonard