ixgbe: cleanup ixgbe_setup_gpie() for X540
authorDon Skidmore <donald.c.skidmore@intel.com>
Wed, 17 Aug 2011 10:15:21 +0000 (10:15 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 29 Sep 2011 06:11:25 +0000 (23:11 -0700)
The X540 thermal sensor interrupt isn't a General Purpose Interrupt
so doesn't need to be enabled in ixgbe_setup_gpie().  Likewise X540 doesn't
use the SDP0 for thermal sensor so it doesn't need to be enabled for any
device other than 82599.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index 79636eaeb74d160285d5d9f89f09ece0f2304a61..3f5c5a4291a6cbf0ffad8c2fc17d320313bb5d86 100644 (file)
@@ -3680,8 +3680,18 @@ static void ixgbe_setup_gpie(struct ixgbe_adapter *adapter)
        }
 
        /* Enable Thermal over heat sensor interrupt */
-       if (adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_CAPABLE)
-               gpie |= IXGBE_SDP0_GPIEN;
+       if (adapter->flags2 & IXGBE_FLAG2_TEMP_SENSOR_CAPABLE) {
+               switch (adapter->hw.mac.type) {
+               case ixgbe_mac_82599EB:
+                       gpie |= IXGBE_SDP0_GPIEN;
+                       break;
+               case ixgbe_mac_X540:
+                       gpie |= IXGBE_EIMS_TS;
+                       break;
+               default:
+                       break;
+               }
+       }
 
        /* Enable fan failure interrupt */
        if (adapter->flags & IXGBE_FLAG_FAN_FAIL_CAPABLE)