[U-Boot] [PATCH] tsec: Configure the buffer descriptor bases to always include all of the descriptors

Detlev Zundel dzu at denx.de
Wed Aug 10 14:29:19 CEST 2011


Hi Joe,

> Previously only the last N were included based on the current one in use.
>
> Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
> Cc: Joe Hershberger <joe.hershberger at gmail.com>
> Cc: Mingkai Hu <Mingkai.hu at freescale.com>
> Cc: Andy Fleming <afleming at freescale.com>
> Cc: Kumar Gala <galak at kernel.crashing.org>
> Cc: Detlev Zundel <dzu at denx.de>
> ---
>  drivers/net/tsec.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
> index 78ffc95..1805ca0 100644
> --- a/drivers/net/tsec.c
> +++ b/drivers/net/tsec.c
> @@ -250,8 +250,8 @@ static void startup_tsec(struct eth_device *dev)
>  	txIdx = 0;
>  
>  	/* Point to the buffer descriptors */
> -	out_be32(&regs->tbase, (unsigned int)(&rtx.txbd[txIdx]));
> -	out_be32(&regs->rbase, (unsigned int)(&rtx.rxbd[rxIdx]));
> +	out_be32(&regs->tbase, (unsigned int)(&rtx.txbd[0]));
> +	out_be32(&regs->rbase, (unsigned int)(&rtx.rxbd[0]));
>  
>  	/* Initialize the Rx Buffer descriptors */
>  	for (i = 0; i < PKTBUFSRX; i++) {

I see these two lines just before the code you change (one is even in
the context of your patch):

        /* reset the indices to zero */
        rxIdx = 0;
        txIdx = 0;

So can you tell me, what your change actually does?  I cannot remember
that we have concurrency issues here, or do we?

Cheers
  Detlev

-- 
Don't trust everything you read, and don't assume every poster in
a thread is actually relevant to the problem.
        -- Stefan Monnier <jwvlj1gk44h.fsf-monnier+emacs at gnu.org>
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the U-Boot mailing list