diff options
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlcnic')
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | 21 | ||||
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 24 |
3 files changed, 11 insertions, 35 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h index c1b693cb3df3..60f310a542da 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | |||
@@ -303,7 +303,6 @@ extern int qlcnic_use_msi; | |||
303 | extern int qlcnic_use_msi_x; | 303 | extern int qlcnic_use_msi_x; |
304 | extern int qlcnic_auto_fw_reset; | 304 | extern int qlcnic_auto_fw_reset; |
305 | extern int qlcnic_load_fw_file; | 305 | extern int qlcnic_load_fw_file; |
306 | extern int qlcnic_config_npars; | ||
307 | 306 | ||
308 | /* Number of status descriptors to handle per interrupt */ | 307 | /* Number of status descriptors to handle per interrupt */ |
309 | #define MAX_STATUS_HANDLE (64) | 308 | #define MAX_STATUS_HANDLE (64) |
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c index b0c3de9ede03..55e5e1b5ad4f 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_vnic.c | |||
@@ -42,27 +42,18 @@ int qlcnic_83xx_disable_vnic_mode(struct qlcnic_adapter *adapter, int lock) | |||
42 | static int qlcnic_83xx_set_vnic_opmode(struct qlcnic_adapter *adapter) | 42 | static int qlcnic_83xx_set_vnic_opmode(struct qlcnic_adapter *adapter) |
43 | { | 43 | { |
44 | u8 id; | 44 | u8 id; |
45 | int i, ret = -EBUSY; | 45 | int ret = -EBUSY; |
46 | u32 data = QLCNIC_MGMT_FUNC; | 46 | u32 data = QLCNIC_MGMT_FUNC; |
47 | struct qlcnic_hardware_context *ahw = adapter->ahw; | 47 | struct qlcnic_hardware_context *ahw = adapter->ahw; |
48 | 48 | ||
49 | if (qlcnic_83xx_lock_driver(adapter)) | 49 | if (qlcnic_83xx_lock_driver(adapter)) |
50 | return ret; | 50 | return ret; |
51 | 51 | ||
52 | if (qlcnic_config_npars) { | 52 | id = ahw->pci_func; |
53 | for (i = 0; i < ahw->act_pci_func; i++) { | 53 | data = QLCRDX(adapter->ahw, QLC_83XX_DRV_OP_MODE); |
54 | id = adapter->npars[i].pci_func; | 54 | data = (data & ~QLC_83XX_SET_FUNC_OPMODE(0x3, id)) | |
55 | if (id == ahw->pci_func) | 55 | QLC_83XX_SET_FUNC_OPMODE(QLCNIC_MGMT_FUNC, id); |
56 | continue; | 56 | |
57 | data |= qlcnic_config_npars & | ||
58 | QLC_83XX_SET_FUNC_OPMODE(0x3, id); | ||
59 | } | ||
60 | } else { | ||
61 | data = QLCRDX(adapter->ahw, QLC_83XX_DRV_OP_MODE); | ||
62 | data = (data & ~QLC_83XX_SET_FUNC_OPMODE(0x3, ahw->pci_func)) | | ||
63 | QLC_83XX_SET_FUNC_OPMODE(QLCNIC_MGMT_FUNC, | ||
64 | ahw->pci_func); | ||
65 | } | ||
66 | QLCWRX(adapter->ahw, QLC_83XX_DRV_OP_MODE, data); | 57 | QLCWRX(adapter->ahw, QLC_83XX_DRV_OP_MODE, data); |
67 | 58 | ||
68 | qlcnic_83xx_unlock_driver(adapter); | 59 | qlcnic_83xx_unlock_driver(adapter); |
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 76b95b48c815..5b18b0accb06 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | |||
@@ -52,10 +52,6 @@ int qlcnic_load_fw_file; | |||
52 | MODULE_PARM_DESC(load_fw_file, "Load firmware from (0=flash, 1=file)"); | 52 | MODULE_PARM_DESC(load_fw_file, "Load firmware from (0=flash, 1=file)"); |
53 | module_param_named(load_fw_file, qlcnic_load_fw_file, int, 0444); | 53 | module_param_named(load_fw_file, qlcnic_load_fw_file, int, 0444); |
54 | 54 | ||
55 | int qlcnic_config_npars; | ||
56 | module_param(qlcnic_config_npars, int, 0444); | ||
57 | MODULE_PARM_DESC(qlcnic_config_npars, "Configure NPARs (0=disabled, 1=enabled)"); | ||
58 | |||
59 | static int qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent); | 55 | static int qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent); |
60 | static void qlcnic_remove(struct pci_dev *pdev); | 56 | static void qlcnic_remove(struct pci_dev *pdev); |
61 | static int qlcnic_open(struct net_device *netdev); | 57 | static int qlcnic_open(struct net_device *netdev); |
@@ -769,7 +765,7 @@ static int | |||
769 | qlcnic_set_function_modes(struct qlcnic_adapter *adapter) | 765 | qlcnic_set_function_modes(struct qlcnic_adapter *adapter) |
770 | { | 766 | { |
771 | u8 id; | 767 | u8 id; |
772 | int i, ret = 1; | 768 | int ret; |
773 | u32 data = QLCNIC_MGMT_FUNC; | 769 | u32 data = QLCNIC_MGMT_FUNC; |
774 | struct qlcnic_hardware_context *ahw = adapter->ahw; | 770 | struct qlcnic_hardware_context *ahw = adapter->ahw; |
775 | 771 | ||
@@ -777,20 +773,10 @@ qlcnic_set_function_modes(struct qlcnic_adapter *adapter) | |||
777 | if (ret) | 773 | if (ret) |
778 | goto err_lock; | 774 | goto err_lock; |
779 | 775 | ||
780 | if (qlcnic_config_npars) { | 776 | id = ahw->pci_func; |
781 | for (i = 0; i < ahw->act_pci_func; i++) { | 777 | data = QLC_SHARED_REG_RD32(adapter, QLCNIC_DRV_OP_MODE); |
782 | id = adapter->npars[i].pci_func; | 778 | data = (data & ~QLC_DEV_SET_DRV(0xf, id)) | |
783 | if (id == ahw->pci_func) | 779 | QLC_DEV_SET_DRV(QLCNIC_MGMT_FUNC, id); |
784 | continue; | ||
785 | data |= (qlcnic_config_npars & | ||
786 | QLC_DEV_SET_DRV(0xf, id)); | ||
787 | } | ||
788 | } else { | ||
789 | data = QLC_SHARED_REG_RD32(adapter, QLCNIC_DRV_OP_MODE); | ||
790 | data = (data & ~QLC_DEV_SET_DRV(0xf, ahw->pci_func)) | | ||
791 | (QLC_DEV_SET_DRV(QLCNIC_MGMT_FUNC, | ||
792 | ahw->pci_func)); | ||
793 | } | ||
794 | QLC_SHARED_REG_WR32(adapter, QLCNIC_DRV_OP_MODE, data); | 780 | QLC_SHARED_REG_WR32(adapter, QLCNIC_DRV_OP_MODE, data); |
795 | qlcnic_api_unlock(adapter); | 781 | qlcnic_api_unlock(adapter); |
796 | err_lock: | 782 | err_lock: |