> -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Albert Aribaud > Sent: Saturday, July 10, 2010 7:11 PM > To: [email protected] > Subject: [U-Boot] [PATCH V2] kirkwood_egiga: bugfix: add DMA > sequence points > > Insert isb() sequence points to ensure DMA descriptors > are filled in and set up before actual DMA occurs. > > Signed-off-by: Albert Aribaud <[email protected]> > --- > PATCHSET HISTORY > > V1: initial submit > V2: fixed badly placed isb() > > drivers/net/kirkwood_egiga.c | 9 ++++++++- > 1 files changed, 8 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/kirkwood_egiga.c > b/drivers/net/kirkwood_egiga.c > index 932792e..ea0c522 100644 > --- a/drivers/net/kirkwood_egiga.c > +++ b/drivers/net/kirkwood_egiga.c > @@ -447,6 +447,8 @@ static int kwgbe_init(struct eth_device *dev) > > /* Assignment of Rx CRDB of given RXUQ */ > KWGBEREG_WR(regs->rxcdp[RXUQ], (u32) dkwgbe->p_rxdesc_curr); > + /* ensure previous write is done before enabling Rx DMA */ > + isb(); > /* Enable port Rx. */ > KWGBEREG_WR(regs->rqc, (1 << RXUQ)); > > @@ -536,8 +538,13 @@ static int kwgbe_send(struct eth_device > *dev, volatile void *dataptr, > p_txdesc->buf_ptr = (u8 *) p; > p_txdesc->byte_cnt = datasize; > > - /* Apply send command using zeroth TXUQ */ > + /* Set this tc desc as zeroth TXUQ */ > KWGBEREG_WR(regs->tcqdp[TXUQ], (u32) p_txdesc); > + > + /* ensure tx desc writes above are performed before we > start Tx DMA */ > + isb(); > + > + /* Apply send command using zeroth TXUQ */ > KWGBEREG_WR(regs->tqc, (1 << TXUQ)); > > /*
Acked-by: Prafulla Wadaskar <[email protected]> Regards.. Prafulla . . _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

