Commit 22abeef0 authored by John Soni Jose's avatar John Soni Jose Committed by James Bottomley

[SCSI] be2iscsi: Fix max EQ supported by the driver.

Fix the max EQ created when driver is loaded. Max EQ for
for new adapters will be 64.
Signed-off-by: default avatarJohn Soni Jose <sony.john-n@emulex.com>
Signed-off-by: default avatarJayamohan Kallickal <jayamohan.kallickal@emulex.com>
Reviewed-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 139a1b1e
...@@ -3325,8 +3325,19 @@ static void find_num_cpus(struct beiscsi_hba *phba) ...@@ -3325,8 +3325,19 @@ static void find_num_cpus(struct beiscsi_hba *phba)
num_cpus = num_online_cpus(); num_cpus = num_online_cpus();
phba->num_cpus = (num_cpus >= BEISCSI_MAX_NUM_CPU) ? switch (phba->generation) {
(BEISCSI_MAX_NUM_CPU - 1) : num_cpus; case BE_GEN2:
case BE_GEN3:
phba->num_cpus = (num_cpus > BEISCSI_MAX_NUM_CPUS) ?
BEISCSI_MAX_NUM_CPUS : num_cpus;
break;
case BE_GEN4:
phba->num_cpus = (num_cpus > OC_SKH_MAX_NUM_CPUS) ?
OC_SKH_MAX_NUM_CPUS : num_cpus;
break;
default:
phba->num_cpus = 1;
}
} }
static int hwi_init_port(struct beiscsi_hba *phba) static int hwi_init_port(struct beiscsi_hba *phba)
......
...@@ -64,8 +64,11 @@ ...@@ -64,8 +64,11 @@
#define BE2_DEFPDU_HDR_SZ 64 #define BE2_DEFPDU_HDR_SZ 64
#define BE2_DEFPDU_DATA_SZ 8192 #define BE2_DEFPDU_DATA_SZ 8192
#define MAX_CPUS 31 #define MAX_CPUS 64
#define BEISCSI_MAX_NUM_CPU 8 #define BEISCSI_MAX_NUM_CPUS 7
#define OC_SKH_MAX_NUM_CPUS 63
#define BEISCSI_SGLIST_ELEMENTS 30 #define BEISCSI_SGLIST_ELEMENTS 30
#define BEISCSI_CMD_PER_LUN 128 /* scsi_host->cmd_per_lun */ #define BEISCSI_CMD_PER_LUN 128 /* scsi_host->cmd_per_lun */
...@@ -279,8 +282,8 @@ struct beiscsi_hba { ...@@ -279,8 +282,8 @@ struct beiscsi_hba {
unsigned short asic_revision; unsigned short asic_revision;
unsigned int num_cpus; unsigned int num_cpus;
unsigned int nxt_cqid; unsigned int nxt_cqid;
struct msix_entry msix_entries[MAX_CPUS + 1]; struct msix_entry msix_entries[MAX_CPUS];
char *msi_name[MAX_CPUS + 1]; char *msi_name[MAX_CPUS];
bool msix_enabled; bool msix_enabled;
struct be_mem_descriptor *init_mem; struct be_mem_descriptor *init_mem;
...@@ -841,7 +844,7 @@ struct hwi_context_memory { ...@@ -841,7 +844,7 @@ struct hwi_context_memory {
u16 max_eqd; /* in usecs */ u16 max_eqd; /* in usecs */
u16 cur_eqd; /* in usecs */ u16 cur_eqd; /* in usecs */
struct be_eq_obj be_eq[MAX_CPUS]; struct be_eq_obj be_eq[MAX_CPUS];
struct be_queue_info be_cq[MAX_CPUS]; struct be_queue_info be_cq[MAX_CPUS - 1];
struct be_queue_info be_def_hdrq; struct be_queue_info be_def_hdrq;
struct be_queue_info be_def_dataq; struct be_queue_info be_def_dataq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment