Hi, > > DMA support for half-duplex RS-485 never worked correctly on i.MX6Q/D > due to an undiscovered SMP-related bug, instead of the real data being > sent out, the rest of the transmit buffer is sent (xmit->tail jumps over > xmit->head in imx_transmit_buffer and UART_XMIT_SIZE bytes are sent out) > More details: https://lkml.org/lkml/2017/1/4/579 > We see exactly this issue on our platform, based on i.MX6dl. We use the RS485 mode to implement a Modbus interface. We have another platform based on i.MX25 running the same Linux 4.9.30 code that is not affected! > Disable it for that configuration until the bug is found and fixed. > > We need to know at probe time if we can enable DMA. (RS-485 could be > enabled after that). Let's therefore only enable DMA if it is not an > i.MX6Q/D UART with uart-has-rtscts in the DT and CONFIG_SMP enabled. > Uwe Kleine-König had the idea to disable DMA on the i.MX6dl based platform via dts and this is our current workaround. Regards Gavin Schenk Eckelmann AG Vorstand: Dipl.-Ing. Peter Frankenbach (Sprecher) Dipl.-Wi.-Ing. Philipp Eckelmann Dr.-Ing. Marco Münchhof Dr.-Ing. Frank Uhlemann Vorsitzender des Aufsichtsrats: Hubertus G. Krossa Stv. Vorsitzender des Aufsichtsrats: Dr.-Ing. Gerd Eckelmann Sitz der Gesellschaft: Berliner Str. 161, 65205 Wiesbaden, Amtsgericht Wiesbaden HRB 12636 http://www.eckelmann.de