Commit 6ae208e5 authored by Tyrel Datwyler's avatar Tyrel Datwyler Committed by Martin K. Petersen

scsi: ibmvfc: Add vhost fields and defaults for MQ enablement

Introduce several new vhost fields for managing MQ state of the adapter as
well as initial defaults for MQ enablement.

Link: https://lore.kernel.org/r/20210114203148.246656-2-tyreld@linux.ibm.comReviewed-by: default avatarBrian King <brking@linux.vnet.ibm.com>
Signed-off-by: default avatarTyrel Datwyler <tyreld@linux.ibm.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 9cd20d3f
...@@ -3302,6 +3302,7 @@ static struct scsi_host_template driver_template = { ...@@ -3302,6 +3302,7 @@ static struct scsi_host_template driver_template = {
.max_sectors = IBMVFC_MAX_SECTORS, .max_sectors = IBMVFC_MAX_SECTORS,
.shost_attrs = ibmvfc_attrs, .shost_attrs = ibmvfc_attrs,
.track_queue_depth = 1, .track_queue_depth = 1,
.host_tagset = 1,
}; };
/** /**
...@@ -5290,6 +5291,7 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id) ...@@ -5290,6 +5291,7 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id)
shost->max_sectors = IBMVFC_MAX_SECTORS; shost->max_sectors = IBMVFC_MAX_SECTORS;
shost->max_cmd_len = IBMVFC_MAX_CDB_LEN; shost->max_cmd_len = IBMVFC_MAX_CDB_LEN;
shost->unique_id = shost->host_no; shost->unique_id = shost->host_no;
shost->nr_hw_queues = IBMVFC_MQ ? IBMVFC_SCSI_HW_QUEUES : 1;
vhost = shost_priv(shost); vhost = shost_priv(shost);
INIT_LIST_HEAD(&vhost->targets); INIT_LIST_HEAD(&vhost->targets);
...@@ -5300,6 +5302,12 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id) ...@@ -5300,6 +5302,12 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id)
vhost->partition_number = -1; vhost->partition_number = -1;
vhost->log_level = log_level; vhost->log_level = log_level;
vhost->task_set = 1; vhost->task_set = 1;
vhost->mq_enabled = IBMVFC_MQ;
vhost->client_scsi_channels = IBMVFC_SCSI_CHANNELS;
vhost->using_channels = 0;
vhost->do_enquiry = 1;
strcpy(vhost->partition_name, "UNKNOWN"); strcpy(vhost->partition_name, "UNKNOWN");
init_waitqueue_head(&vhost->work_wait_q); init_waitqueue_head(&vhost->work_wait_q);
init_waitqueue_head(&vhost->init_wait_q); init_waitqueue_head(&vhost->init_wait_q);
......
...@@ -41,6 +41,11 @@ ...@@ -41,6 +41,11 @@
#define IBMVFC_DEFAULT_LOG_LEVEL 2 #define IBMVFC_DEFAULT_LOG_LEVEL 2
#define IBMVFC_MAX_CDB_LEN 16 #define IBMVFC_MAX_CDB_LEN 16
#define IBMVFC_CLS3_ERROR 0 #define IBMVFC_CLS3_ERROR 0
#define IBMVFC_MQ 0
#define IBMVFC_SCSI_CHANNELS 0
#define IBMVFC_SCSI_HW_QUEUES 1
#define IBMVFC_MIG_NO_SUB_TO_CRQ 0
#define IBMVFC_MIG_NO_N_TO_M 0
/* /*
* Ensure we have resources for ERP and initialization: * Ensure we have resources for ERP and initialization:
...@@ -840,6 +845,10 @@ struct ibmvfc_host { ...@@ -840,6 +845,10 @@ struct ibmvfc_host {
int delay_init; int delay_init;
int scan_complete; int scan_complete;
int logged_in; int logged_in;
int mq_enabled;
int using_channels;
int do_enquiry;
int client_scsi_channels;
int aborting_passthru; int aborting_passthru;
int events_to_log; int events_to_log;
#define IBMVFC_AE_LINKUP 0x0001 #define IBMVFC_AE_LINKUP 0x0001
......
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