Messages in this thread | | | Date | Mon, 27 Jun 2022 16:22:22 +0800 | Subject | Re: [PATCH] arm64: dts: imx8mp: drop dmas property for uart console | From | "Peng Fan (OSS)" <> |
| |
Hi Saravana,
在 2022/6/25 15:15, Saravana Kannan 写道: > On Wed, Jun 22, 2022 at 12:24 AM Sascha Hauer <s.hauer@pengutronix.de> wrote: >> +Cc Saravana Kannan <saravanak@google.com>, the author of 71066545b48e4 >> >> On Wed, Jun 22, 2022 at 02:20:27PM +0800, Peng Fan (OSS) wrote: >>> From: Peng Fan <peng.fan@nxp.com> >>> >>> Commit 71066545b48e4("driver core: Set fw_devlink.strict=1 by default") >>> default set fw_devlink to true. This has a side effect to i.MX uart >>> console. The sdma will make the i.MX8MP uart driver defer probe for some >>> time (~10s with i.MX8MP-EVK board) until sdma ready, because sdma is a >>> supplier with property dmas set in device tree node. >> I just tested this on an i.MX6 board and observed the same behaviour. >> The same will happen on any other i.MX board as well. This will also >> likely happen on any other SoC on which the UART driver uses dmaengine. >> >>> Since this uart is for console, we need log printed out as soon as >>> possible, so remove the dmas property for the uart console node. >> Fixing this at board level is not really an option because that means >> fixing each and every, at least i.MX board in the tree. Furthermore >> this would mean to bring the deleted property back in and to remove >> another dmas property should a user want to switch to another console >> port. >> >> For what it's worth: NACK for 71066545b48e4. > Hi Peng/Sascha/Fabio, > > I was looking at a fix for this (even when stdout-path isn't set in > DT) and looking at the older code (say, 5.18), and it looks like > before my recent changes the console would still only get probed > during late_initcall(). Does that match your experience?
I could not get you. In driver, it is module init: module_init(imx_uart_init), not late_initcall.
Thanks, Peng
> > Thanks, > Saravana > >> Sascha >> >>> Signed-off-by: Peng Fan <peng.fan@nxp.com> >>> --- >>> >>> V1: >>> The upper set fw_devlink.strict=1 patch is in linux-next tree. >>> >>> arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 2 ++ >>> arch/arm64/boot/dts/freescale/imx8mp-icore-mx8mp-edimm2.2.dts | 2 ++ >>> arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts | 2 ++ >>> arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts | 2 ++ >>> 4 files changed, 8 insertions(+) >>> >>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts >>> index fb11c03bc8b1..3fdb38bc0069 100644 >>> --- a/arch/arm64/boot/dts/freescale/imx8mp-evk.dts >>> +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk.dts >>> @@ -359,6 +359,8 @@ &uart2 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&pinctrl_uart2>; >>> status = "okay"; >>> + /delete-property/ dmas; >>> + /delete-property/ dma-names; >>> }; >>> >>> &usb3_phy1 { >>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-icore-mx8mp-edimm2.2.dts b/arch/arm64/boot/dts/freescale/imx8mp-icore-mx8mp-edimm2.2.dts >>> index dd703b6a5e17..fb2b44e94482 100644 >>> --- a/arch/arm64/boot/dts/freescale/imx8mp-icore-mx8mp-edimm2.2.dts >>> +++ b/arch/arm64/boot/dts/freescale/imx8mp-icore-mx8mp-edimm2.2.dts >>> @@ -69,6 +69,8 @@ &uart2 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&pinctrl_uart2>; >>> status = "okay"; >>> + /delete-property/ dmas; >>> + /delete-property/ dma-names; >>> }; >>> >>> &usb3_phy0 { >>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts >>> index 6aa720bafe28..68a478151292 100644 >>> --- a/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts >>> +++ b/arch/arm64/boot/dts/freescale/imx8mp-phyboard-pollux-rdk.dts >>> @@ -99,6 +99,8 @@ &uart1 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&pinctrl_uart1>; >>> status = "okay"; >>> + /delete-property/ dmas; >>> + /delete-property/ dma-names; >>> }; >>> >>> /* SD-Card */ >>> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts >>> index 521215520a0f..f90c1ac2791c 100644 >>> --- a/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts >>> +++ b/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts >>> @@ -554,6 +554,8 @@ &uart2 { >>> pinctrl-names = "default"; >>> pinctrl-0 = <&pinctrl_uart2>; >>> status = "okay"; >>> + /delete-property/ dmas; >>> + /delete-property/ dma-names; >>> }; >>> >>> &uart4 { >>> -- >>> 2.25.1 >>> >>> >> -- >> Pengutronix e.K. | | >> Steuerwalder Str. 21 | http://www.pengutronix.de/ | >> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | >> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
| |