Re: [PATCH 13/17] mtd: rawnand: cafe: Add exec_op() support

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

 



On Sun, 3 May 2020 10:13:03 +0200
Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> wrote:

> > > > 
> > > > I'm happy to test another patch, or add more tracing (I'm not at all
> > > > familiar with NAND flashes or MTD for that matter, so I have little idea
> > > > what to look for).    
> > > 
> > > I pushed a new version with extended traces. That should tell us what
> > > those operations.    
> > 
> > Thank you.
> > 
> > I moved the last debugging printk() right after the call to
> > readl_poll_timeout(), otherwise we'd not be reaching it on errors.
> > 
> > A quick grep for ret=-110 in the log reveals two kinds of errors:
> > 
> >   [   15.046151] instr[0] = WAITRDY
> >   [   15.065290] instr[1] = DATA_IN(len=2112)
> >   [   16.085166] 2: ret=-110 status=80000000 wait=50000000  
> 
> Ok, that's interesting. While the WAITRDY shouldn't be there, DATA-only
> operations are allowed, and I'd expect at least a DMA_DONE event in
> that case, but we get nothing. Maybe we should use DMA only if there's
> at least one addr/cmd instruction. Or maybe the engine can't do
> DATA-only operations.

Or maybe length is actually 0 here, since my traces print
instr->ctx.data.len instead of nand_subop_get_data_len(subop, i).

> 
> > 
> > and
> >  
> >   [   47.034418] instr[0] = WAITRDY
> >   [   48.054781] 1: ret=-110 status=10000000 wait=c0000000  
> 
> Yep, I don't expect operation to start with a WAITRDY, and this
> situation is probably caused by this commit [1].

This commit is indeed introducing a regression (see the fix here [2]).
That should work better now.

> 
> > 
> > Full log here:
> > https://people.freedesktop.org/~lkundrak/nand-raw-trace2.txt
> > 
> > A log of your original patch, just in case the move of the logging
> > statement was incorrect:
> > https://people.freedesktop.org/~lkundrak/nand-raw-trace.txt
> > 
> > Lubo  
> 
> [1]https://github.com/bbrezillon/linux/commit/30248fb955ba5e33a1863c8654f286b98c35d233

[2]https://github.com/bbrezillon/linux/commit/ec0460c61343a539889ab6298dd043d00717f19b

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux