Re: [PATCH 1/2] serial: imx: Fix the RTS GPIO polarity in RS485 mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 2, 2017 at 8:22 AM, Clemens Gruber
<clemens.gruber@xxxxxxxxxxxx> wrote:
> On Thu, Feb 02, 2017 at 07:40:53AM -0800, Tim Harvey wrote:
>> Something I noticed this time around while testing however is that in
>> some cases I'm not getting the dma_tx_callback telling us the tx dma
>> completed causing the stop_tx to return and the TXEN to not be
>> de-asserted. I hadn't noticed this before. Have you encountered it in
>> your use/testing?
>
> Hi Tim,
>
> a few weeks ago, Fabio and I discussed a DMA-related problem I have with
> RS485 on an i.MX6Q board.
>
> Are you observing this behavior you described on an i.MX6Q?

The board I have and am seeing this on is an IMX6Q, but the customer
board that I'm looking into this for is a DL so I think the issue is
not just IMX6Q

>
> As a quick workaround, I changed the imx driver to not enable DMA.
> (I commented out the call to imx_uart_dma_init in imx_startup)
>

Yes, this is how I worked around the issue currently.

> For the full discussion, see: https://lkml.org/lkml/2017/1/4/579
>
> TL/DR: Sending a character leads to the whole circular buffer being sent
> and TXEN is asserted during that transmission, which takes about 4
> seconds for 9600 baud. Here is how it looks on my logic analyzer:
> https://pqgruber.com/rs485_results.png

Yes - exactly what I'm seeing as well.

>
> It looks like it can only be reproduced on SMP systems, Fabio had only a
> i.MX6S available and could not reproduce it.
>
> What's interesting: If the transmit-complete interrupt is disabled
> (UCR4_TCEN), the data on TXD is fine.
>

I'll have to check this

> Somehow, the actions occuring after the transmit-complete interrupt, in
> the transmit_buffer function, lead to the the circular buffer struct's
> xmit->tail to jump over xmit->head.
> So instead of 2 bytes I wanted to send, additional 4094 bytes are sent
> out, during which TXEN stays asserted.
>
> Could this be the same issue you are observing now?

Yes - same issue

Tim
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux