All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V3] net: fec_mxc: allow use with cache enabled
Date: Wed, 14 Mar 2012 02:44:53 +0100	[thread overview]
Message-ID: <201203140244.54016.marex@denx.de> (raw)
In-Reply-To: <4F5F6C61.9040407@boundarydevices.com>

Dear Eric Nelson,

> On 03/13/2012 07:04 AM, Eric Nelson wrote:
> > 	ensure that transmit and receive buffers are cache-line aligned
> > 	
> >          invalidate cache for each packet as received
> > 	
> > 	update receive buffer descriptors one cache line at a time
> > 	
> >          flush cache before transmitting
> > 
> > Original patch by Marek:
> > 	http://lists.denx.de/pipermail/u-boot/2012-February/117695.html
> > 
> > Signed-off-by: Eric Nelson<eric.nelson@boundarydevices.com>
> > 
> > ---
> > 
> > V2 addresses some concerns from the ML:
> > 	- Use readl()/writel() instead of mapped data structure
> > 	
> > 	  accesses
> > 	
> > 	- Wrong comment style
> > 	-&rbd_base[0] == rbd_base
> > 	removed 'volatile' from fec_send().
> > 	
>  > <snip>
> > 
> > diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> > index 1fdd071..94a3927 100644
> > --- a/drivers/net/fec_mxc.c
> > +++ b/drivers/net/fec_mxc.c
> 
> ...
> 
> > @@ -631,9 +682,11 @@ static void fec_halt(struct eth_device *dev)
> > 
> >    * @param[in] length Data count in bytes
> >    * @return 0 on success
> >    */
> > 
> > -static int fec_send(struct eth_device *dev, volatile void* packet, int
> > length) +static int fec_send(struct eth_device *dev, void *packet, int
> > length)
> > 
> >   {
> >   
> >   	unsigned int status;
> 
> I made this change to keep checkpatch happy (it doesn't like volatile),
> but the declaration of struct eth_device in include/net.h seems to want
> the volatile:
> 
> 	int  (*send) (struct eth_device*, volatile void* packet, int length);
> 
> I'd rather have a checkpatch warning than a compiler warning, so I'll fix
> this in V4...

I believe the volatile is there for a reason (not a reason meaningful for this 
device though). I believe on some boards, this was used to avoid some cache 
trouble or such.


Best regards,
Marek Vasut

  reply	other threads:[~2012-03-14  1:44 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <http://lists.denx.de/pipermail/u-boot/2012-March/#119442>
2012-03-13 14:04 ` [U-Boot] [PATCH V3] net: fec_mxc: allow use with cache enabled Eric Nelson
2012-03-13 14:41   ` Mike Frysinger
2012-03-13 18:42     ` Eric Nelson
2012-03-13 20:14       ` Mike Frysinger
2012-03-14  1:43         ` Marek Vasut
2012-03-14  5:12           ` Eric Nelson
2012-03-14  5:41             ` Mike Frysinger
2012-03-14 19:12               ` Eric Nelson
2012-03-14 20:33                 ` Mike Frysinger
2012-03-14 21:04                   ` Eric Nelson
2012-03-14 21:15                     ` Mike Frysinger
2012-03-14  5:45             ` Marek Vasut
2012-03-14  1:42       ` Marek Vasut
2012-03-13 15:48   ` Eric Nelson
2012-03-14  1:44     ` Marek Vasut [this message]
2012-03-14  1:46   ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201203140244.54016.marex@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.