Ignore:
Timestamp:
2012-03-08T11:21:11+01:00 (5 years ago)
Author:
juhosg
Message:

generic: ar8216: move register inititalization into hw_init

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/files/drivers/net/phy/ar8216.c

    r30854 r30855  
    639639 
    640640static int 
     641ar8216_hw_init(struct ar8216_priv *priv) 
     642{ 
     643        /* XXX: undocumented magic from atheros, required! */ 
     644        priv->write(priv, 0x38, 0xc000050e); 
     645 
     646        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
     647                   AR8216_GCTRL_MTU, 1518 + 8 + 2); 
     648        return 0; 
     649} 
     650 
     651static int 
    641652ar8236_hw_init(struct ar8216_priv *priv) { 
    642653        static int initialized; 
     
    656667        } 
    657668        msleep(1000); 
     669 
     670        /* enable jumbo frames */ 
     671        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
     672                   AR8316_GCTRL_MTU, 9018 + 8 + 2); 
    658673 
    659674        initialized = true; 
     
    721736        } 
    722737 
     738        /* enable jumbo frames */ 
     739        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
     740                   AR8316_GCTRL_MTU, 9018 + 8 + 2); 
     741 
     742        /* enable cpu port to receive multicast and broadcast frames */ 
     743        priv->write(priv, AR8216_REG_FLOOD_MASK, 0x003f003f); 
     744 
    723745out: 
    724746        priv->initialized = true; 
     
    769791                ar8216_init_port(priv, i); 
    770792 
    771         /* XXX: undocumented magic from atheros, required! */ 
    772         priv->write(priv, 0x38, 0xc000050e); 
    773  
    774         if (priv->chip == AR8216) { 
    775                 ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
    776                         AR8216_GCTRL_MTU, 1518 + 8 + 2); 
    777         } else if (priv->chip == AR8316 || 
    778                    priv->chip == AR8236) { 
    779                 /* enable jumbo frames */ 
    780                 ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
    781                         AR8316_GCTRL_MTU, 9018 + 8 + 2); 
    782         } 
    783  
    784         if (priv->chip == AR8316) { 
    785                 /* enable cpu port to receive multicast and broadcast frames */ 
    786                 priv->write(priv, AR8216_REG_FLOOD_MASK, 0x003f003f); 
    787         } 
    788793        mutex_unlock(&priv->reg_mutex); 
    789794        return ar8216_hw_apply(dev); 
     
    909914 
    910915        ret = 0; 
    911         if (priv->chip == AR8236) 
     916        if (priv->chip == AR8216) 
     917                ret = ar8216_hw_init(priv); 
     918        else if (priv->chip == AR8236) 
    912919                ret = ar8236_hw_init(priv); 
    913920        else if (priv->chip == AR8316) 
Note: See TracChangeset for help on using the changeset viewer.