Skip to content

Commit

Permalink
[SCSI] be2iscsi: Fix max EQ supported by the driver.
Browse files Browse the repository at this point in the history
Fix the max EQ created when driver is loaded. Max EQ for
for new adapters will be 64.

Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
  • Loading branch information
John Soni Jose authored and James Bottomley committed Nov 27, 2012
1 parent 139a1b1 commit 22abeef
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
15 changes: 13 additions & 2 deletions drivers/scsi/be2iscsi/be_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -3325,8 +3325,19 @@ static void find_num_cpus(struct beiscsi_hba *phba)

num_cpus = num_online_cpus();

phba->num_cpus = (num_cpus >= BEISCSI_MAX_NUM_CPU) ?
(BEISCSI_MAX_NUM_CPU - 1) : num_cpus;
switch (phba->generation) {
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)
Expand Down
13 changes: 8 additions & 5 deletions drivers/scsi/be2iscsi/be_main.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,11 @@
#define BE2_DEFPDU_HDR_SZ 64
#define BE2_DEFPDU_DATA_SZ 8192

#define MAX_CPUS 31
#define BEISCSI_MAX_NUM_CPU 8
#define MAX_CPUS 64
#define BEISCSI_MAX_NUM_CPUS 7
#define OC_SKH_MAX_NUM_CPUS 63


#define BEISCSI_SGLIST_ELEMENTS 30

#define BEISCSI_CMD_PER_LUN 128 /* scsi_host->cmd_per_lun */
Expand Down Expand Up @@ -279,8 +282,8 @@ struct beiscsi_hba {
unsigned short asic_revision;
unsigned int num_cpus;
unsigned int nxt_cqid;
struct msix_entry msix_entries[MAX_CPUS + 1];
char *msi_name[MAX_CPUS + 1];
struct msix_entry msix_entries[MAX_CPUS];
char *msi_name[MAX_CPUS];
bool msix_enabled;
struct be_mem_descriptor *init_mem;

Expand Down Expand Up @@ -841,7 +844,7 @@ struct hwi_context_memory {
u16 max_eqd; /* in usecs */
u16 cur_eqd; /* in usecs */
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_dataq;
Expand Down

0 comments on commit 22abeef

Please sign in to comment.