Changeset 31004


Ignore:
Timestamp:
2012-03-18T23:06:36+01:00 (6 years ago)
Author:
juhosg
Message:

generic: ar8216: add init_globals field to ar8xxx_chip

File:
1 edited

Legend:

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

    r31003 r31004  
    4545 
    4646        int (*hw_init)(struct ar8216_priv *priv); 
     47        void (*init_globals)(struct ar8216_priv *priv); 
    4748        void (*init_port)(struct ar8216_priv *priv, int port); 
    4849        void (*setup_port)(struct ar8216_priv *priv, int port, u32 egress, 
     
    730731ar8216_init_globals(struct ar8216_priv *priv) 
    731732{ 
    732         switch (priv->chip_type) { 
    733         case AR8216: 
    734                 /* standard atheros magic */ 
    735                 priv->write(priv, 0x38, 0xc000050e); 
    736  
    737                 ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
    738                            AR8216_GCTRL_MTU, 1518 + 8 + 2); 
    739                 break; 
    740         case AR8316: 
    741                 /* standard atheros magic */ 
    742                 priv->write(priv, 0x38, 0xc000050e); 
    743  
    744                 /* enable cpu port to receive multicast and broadcast frames */ 
    745                 priv->write(priv, AR8216_REG_FLOOD_MASK, 0x003f003f); 
    746  
    747                 /* fall through */ 
    748         case AR8236: 
    749                 /* enable jumbo frames */ 
    750                 ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
    751                            AR8316_GCTRL_MTU, 9018 + 8 + 2); 
    752                 break; 
    753         } 
     733        /* standard atheros magic */ 
     734        priv->write(priv, 0x38, 0xc000050e); 
     735 
     736        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
     737                   AR8216_GCTRL_MTU, 1518 + 8 + 2); 
     738} 
     739 
     740static void 
     741ar8236_init_globals(struct ar8216_priv *priv) 
     742{ 
     743        /* enable jumbo frames */ 
     744        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
     745                   AR8316_GCTRL_MTU, 9018 + 8 + 2); 
     746} 
     747 
     748static void 
     749ar8316_init_globals(struct ar8216_priv *priv) 
     750{ 
     751        /* standard atheros magic */ 
     752        priv->write(priv, 0x38, 0xc000050e); 
     753 
     754        /* enable cpu port to receive multicast and broadcast frames */ 
     755        priv->write(priv, AR8216_REG_FLOOD_MASK, 0x003f003f); 
     756 
     757        /* enable jumbo frames */ 
     758        ar8216_rmw(priv, AR8216_REG_GLOBAL_CTRL, 
     759                   AR8316_GCTRL_MTU, 9018 + 8 + 2); 
    754760} 
    755761 
     
    782788static const struct ar8xxx_chip ar8216_chip = { 
    783789        .hw_init = ar8216_hw_init, 
     790        .init_globals = ar8216_init_globals, 
    784791        .init_port = ar8216_init_port, 
    785792        .setup_port = ar8216_setup_port, 
     
    791798static const struct ar8xxx_chip ar8236_chip = { 
    792799        .hw_init = ar8236_hw_init, 
     800        .init_globals = ar8236_init_globals, 
    793801        .init_port = ar8216_init_port, 
    794802        .setup_port = ar8236_setup_port, 
     
    801809        .caps = AR8XXX_CAP_GIGE, 
    802810        .hw_init = ar8316_hw_init, 
     811        .init_globals = ar8316_init_globals, 
    803812        .init_port = ar8216_init_port, 
    804813        .setup_port = ar8216_setup_port, 
Note: See TracChangeset for help on using the changeset viewer.