kernel: update linux 3.8 to 3.8.6
[openwrt/staging/wigyori.git] / target / linux / brcm47xx / patches-3.8 / 700-ssb-gigabit-ethernet-driver.patch
index 193454e50c70e1e109e19c9291db82babbe812e3..e38f45522dae9133e5dcc34cd25c9922d44cc6af 100644 (file)
                u32 val = tr32(0x7d00);
  
                val &= ~((1 << 16) | (1 << 4) | (1 << 2) | (1 << 1) | 1);
-@@ -4431,6 +4461,15 @@ relink:
+@@ -4439,6 +4469,15 @@ relink:
        if (current_link_up == 0 || (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
                tg3_phy_copper_begin(tp);
  
                tg3_readphy(tp, MII_BMSR, &bmsr);
                if ((!tg3_readphy(tp, MII_BMSR, &bmsr) && (bmsr & BMSR_LSTATUS)) ||
                    (tp->mac_mode & MAC_MODE_PORT_INT_LPBACK))
-@@ -4449,6 +4488,26 @@ relink:
+@@ -4457,6 +4496,26 @@ relink:
        else
                tp->mac_mode |= MAC_MODE_PORT_MODE_GMII;
  
        tp->mac_mode &= ~MAC_MODE_HALF_DUPLEX;
        if (tp->link_config.active_duplex == DUPLEX_HALF)
                tp->mac_mode |= MAC_MODE_HALF_DUPLEX;
-@@ -8427,6 +8486,16 @@ static int tg3_chip_reset(struct tg3 *tp
+@@ -8435,6 +8494,16 @@ static int tg3_chip_reset(struct tg3 *tp
                tw32(0x5000, 0x400);
        }
  
        tw32(GRC_MODE, tp->grc_mode);
  
        if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) {
-@@ -10060,6 +10129,11 @@ static void tg3_timer(unsigned long __op
+@@ -10068,6 +10137,11 @@ static void tg3_timer(unsigned long __op
            tg3_flag(tp, 57765_CLASS))
                tg3_chk_missed_msi(tp);
  
        if (!tg3_flag(tp, TAGGED_STATUS)) {
                /* All of this garbage is because when using non-tagged
                 * IRQ status the mailbox/status_block protocol the chip
-@@ -12933,7 +13007,8 @@ static int tg3_ioctl(struct net_device *
+@@ -12941,7 +13015,8 @@ static int tg3_ioctl(struct net_device *
                        return -EAGAIN;
  
                spin_lock_bh(&tp->lock);
                spin_unlock_bh(&tp->lock);
  
                data->val_out = mii_regval;
-@@ -12949,7 +13024,8 @@ static int tg3_ioctl(struct net_device *
+@@ -12957,7 +13032,8 @@ static int tg3_ioctl(struct net_device *
                        return -EAGAIN;
  
                spin_lock_bh(&tp->lock);
                spin_unlock_bh(&tp->lock);
  
                return err;
-@@ -13802,6 +13878,14 @@ static void tg3_get_5720_nvram_info(stru
+@@ -13810,6 +13886,14 @@ static void tg3_get_5720_nvram_info(stru
  /* Chips other than 5700/5701 use the NVRAM for fetching info. */
  static void tg3_nvram_init(struct tg3 *tp)
  {
        tw32_f(GRC_EEPROM_ADDR,
             (EEPROM_ADDR_FSM_RESET |
              (EEPROM_DEFAULT_CLOCK_PERIOD <<
-@@ -14294,10 +14378,19 @@ static int tg3_phy_probe(struct tg3 *tp)
+@@ -14302,10 +14386,19 @@ static int tg3_phy_probe(struct tg3 *tp)
                         * subsys device table.
                         */
                        p = tg3_lookup_by_subsys(tp);
                        if (!tp->phy_id ||
                            tp->phy_id == TG3_PHY_ID_BCM8002)
                                tp->phy_flags |= TG3_PHYFLG_PHY_SERDES;
-@@ -15342,6 +15435,11 @@ static int tg3_get_invariants(struct tg3
+@@ -15353,6 +15446,11 @@ static int tg3_get_invariants(struct tg3
                }
        }
  
        /* Get eeprom hw config before calling tg3_set_power_state().
         * In particular, the TG3_FLAG_IS_NIC flag must be
         * determined before calling tg3_set_power_state() so that
-@@ -15675,12 +15773,19 @@ static int tg3_get_device_address(struct
+@@ -15686,12 +15784,19 @@ static int tg3_get_device_address(struct
        struct net_device *dev = tp->dev;
        u32 hi, lo, mac_offset;
        int addr_ok = 0;
        mac_offset = 0x7c;
        if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 ||
            tg3_flag(tp, 5780_CLASS)) {
-@@ -16041,6 +16146,8 @@ static int tg3_test_dma(struct tg3 *tp)
+@@ -16052,6 +16157,8 @@ static int tg3_test_dma(struct tg3 *tp)
                        tp->dma_rwctrl |= 0x001b000f;
                }
        }
  
        if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 ||
            GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704)
-@@ -16385,6 +16492,18 @@ static int tg3_init_one(struct pci_dev *
+@@ -16396,6 +16503,18 @@ static int tg3_init_one(struct pci_dev *
        else
                tp->msg_enable = TG3_DEF_MSG_ENABLE;