On Fri, Mar 30, 2012 at 12:29 AM, Kirill Batuzov <batuz...@ispras.ru> wrote: > > > On Thu, 29 Mar 2012, Peter A. G. Crosthwaite wrote: > >> Device model for Primecell PL330 dma controller. >> >> Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwa...@petalogix.com> >> --- > > Signed-off-by: Kirill Batuzov <batuz...@ispras.ru> >
Thanks Kirill >> +static int PL330Fifo_get(PL330Fifo *s, uint8_t *buf, int len, uint8_t tag) >> +{ >> + int i, ret; >> + int old_s, old_t; >> + >> + old_s = s->s; >> + old_t = s->t; >> + for (i = 0; i < len; i++) { >> + if (s->t != s->s && s->tag[s->s] == tag) { >> + buf[i] = s->buf[s->s]; >> + s->s = PL330Fifo_inc(s->s, s->buf_size); >> + } else { >> + /* Rollback transaction */ >> + ret = (s->t == s->s) ? ret = PL330FIFO_STALL : PL330FIFO_ERR; > Minor issue - double assignement of ret in this line. Fixed in v2. >> + s->s = old_s; >> + s->t = old_t; >> + return ret; >> + } >> + } >> + return PL330FIFO_OK; >> +} > > -- > Kirill Batuzov Regards, Peter