Thread (11 messages) flat view 11 messages, 3 authors, 2006-09-05

Re: sky2 problem on powerpc

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-09-05 21:11:16

On Mon, 2006-09-04 at 21:15 -0700, Stephen Hemminger wrote:
On Tue, 05 Sep 2006 13:47:52 +1000
Benjamin Herrenschmidt [off-list ref] wrote:
quoted
quoted
It may not need any swapping, it is hard to tell what the hardware
will do without experimentation.
Yes... did you have a chance to test the vlan stuff on LE machines
(x86) ? did it work with the BE swapping you were doing ? I've
purposedly removed in my patches the hardware side swapping of the
descriptors, as I explained, thus making the hardware react the same on
ppc and x86. Thus we need the exact same swapping macros on both
platforms).

Last time I checked it worked.  Private cable simulating VLAN
from other Linux card.
Ok, so we should probably switch back the vlan bits to BE swapping
macros... 

However, we then have an inconsistency with that bit:

#ifdef SKY2_VLAN_TAG_USED
                case OP_RXVLAN:
                        sky2->rx_tag = length;
                        break;

                case OP_RXCHKSVLAN:
                        sky2->rx_tag = length;
                        /* fall through */
#endif

in sky2_status_intr()

Where we read the lenght field directly without swapping (on the non
patched driver, on the patched driver, lenght will have gone through an
LE swap). That is, if you take the standpoint of a LE machine, you will
read that value as a little endian value while elsewhere, we manipulate
sky2->rx_tag as a BE value... (this is even without my patch)

Ben.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help