blob: e245b6ed08756c980c9c6c2c23fe8d2bfbda927d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* ibmvfc-nvme.h -- IBM Power Virtual Fibre Channel NVMeoF HBA driver
*
* Written By: Tyrel Datwyler <tyreld@linux.ibm.com>, IBM Corporation
*
* Copyright (C) IBM Corporation, 2026
*/
#ifndef _IBMVFC_NVME_H
#define _IBMVFC_NVME_H
#include <scsi/fc/fc_fs.h>
#include <scsi/fc/fc_els.h>
#include <linux/nvme-fc-driver.h>
#include <linux/nvme.h>
#include <linux/nvme-fc.h>
#include "ibmvfc.h"
#define IBMVFC_NVME 0
#define IBMVFC_NVME_HW_QUEUES 8
#define IBMVFC_MAX_NVME_QUEUES 16
#define IBMVFC_NVME_CHANNELS 8
#define IBMVFC_FC4_LS_TIMEOUT 15
#define IBMVFC_FC4_LS_CANCEL_TIMEOUT 45
#define IBMVFC_FC4_LS_PLUS_CANCEL_TIMEOUT \
(IBMVFC_FC4_LS_TIMEOUT + IBMVFC_FC4_LS_CANCEL_TIMEOUT)
extern unsigned int ibmvfc_debug;
struct ibmvfc_host;
struct ibmvfc_target;
struct ibmvfc_queue;
struct ibmvfc_nvme_qhandle {
unsigned int qidx;
u16 cpu_id;
unsigned long index;
struct ibmvfc_queue *queue;
};
int ibmvfc_nvme_register_remoteport(struct ibmvfc_target *tgt);
void ibmvfc_nvme_unregister_remoteport(struct ibmvfc_target *tgt);
int ibmvfc_nvme_register(struct ibmvfc_host *vhost);
void ibmvfc_nvme_unregister(struct ibmvfc_host *vhost);
#endif
|