Changeset 12403

Show
Ignore:
Timestamp:
06/29/09 23:05:21 (5 months ago)
Author:
BrainSlayer
Message:

fixes mtu size for ar8216 switch (thx nbd and myself)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/linux/ar531x/linux-2.6.23/drivers/net/phy/ar8216.c

    r12402 r12403  
    171171        unsigned char *buf; 
    172172 
    173     if (unlikely(!priv)) 
    174         goto error; 
     173       if (unlikely(!priv)) 
     174               goto error; 
    175175 
    176176        if (!priv->vlan) 
     
    182182        } 
    183183 
    184         buf = skb_push(skb, 2); 
    185         buf[0] = 0x10; 
    186         buf[1] = 0x80; 
     184 
     185        skb_push(skb, 2); 
     186        skb->data[0] = 0x10; 
     187        skb->data[1] = 0x80; 
    187188 
    188189send: 
     
    219220 
    220221        /* check for vlan header presence */ 
    221         if ((buf[12 + 2] != 0x81) || (buf[13 + 2] != 0x00)) 
     222        if ((buf[12 + 2] != 0x81) || (buf[13 + 2] != 0x00)) // always present 
    222223                goto recv; 
    223224 
     
    232233 
    233234        buf[14 + 2] &= 0xf0; 
    234         buf[14 + 2] |= vlan >> 8; 
     235        buf[14 + 2] |= vlan >> 8;  //quatsch 
    235236        buf[15 + 2] = vlan & 0xff; 
    236237 
     
    489490        /* XXX: undocumented magic from atheros, required! */ 
    490491        priv->write(priv, 0x38, 0xc000050e); 
     492        priv->write(priv,0x60, 0xffffffff); 
     493        priv->write(priv,0x64, 0xaaaaaaaa); 
     494        priv->write(priv,0x68, 0x55555555);     
     495        priv->write(priv,0x6c, 0x0);     
     496        priv->write(priv,0x70, 0x41af); 
     497 
     498        /* set mtu */ 
     499        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL,AR8216_GCTRL_MTU,1716 ); //     1500 + 4 /* vlan */ + 2 /* header */); 
     500 
     501 
    491502        return ar8216_hw_apply(dev); 
    492503} 
  • src/linux/ar531x/linux-2.6.23/drivers/net/phy/ar8216.h

    r12398 r12403  
    2727#define AR8216_REG_CTRL                 0x0000 
    2828#define   AR8216_CTRL_RESET             BIT(31) 
     29 
     30#define AR8216_REG_GLOBAL_CTRL          0x0030 
     31#define   AR8216_GCTRL_MTU              BITS(0, 10) 
    2932 
    3033#define AR8216_REG_VTU                  0x0040