2008-11-07 03:38:07 There may be BUG in bfin_5xx.c DMA mode.
DAVID ZHOU (CHINA)
Message: 64793
Hi,
There may be some problem with serial driver in DMA mode. My version is 2008R1-RC8 and I have fix bug #4459 and #4460.
And if there is little data to transfer, this problem may not come out, but if you send lot of data continuously to bf536,this problem may happen a lot during the test procedure.
My test case:
1. send big bin file (maybe more than 200KB )to blackfin through PC serial port to bf536 uclinux ttyBF1(working in DMA mode).
2. after get this file in blackfin uclinux then send out through network back to PC
3. compare these two file and you can find error.
I have check the source code and find it is most problely in
void bfin_serial_rx_dma_timeout(struct bfin_serial_port *uart)
{
... ...
uart->rx_dma_nrows = get_dma_curr_ycount(uart->rx_dma_channel);
x_pos = get_dma_curr_xcount(uart->rx_dma_channel);
... ...
}
and often happens in when value of uart->rx_dma_nrows is 7
Could any body check it, thanks !
QuoteReplyEditDelete
2008-11-07 04:32:15 Re: There may be BUG in bfin_5xx.c DMA mode.
Mike Frysinger (UNITED STATES)
Message: 64817
there has been a bunch of fixes since 2008R1. you could try the version in the branch or trunk.
QuoteReplyEditDelete
2008-11-07 04:55:39 Re: There may be BUG in bfin_5xx.c DMA mode.
Sonic Zhang (CHINA)
Message: 64818
A bug has been fixed on 2008R1 branch. Please use the serial source on the branch head.
QuoteReplyEditDelete
2008-11-09 21:04:44 Re: There may be BUG in bfin_5xx.c DMA mode.
DAVID ZHOU (CHINA)
Message: 64893
Thanks Sonic and Mike,in the trunk version the bug I mentioned have been fixed.