From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/4] net: tweak eth_device layout to simplify enetaddr use
Date: Fri, 11 Nov 2011 10:03:14 -0500 [thread overview]
Message-ID: <201111111003.15436.vapier@gentoo.org> (raw)
In-Reply-To: <20111111115545.8799C1404440@gemini.denx.de>
On Friday 11 November 2011 06:55:45 Wolfgang Denk wrote:
> Mike Frysinger wrote:
> > The current eth_device leaves a 2 byte hole after "enetaddr" and before
> > "iobase". Since the enetaddr member has to be 6 bytes, we might as well
> > fill that 2 byte hole with something useful.
> >
> > Further, most device drivers want to load enetaddr from memory into the
> > hardware as 1 32bit value and 1 16bit value.
> >
> > So re-arrange the structure slightly, and add an anonymous union to make
> >
> > eth_device even better:
> > - expand the name field to fill the 2 byte hole
> > - make sure enetaddr is aligned, and provides 32bit/16bit members
>
> I'm OK with expanding the name[] field, but as Thomas pointed out,
> providing "convenient" u32 / u16 variables for the MAC address is
> actually a faux ami that misleads people into using these variables
> without thinking about endianess and such.
>
> Please omit this part.
there's always the endian issue. i'd wager that the vast majority of the
time, the endian of the target hardware is the same as the core. so omitting
this for odd devices or device driver writers who aren't careful is being too
pessimistic imo. i can add qualifiers to the name like "enetaddr_cpu32" if you
want. looking at the generated code shows really nice improvements: a single
cpu load instead of 4 loads interspersed with bitshifts.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20111111/0821e42c/attachment.pgp
next prev parent reply other threads:[~2011-11-11 15:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-11 0:11 [U-Boot] [PATCH 1/4] net/miiphy/serial: drop duplicate "NAMESIZE" define Mike Frysinger
2011-11-11 0:11 ` [U-Boot] [PATCH 2/4] net: tweak eth_device layout to simplify enetaddr use Mike Frysinger
2011-11-11 11:19 ` thomas.langer at lantiq.com
2011-11-11 11:55 ` Wolfgang Denk
2011-11-11 15:03 ` Mike Frysinger [this message]
2011-11-11 15:44 ` Andy Fleming
2011-11-11 16:06 ` Mike Frysinger
2011-12-05 21:06 ` Wolfgang Denk
2011-11-11 0:11 ` [U-Boot] [PATCH 3/4] Blackfin: bfin_mac: use new eth_device enetaddr members Mike Frysinger
2011-11-11 0:11 ` [U-Boot] [PATCH 4/4] usb: net: smsc95xx: attempt to fix enetaddr loading Mike Frysinger
2011-11-11 22:07 ` [U-Boot] [PATCH 1/4] net/miiphy/serial: drop duplicate "NAMESIZE" define Andy Fleming
2011-11-11 22:47 ` Mike Frysinger
2012-03-18 19:11 ` Wolfgang Denk
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=201111111003.15436.vapier@gentoo.org \
--to=vapier@gentoo.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox