Hi Mike,

On Mon, Oct 11, 2010 at 23:39:35, Michael Williamson wrote:

> >
> > Hmm, looks like the Tx and Rx DMA must always run for the same duration. I 
> > was
> > under the impression Tx is required to keep the clock running, and so must 
> > always
> > run for the length of transfer requested, but Rx DMA can finish earlier.
> >
>
> That may be true.  The scenario I was seeing was a requested Tx length of 1 
> with no
> Rx buffer supplied.  The length of the internal buffer was bigger than 1, so 
> the resulting
> Rx DMA size in the a_b_cnt was greater than the Tx size, and it stalled.
>
> > I guess replacing the line:
> >
> >                 param.a_b_cnt = rx_buf_count << 16 | data_type;
> >
> > with
> >
> >                 param.a_b_cnt = davinci_spi->rcount << 16 | data_type;
> >
> > will also fix the issue?
> >
>
> A better fix.  should be fine.

I tested this on DA830 and DA850 EVMs with SPI nor flash - it works fine.
I added your Tested-By to the DMA patches as well. Thanks for the testing
and bug fixing.

Updated set of patches pushed to my branch[1]. Testing on DM* platforms
is the next task.

Thanks,
Sekhar

[1] 
http://arago-project.org/git/projects/?p=linux-davinci.git;a=shortlog;h=refs/heads/davinci-spi-rewrite

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to