[PATCH 00/16] STM32 configure UART nodes for DMA

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Feb 3 09:25:43 PST 2022


Hello Erwan,

On 03.02.22 18:10, Erwan Le Ray wrote:
> Add DMA configuration to UART nodes in stm32mp15x (SOC level) and
> remove it at board level to keep current PIO behavior when needed.
> For stm32-ed1 and stm32-dkx boards, UART4 (console) and UART7
> (no HW flow control pin available) are kept in PIO mode, while USART3
> is now configured in DMA mode.
> UART4 (console UART) has to be kept in irq mode, as DMA support for
> console has been removed from the driver by commit e359b4411c28 
> ("serial: stm32: fix threaded interrupt handling"). 

Do I understand correctly that your first patch breaks consoles of
most/all boards, because they will briefly use DMA, which is refused
by the stm32-usart driver and then you add a patch for each board
to fix that breakage?

Such intermittent breakage makes bisection a hassle. /delete-property/
is a no-op when the property doesn't exist, so you could move the first
patch to the very end to avoid intermittent breakage.

I also think that the driver's behavior is a bit harsh. I think it would
be better for the UART driver to print a warning and fall back to
PIO for console instead of outright refusing and rendering the system
silent. That's not mutually exclusive with your patch series here, of course.

Cheers,
Ahmad

> 
> For other stm32mp15x-based boards, current configuration is kept for
> all UART instances.
> 
> Erwan Le Ray (16):
>   ARM: dts: stm32: add DMA configuration to UART nodes on stm32mp151
>   ARM: dts: stm32: keep uart4 behavior on stm32mp157c-ed1
>   ARM: dts: stm32: keep uart4 and uart7 behavior on stm32mp15xx-dkx
>   ARM: dts: stm32: keep uart4 behavior on icore-stm32mp1-ctouch2
>   ARM: dts: stm32: keep uart4 behavior on icore-stm32mp1-edimm2.2
>   ARM: dts: stm32: keep uart4 behavior on stm32mp157a-iot-box
>   ARM: dts: stm32: keep uart nodes behavior on stm32mp1-microdev2.0-of7
>   ARM: dts: stm32: keep uart nodes behavior on stm32mp1-microdev2.0
>   ARM: dts: stm32: keep uart nodes behavior on stm32mp157a-stinger96
>   ARM: dts: stm32: keep uart4 behavior on stm32mp157c-lxa-mc1
>   ARM: dts: stm32: keep uart4 behavior on stm32mp157c-odyssey
>   ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcom-drc02
>   ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcom-pdk2
>   ARM: dts: stm32: keep uart nodes behavior on stm32mp15xx-dhcom-picoitx
>   ARM: dts: stm32: keep uart4 behavior on stm32mp15xx-dhcom-som
>   ARM: dts: stm32: keep uart nodes behavior on
>     stm32mp15xx-dhcor-avenger96
> 
>  arch/arm/boot/dts/stm32mp151.dtsi             | 21 +++++++++++++++++++
>  .../stm32mp157a-icore-stm32mp1-ctouch2.dts    |  2 ++
>  .../stm32mp157a-icore-stm32mp1-edimm2.2.dts   |  2 ++
>  arch/arm/boot/dts/stm32mp157a-iot-box.dts     |  2 ++
>  ...157a-microgea-stm32mp1-microdev2.0-of7.dts |  4 ++++
>  ...32mp157a-microgea-stm32mp1-microdev2.0.dts |  4 ++++
>  arch/arm/boot/dts/stm32mp157a-stinger96.dtsi  |  6 ++++++
>  arch/arm/boot/dts/stm32mp157c-ed1.dts         |  2 ++
>  arch/arm/boot/dts/stm32mp157c-lxa-mc1.dts     |  2 ++
>  arch/arm/boot/dts/stm32mp157c-odyssey.dts     |  2 ++
>  .../arm/boot/dts/stm32mp15xx-dhcom-drc02.dtsi |  4 ++++
>  arch/arm/boot/dts/stm32mp15xx-dhcom-pdk2.dtsi |  4 ++++
>  .../boot/dts/stm32mp15xx-dhcom-picoitx.dtsi   |  4 ++++
>  arch/arm/boot/dts/stm32mp15xx-dhcom-som.dtsi  |  2 ++
>  .../boot/dts/stm32mp15xx-dhcor-avenger96.dtsi |  6 ++++++
>  arch/arm/boot/dts/stm32mp15xx-dkx.dtsi        |  4 ++++
>  16 files changed, 71 insertions(+)
> 


-- 
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 |



More information about the linux-arm-kernel mailing list