Symbol: efct
drivers/scsi/elx/efct/efct_driver.c
100
efct->efcport = efc;
drivers/scsi/elx/efct/efct_driver.c
103
efc->base = efct;
drivers/scsi/elx/efct/efct_driver.c
104
efc->pci = efct->pci;
drivers/scsi/elx/efct/efct_driver.c
106
efc->def_wwnn = efct_get_wwnn(&efct->hw);
drivers/scsi/elx/efct/efct_driver.c
107
efc->def_wwpn = efct_get_wwpn(&efct->hw);
drivers/scsi/elx/efct/efct_driver.c
111
sli = &efct->hw.sli;
drivers/scsi/elx/efct/efct_driver.c
113
sli_get_max_sgl(&efct->hw.sli);
drivers/scsi/elx/efct/efct_driver.c
115
efc->fcfi = efct->hw.fcf_indicator;
drivers/scsi/elx/efct/efct_driver.c
124
static int efct_request_firmware_update(struct efct *efct);
drivers/scsi/elx/efct/efct_driver.c
137
efct_device_attach(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
141
if (efct->attached) {
drivers/scsi/elx/efct/efct_driver.c
142
efc_log_err(efct, "Device is already attached\n");
drivers/scsi/elx/efct/efct_driver.c
146
snprintf(efct->name, sizeof(efct->name), "[%s%d] ", "fc",
drivers/scsi/elx/efct/efct_driver.c
147
efct->instance_index);
drivers/scsi/elx/efct/efct_driver.c
149
efct->logmask = logmask;
drivers/scsi/elx/efct/efct_driver.c
150
efct->filter_def = EFCT_DEFAULT_FILTER;
drivers/scsi/elx/efct/efct_driver.c
151
efct->max_isr_time_msec = EFCT_OS_MAX_ISR_TIME_MSEC;
drivers/scsi/elx/efct/efct_driver.c
153
efct->model = efct_pci_model(efct->pci->device);
drivers/scsi/elx/efct/efct_driver.c
155
efct->efct_req_fw_upgrade = true;
drivers/scsi/elx/efct/efct_driver.c
158
efct->xport = efct_xport_alloc(efct);
drivers/scsi/elx/efct/efct_driver.c
159
if (!efct->xport) {
drivers/scsi/elx/efct/efct_driver.c
160
efc_log_err(efct, "failed to allocate transport object\n");
drivers/scsi/elx/efct/efct_driver.c
165
rc = efct_xport_attach(efct->xport);
drivers/scsi/elx/efct/efct_driver.c
167
efc_log_err(efct, "failed to attach transport object\n");
drivers/scsi/elx/efct/efct_driver.c
171
rc = efct_xport_initialize(efct->xport);
drivers/scsi/elx/efct/efct_driver.c
173
efc_log_err(efct, "failed to initialize transport object\n");
drivers/scsi/elx/efct/efct_driver.c
177
rc = efct_efclib_config(efct, &efct_libefc_templ);
drivers/scsi/elx/efct/efct_driver.c
179
efc_log_err(efct, "failed to init efclib\n");
drivers/scsi/elx/efct/efct_driver.c
183
for (i = 0; i < efct->n_msix_vec; i++) {
drivers/scsi/elx/efct/efct_driver.c
184
efc_log_debug(efct, "irq %d enabled\n", i);
drivers/scsi/elx/efct/efct_driver.c
185
enable_irq(pci_irq_vector(efct->pci, i));
drivers/scsi/elx/efct/efct_driver.c
188
efct->attached = true;
drivers/scsi/elx/efct/efct_driver.c
190
if (efct->efct_req_fw_upgrade)
drivers/scsi/elx/efct/efct_driver.c
191
efct_request_firmware_update(efct);
drivers/scsi/elx/efct/efct_driver.c
196
efct_xport_detach(efct->xport);
drivers/scsi/elx/efct/efct_driver.c
198
efct_xport_free(efct->xport);
drivers/scsi/elx/efct/efct_driver.c
199
efct->xport = NULL;
drivers/scsi/elx/efct/efct_driver.c
205
efct_device_detach(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
209
if (!efct || !efct->attached) {
drivers/scsi/elx/efct/efct_driver.c
214
if (efct_xport_control(efct->xport, EFCT_XPORT_SHUTDOWN))
drivers/scsi/elx/efct/efct_driver.c
215
efc_log_err(efct, "Transport Shutdown timed out\n");
drivers/scsi/elx/efct/efct_driver.c
217
for (i = 0; i < efct->n_msix_vec; i++)
drivers/scsi/elx/efct/efct_driver.c
218
disable_irq(pci_irq_vector(efct->pci, i));
drivers/scsi/elx/efct/efct_driver.c
220
efct_xport_detach(efct->xport);
drivers/scsi/elx/efct/efct_driver.c
222
efct_xport_free(efct->xport);
drivers/scsi/elx/efct/efct_driver.c
223
efct->xport = NULL;
drivers/scsi/elx/efct/efct_driver.c
225
efcport_destroy(efct->efcport);
drivers/scsi/elx/efct/efct_driver.c
226
kfree(efct->efcport);
drivers/scsi/elx/efct/efct_driver.c
228
efct->attached = false;
drivers/scsi/elx/efct/efct_driver.c
247
efct_firmware_write(struct efct *efct, const u8 *buf, size_t buf_len,
drivers/scsi/elx/efct/efct_driver.c
264
dma.virt = dma_alloc_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_driver.c
280
efct_hw_firmware_write(&efct->hw, &dma, xfer_size, offset,
drivers/scsi/elx/efct/efct_driver.c
300
dma_free_coherent(&efct->pci->dev, dma.size, dma.virt, dma.phys);
drivers/scsi/elx/efct/efct_driver.c
305
efct_fw_reset(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
312
if (timer_pending(&efct->xport->stats_timer))
drivers/scsi/elx/efct/efct_driver.c
313
timer_delete(&efct->xport->stats_timer);
drivers/scsi/elx/efct/efct_driver.c
315
if (efct_hw_reset(&efct->hw, EFCT_HW_RESET_FIRMWARE)) {
drivers/scsi/elx/efct/efct_driver.c
316
efc_log_info(efct, "failed to reset firmware\n");
drivers/scsi/elx/efct/efct_driver.c
320
efc_log_info(efct, "successfully reset firmware.Now resetting port\n");
drivers/scsi/elx/efct/efct_driver.c
322
efct_device_detach(efct);
drivers/scsi/elx/efct/efct_driver.c
323
return efct_device_attach(efct);
drivers/scsi/elx/efct/efct_driver.c
327
efct_request_firmware_update(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
334
snprintf(file_name, 256, "%s.grp", efct->model);
drivers/scsi/elx/efct/efct_driver.c
336
rc = request_firmware(&fw, file_name, &efct->pci->dev);
drivers/scsi/elx/efct/efct_driver.c
338
efc_log_debug(efct, "Firmware file(%s) not found.\n", file_name);
drivers/scsi/elx/efct/efct_driver.c
344
if (!strncmp(efct->hw.sli.fw_name[0], fw_image->revision,
drivers/scsi/elx/efct/efct_driver.c
346
efc_log_debug(efct,
drivers/scsi/elx/efct/efct_driver.c
351
efc_log_info(efct, "Firmware update is initiated. %s -> %s\n",
drivers/scsi/elx/efct/efct_driver.c
352
efct->hw.sli.fw_name[0], fw_image->revision);
drivers/scsi/elx/efct/efct_driver.c
354
rc = efct_firmware_write(efct, fw->data, fw->size, &fw_change_status);
drivers/scsi/elx/efct/efct_driver.c
356
efc_log_err(efct, "Firmware update failed. rc = %d\n", rc);
drivers/scsi/elx/efct/efct_driver.c
360
efc_log_info(efct, "Firmware updated successfully\n");
drivers/scsi/elx/efct/efct_driver.c
363
efc_log_info(efct, "New firmware is active.\n");
drivers/scsi/elx/efct/efct_driver.c
366
efc_log_info(efct,
drivers/scsi/elx/efct/efct_driver.c
371
efc_log_info(efct,
drivers/scsi/elx/efct/efct_driver.c
373
efct_fw_reset(efct);
drivers/scsi/elx/efct/efct_driver.c
376
efc_log_info(efct, "Unexpected value change_status:%d\n",
drivers/scsi/elx/efct/efct_driver.c
388
efct_device_free(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
390
if (efct) {
drivers/scsi/elx/efct/efct_driver.c
391
list_del(&efct->list_entry);
drivers/scsi/elx/efct/efct_driver.c
392
kfree(efct);
drivers/scsi/elx/efct/efct_driver.c
397
efct_device_interrupts_required(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
401
rc = efct_hw_setup(&efct->hw, efct, efct->pci);
drivers/scsi/elx/efct/efct_driver.c
405
return efct->hw.config.n_eq;
drivers/scsi/elx/efct/efct_driver.c
412
struct efct *efct = intr_ctx->efct;
drivers/scsi/elx/efct/efct_driver.c
414
efct_hw_process(&efct->hw, intr_ctx->index, efct->max_isr_time_msec);
drivers/scsi/elx/efct/efct_driver.c
419
efct_setup_msix(struct efct *efct, u32 num_intrs)
drivers/scsi/elx/efct/efct_driver.c
423
if (!pci_find_capability(efct->pci, PCI_CAP_ID_MSIX)) {
drivers/scsi/elx/efct/efct_driver.c
424
dev_err(&efct->pci->dev,
drivers/scsi/elx/efct/efct_driver.c
429
efct->n_msix_vec = num_intrs;
drivers/scsi/elx/efct/efct_driver.c
431
rc = pci_alloc_irq_vectors(efct->pci, num_intrs, num_intrs,
drivers/scsi/elx/efct/efct_driver.c
435
dev_err(&efct->pci->dev, "Failed to alloc irq : %d\n", rc);
drivers/scsi/elx/efct/efct_driver.c
442
intr_ctx = &efct->intr_context[i];
drivers/scsi/elx/efct/efct_driver.c
443
intr_ctx->efct = efct;
drivers/scsi/elx/efct/efct_driver.c
446
rc = request_threaded_irq(pci_irq_vector(efct->pci, i),
drivers/scsi/elx/efct/efct_driver.c
450
dev_err(&efct->pci->dev,
drivers/scsi/elx/efct/efct_driver.c
460
free_irq(pci_irq_vector(efct->pci, i),
drivers/scsi/elx/efct/efct_driver.c
461
&efct->intr_context[i]);
drivers/scsi/elx/efct/efct_driver.c
463
pci_free_irq_vectors(efct->pci);
drivers/scsi/elx/efct/efct_driver.c
476
struct efct *efct = NULL;
drivers/scsi/elx/efct/efct_driver.c
510
efct = efct_device_alloc(nid);
drivers/scsi/elx/efct/efct_driver.c
511
if (!efct) {
drivers/scsi/elx/efct/efct_driver.c
517
efct->pci = pdev;
drivers/scsi/elx/efct/efct_driver.c
518
efct->numa_node = nid;
drivers/scsi/elx/efct/efct_driver.c
523
efct->reg[r] = ioremap(pci_resource_start(pdev, i),
drivers/scsi/elx/efct/efct_driver.c
537
pci_set_drvdata(pdev, efct);
drivers/scsi/elx/efct/efct_driver.c
545
num_interrupts = efct_device_interrupts_required(efct);
drivers/scsi/elx/efct/efct_driver.c
547
efc_log_err(efct, "efct_device_interrupts_required failed\n");
drivers/scsi/elx/efct/efct_driver.c
556
rc = efct_setup_msix(efct, num_interrupts);
drivers/scsi/elx/efct/efct_driver.c
562
for (i = 0; i < efct->n_msix_vec; i++) {
drivers/scsi/elx/efct/efct_driver.c
563
efc_log_debug(efct, "irq %d disabled\n", i);
drivers/scsi/elx/efct/efct_driver.c
564
disable_irq(pci_irq_vector(efct->pci, i));
drivers/scsi/elx/efct/efct_driver.c
567
rc = efct_device_attach(efct);
drivers/scsi/elx/efct/efct_driver.c
574
efct_teardown_msix(efct);
drivers/scsi/elx/efct/efct_driver.c
579
if (efct->reg[i])
drivers/scsi/elx/efct/efct_driver.c
580
iounmap(efct->reg[i]);
drivers/scsi/elx/efct/efct_driver.c
582
efct_device_free(efct);
drivers/scsi/elx/efct/efct_driver.c
595
struct efct *efct = pci_get_drvdata(pdev);
drivers/scsi/elx/efct/efct_driver.c
598
if (!efct)
drivers/scsi/elx/efct/efct_driver.c
601
efct_device_detach(efct);
drivers/scsi/elx/efct/efct_driver.c
603
efct_teardown_msix(efct);
drivers/scsi/elx/efct/efct_driver.c
606
if (efct->reg[i])
drivers/scsi/elx/efct/efct_driver.c
607
iounmap(efct->reg[i]);
drivers/scsi/elx/efct/efct_driver.c
612
efct_device_free(efct);
drivers/scsi/elx/efct/efct_driver.c
620
efct_device_prep_for_reset(struct efct *efct, struct pci_dev *pdev)
drivers/scsi/elx/efct/efct_driver.c
622
if (efct) {
drivers/scsi/elx/efct/efct_driver.c
623
efc_log_debug(efct,
drivers/scsi/elx/efct/efct_driver.c
625
efct_device_detach(efct);
drivers/scsi/elx/efct/efct_driver.c
627
efct_teardown_msix(efct);
drivers/scsi/elx/efct/efct_driver.c
633
efct_device_prep_for_recover(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
635
if (efct) {
drivers/scsi/elx/efct/efct_driver.c
636
efc_log_debug(efct, "PCI channel preparing for recovery\n");
drivers/scsi/elx/efct/efct_driver.c
637
efct_hw_io_abort_all(&efct->hw);
drivers/scsi/elx/efct/efct_driver.c
64
struct efct *efct = NULL;
drivers/scsi/elx/efct/efct_driver.c
659
struct efct *efct = pci_get_drvdata(pdev);
drivers/scsi/elx/efct/efct_driver.c
66
efct = kzalloc_node(sizeof(*efct), GFP_KERNEL, nid);
drivers/scsi/elx/efct/efct_driver.c
664
efct_device_prep_for_recover(efct);
drivers/scsi/elx/efct/efct_driver.c
668
efct_device_prep_for_reset(efct, pdev);
drivers/scsi/elx/efct/efct_driver.c
67
if (!efct)
drivers/scsi/elx/efct/efct_driver.c
672
efct_device_detach(efct);
drivers/scsi/elx/efct/efct_driver.c
676
efc_log_debug(efct, "Unknown PCI error state:0x%x\n", state);
drivers/scsi/elx/efct/efct_driver.c
677
efct_device_prep_for_reset(efct, pdev);
drivers/scsi/elx/efct/efct_driver.c
68
return efct;
drivers/scsi/elx/efct/efct_driver.c
689
struct efct *efct = pci_get_drvdata(pdev);
drivers/scsi/elx/efct/efct_driver.c
693
efc_log_err(efct, "failed to enable PCI device after reset\n");
drivers/scsi/elx/efct/efct_driver.c
70
INIT_LIST_HEAD(&efct->list_entry);
drivers/scsi/elx/efct/efct_driver.c
706
rc = efct_setup_msix(efct, efct->n_msix_vec);
drivers/scsi/elx/efct/efct_driver.c
708
efc_log_err(efct, "rc %d returned, IRQ allocation failed\n",
drivers/scsi/elx/efct/efct_driver.c
71
list_add_tail(&efct->list_entry, &efct_devices);
drivers/scsi/elx/efct/efct_driver.c
712
efct_device_detach(efct);
drivers/scsi/elx/efct/efct_driver.c
714
efct_device_attach(efct);
drivers/scsi/elx/efct/efct_driver.c
722
struct efct *efct = pci_get_drvdata(pdev);
drivers/scsi/elx/efct/efct_driver.c
725
efct_device_detach(efct);
drivers/scsi/elx/efct/efct_driver.c
727
efct_device_attach(efct);
drivers/scsi/elx/efct/efct_driver.c
73
return efct;
drivers/scsi/elx/efct/efct_driver.c
77
efct_teardown_msix(struct efct *efct)
drivers/scsi/elx/efct/efct_driver.c
81
for (i = 0; i < efct->n_msix_vec; i++) {
drivers/scsi/elx/efct/efct_driver.c
82
free_irq(pci_irq_vector(efct->pci, i),
drivers/scsi/elx/efct/efct_driver.c
83
&efct->intr_context[i]);
drivers/scsi/elx/efct/efct_driver.c
86
pci_free_irq_vectors(efct->pci);
drivers/scsi/elx/efct/efct_driver.c
90
efct_efclib_config(struct efct *efct, struct libefc_function_template *tt)
drivers/scsi/elx/efct/efct_driver.h
48
struct efct *efct;
drivers/scsi/elx/efct/efct_hw.c
1177
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
1193
prq->dma.virt = dma_alloc_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
1211
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
1217
dma_free_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
1230
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
1247
efc_log_err(efct, "rx_buffer_alloc hdr_buf failed\n");
drivers/scsi/elx/efct/efct_hw.c
1263
efc_log_err(efct, "rx_buffer_alloc fb_buf failed\n");
drivers/scsi/elx/efct/efct_hw.c
1550
struct efct *efct = base;
drivers/scsi/elx/efct/efct_hw.c
1551
struct efct_hw *hw = &efct->hw;
drivers/scsi/elx/efct/efct_hw.c
1568
efc_log_err(efct, "issue mbox rqst failure rc:%d\n", rc);
drivers/scsi/elx/efct/efct_hw.c
158
efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_FOUND, &drec);
drivers/scsi/elx/efct/efct_hw.c
170
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
178
efct->efcport->link_status = EFC_LINK_STATUS_UP;
drivers/scsi/elx/efct/efct_hw.c
188
efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_FOUND,
drivers/scsi/elx/efct/efct_hw.c
214
efct->efcport->link_status = EFC_LINK_STATUS_DOWN;
drivers/scsi/elx/efct/efct_hw.c
216
d = efct->efcport->domain;
drivers/scsi/elx/efct/efct_hw.c
218
efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_LOST, d);
drivers/scsi/elx/efct/efct_hw.c
2562
struct efct *efct = efc->base;
drivers/scsi/elx/efct/efct_hw.c
2564
return efct_hw_bls_send(efct, type, bls, NULL, NULL);
drivers/scsi/elx/efct/efct_hw.c
2568
efct_hw_bls_send(struct efct *efct, u32 type, struct sli_bls_params *bls_params,
drivers/scsi/elx/efct/efct_hw.c
2571
struct efct_hw *hw = &efct->hw;
drivers/scsi/elx/efct/efct_hw.c
2696
struct efct *efct = efc->base;
drivers/scsi/elx/efct/efct_hw.c
2698
struct efct_hw *hw = &efct->hw;
drivers/scsi/elx/efct/efct_hw.c
278
if (sli_setup(&hw->sli, hw->os, pdev, ((struct efct *)os)->reg)) {
drivers/scsi/elx/efct/efct_hw.c
3395
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
3424
dma_free_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
3433
dma_free_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
3448
dma_free_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
3453
dma_free_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
487
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
50
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
518
dma->virt = dma_alloc_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
55
if (PCI_FUNC(efct->pci->devfn) != 0)
drivers/scsi/elx/efct/efct_hw.c
563
dma->virt = dma_alloc_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_hw.c
612
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.c
620
req.virt = dma_alloc_coherent(&efct->pci->dev, req.size, &req.phys,
drivers/scsi/elx/efct/efct_hw.c
665
dma_free_coherent(&efct->pci->dev, req.size, req.virt, req.phys);
drivers/scsi/elx/efct/efct_hw.c
85
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_hw.h
367
struct efct *os;
drivers/scsi/elx/efct/efct_hw.h
705
efct_hw_bls_send(struct efct *efct, u32 type, struct sli_bls_params *bls_params,
drivers/scsi/elx/efct/efct_hw_queues.c
111
maskp = pci_irq_get_affinity(efct->pci, i);
drivers/scsi/elx/efct/efct_hw_queues.c
113
efc_log_debug(efct, "maskp null for vector:%d\n", i);
drivers/scsi/elx/efct/efct_hw_queues.c
119
efc_log_debug(efct, "CPU:%d irq vector:%d\n", cpu, i);
drivers/scsi/elx/efct/efct_hw_queues.c
674
struct efct *efct = efc->base;
drivers/scsi/elx/efct/efct_hw_queues.c
676
return efct_hw_rqpair_sequence_free(&efct->hw, seq);
drivers/scsi/elx/efct/efct_hw_queues.c
98
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_io.c
108
struct efct *efct;
drivers/scsi/elx/efct/efct_io.c
111
efct = io_pool->efct;
drivers/scsi/elx/efct/efct_io.c
12
struct efct *efct;
drivers/scsi/elx/efct/efct_io.c
130
io->efct = efct;
drivers/scsi/elx/efct/efct_io.c
140
atomic_add_return(1, &efct->xport->io_active_count);
drivers/scsi/elx/efct/efct_io.c
141
atomic_add_return(1, &efct->xport->io_total_alloc);
drivers/scsi/elx/efct/efct_io.c
149
struct efct *efct;
drivers/scsi/elx/efct/efct_io.c
153
efct = io_pool->efct;
drivers/scsi/elx/efct/efct_io.c
164
efct_hw_io_free(&efct->hw, hio);
drivers/scsi/elx/efct/efct_io.c
166
atomic_sub_return(1, &efct->xport->io_active_count);
drivers/scsi/elx/efct/efct_io.c
167
atomic_add_return(1, &efct->xport->io_total_free);
drivers/scsi/elx/efct/efct_io.c
172
efct_io_find_tgt_io(struct efct *efct, struct efct_node *node,
drivers/scsi/elx/efct/efct_io.c
21
efct_io_pool_create(struct efct *efct, u32 num_sgl)
drivers/scsi/elx/efct/efct_io.c
32
io_pool->efct = efct;
drivers/scsi/elx/efct/efct_io.c
49
io->rspbuf.virt = dma_alloc_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_io.c
53
efc_log_err(efct, "dma_alloc rspbuf failed\n");
drivers/scsi/elx/efct/efct_io.c
78
struct efct *efct;
drivers/scsi/elx/efct/efct_io.c
83
efct = io_pool->efct;
drivers/scsi/elx/efct/efct_io.c
91
dma_free_coherent(&efct->pci->dev,
drivers/scsi/elx/efct/efct_io.c
98
efct->xport->io_pool = NULL;
drivers/scsi/elx/efct/efct_io.h
12
#define EFCT_LOG_ENABLE_IO_ERRORS(efct) \
drivers/scsi/elx/efct/efct_io.h
13
(((efct) != NULL) ? (((efct)->logmask & (1U << 6)) != 0) : 0)
drivers/scsi/elx/efct/efct_io.h
161
efct_io_pool_create(struct efct *efct, u32 num_sgl);
drivers/scsi/elx/efct/efct_io.h
17
if (EFCT_LOG_ENABLE_IO_ERRORS(io->efct)) \
drivers/scsi/elx/efct/efct_io.h
172
efct_io_find_tgt_io(struct efct *efct, struct efct_node *node,
drivers/scsi/elx/efct/efct_io.h
18
efc_log_warn(io->efct, fmt, ##__VA_ARGS__); \
drivers/scsi/elx/efct/efct_io.h
97
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
1033
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
104
efct = tpg->nport->efct;
drivers/scsi/elx/efct/efct_lio.c
1040
efct = node->efc->base;
drivers/scsi/elx/efct/efct_lio.c
1041
spin_lock_irqsave(&efct->tgt_efct.efct_lio_lock, flags);
drivers/scsi/elx/efct/efct_lio.c
1042
list_for_each_entry_safe(vport, next, &efct->tgt_efct.vport_list,
drivers/scsi/elx/efct/efct_lio.c
1046
efc_log_debug(efct, "found tpg on vport\n");
drivers/scsi/elx/efct/efct_lio.c
105
efc = efct->efcport;
drivers/scsi/elx/efct/efct_lio.c
1051
spin_unlock_irqrestore(&efct->tgt_efct.efct_lio_lock, flags);
drivers/scsi/elx/efct/efct_lio.c
1070
struct efct *efct = node->efc->base;
drivers/scsi/elx/efct/efct_lio.c
1081
tgt_node->efct = efct;
drivers/scsi/elx/efct/efct_lio.c
1096
int efct_scsi_tgt_new_device(struct efct *efct)
drivers/scsi/elx/efct/efct_lio.c
1101
efct->tgt_efct.max_sge = sli_get_max_sge(&efct->hw.sli);
drivers/scsi/elx/efct/efct_lio.c
1102
efct->tgt_efct.max_sgl = sli_get_max_sgl(&efct->hw.sli);
drivers/scsi/elx/efct/efct_lio.c
1105
atomic_set(&efct->tgt_efct.ios_in_use, 0);
drivers/scsi/elx/efct/efct_lio.c
1106
total_ios = efct->hw.config.n_io;
drivers/scsi/elx/efct/efct_lio.c
1107
efc_log_debug(efct, "total_ios=%d\n", total_ios);
drivers/scsi/elx/efct/efct_lio.c
1108
efct->tgt_efct.watermark_min =
drivers/scsi/elx/efct/efct_lio.c
1110
efct->tgt_efct.watermark_max =
drivers/scsi/elx/efct/efct_lio.c
1112
atomic_set(&efct->tgt_efct.io_high_watermark,
drivers/scsi/elx/efct/efct_lio.c
1113
efct->tgt_efct.watermark_max);
drivers/scsi/elx/efct/efct_lio.c
1114
atomic_set(&efct->tgt_efct.watermark_hit, 0);
drivers/scsi/elx/efct/efct_lio.c
1115
atomic_set(&efct->tgt_efct.initiator_count, 0);
drivers/scsi/elx/efct/efct_lio.c
1120
efc_log_err(efct, "workqueue create failed\n");
drivers/scsi/elx/efct/efct_lio.c
1124
spin_lock_init(&efct->tgt_efct.efct_lio_lock);
drivers/scsi/elx/efct/efct_lio.c
1125
INIT_LIST_HEAD(&efct->tgt_efct.vport_list);
drivers/scsi/elx/efct/efct_lio.c
1130
int efct_scsi_tgt_del_device(struct efct *efct)
drivers/scsi/elx/efct/efct_lio.c
114
efc_log_debug(efct, "enable portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
1140
struct efct *efct = nport->efc->base;
drivers/scsi/elx/efct/efct_lio.c
1142
efc_log_debug(efct, "New SPORT: %s bound to %s\n", nport->display_name,
drivers/scsi/elx/efct/efct_lio.c
1143
efct->tgt_efct.lio_nport->wwpn_str);
drivers/scsi/elx/efct/efct_lio.c
1158
struct efct *efct = wq_data->efct;
drivers/scsi/elx/efct/efct_lio.c
116
ret = efct_xport_control(efct->xport, EFCT_XPORT_PORT_ONLINE);
drivers/scsi/elx/efct/efct_lio.c
1175
} else if (efct->tgt_efct.tpg) {
drivers/scsi/elx/efct/efct_lio.c
1176
tpg = efct->tgt_efct.tpg;
drivers/scsi/elx/efct/efct_lio.c
1179
efc_log_err(efct, "failed to init session\n");
drivers/scsi/elx/efct/efct_lio.c
118
efct->tgt_efct.lio_nport = NULL;
drivers/scsi/elx/efct/efct_lio.c
119
efc_log_debug(efct, "cannot bring port online\n");
drivers/scsi/elx/efct/efct_lio.c
1193
efc_log_err(efct, "failed to setup session\n");
drivers/scsi/elx/efct/efct_lio.c
1202
efc_log_debug(efct, "new initiator sess=%p node=%p id: %llx\n",
drivers/scsi/elx/efct/efct_lio.c
1205
if (xa_err(xa_store(&efct->lookup, id, tgt_node, GFP_KERNEL)))
drivers/scsi/elx/efct/efct_lio.c
1206
efc_log_err(efct, "Node lookup store failed\n");
drivers/scsi/elx/efct/efct_lio.c
1211
ini_count = atomic_add_return(1, &efct->tgt_efct.initiator_count);
drivers/scsi/elx/efct/efct_lio.c
1212
watermark = efct->tgt_efct.watermark_max -
drivers/scsi/elx/efct/efct_lio.c
1214
watermark = (efct->tgt_efct.watermark_min > watermark) ?
drivers/scsi/elx/efct/efct_lio.c
1215
efct->tgt_efct.watermark_min : watermark;
drivers/scsi/elx/efct/efct_lio.c
1216
atomic_set(&efct->tgt_efct.io_high_watermark, watermark);
drivers/scsi/elx/efct/efct_lio.c
1223
struct efct *efct = node->efc->base;
drivers/scsi/elx/efct/efct_lio.c
123
efc_log_debug(efct, "disable portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
1235
wq_data->efct = efct;
drivers/scsi/elx/efct/efct_lio.c
1245
struct efct *efct = wq_data->efct;
drivers/scsi/elx/efct/efct_lio.c
1256
efc_log_err(efct, "unreg session for NULL session\n");
drivers/scsi/elx/efct/efct_lio.c
1262
efc_log_debug(efct, "unreg session se_sess=%p node=%p\n",
drivers/scsi/elx/efct/efct_lio.c
1280
struct efct *efct = node->efc->base;
drivers/scsi/elx/efct/efct_lio.c
1291
efc_log_err(efct, "tgt_node is NULL\n");
drivers/scsi/elx/efct/efct_lio.c
1300
xa_erase(&efct->lookup, id);
drivers/scsi/elx/efct/efct_lio.c
1303
wq_data->efct = efct;
drivers/scsi/elx/efct/efct_lio.c
1310
ini_count = atomic_sub_return(1, &efct->tgt_efct.initiator_count);
drivers/scsi/elx/efct/efct_lio.c
1312
watermark = efct->tgt_efct.watermark_max -
drivers/scsi/elx/efct/efct_lio.c
1314
watermark = (efct->tgt_efct.watermark_min > watermark) ?
drivers/scsi/elx/efct/efct_lio.c
1315
efct->tgt_efct.watermark_min : watermark;
drivers/scsi/elx/efct/efct_lio.c
1316
atomic_set(&efct->tgt_efct.io_high_watermark, watermark);
drivers/scsi/elx/efct/efct_lio.c
1326
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_lio.c
1334
atomic_add_return(1, &efct->tgt_efct.ios_in_use);
drivers/scsi/elx/efct/efct_lio.c
1337
io->timeout = efct->target_io_timer_sec;
drivers/scsi/elx/efct/efct_lio.c
1374
efc_log_err(efct, "No session found to submit IO se_cmd: %p\n",
drivers/scsi/elx/efct/efct_lio.c
1385
efc_log_err(efct, "failed to init cmd se_cmd: %p\n", se_cmd);
drivers/scsi/elx/efct/efct_lio.c
1402
struct efct *efct = tmfio->efct;
drivers/scsi/elx/efct/efct_lio.c
1410
atomic_add_return(1, &efct->tgt_efct.ios_in_use);
drivers/scsi/elx/efct/efct_lio.c
154
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
166
efct = lio_vport->efct;
drivers/scsi/elx/efct/efct_lio.c
167
efc = efct->efcport;
drivers/scsi/elx/efct/efct_lio.c
171
efc_log_debug(efct, "enable portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
182
efc_log_err(efct, "Failed to create Vport\n");
drivers/scsi/elx/efct/efct_lio.c
194
efc_log_debug(efct, "disable portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
201
efc_nport_vport_del(efct->efcport, efc->domain,
drivers/scsi/elx/efct/efct_lio.c
331
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_lio.c
336
atomic_sub_return(1, &efct->tgt_efct.ios_in_use);
drivers/scsi/elx/efct/efct_lio.c
368
ocp->seg_map_cnt = dma_map_sg(&io->efct->pci->dev, cmd->t_data_sg,
drivers/scsi/elx/efct/efct_lio.c
384
dma_unmap_sg(&io->efct->pci->dev, cmd->t_data_sg,
drivers/scsi/elx/efct/efct_lio.c
714
static struct efct *efct_find_wwpn(u64 wwpn)
drivers/scsi/elx/efct/efct_lio.c
716
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
719
list_for_each_entry(efct, &efct_devices, list_entry) {
drivers/scsi/elx/efct/efct_lio.c
721
if (wwpn == efct_get_wwpn(&efct->hw))
drivers/scsi/elx/efct/efct_lio.c
722
return efct;
drivers/scsi/elx/efct/efct_lio.c
733
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
741
efct = efct_find_wwpn(wwpn);
drivers/scsi/elx/efct/efct_lio.c
742
if (!efct) {
drivers/scsi/elx/efct/efct_lio.c
751
lio_nport->efct = efct;
drivers/scsi/elx/efct/efct_lio.c
755
efct->tgt_efct.lio_nport = lio_nport;
drivers/scsi/elx/efct/efct_lio.c
765
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
793
efct = efct_find_wwpn(p_wwpn);
drivers/scsi/elx/efct/efct_lio.c
794
if (!efct) {
drivers/scsi/elx/efct/efct_lio.c
803
lio_vport->efct = efct;
drivers/scsi/elx/efct/efct_lio.c
826
new_fc_vport = fc_vport_create(efct->shost, 0, &vport_id);
drivers/scsi/elx/efct/efct_lio.c
828
efc_log_err(efct, "fc_vport_create failed\n");
drivers/scsi/elx/efct/efct_lio.c
835
spin_lock_irqsave(&efct->tgt_efct.efct_lio_lock, flags);
drivers/scsi/elx/efct/efct_lio.c
837
list_add_tail(&vport_list->list_entry, &efct->tgt_efct.vport_list);
drivers/scsi/elx/efct/efct_lio.c
838
spin_unlock_irqrestore(&efct->tgt_efct.efct_lio_lock, flags);
drivers/scsi/elx/efct/efct_lio.c
848
struct efct *efct = lio_nport->efct;
drivers/scsi/elx/efct/efct_lio.c
853
kfree(efct->tgt_efct.lio_nport);
drivers/scsi/elx/efct/efct_lio.c
854
efct->tgt_efct.lio_nport = NULL;
drivers/scsi/elx/efct/efct_lio.c
863
struct efct *efct = lio_vport->efct;
drivers/scsi/elx/efct/efct_lio.c
869
spin_lock_irqsave(&efct->tgt_efct.efct_lio_lock, flags);
drivers/scsi/elx/efct/efct_lio.c
871
list_for_each_entry_safe(vport, next_vport, &efct->tgt_efct.vport_list,
drivers/scsi/elx/efct/efct_lio.c
880
spin_unlock_irqrestore(&efct->tgt_efct.efct_lio_lock, flags);
drivers/scsi/elx/efct/efct_lio.c
889
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
917
efct = lio_nport->efct;
drivers/scsi/elx/efct/efct_lio.c
918
efct->tgt_efct.tpg = tpg;
drivers/scsi/elx/efct/efct_lio.c
919
efc_log_debug(efct, "create portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
921
xa_init(&efct->lookup);
drivers/scsi/elx/efct/efct_lio.c
931
struct efct *efct = tpg->nport->efct;
drivers/scsi/elx/efct/efct_lio.c
933
efc_log_debug(efct, "drop portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
934
tpg->nport->efct->tgt_efct.tpg = NULL;
drivers/scsi/elx/efct/efct_lio.c
936
xa_destroy(&efct->lookup);
drivers/scsi/elx/efct/efct_lio.c
946
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
95
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.c
950
efct = lio_vport->efct;
drivers/scsi/elx/efct/efct_lio.c
957
efc_log_err(efct, "Invalid tpgt index: %ld provided\n", n);
drivers/scsi/elx/efct/efct_lio.c
982
efc_log_debug(efct, "create vport portal group %d\n", tpg->tpgt);
drivers/scsi/elx/efct/efct_lio.c
99
if (!tpg->nport || !tpg->nport->efct) {
drivers/scsi/elx/efct/efct_lio.c
993
efc_log_debug(tpg->vport->efct, "drop npiv portal group %d\n",
drivers/scsi/elx/efct/efct_lio.h
14
efc_log_debug(io->efct, \
drivers/scsi/elx/efct/efct_lio.h
141
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.h
152
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.h
21
efc_log_debug(io->efct, \
drivers/scsi/elx/efct/efct_lio.h
30
struct efct *efct;
drivers/scsi/elx/efct/efct_lio.h
72
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
10
#define enable_tsend_auto_resp(efct) 1
drivers/scsi/elx/efct/efct_scsi.c
1042
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
1047
efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
1090
efct_io_pool_io_free(efct->xport->io_pool, io);
drivers/scsi/elx/efct/efct_scsi.c
1092
efct_scsi_check_pending(efct);
drivers/scsi/elx/efct/efct_scsi.c
1099
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
11
#define enable_treceive_auto_resp(efct) 0
drivers/scsi/elx/efct/efct_scsi.c
1104
efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
1105
xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
1119
abort_io = efct_io_pool_io_alloc(efct->xport->io_pool);
drivers/scsi/elx/efct/efct_scsi.c
112
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
1150
efc_log_debug(io->efct, "completion for non-busy io tag 0x%x\n",
drivers/scsi/elx/efct/efct_scsi.c
116
if (!io || !io->efct) {
drivers/scsi/elx/efct/efct_scsi.c
123
efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
128
efct_scsi_check_pending(efct);
drivers/scsi/elx/efct/efct_scsi.c
16
efc_log_debug(io->efct, "[%s]" SCSI_IOFMT fmt, \
drivers/scsi/elx/efct/efct_scsi.c
197
efct_scsi_check_pending(efct);
drivers/scsi/elx/efct/efct_scsi.c
20
#define EFCT_LOG_ENABLE_SCSI_TRACE(efct) \
drivers/scsi/elx/efct/efct_scsi.c
207
struct efct *efct = hw->os;
drivers/scsi/elx/efct/efct_scsi.c
21
(((efct) != NULL) ? (((efct)->logmask & (1U << 2)) != 0) : 0)
drivers/scsi/elx/efct/efct_scsi.c
212
efc_log_err(efct, "efct_hw_io_init_sges failed: %d\n", rc);
drivers/scsi/elx/efct/efct_scsi.c
220
efc_log_err(efct, "add sge failed cnt=%d rc=%d\n",
drivers/scsi/elx/efct/efct_scsi.c
25
if (EFCT_LOG_ENABLE_SCSI_TRACE(io->efct)) \
drivers/scsi/elx/efct/efct_scsi.c
273
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
302
rc = efct_scsi_build_sgls(&efct->hw, io->hio,
drivers/scsi/elx/efct/efct_scsi.c
307
if (EFCT_LOG_ENABLE_SCSI_TRACE(efct))
drivers/scsi/elx/efct/efct_scsi.c
319
rc = efct_hw_io_send(&io->efct->hw, io->hio_type, io->hio,
drivers/scsi/elx/efct/efct_scsi.c
32
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
363
rc = efct_hw_io_abort(&io->efct->hw, hio_to_abort,
drivers/scsi/elx/efct/efct_scsi.c
37
efct = node->efct;
drivers/scsi/elx/efct/efct_scsi.c
389
efct_scsi_dispatch_pending(struct efct *efct)
drivers/scsi/elx/efct/efct_scsi.c
39
xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
391
struct efct_xport *xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
41
io = efct_io_pool_io_alloc(efct->xport->io_pool);
drivers/scsi/elx/efct/efct_scsi.c
413
hio = efct_hw_io_alloc(&efct->hw);
drivers/scsi/elx/efct/efct_scsi.c
43
efc_log_err(efct, "IO alloc Failed\n");
drivers/scsi/elx/efct/efct_scsi.c
448
if (efct_hw_async_call(&efct->hw,
drivers/scsi/elx/efct/efct_scsi.c
450
efc_log_debug(efct, "call hw async failed\n");
drivers/scsi/elx/efct/efct_scsi.c
458
efct_scsi_check_pending(struct efct *efct)
drivers/scsi/elx/efct/efct_scsi.c
460
struct efct_xport *xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
473
while (efct_scsi_dispatch_pending(efct))
drivers/scsi/elx/efct/efct_scsi.c
506
if (efct_hw_async_call(&efct->hw,
drivers/scsi/elx/efct/efct_scsi.c
508
efc_log_debug(efct, "hw async failed\n");
drivers/scsi/elx/efct/efct_scsi.c
520
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
521
struct efct_xport *xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
53
io->efct = efct;
drivers/scsi/elx/efct/efct_scsi.c
558
efct_scsi_check_pending(efct);
drivers/scsi/elx/efct/efct_scsi.c
567
hio = efct_hw_io_alloc(&io->efct->hw);
drivers/scsi/elx/efct/efct_scsi.c
587
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
588
struct efct_xport *xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
608
efct_scsi_check_pending(efct);
drivers/scsi/elx/efct/efct_scsi.c
623
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
628
efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
696
if (efct->xport) {
drivers/scsi/elx/efct/efct_scsi.c
697
struct efct_xport *xport = efct->xport;
drivers/scsi/elx/efct/efct_scsi.c
717
enable_tsend_auto_resp(io->efct), cb, arg);
drivers/scsi/elx/efct/efct_scsi.c
727
enable_treceive_auto_resp(io->efct), cb, arg);
drivers/scsi/elx/efct/efct_scsi.c
735
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
744
efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
78
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
780
efc_log_err(efct, "NULL response buffer\n");
drivers/scsi/elx/efct/efct_scsi.c
814
efc_log_err(efct, "Sense exceeds max size.\n");
drivers/scsi/elx/efct/efct_scsi.c
841
struct efct *efct;
drivers/scsi/elx/efct/efct_scsi.c
844
efct = io->efct;
drivers/scsi/elx/efct/efct_scsi.c
85
efc_log_err(efct, "IO already freed.\n");
drivers/scsi/elx/efct/efct_scsi.c
865
efct_scsi_check_pending(efct);
drivers/scsi/elx/efct/efct_scsi.c
875
struct efct *efct = node->efct;
drivers/scsi/elx/efct/efct_scsi.c
904
rc = efct_hw_bls_send(efct, FC_RCTL_BA_ACC, bls,
drivers/scsi/elx/efct/efct_scsi.c
923
struct efct *efct = node->efct;
drivers/scsi/elx/efct/efct_scsi.c
947
rc = efct_hw_bls_send(efct, FC_RCTL_BA_RJT, bls, efct_bls_send_rjt_cb,
drivers/scsi/elx/efct/efct_scsi.c
95
efct_io_pool_io_free(efct->xport->io_pool, io);
drivers/scsi/elx/efct/efct_scsi.c
950
efc_log_err(efct, "efct_scsi_io_dispatch() failed: %d\n", rc);
drivers/scsi/elx/efct/efct_scsi.h
142
struct efct_io *efct_io_get_instance(struct efct *efct, u32 index);
drivers/scsi/elx/efct/efct_scsi.h
146
int efct_scsi_tgt_new_device(struct efct *efct);
drivers/scsi/elx/efct/efct_scsi.h
147
int efct_scsi_tgt_del_device(struct efct *efct);
drivers/scsi/elx/efct/efct_scsi.h
188
int efct_scsi_new_device(struct efct *efct);
drivers/scsi/elx/efct/efct_scsi.h
189
void efct_scsi_del_device(struct efct *efct);
drivers/scsi/elx/efct/efct_scsi.h
193
efct_scsi_del_vport(struct efct *efct, struct Scsi_Host *shost);
drivers/scsi/elx/efct/efct_scsi.h
195
efct_scsi_new_vport(struct efct *efct, struct device *dev);
drivers/scsi/elx/efct/efct_scsi.h
199
void efct_scsi_check_pending(struct efct *efct);
drivers/scsi/elx/efct/efct_scsi.h
56
struct efct *efct;
drivers/scsi/elx/efct/efct_unsol.c
10
#define frame_printf(efct, hdr, fmt, ...) \
drivers/scsi/elx/efct/efct_unsol.c
131
efc_log_err(io->node->efct, "TMF x%x rejected\n", tm_flags);
drivers/scsi/elx/efct/efct_unsol.c
138
efct_validate_fcp_cmd(struct efct *efct, struct efc_hw_sequence *seq)
drivers/scsi/elx/efct/efct_unsol.c
149
efc_log_debug(efct,
drivers/scsi/elx/efct/efct_unsol.c
15
efc_log_debug(efct, "[%06x.%s] %02x/%04x/%04x: " fmt, \
drivers/scsi/elx/efct/efct_unsol.c
22
efct_node_find(struct efct *efct, u32 port_id, u32 node_id)
drivers/scsi/elx/efct/efct_unsol.c
226
struct efct *efct = node->efct;
drivers/scsi/elx/efct/efct_unsol.c
227
struct efct_hw *hw = &efct->hw;
drivers/scsi/elx/efct/efct_unsol.c
264
efc_log_err(efct, "Fill send frame failed offset %d size %d\n",
drivers/scsi/elx/efct/efct_unsol.c
281
efc_log_err(efct, "Fill send frame failed offset %d size %d\n",
drivers/scsi/elx/efct/efct_unsol.c
290
rc = efct_hw_send_frame(&efct->hw, (void *)&hdr, FC_SOF_N3,
drivers/scsi/elx/efct/efct_unsol.c
294
efc_log_debug(efct, "efct_hw_send_frame failed: %d\n", rc);
drivers/scsi/elx/efct/efct_unsol.c
32
node = xa_load(&efct->lookup, id);
drivers/scsi/elx/efct/efct_unsol.c
320
struct efct *efct = node->efct;
drivers/scsi/elx/efct/efct_unsol.c
333
efc_log_debug(efct, "efct_sframe_send_fcp_rsp failed %d\n", rc);
drivers/scsi/elx/efct/efct_unsol.c
341
struct efct *efct = node->efct;
drivers/scsi/elx/efct/efct_unsol.c
348
efc_log_err(efct, "Sequence payload is NULL.\n");
drivers/scsi/elx/efct/efct_unsol.c
355
if (efct_validate_fcp_cmd(efct, seq))
drivers/scsi/elx/efct/efct_unsol.c
369
efc_log_err(efct, "Failed to send busy task: %d\n", rc);
drivers/scsi/elx/efct/efct_unsol.c
387
efc_log_err(efct, "Additional CDB not supported\n");
drivers/scsi/elx/efct/efct_unsol.c
40
efct_dispatch_frame(struct efct *efct, struct efc_hw_sequence *seq)
drivers/scsi/elx/efct/efct_unsol.c
405
struct efct *efct = io->efct;
drivers/scsi/elx/efct/efct_unsol.c
411
abortio = efct_io_find_tgt_io(efct, node, ox_id, rx_id);
drivers/scsi/elx/efct/efct_unsol.c
417
efc_log_info(node->efct, "Abort ox_id [%04x] rx_id [%04x]\n",
drivers/scsi/elx/efct/efct_unsol.c
453
efc_log_info(node->efct, "Abort: ox_id [%04x], IO not found\n",
drivers/scsi/elx/efct/efct_unsol.c
465
struct efct *efct = node->efct;
drivers/scsi/elx/efct/efct_unsol.c
477
io->efct = efct;
drivers/scsi/elx/efct/efct_unsol.c
483
efc_log_err(efct,
drivers/scsi/elx/efct/efct_unsol.c
485
efc_log_err(efct, "s_id %06x d_id %06x ox_id %04x rx_id %04x\n",
drivers/scsi/elx/efct/efct_unsol.c
56
node = efct_node_find(efct, d_id, s_id);
drivers/scsi/elx/efct/efct_unsol.c
58
efc_log_err(efct,
drivers/scsi/elx/efct/efct_unsol.c
61
efct_hw_sequence_free(&efct->hw, seq);
drivers/scsi/elx/efct/efct_unsol.c
67
node = efct_node_find(efct, d_id, s_id);
drivers/scsi/elx/efct/efct_unsol.c
69
efc_log_err(efct, "ABTS: Node not found, d_id:%x s_id:%x\n",
drivers/scsi/elx/efct/efct_unsol.c
74
efc_log_err(efct, "Received ABTS for Node:%p\n", node);
drivers/scsi/elx/efct/efct_unsol.c
79
efct_hw_sequence_free(&efct->hw, seq);
drivers/scsi/elx/efct/efct_unsol.c
86
struct efct *efct = arg;
drivers/scsi/elx/efct/efct_unsol.c
89
if (!efct_dispatch_frame(efct, seq))
drivers/scsi/elx/efct/efct_unsol.c
93
efc_dispatch_frame(efct->efcport, seq);
drivers/scsi/elx/efct/efct_xport.c
1002
struct efct *efct = vport ? vport->efct : NULL;
drivers/scsi/elx/efct/efct_xport.c
1005
rc = efct_scsi_del_vport(efct, shost);
drivers/scsi/elx/efct/efct_xport.c
178
efct_xport_config_stats_timer(struct efct *efct);
drivers/scsi/elx/efct/efct_xport.c
184
struct efct *efct = xport->efct;
drivers/scsi/elx/efct/efct_xport.c
186
efct_xport_config_stats_timer(efct);
drivers/scsi/elx/efct/efct_xport.c
190
efct_xport_config_stats_timer(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
195
if (!efct) {
drivers/scsi/elx/efct/efct_xport.c
200
xport = efct->xport;
drivers/scsi/elx/efct/efct_xport.c
201
efct_hw_get_link_stats(&efct->hw, 0, 0, 0,
drivers/scsi/elx/efct/efct_xport.c
204
efct_hw_get_host_stats(&efct->hw, 0, efct_xport_async_host_stats_cb,
drivers/scsi/elx/efct/efct_xport.c
216
struct efct *efct = xport->efct;
drivers/scsi/elx/efct/efct_xport.c
229
rc = efct_hw_init(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
231
efc_log_err(efct, "efct_hw_init failure\n");
drivers/scsi/elx/efct/efct_xport.c
235
rc = efct_scsi_tgt_new_device(efct);
drivers/scsi/elx/efct/efct_xport.c
237
efc_log_err(efct, "failed to initialize target\n");
drivers/scsi/elx/efct/efct_xport.c
241
rc = efct_scsi_new_device(efct);
drivers/scsi/elx/efct/efct_xport.c
243
efc_log_err(efct, "failed to initialize initiator\n");
drivers/scsi/elx/efct/efct_xport.c
248
efct_xport_config_stats_timer(efct);
drivers/scsi/elx/efct/efct_xport.c
250
efct_xport_init_debugfs(efct);
drivers/scsi/elx/efct/efct_xport.c
255
efct_scsi_tgt_del_device(efct);
drivers/scsi/elx/efct/efct_xport.c
258
efct_hw_teardown(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
268
struct efct *efct = NULL;
drivers/scsi/elx/efct/efct_xport.c
27
efct_xport_alloc(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
271
efct = xport->efct;
drivers/scsi/elx/efct/efct_xport.c
287
value.value = efct_hw_get_link_speed(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
295
result->value = efct_hw_get_link_speed(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
299
memcpy((void *)result, &efct->xport->fc_xport_stats,
drivers/scsi/elx/efct/efct_xport.c
307
rc = efct_hw_get_link_stats(&efct->hw, 0, 1, 1,
drivers/scsi/elx/efct/efct_xport.c
315
efc_log_debug(efct, "sem wait failed\n");
drivers/scsi/elx/efct/efct_xport.c
321
rc = efct_hw_get_host_stats(&efct->hw, 1,
drivers/scsi/elx/efct/efct_xport.c
330
efc_log_debug(efct, "sem wait failed\n");
drivers/scsi/elx/efct/efct_xport.c
345
efct_get_link_supported_speeds(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
35
xport->efct = efct;
drivers/scsi/elx/efct/efct_xport.c
363
link_module_type = sli_get_lmt(&efct->hw.sli);
drivers/scsi/elx/efct/efct_xport.c
375
efct_scsi_new_device(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
383
efc_log_err(efct, "failed to allocate Scsi_Host struct\n");
drivers/scsi/elx/efct/efct_xport.c
388
efct->shost = shost;
drivers/scsi/elx/efct/efct_xport.c
392
vport->efct = efct;
drivers/scsi/elx/efct/efct_xport.c
399
shost->can_queue = efct->hw.config.n_io;
drivers/scsi/elx/efct/efct_xport.c
40
efct_xport_init_debugfs(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
408
shost->sg_tablesize = sli_get_max_sgl(&efct->hw.sli);
drivers/scsi/elx/efct/efct_xport.c
412
efc_log_debug(efct, "transport template=%p\n", efct_xport_fc_tt);
drivers/scsi/elx/efct/efct_xport.c
415
error = scsi_add_host_with_dma(shost, &efct->pci->dev,
drivers/scsi/elx/efct/efct_xport.c
416
&efct->pci->dev);
drivers/scsi/elx/efct/efct_xport.c
418
efc_log_debug(efct, "failed scsi_add_host_with_dma\n");
drivers/scsi/elx/efct/efct_xport.c
425
"Emulex %s FV%s DV%s", efct->model,
drivers/scsi/elx/efct/efct_xport.c
426
efct->hw.sli.fw_name[0], EFCT_DRIVER_VERSION);
drivers/scsi/elx/efct/efct_xport.c
431
fc_host_supported_speeds(shost) = efct_get_link_supported_speeds(efct);
drivers/scsi/elx/efct/efct_xport.c
433
fc_host_node_name(shost) = efct_get_wwnn(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
434
fc_host_port_name(shost) = efct_get_wwpn(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
49
if (!efct->sess_debugfs_dir) {
drivers/scsi/elx/efct/efct_xport.c
50
efct->sess_debugfs_dir = debugfs_create_dir("sessions",
drivers/scsi/elx/efct/efct_xport.c
502
struct efct *efct = xport->efct;
drivers/scsi/elx/efct/efct_xport.c
505
efct_scsi_tgt_del_device(efct);
drivers/scsi/elx/efct/efct_xport.c
507
efct_scsi_del_device(efct);
drivers/scsi/elx/efct/efct_xport.c
513
efct_hw_teardown(&efct->hw);
drivers/scsi/elx/efct/efct_xport.c
515
efct_xport_delete_debugfs(efct);
drivers/scsi/elx/efct/efct_xport.c
52
if (IS_ERR(efct->sess_debugfs_dir)) {
drivers/scsi/elx/efct/efct_xport.c
53
efc_log_err(efct,
drivers/scsi/elx/efct/efct_xport.c
530
struct efct *efct = NULL;
drivers/scsi/elx/efct/efct_xport.c
533
efct = xport->efct;
drivers/scsi/elx/efct/efct_xport.c
538
rc = efct_hw_port_control(&efct->hw, EFCT_HW_PORT_INIT, 0,
drivers/scsi/elx/efct/efct_xport.c
541
efc_log_err(efct,
drivers/scsi/elx/efct/efct_xport.c
542
"%s: Can't init port\n", efct->desc);
drivers/scsi/elx/efct/efct_xport.c
548
if (efct_hw_port_control(&efct->hw, EFCT_HW_PORT_SHUTDOWN, 0,
drivers/scsi/elx/efct/efct_xport.c
550
efc_log_err(efct, "port shutdown failed\n");
drivers/scsi/elx/efct/efct_xport.c
564
if (sli_reset_required(&efct->hw.sli)) {
drivers/scsi/elx/efct/efct_xport.c
565
struct efc_domain *domain = efct->efcport->domain;
drivers/scsi/elx/efct/efct_xport.c
568
efc_domain_cb(efct->efcport, EFC_HW_DOMAIN_LOST,
drivers/scsi/elx/efct/efct_xport.c
571
efct_hw_port_control(&efct->hw, EFCT_HW_PORT_SHUTDOWN,
drivers/scsi/elx/efct/efct_xport.c
577
efc_register_domain_free_cb(efct->efcport,
drivers/scsi/elx/efct/efct_xport.c
580
efc_log_debug(efct, "Waiting %d seconds for domain shutdown\n",
drivers/scsi/elx/efct/efct_xport.c
585
efc_log_err(efct, "Domain shutdown timed out!!\n");
drivers/scsi/elx/efct/efct_xport.c
589
efc_register_domain_free_cb(efct->efcport, NULL, NULL);
drivers/scsi/elx/efct/efct_xport.c
592
efc_vport_del_all(efct->efcport);
drivers/scsi/elx/efct/efct_xport.c
608
efc_log_debug(efct, " WWNN %016llx\n", wwnn);
drivers/scsi/elx/efct/efct_xport.c
625
efc_log_debug(efct, " WWPN %016llx\n", wwpn);
drivers/scsi/elx/efct/efct_xport.c
66
static void efct_xport_delete_debugfs(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
664
efct_scsi_del_device(struct efct *efct)
drivers/scsi/elx/efct/efct_xport.c
666
if (!efct->shost)
drivers/scsi/elx/efct/efct_xport.c
669
efc_log_debug(efct, "Unregistering with Transport Layer\n");
drivers/scsi/elx/efct/efct_xport.c
670
efct_xport_remove_host(efct->shost);
drivers/scsi/elx/efct/efct_xport.c
671
efc_log_debug(efct, "Unregistering with SCSI Midlayer\n");
drivers/scsi/elx/efct/efct_xport.c
672
scsi_remove_host(efct->shost);
drivers/scsi/elx/efct/efct_xport.c
673
scsi_host_put(efct->shost);
drivers/scsi/elx/efct/efct_xport.c
674
efct->shost = NULL;
drivers/scsi/elx/efct/efct_xport.c
681
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
682
struct efc *efc = efct->efcport;
drivers/scsi/elx/efct/efct_xport.c
69
debugfs_remove(efct->sess_debugfs_dir);
drivers/scsi/elx/efct/efct_xport.c
695
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
696
struct efc *efc = efct->efcport;
drivers/scsi/elx/efct/efct_xport.c
70
efct->sess_debugfs_dir = NULL;
drivers/scsi/elx/efct/efct_xport.c
728
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
732
rc = efct_xport_status(efct->xport, EFCT_XPORT_PORT_STATUS, &status);
drivers/scsi/elx/efct/efct_xport.c
743
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
744
struct efc *efc = efct->efcport;
drivers/scsi/elx/efct/efct_xport.c
754
rc = efct_xport_status(efct->xport, EFCT_XPORT_LINK_SPEED, &speed);
drivers/scsi/elx/efct/efct_xport.c
794
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
795
struct efc *efc = efct->efcport;
drivers/scsi/elx/efct/efct_xport.c
810
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
812
struct efct_xport *xport = efct->xport;
drivers/scsi/elx/efct/efct_xport.c
83
struct efct *efct = xport->efct;
drivers/scsi/elx/efct/efct_xport.c
86
rc = efct_hw_setup(&efct->hw, efct, efct->pci);
drivers/scsi/elx/efct/efct_xport.c
860
struct efct *efct = vport->efct;
drivers/scsi/elx/efct/efct_xport.c
865
rc = efct_xport_status(efct->xport, EFCT_XPORT_LINK_STAT_RESET, &dummy);
drivers/scsi/elx/efct/efct_xport.c
875
struct efct *efct = vport ? vport->efct : NULL;
drivers/scsi/elx/efct/efct_xport.c
877
if (!shost || !vport || !efct) {
drivers/scsi/elx/efct/efct_xport.c
879
shost, vport, efct);
drivers/scsi/elx/efct/efct_xport.c
88
efc_log_err(efct, "%s: Can't setup hardware\n", efct->desc);
drivers/scsi/elx/efct/efct_xport.c
889
if (efct_xport_control(efct->xport, EFCT_XPORT_PORT_OFFLINE))
drivers/scsi/elx/efct/efct_xport.c
890
efc_log_debug(efct, "EFCT_XPORT_PORT_OFFLINE failed\n");
drivers/scsi/elx/efct/efct_xport.c
892
if (efct_xport_control(efct->xport, EFCT_XPORT_PORT_ONLINE))
drivers/scsi/elx/efct/efct_xport.c
893
efc_log_debug(efct, "EFCT_XPORT_PORT_ONLINE failed\n");
drivers/scsi/elx/efct/efct_xport.c
899
efct_scsi_new_vport(struct efct *efct, struct device *dev)
drivers/scsi/elx/efct/efct_xport.c
907
efc_log_err(efct, "failed to allocate Scsi_Host struct\n");
drivers/scsi/elx/efct/efct_xport.c
913
vport->efct = efct;
drivers/scsi/elx/efct/efct_xport.c
916
shost->can_queue = efct->hw.config.n_io;
drivers/scsi/elx/efct/efct_xport.c
92
efct_hw_parse_filter(&efct->hw, (void *)efct->filter_def);
drivers/scsi/elx/efct/efct_xport.c
922
shost->sg_tablesize = sli_get_max_sgl(&efct->hw.sli);
drivers/scsi/elx/efct/efct_xport.c
926
efc_log_debug(efct, "vport transport template=%p\n",
drivers/scsi/elx/efct/efct_xport.c
930
error = scsi_add_host_with_dma(shost, dev, &efct->pci->dev);
drivers/scsi/elx/efct/efct_xport.c
932
efc_log_debug(efct, "failed scsi_add_host_with_dma\n");
drivers/scsi/elx/efct/efct_xport.c
939
"Emulex %s FV%s DV%s", efct->model, efct->hw.sli.fw_name[0],
drivers/scsi/elx/efct/efct_xport.c
94
xport->io_pool = efct_io_pool_create(efct, efct->hw.config.n_sgl);
drivers/scsi/elx/efct/efct_xport.c
945
fc_host_supported_speeds(shost) = efct_get_link_supported_speeds(efct);
drivers/scsi/elx/efct/efct_xport.c
951
int efct_scsi_del_vport(struct efct *efct, struct Scsi_Host *shost)
drivers/scsi/elx/efct/efct_xport.c
954
efc_log_debug(efct,
drivers/scsi/elx/efct/efct_xport.c
957
efc_log_debug(efct, "Unregistering vport with SCSI Midlayer\n");
drivers/scsi/elx/efct/efct_xport.c
96
efc_log_err(efct, "Can't allocate IO pool\n");
drivers/scsi/elx/efct/efct_xport.c
972
struct efct *efct = pport ? pport->efct : NULL;
drivers/scsi/elx/efct/efct_xport.c
975
if (!fc_vport || !shost || !efct)
drivers/scsi/elx/efct/efct_xport.c
978
vport = efct_scsi_new_vport(efct, &fc_vport->dev);
drivers/scsi/elx/efct/efct_xport.c
980
efc_log_err(efct, "failed to create vport\n");
drivers/scsi/elx/efct/efct_xport.h
114
struct efct *efct;
drivers/scsi/elx/efct/efct_xport.h
166
efct_xport_alloc(struct efct *efct);
drivers/scsi/elx/libefc/efclib.h
497
int (*issue_mbox_rqst)(void *efct, void *buf, void *cb, void *arg);