On 3/17/23 18:26, Conor Dooley wrote:
On Fri, Mar 17, 2023 at 04:54:47PM +0100, Krzysztof Kozlowski wrote:
On 17/03/2023 11:21, Cristian Ciocaltea wrote:
On 3/17/23 10:31, Krzysztof Kozlowski wrote:
On 15/03/2023 12:47, Cristian Ciocaltea wrote:
Commit 370f696e4474 ("dt-bindings: serial: snps-dw-apb-uart: add dma & dma-names properties") documented dma-names property to handle Allwiner D1 dtbs_check warnings, but relies on a strict rx->tx ordering, which is the reverse of what a different board expects:
rk3326-odroid-go2.dtb: serial@ff030000: dma-names:0: 'rx' was expected
A quick and incomplete check shows the inconsistency is present in many other DT files:
Why not fixing the DTS? The properties should have fixed order.
I was initially concerned about the risk of a potential ABI breakage, but I think that's not really a problem since dma-names is not directly accessed in the driver and DT Kernel API doesn't rely on a particular order.
If there are no objections, I would switch the order in the binding to tx->rx, since that's what most of the DTS use, and fix the remaining ones.
Since we added the order recently, I rather assume it is the correct or preferred one.
IIRC I checked around the other serial bindings & there was not a consistent order that all serial bindings used, so I picked the order that was used across the various allwinner boards that do use dma-names.
Thanks for clarifying this, Conor! Would it be fine to switch to tx->rx order as it requires less changes to fix the inconsistencies?
Before changing dts files, it's probably a good idea to make sure that the dma-names are not used somewhere outside of Linux.
Right, that means we cannot exclude the ABI breakage concern. Not sure how easy would be to actually verify this. Hence I wonder if there is really no chance to allow the flexible order in the binding..
Cheers, Conor