ixgbe: Add generic XAUI support to 82599
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Sun, 17 May 2009 20:58:04 +0000 (20:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 May 2009 22:09:44 +0000 (15:09 -0700)
This patch adds the generic XAUI device support for 82599 controllers.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe_82599.c
drivers/net/ixgbe/ixgbe_main.c
drivers/net/ixgbe/ixgbe_type.h

index eaecf5e595c7dd6bfae06b23365eeaa793fe28f1..39d7b64aced7bff18c6da94bf93af89189d34b2e 100644 (file)
@@ -347,6 +347,7 @@ enum ixgbe_media_type ixgbe_get_media_type_82599(struct ixgbe_hw *hw)
        switch (hw->device_id) {
        case IXGBE_DEV_ID_82599:
        case IXGBE_DEV_ID_82599_KX4:
+       case IXGBE_DEV_ID_82599_XAUI_LOM:
                /* Default device ID is mezzanine card KX/KX4 */
                media_type = ixgbe_media_type_backplane;
                break;
@@ -1199,6 +1200,8 @@ u32 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw)
                        physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_CX4;
                else if (pma_pmd_10g_parallel == IXGBE_AUTOC_10G_KX4)
                        physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_KX4;
+               else if (pma_pmd_10g_parallel == IXGBE_AUTOC_10G_XAUI)
+                       physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_XAUI;
                goto out;
                break;
        case IXGBE_AUTOC_LMS_10G_SERIAL:
index 4ab17ab7fbce22ee93587213acff888a8ba450a5..f9f8831b993f7ddeb22d0dc43099166b92208133 100644 (file)
@@ -90,6 +90,8 @@ static struct pci_device_id ixgbe_pci_tbl[] = {
         board_82598 },
        {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_KX4),
         board_82599 },
+       {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_XAUI_LOM),
+        board_82599 },
        {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP),
         board_82599 },
 
index cb73b30f6c43a3f9c63b6b54a8d25d6db0e8b829..ba3ed0f0bc9cd68ac8b223332d7ca8ee3b12adf6 100644 (file)
@@ -49,6 +49,7 @@
 #define IXGBE_DEV_ID_82599               0x10D8
 #define IXGBE_DEV_ID_82599_KX4           0x10F7
 #define IXGBE_DEV_ID_82599_SFP           0x10FB
+#define IXGBE_DEV_ID_82599_XAUI_LOM      0x10FC
 
 /* General Registers */
 #define IXGBE_CTRL      0x00000
@@ -1954,6 +1955,7 @@ typedef u32 ixgbe_physical_layer;
 #define IXGBE_PHYSICAL_LAYER_1000BASE_KX  0x0200
 #define IXGBE_PHYSICAL_LAYER_1000BASE_BX  0x0400
 #define IXGBE_PHYSICAL_LAYER_10GBASE_KR   0x0800
+#define IXGBE_PHYSICAL_LAYER_10GBASE_XAUI 0x1000
 
 enum ixgbe_eeprom_type {
        ixgbe_eeprom_uninitialized = 0,