[PATCH v4] ibm_newemac: Parameterize EMAC Multicast Match Handling
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun Jul 6 10:31:39 EST 2008
On Sat, 2008-07-05 at 17:15 -0700, Grant Erickson wrote:
> + union {
> + /* Registers unique to EMAC4 implementations */
> + struct {
> + u32 iaht1; /* Reset, R */
> + u32 iaht2; /* Reset, R */
> + u32 iaht3; /* Reset, R */
> + u32 iaht4; /* Reset, R */
> + u32 gaht1; /* Reset, R */
> + u32 gaht2; /* Reset, R */
> + u32 gaht3; /* Reset, R */
> + u32 gaht4; /* Reset, R */
> + u32 lsah;
> + u32 lsal;
> + u32 ipgvr; /* Reset, T */
> + u32 stacr; /* Special */
> + u32 trtr; /* Special */
> + u32 rwmr; /* Reset */
> + u32 octx;
> + u32 ocrx;
> + u32 ipcr;
> + };
> + /* Registers unique to EMAC4SYNC implementations */
> + struct {
> + u32 mahr; /* Reset, R, T */
> + u32 malr; /* Reset, R, T */
> + u32 mmahr; /* Reset, R, T */
> + u32 mmalr; /* Reset, R, T */
> + u32 rsvd0[4];
> + u32 lsah;
> + u32 lsal;
> + u32 ipgvr; /* Reset, T */
> + u32 stacr;
> + u32 trtr;
> + u32 rwmr; /* Reset */
> + u32 octx;
> + u32 ocrx;
> + u32 rsvd1;
> + u32 revid;
> + u32 rsvd2[2];
> + u32 iaht[8]; /* Reset, R */
> + u32 gaht[8]; /* Reset, R */
> + u32 tpc; /* Reset, T */
> + };
> + };
Getting there :-) I note that all your sub-structs are unnamed. How does
the compiler knows which one to use to get to, for example, "lsah" ?
Thanks for working on that btw !
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list