vxge: correct multi-function detection
authorJon Mason <jon.mason@exar.com>
Thu, 11 Nov 2010 04:26:01 +0000 (04:26 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Nov 2010 17:30:23 +0000 (09:30 -0800)
The values used to determined if the adapter is running in single or
multi-function mode were previously modified to the values necessary
when making the VXGE_HW_FW_API_GET_FUNC_MODE firmware call.  However,
the firmware call was not modified.  This had the driver printing out on
probe that the adapter was in multi-function mode when in single
function mode and vice versa.

Signed-off-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: Ram Vepa <ram.vepa@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vxge/vxge-config.c
drivers/net/vxge/vxge-reg.h

index 5903b2e9a6e98899cdb809b5e281a9e986eadd55..14dc8c8f47ef6edd2c2659da2fbe8cb300570355 100644 (file)
@@ -1091,16 +1091,16 @@ __vxge_hw_vpath_pci_func_mode_get(struct __vxge_hw_virtualpath *vpath,
        u64 data0, data1 = 0, steer_ctrl = 0;
        enum vxge_hw_status status;
 
-       data0 = VXGE_HW_RTS_ACCESS_STEER_DATA0_MEMO_ITEM_PCI_MODE;
+       data0 = 0;
 
        status = vxge_hw_vpath_fw_api(vpath,
-                       VXGE_HW_RTS_ACCESS_STEER_CTRL_ACTION_READ_MEMO_ENTRY,
+                       VXGE_HW_FW_API_GET_FUNC_MODE,
                        VXGE_HW_RTS_ACCESS_STEER_CTRL_DATA_STRUCT_SEL_FW_MEMO,
                        0, &data0, &data1, &steer_ctrl);
        if (status != VXGE_HW_OK)
                return status;
 
-       hw_info->function_mode = data0;
+       hw_info->function_mode = VXGE_HW_GET_FUNC_MODE_VAL(data0);
        return status;
 }
 
index 0df52dbd42a0b8b401cc65df88c2bd271adc6e49..3e658b175947809e194e661fca36e9716304f193 100644 (file)
@@ -62,6 +62,9 @@
 #define VXGE_HW_GET_EPROM_IMAGE_REV(val)               vxge_bVALn(val, 48, 16)
 #define VXGE_HW_RTS_ACCESS_STEER_ROM_IMAGE_INDEX(val)  vxge_vBIT(val, 16, 8)
 
+#define VXGE_HW_FW_API_GET_FUNC_MODE                   29
+#define VXGE_HW_GET_FUNC_MODE_VAL(val)                 (val & 0xFF)
+
 #define VXGE_HW_FW_UPGRADE_MEMO                                13
 #define VXGE_HW_FW_UPGRADE_ACTION                      16
 #define VXGE_HW_FW_UPGRADE_OFFSET_START                        2