1
0

scsi: qla2xxx: Add FC-NVMe command handling

This patch adds logic to handle the completion of FC-NVMe commands and
creates a sub-command in the SRB command structure to manage NVMe
commands.

Signed-off-by: Darren Trapp <darren.trapp@cavium.com>
Signed-off-by: Duane Grigsby <duane.grigsby@cavium.com>
Signed-off-by: Anil Gurumurthy <anil.gurumurhty@cavium.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Duane Grigsby
2017-06-21 13:48:42 -07:00
committed by Martin K. Petersen
parent a5d42f4cff
commit 7401bc18d1
4 changed files with 131 additions and 5 deletions

View File

@@ -412,6 +412,20 @@ struct srb_iocb {
struct {
struct imm_ntfy_from_isp *ntfy;
} nack;
struct {
__le16 comp_status;
uint16_t rsp_pyld_len;
uint8_t aen_op;
void *desc;
/* These are only used with ls4 requests */
int cmd_len;
int rsp_len;
dma_addr_t cmd_dma;
dma_addr_t rsp_dma;
uint32_t dl;
uint32_t timeout_sec;
} nvme;
} u;
struct timer_list timer;
@@ -437,6 +451,7 @@ struct srb_iocb {
#define SRB_NACK_PLOGI 16
#define SRB_NACK_PRLI 17
#define SRB_NACK_LOGO 18
#define SRB_NVME_CMD 19
#define SRB_PRLI_CMD 21
enum {
@@ -4110,6 +4125,8 @@ typedef struct scsi_qla_host {
struct nvme_fc_local_port *nvme_local_port;
atomic_t nvme_ref_count;
struct list_head nvme_rport_list;
atomic_t nvme_active_aen_cnt;
uint16_t nvme_last_rptd_aen;
uint16_t fcoe_vlan_id;
uint16_t fcoe_fcf_idx;