lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f5aec360-c33c-0145-6596-541003e305b2@foss.st.com>
Date:   Fri, 4 Feb 2022 14:22:56 +0100
From:   Alexandre TORGUE <alexandre.torgue@...s.st.com>
To:     Ahmad Fatoum <a.fatoum@...gutronix.de>,
        Erwan Le Ray <erwan.leray@...s.st.com>
CC:     Rob Herring <robh+dt@...nel.org>,
        Maxime Coquelin <mcoquelin.stm32@...il.com>,
        Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
        Marek Vasut <marex@...x.de>,
        Marcin Sloniewski <marcin.sloniewski@...il.com>,
        Jagan Teki <jagan@...rulasolutions.com>,
        <devicetree@...r.kernel.org>,
        <linux-stm32@...md-mailman.stormreply.com>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>,
        Pengutronix Kernel Team <kernel@...gutronix.de>
Subject: Re: [PATCH 00/16] STM32 configure UART nodes for DMA

Hi Ahmad

On 2/3/22 18:25, Ahmad Fatoum wrote:
> 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?

We have two solutions and both have pro/drawbacks. The first one (Erwan 
ones, can break the boot if the patch is taken "alone". Your proposition 
avoids this breakage but deletes a non define property (which is a bit 
weird). However I prefer to keep a functional behavior, and keep Ahmad 
proposition. Ahmad, just one question, dt-bindings check doesn't 
complain about it ?

Cheers
Alex

> 
> 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(+)
>>
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ