Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -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)
+8 −5
Original line number Diff line number Diff line
@@ -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 */
@@ -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;

@@ -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;