/Linux-v6.1/drivers/scsi/elx/efct/ |
D | efct_driver.c | 63 struct efct *efct = NULL; in efct_device_alloc() local 65 efct = kzalloc_node(sizeof(*efct), GFP_KERNEL, nid); in efct_device_alloc() 66 if (!efct) in efct_device_alloc() 67 return efct; in efct_device_alloc() 69 INIT_LIST_HEAD(&efct->list_entry); in efct_device_alloc() 70 list_add_tail(&efct->list_entry, &efct_devices); in efct_device_alloc() 72 return efct; in efct_device_alloc() 76 efct_teardown_msix(struct efct *efct) in efct_teardown_msix() argument 80 for (i = 0; i < efct->n_msix_vec; i++) { in efct_teardown_msix() 81 free_irq(pci_irq_vector(efct->pci, i), in efct_teardown_msix() [all …]
|
D | efct_xport.c | 27 efct_xport_alloc(struct efct *efct) in efct_xport_alloc() argument 35 xport->efct = efct; in efct_xport_alloc() 40 efct_xport_init_debugfs(struct efct *efct) in efct_xport_init_debugfs() argument 49 if (!efct->sess_debugfs_dir) { in efct_xport_init_debugfs() 50 efct->sess_debugfs_dir = debugfs_create_dir("sessions", in efct_xport_init_debugfs() 52 if (IS_ERR(efct->sess_debugfs_dir)) { in efct_xport_init_debugfs() 53 efc_log_err(efct, in efct_xport_init_debugfs() 66 static void efct_xport_delete_debugfs(struct efct *efct) in efct_xport_delete_debugfs() argument 69 debugfs_remove(efct->sess_debugfs_dir); in efct_xport_delete_debugfs() 70 efct->sess_debugfs_dir = NULL; in efct_xport_delete_debugfs() [all …]
|
D | efct_io.c | 12 struct efct *efct; member 21 efct_io_pool_create(struct efct *efct, u32 num_sgl) in efct_io_pool_create() argument 32 io_pool->efct = efct; in efct_io_pool_create() 49 io->rspbuf.virt = dma_alloc_coherent(&efct->pci->dev, in efct_io_pool_create() 53 efc_log_err(efct, "dma_alloc rspbuf failed\n"); in efct_io_pool_create() 78 struct efct *efct; in efct_io_pool_free() local 83 efct = io_pool->efct; in efct_io_pool_free() 91 dma_free_coherent(&efct->pci->dev, in efct_io_pool_free() 98 efct->xport->io_pool = NULL; in efct_io_pool_free() 108 struct efct *efct; in efct_io_pool_io_alloc() local [all …]
|
D | efct_unsol.c | 10 #define frame_printf(efct, hdr, fmt, ...) \ argument 15 efc_log_debug(efct, "[%06x.%s] %02x/%04x/%04x: " fmt, \ 22 efct_node_find(struct efct *efct, u32 port_id, u32 node_id) in efct_node_find() argument 32 node = xa_load(&efct->lookup, id); in efct_node_find() 40 efct_dispatch_frame(struct efct *efct, struct efc_hw_sequence *seq) in efct_dispatch_frame() argument 56 node = efct_node_find(efct, d_id, s_id); in efct_dispatch_frame() 58 efc_log_err(efct, in efct_dispatch_frame() 61 efct_hw_sequence_free(&efct->hw, seq); in efct_dispatch_frame() 67 node = efct_node_find(efct, d_id, s_id); in efct_dispatch_frame() 69 efc_log_err(efct, "ABTS: Node not found, d_id:%x s_id:%x\n", in efct_dispatch_frame() [all …]
|
D | efct_lio.c | 95 struct efct *efct; in efct_lio_tpg_enable_store() local 99 if (!tpg->nport || !tpg->nport->efct) { in efct_lio_tpg_enable_store() 104 efct = tpg->nport->efct; in efct_lio_tpg_enable_store() 105 efc = efct->efcport; in efct_lio_tpg_enable_store() 114 efc_log_debug(efct, "enable portal group %d\n", tpg->tpgt); in efct_lio_tpg_enable_store() 116 ret = efct_xport_control(efct->xport, EFCT_XPORT_PORT_ONLINE); in efct_lio_tpg_enable_store() 118 efct->tgt_efct.lio_nport = NULL; in efct_lio_tpg_enable_store() 119 efc_log_debug(efct, "cannot bring port online\n"); in efct_lio_tpg_enable_store() 123 efc_log_debug(efct, "disable portal group %d\n", tpg->tpgt); in efct_lio_tpg_enable_store() 154 struct efct *efct; in efct_lio_npiv_tpg_enable_store() local [all …]
|
D | efct_scsi.c | 10 #define enable_tsend_auto_resp(efct) 1 argument 11 #define enable_treceive_auto_resp(efct) 0 argument 16 efc_log_debug(io->efct, "[%s]" SCSI_IOFMT fmt, \ 20 #define EFCT_LOG_ENABLE_SCSI_TRACE(efct) \ argument 21 (((efct) != NULL) ? (((efct)->logmask & (1U << 2)) != 0) : 0) 25 if (EFCT_LOG_ENABLE_SCSI_TRACE(io->efct)) \ 32 struct efct *efct; in efct_scsi_io_alloc() local 37 efct = node->efct; in efct_scsi_io_alloc() 39 xport = efct->xport; in efct_scsi_io_alloc() 41 io = efct_io_pool_io_alloc(efct->xport->io_pool); in efct_scsi_io_alloc() [all …]
|
D | efct_scsi.h | 56 struct efct *efct; member 142 struct efct_io *efct_io_get_instance(struct efct *efct, u32 index); 146 int efct_scsi_tgt_new_device(struct efct *efct); 147 int efct_scsi_tgt_del_device(struct efct *efct); 188 int efct_scsi_new_device(struct efct *efct); 189 void efct_scsi_del_device(struct efct *efct); 193 efct_scsi_del_vport(struct efct *efct, struct Scsi_Host *shost); 195 efct_scsi_new_vport(struct efct *efct, struct device *dev); 199 void efct_scsi_check_pending(struct efct *efct);
|
D | efct_io.h | 12 #define EFCT_LOG_ENABLE_IO_ERRORS(efct) \ argument 13 (((efct) != NULL) ? (((efct)->logmask & (1U << 6)) != 0) : 0) 17 if (EFCT_LOG_ENABLE_IO_ERRORS(io->efct)) \ 18 efc_log_warn(io->efct, fmt, ##__VA_ARGS__); \ 97 struct efct *efct; member 161 efct_io_pool_create(struct efct *efct, u32 num_sgl); 172 efct_io_find_tgt_io(struct efct *efct, struct efct_node *node,
|
D | efct_lio.h | 14 efc_log_debug(io->efct, \ 21 efc_log_debug(io->efct, \ 30 struct efct *efct; member 72 struct efct *efct; member 141 struct efct *efct; member 152 struct efct *efct; member
|
D | efct_driver.h | 48 struct efct *efct; member 52 struct efct { struct
|
D | efct_xport.h | 114 struct efct *efct; member 166 efct_xport_alloc(struct efct *efct);
|
D | efct_hw.c | 50 struct efct *efct = hw->os; in efct_hw_read_max_dump_size() local 55 if (PCI_FUNC(efct->pci->devfn) != 0) in efct_hw_read_max_dump_size() 85 struct efct *efct = hw->os; in __efct_read_topology_cb() local 158 efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_FOUND, &drec); in __efct_read_topology_cb() 170 struct efct *efct = hw->os; in efct_hw_cb_link() local 178 efct->efcport->link_status = EFC_LINK_STATUS_UP; in efct_hw_cb_link() 188 efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_FOUND, in efct_hw_cb_link() 214 efct->efcport->link_status = EFC_LINK_STATUS_DOWN; in efct_hw_cb_link() 216 d = efct->efcport->domain; in efct_hw_cb_link() 218 efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_LOST, d); in efct_hw_cb_link() [all …]
|
D | efct_hw_queues.c | 98 struct efct *efct = hw->os; in efct_hw_map_wq_cpu() local 111 maskp = pci_irq_get_affinity(efct->pci, i); in efct_hw_map_wq_cpu() 113 efc_log_debug(efct, "maskp null for vector:%d\n", i); in efct_hw_map_wq_cpu() 119 efc_log_debug(efct, "CPU:%d irq vector:%d\n", cpu, i); in efct_hw_map_wq_cpu() 674 struct efct *efct = efc->base; in efct_efc_hw_sequence_free() local 676 return efct_hw_rqpair_sequence_free(&efct->hw, seq); in efct_efc_hw_sequence_free()
|
D | efct_hw.h | 367 struct efct *os; 705 efct_hw_bls_send(struct efct *efct, u32 type, struct sli_bls_params *bls_params,
|
/Linux-v6.1/drivers/scsi/elx/ |
D | Makefile | 8 obj-$(CONFIG_SCSI_EFCT) := efct.o 10 efct-objs := efct/efct_driver.o efct/efct_io.o efct/efct_scsi.o \ 11 efct/efct_xport.o efct/efct_hw.o efct/efct_hw_queues.o \ 12 efct/efct_lio.o efct/efct_unsol.o 14 efct-objs += libefc/efc_cmds.o libefc/efc_domain.o libefc/efc_fabric.o \ 18 efct-objs += libefc_sli/sli4.o
|
D | Kconfig | 8 The efct driver provides enhanced SCSI Target Mode
|
/Linux-v6.1/drivers/scsi/elx/libefc/ |
D | efclib.h | 495 int (*issue_mbox_rqst)(void *efct, void *buf, void *cb, void *arg);
|