On Wed, Jun 22, 2022 at 12:24 AM Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > > +Cc Saravana Kannan <saravanak@xxxxxxxxxx>, the author of 71066545b48e4 > > On Wed, Jun 22, 2022 at 02:20:27PM +0800, Peng Fan (OSS) wrote: > > From: Peng Fan <peng.fan@xxxxxxx> > > > > 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? Thanks, Saravana > > Sascha > > > > > Signed-off-by: Peng Fan <peng.fan@xxxxxxx> > > --- > > > > 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 |