Symbol: ctrl_info
drivers/crypto/cavium/cpt/cptvf_reqmanager.c
411
union ctrl_info *ctrl = NULL;
drivers/crypto/cavium/cpt/cptvf_reqmanager.c
427
ctrl = (union ctrl_info *)&req->ctrl;
drivers/crypto/cavium/cpt/request_manager.h
62
union ctrl_info ctrl; /* User control information */
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
204
ctrl->ctrl_info = HINIC_CMDQ_CTRL_SET(prod_idx, PI) |
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
550
ctrl->ctrl_info = 0;
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
56
#define CMDQ_WQE_COMPLETED(ctrl_info) \
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
568
u32 ctrl_info;
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
57
HINIC_CMDQ_CTRL_GET(ctrl_info, HW_BUSY_BIT)
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
572
ctrl_info = be32_to_cpu(ctrl->ctrl_info);
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
575
if (!CMDQ_WQE_COMPLETED(ctrl_info))
drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c
620
if (!CMDQ_WQE_COMPLETED(be32_to_cpu(ctrl->ctrl_info)))
drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c
484
ctrl->ctrl_info = HINIC_SQ_CTRL_SET(bufdesc_size, BUFDESC_SECT_LEN) |
drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c
719
u32 ctrl_info;
drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c
730
ctrl_info = be32_to_cpu(ctrl->ctrl_info);
drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c
731
buf_sect_len = HINIC_SQ_CTRL_GET(ctrl_info, BUFDESC_SECT_LEN);
drivers/net/ethernet/huawei/hinic/hinic_hw_qp.c
949
ctrl->ctrl_info =
drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h
305
u32 ctrl_info;
drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h
364
u32 ctrl_info;
drivers/net/ethernet/huawei/hinic/hinic_hw_wqe.h
401
u32 ctrl_info;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
186
ctrl->ctrl_info = 0;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
240
__le32 ctrl_info;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
265
ctrl_info = wqe_lcmd->ctrl.ctrl_info;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
266
if (!CMDQ_WQE_COMPLETED(ctrl_info))
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
376
ctrl->ctrl_info =
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
422
__le32 ctrl_info;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
426
ctrl_info = ctrl->ctrl_info;
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
427
if (!CMDQ_WQE_COMPLETED(ctrl_info)) {
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
69
#define CMDQ_WQE_COMPLETED(ctrl_info) \
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c
70
CMDQ_CTRL_GET(le32_to_cpu(ctrl_info), HW_BUSY_BIT)
drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.h
36
__le32 ctrl_info;
drivers/net/wireless/ath/ath11k/htc.c
334
trailer_len = FIELD_GET(HTC_HDR_CONTROLBYTES0, hdr->ctrl_info);
drivers/net/wireless/ath/ath11k/htc.c
70
hdr->ctrl_info = FIELD_PREP(HTC_HDR_CONTROLBYTES1, ep->seq_no++);
drivers/net/wireless/ath/ath11k/htc.h
60
u32 ctrl_info;
drivers/net/wireless/ath/ath12k/htc.c
298
trailer_len = le32_get_bits(hdr->ctrl_info,
drivers/net/wireless/ath/ath12k/htc.c
70
hdr->ctrl_info = le32_encode_bits(ep->seq_no++, HTC_HDR_CONTROLBYTES1);
drivers/net/wireless/ath/ath12k/htc.h
60
__le32 ctrl_info;
drivers/pci/hotplug/pciehp_ctrl.c
175
ctrl_info(ctrl, "Slot(%s): Button press: will power off in 5 sec\n",
drivers/pci/hotplug/pciehp_ctrl.c
179
ctrl_info(ctrl, "Slot(%s): Button press: will power on in 5 sec\n",
drivers/pci/hotplug/pciehp_ctrl.c
199
ctrl_info(ctrl, "Slot(%s): Button press: canceling request to power off\n",
drivers/pci/hotplug/pciehp_ctrl.c
205
ctrl_info(ctrl, "Slot(%s): Button press: canceling request to power on\n",
drivers/pci/hotplug/pciehp_ctrl.c
249
ctrl_info(ctrl, "Slot(%s): Link Down\n",
drivers/pci/hotplug/pciehp_ctrl.c
256
ctrl_info(ctrl, "Slot(%s): Card not present\n",
drivers/pci/hotplug/pciehp_ctrl.c
279
ctrl_info(ctrl, "Slot(%s): Card not present\n",
drivers/pci/hotplug/pciehp_ctrl.c
297
ctrl_info(ctrl, "Slot(%s): Card present\n",
drivers/pci/hotplug/pciehp_ctrl.c
304
ctrl_info(ctrl, "Slot(%s): Link Up\n", slot_name(ctrl));
drivers/pci/hotplug/pciehp_ctrl.c
324
ctrl_info(ctrl, "Slot(%s): Latch open\n",
drivers/pci/hotplug/pciehp_ctrl.c
333
ctrl_info(ctrl, "Slot(%s): Already enabled\n",
drivers/pci/hotplug/pciehp_ctrl.c
368
ctrl_info(ctrl, "Slot(%s): Already disabled\n",
drivers/pci/hotplug/pciehp_ctrl.c
413
ctrl_info(ctrl, "Slot(%s): Already in powering on state\n",
drivers/pci/hotplug/pciehp_ctrl.c
419
ctrl_info(ctrl, "Slot(%s): Already enabled\n",
drivers/pci/hotplug/pciehp_ctrl.c
447
ctrl_info(ctrl, "Slot(%s): Already in powering off state\n",
drivers/pci/hotplug/pciehp_ctrl.c
453
ctrl_info(ctrl, "Slot(%s): Already disabled\n",
drivers/pci/hotplug/pciehp_hpc.c
1061
ctrl_info(ctrl, "Slot #%d AttnBtn%c PwrCtrl%c MRL%c AttnInd%c PwrInd%c HotPlug%c Surprise%c Interlock%c NoCompl%c IbPresDis%c LLActRep%c%s\n",
drivers/pci/hotplug/pciehp_hpc.c
147
ctrl_info(ctrl, "Timeout on hotplug command %#06x (issued %u msec ago)\n",
drivers/pci/hotplug/pciehp_hpc.c
172
ctrl_info(ctrl, "%s: no response from device\n", __func__);
drivers/pci/hotplug/pciehp_hpc.c
298
ctrl_info(ctrl, "Slot(%s): No link\n", slot_name(ctrl));
drivers/pci/hotplug/pciehp_hpc.c
317
ctrl_info(ctrl, "Slot(%s): Cannot train link: status %#06x\n",
drivers/pci/hotplug/pciehp_hpc.c
327
ctrl_info(ctrl, "Slot(%s): No device found\n",
drivers/pci/hotplug/pciehp_hpc.c
610
ctrl_info(ctrl, "Slot(%s): Link Down/Up ignored\n", slot_name(ctrl));
drivers/pci/hotplug/pciehp_hpc.c
656
ctrl_info(ctrl, "%s: no response from device\n", __func__);
drivers/pci/hotplug/pciehp_hpc.c
94
ctrl_info(ctrl, "%s: no response from device\n",
drivers/pci/hotplug/shpchp_ctrl.c
124
ctrl_info(ctrl, "Card present on Slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
131
ctrl_info(ctrl, "Card not present on Slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
155
ctrl_info(ctrl, "Power fault cleared on Slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
163
ctrl_info(ctrl, "Power fault on Slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
167
ctrl_info(ctrl, "Power fault bit %x set\n", hp_slot);
drivers/pci/hotplug/shpchp_ctrl.c
468
ctrl_info(ctrl, "PCI slot #%s - powering off due to button press\n",
drivers/pci/hotplug/shpchp_ctrl.c
472
ctrl_info(ctrl, "PCI slot #%s - powering on due to button press\n",
drivers/pci/hotplug/shpchp_ctrl.c
488
ctrl_info(ctrl, "Button cancel on Slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
496
ctrl_info(ctrl, "PCI slot #%s - action canceled due to button press\n",
drivers/pci/hotplug/shpchp_ctrl.c
507
ctrl_info(ctrl, "Button ignore on Slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
552
ctrl_info(ctrl, "No adapter on slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
557
ctrl_info(ctrl, "Latch open on slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
562
ctrl_info(ctrl, "Already enabled on slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
59
ctrl_info(ctrl, "Button pressed on Slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
612
ctrl_info(ctrl, "No adapter on slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
617
ctrl_info(ctrl, "Latch open on slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
622
ctrl_info(ctrl, "Already disabled on slot(%s)\n",
drivers/pci/hotplug/shpchp_ctrl.c
652
ctrl_info(ctrl, "Slot %s is already in powering on state\n",
drivers/pci/hotplug/shpchp_ctrl.c
657
ctrl_info(ctrl, "Already enabled on slot %s\n",
drivers/pci/hotplug/shpchp_ctrl.c
688
ctrl_info(ctrl, "Slot %s is already in powering off state\n",
drivers/pci/hotplug/shpchp_ctrl.c
693
ctrl_info(ctrl, "Already disabled on slot %s\n",
drivers/pci/hotplug/shpchp_ctrl.c
87
ctrl_info(ctrl, "Latch open on Slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_ctrl.c
97
ctrl_info(ctrl, "Latch close on Slot(%s)\n", slot_name(p_slot));
drivers/pci/hotplug/shpchp_hpc.c
281
ctrl_info(ctrl, "Command was interrupted by a signal\n");
drivers/pci/hotplug/shpchp_hpc.c
926
ctrl_info(ctrl, "HPC vendor_id %x device_id %x ss_vid %x ss_did %x\n",
drivers/pci/hotplug/shpchp_hpc.c
998
ctrl_info(ctrl, "Can't get msi for the hotplug controller\n");
drivers/pci/hotplug/shpchp_hpc.c
999
ctrl_info(ctrl, "Use INTx for the hotplug controller\n");
drivers/scsi/megaraid/megaraid_sas_base.c
6028
struct megasas_ctrl_info *ctrl_info = NULL;
drivers/scsi/megaraid/megaraid_sas_base.c
6412
ctrl_info = instance->ctrl_info_buf;
drivers/scsi/megaraid/megaraid_sas_base.c
6414
max_sectors_1 = (1 << ctrl_info->stripe_sz_ops.min) *
drivers/scsi/megaraid/megaraid_sas_base.c
6415
le16_to_cpu(ctrl_info->max_strips_per_io);
drivers/scsi/megaraid/megaraid_sas_base.c
6416
max_sectors_2 = le32_to_cpu(ctrl_info->max_request_size);
drivers/scsi/megaraid/megaraid_sas_base.c
6420
instance->peerIsPresent = ctrl_info->cluster.peerIsPresent;
drivers/scsi/megaraid/megaraid_sas_base.c
6421
instance->passive = ctrl_info->cluster.passive;
drivers/scsi/megaraid/megaraid_sas_base.c
6422
memcpy(instance->clusterId, ctrl_info->clusterId, sizeof(instance->clusterId));
drivers/scsi/megaraid/megaraid_sas_base.c
6424
ctrl_info->adapterOperations2.supportUnevenSpans;
drivers/scsi/megaraid/megaraid_sas_base.c
6433
if (ctrl_info->host_interface.SRIOV) {
drivers/scsi/megaraid/megaraid_sas_base.c
6434
instance->requestorId = ctrl_info->iov.requestorId;
drivers/scsi/megaraid/megaraid_sas_base.c
6436
if (!ctrl_info->adapterOperations2.activePassive)
drivers/scsi/megaraid/megaraid_sas_base.c
6444
((unsigned char *)ctrl_info + IOV_111_OFFSET);
drivers/scsi/megaraid/megaraid_sas_base.c
6453
ctrl_info->adapterOperations3.supportCrashDump;
drivers/scsi/megaraid/megaraid_sas_base.c
6478
le16_to_cpu(ctrl_info->pci.vendor_id),
drivers/scsi/megaraid/megaraid_sas_base.c
6479
le16_to_cpu(ctrl_info->pci.device_id),
drivers/scsi/megaraid/megaraid_sas_base.c
6480
le16_to_cpu(ctrl_info->pci.sub_vendor_id),
drivers/scsi/megaraid/megaraid_sas_base.c
6481
le16_to_cpu(ctrl_info->pci.sub_device_id));
drivers/scsi/smartpqi/smartpqi.h
1103
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi.h
1704
int pqi_add_sas_host(struct Scsi_Host *shost, struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi.h
1705
void pqi_delete_sas_host(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi.h
1710
struct pqi_ctrl_info *ctrl_info, struct sas_rphy *rphy);
drivers/scsi/smartpqi/smartpqi.h
1712
int pqi_csmi_smp_passthru(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi.h
764
struct pqi_ctrl_info *ctrl_info; /* backpointer */
drivers/scsi/smartpqi/smartpqi_init.c
100
static int pqi_device_wait_for_pending_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1005
static inline int pqi_write_host_wellness(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1008
return pqi_send_ctrl_raid_request(ctrl_info, BMIC_WRITE_HOST_WELLNESS,
drivers/scsi/smartpqi/smartpqi_init.c
102
static void pqi_fail_all_outstanding_requests(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
1026
struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
1053
rc = pqi_write_host_wellness(ctrl_info, buffer, buffer_length);
drivers/scsi/smartpqi/smartpqi_init.c
1074
struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
1116
rc = pqi_write_host_wellness(ctrl_info, buffer, buffer_length);
drivers/scsi/smartpqi/smartpqi_init.c
1128
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
1130
ctrl_info = container_of(to_delayed_work(work), struct pqi_ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1133
rc = pqi_write_current_time_to_host_wellness(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
1135
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1138
schedule_delayed_work(&ctrl_info->update_time_work,
drivers/scsi/smartpqi/smartpqi_init.c
1142
static inline void pqi_schedule_update_time_worker(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
1144
schedule_delayed_work(&ctrl_info->update_time_work, 0);
drivers/scsi/smartpqi/smartpqi_init.c
1147
static inline void pqi_cancel_update_time_worker(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
1149
cancel_delayed_work_sync(&ctrl_info->update_time_work);
drivers/scsi/smartpqi/smartpqi_init.c
1152
static inline int pqi_report_luns(struct pqi_ctrl_info *ctrl_info, u8 cmd, void *buffer,
drivers/scsi/smartpqi/smartpqi_init.c
1155
return pqi_send_ctrl_raid_request(ctrl_info, cmd, buffer, buffer_length);
drivers/scsi/smartpqi/smartpqi_init.c
1158
static int pqi_report_phys_logical_luns(struct pqi_ctrl_info *ctrl_info, u8 cmd, void **buffer)
drivers/scsi/smartpqi/smartpqi_init.c
1173
rc = pqi_report_luns(ctrl_info, cmd, report_lun_header, sizeof(*report_lun_header));
drivers/scsi/smartpqi/smartpqi_init.c
1193
rc = pqi_report_luns(ctrl_info, cmd, lun_data, lun_data_length);
drivers/scsi/smartpqi/smartpqi_init.c
1219
static inline int pqi_report_phys_luns(struct pqi_ctrl_info *ctrl_info, void **buffer)
drivers/scsi/smartpqi/smartpqi_init.c
1230
rc = pqi_report_phys_logical_luns(ctrl_info, CISS_REPORT_PHYS, &rpl_list);
drivers/scsi/smartpqi/smartpqi_init.c
1234
if (ctrl_info->rpl_extended_format_4_5_supported) {
drivers/scsi/smartpqi/smartpqi_init.c
1241
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1247
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1287
static inline int pqi_report_logical_luns(struct pqi_ctrl_info *ctrl_info, void **buffer)
drivers/scsi/smartpqi/smartpqi_init.c
1289
return pqi_report_phys_logical_luns(ctrl_info, CISS_REPORT_LOG, buffer);
drivers/scsi/smartpqi/smartpqi_init.c
1292
static int pqi_get_device_lists(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1303
rc = pqi_report_phys_luns(ctrl_info, (void **)physdev_list);
drivers/scsi/smartpqi/smartpqi_init.c
1305
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1308
rc = pqi_report_logical_luns(ctrl_info, (void **)logdev_list);
drivers/scsi/smartpqi/smartpqi_init.c
1310
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1402
static void pqi_get_raid_level(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1413
rc = pqi_scsi_inquiry(ctrl_info, device->scsi3addr,
drivers/scsi/smartpqi/smartpqi_init.c
1426
static int pqi_validate_raid_map(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1466
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1474
static int pqi_get_raid_map(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1485
rc = pqi_send_scsi_raid_request(ctrl_info, CISS_GET_RAID_MAP,
drivers/scsi/smartpqi/smartpqi_init.c
1500
rc = pqi_send_scsi_raid_request(ctrl_info, CISS_GET_RAID_MAP,
drivers/scsi/smartpqi/smartpqi_init.c
1507
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1516
rc = pqi_validate_raid_map(ctrl_info, device, raid_map);
drivers/scsi/smartpqi/smartpqi_init.c
1536
static void pqi_set_max_transfer_encrypted(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1539
if (!ctrl_info->lv_drive_type_mix_valid) {
drivers/scsi/smartpqi/smartpqi_init.c
1553
ctrl_info->max_transfer_encrypted_sas_sata;
drivers/scsi/smartpqi/smartpqi_init.c
1557
ctrl_info->max_transfer_encrypted_nvme;
drivers/scsi/smartpqi/smartpqi_init.c
1563
min(ctrl_info->max_transfer_encrypted_sas_sata,
drivers/scsi/smartpqi/smartpqi_init.c
1564
ctrl_info->max_transfer_encrypted_nvme);
drivers/scsi/smartpqi/smartpqi_init.c
1569
static void pqi_get_raid_bypass_status(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1580
rc = pqi_scsi_inquiry(ctrl_info, device->scsi3addr,
drivers/scsi/smartpqi/smartpqi_init.c
1594
pqi_get_raid_map(ctrl_info, device) == 0) {
drivers/scsi/smartpqi/smartpqi_init.c
1598
pqi_set_max_transfer_encrypted(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
1609
static void pqi_get_volume_status(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1623
rc = pqi_scsi_inquiry(ctrl_info, device->scsi3addr,
drivers/scsi/smartpqi/smartpqi_init.c
1651
static int pqi_get_physical_device_info(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1659
rc = pqi_identify_physical_device(ctrl_info, device,
drivers/scsi/smartpqi/smartpqi_init.c
1703
static int pqi_get_logical_device_info(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1714
rc = pqi_scsi_inquiry(ctrl_info, device->scsi3addr, 0, buffer, 64);
drivers/scsi/smartpqi/smartpqi_init.c
1731
pqi_get_raid_level(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
1732
pqi_get_raid_bypass_status(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
1733
pqi_get_volume_status(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
1758
static int pqi_get_device_info_phys_logical(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1768
rc = pqi_get_logical_device_info(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
1770
rc = pqi_get_physical_device_info(ctrl_info, device, id_phys);
drivers/scsi/smartpqi/smartpqi_init.c
1775
static int pqi_get_device_info(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1781
rc = pqi_get_device_info_phys_logical(ctrl_info, device, id_phys);
drivers/scsi/smartpqi/smartpqi_init.c
1789
static void pqi_show_volume_status(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1886
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1888
ctrl_info->scsi_host->host_no,
drivers/scsi/smartpqi/smartpqi_init.c
1894
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
1896
ctrl_info = container_of(to_delayed_work(work), struct pqi_ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1899
pqi_scan_scsi_devices(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
1902
static int pqi_add_device(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1908
rc = scsi_add_device(ctrl_info->scsi_host, device->bus,
drivers/scsi/smartpqi/smartpqi_init.c
1911
rc = pqi_add_sas_device(ctrl_info->sas_host, device);
drivers/scsi/smartpqi/smartpqi_init.c
1918
static inline void pqi_remove_device(struct pqi_ctrl_info *ctrl_info, struct pqi_scsi_dev *device)
drivers/scsi/smartpqi/smartpqi_init.c
1924
rc = pqi_device_wait_for_pending_io(ctrl_info, device, lun,
drivers/scsi/smartpqi/smartpqi_init.c
1927
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
1929
ctrl_info->scsi_host->host_no, device->bus,
drivers/scsi/smartpqi/smartpqi_init.c
1944
static struct pqi_scsi_dev *pqi_find_scsi_dev(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1949
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry)
drivers/scsi/smartpqi/smartpqi_init.c
1973
static enum pqi_find_result pqi_scsi_find_entry(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
1978
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry) {
drivers/scsi/smartpqi/smartpqi_init.c
2003
static void pqi_dev_info(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
2010
"%d:%d:", ctrl_info->scsi_host->host_no, device->bus);
drivers/scsi/smartpqi/smartpqi_init.c
2029
} else if (ctrl_info->rpl_extended_format_4_5_supported) {
drivers/scsi/smartpqi/smartpqi_init.c
2074
dev_info(&ctrl_info->pci_dev->dev, "%s %s\n", action, buffer);
drivers/scsi/smartpqi/smartpqi_init.c
2096
static void pqi_scsi_update_device(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
2167
static inline void pqi_fixup_botched_add(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
2172
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2174
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2211
static void pqi_update_device_list(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
2231
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2234
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry)
drivers/scsi/smartpqi/smartpqi_init.c
2240
find_result = pqi_scsi_find_entry(ctrl_info, device,
drivers/scsi/smartpqi/smartpqi_init.c
2251
pqi_scsi_update_device(ctrl_info, matching_device, device);
drivers/scsi/smartpqi/smartpqi_init.c
2271
list_for_each_entry_safe(device, next, &ctrl_info->scsi_device_list,
drivers/scsi/smartpqi/smartpqi_init.c
2287
&ctrl_info->scsi_device_list);
drivers/scsi/smartpqi/smartpqi_init.c
2294
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2301
if (pqi_ofa_in_progress(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
2305
pqi_ctrl_unblock_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2306
pqi_scsi_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2312
pqi_dev_info(ctrl_info, "offline", device);
drivers/scsi/smartpqi/smartpqi_init.c
2313
pqi_show_volume_status(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
2315
pqi_dev_info(ctrl_info, "removed", device);
drivers/scsi/smartpqi/smartpqi_init.c
2318
pqi_remove_device(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
2327
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry) {
drivers/scsi/smartpqi/smartpqi_init.c
2335
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2341
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2344
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
2351
rc = pqi_add_device(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
2353
pqi_dev_info(ctrl_info, "added", device);
drivers/scsi/smartpqi/smartpqi_init.c
2355
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
2357
ctrl_info->scsi_host->host_no,
drivers/scsi/smartpqi/smartpqi_init.c
2360
pqi_fixup_botched_add(ctrl_info, device);
drivers/scsi/smartpqi/smartpqi_init.c
2401
static int pqi_update_scsi_devices(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
2425
rc = pqi_get_device_lists(ctrl_info, &physdev_list, &logdev_list);
drivers/scsi/smartpqi/smartpqi_init.c
2452
dev_warn(&ctrl_info->pci_dev->dev, "%s\n",
drivers/scsi/smartpqi/smartpqi_init.c
2471
ctrl_info->lv_drive_type_mix_valid = true;
drivers/scsi/smartpqi/smartpqi_init.c
2477
dev_warn(&ctrl_info->pci_dev->dev, "%s\n", out_of_memory_msg);
drivers/scsi/smartpqi/smartpqi_init.c
2485
dev_warn(&ctrl_info->pci_dev->dev, "%s\n",
drivers/scsi/smartpqi/smartpqi_init.c
249
static inline bool pqi_ctrl_offline(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
251
return !ctrl_info->controller_online;
drivers/scsi/smartpqi/smartpqi_init.c
2538
rc = pqi_get_device_info(ctrl_info, device, id_phys);
drivers/scsi/smartpqi/smartpqi_init.c
254
static inline void pqi_check_ctrl_health(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
2540
dev_warn(&ctrl_info->pci_dev->dev, "%s\n",
drivers/scsi/smartpqi/smartpqi_init.c
2546
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
2551
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
256
if (ctrl_info->controller_online)
drivers/scsi/smartpqi/smartpqi_init.c
257
if (!sis_is_firmware_running(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
258
pqi_take_ctrl_offline(ctrl_info, PQI_FIRMWARE_KERNEL_NOT_UP);
drivers/scsi/smartpqi/smartpqi_init.c
2584
pqi_update_device_list(ctrl_info, new_device_list, num_valid_devices);
drivers/scsi/smartpqi/smartpqi_init.c
2603
static int pqi_scan_scsi_devices(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
2608
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
2611
mutex_acquired = mutex_trylock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
2614
if (pqi_ctrl_scan_blocked(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
2616
pqi_schedule_rescan_worker_delayed(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2620
rc = pqi_update_scsi_devices(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2621
if (rc && !pqi_ctrl_scan_blocked(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
2622
pqi_schedule_rescan_worker_delayed(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2624
mutex_unlock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
2631
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
2633
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
2635
pqi_scan_scsi_devices(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2643
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
2645
ctrl_info = shost_priv(shost);
drivers/scsi/smartpqi/smartpqi_init.c
2647
return !mutex_is_locked(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
2674
static bool pqi_aio_raid_level_supported(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
2683
if (rmd->is_write && (!ctrl_info->enable_r1_writes ||
drivers/scsi/smartpqi/smartpqi_init.c
2684
rmd->data_length > ctrl_info->max_write_raid_1_10_2drive))
drivers/scsi/smartpqi/smartpqi_init.c
2688
if (rmd->is_write && (!ctrl_info->enable_r1_writes ||
drivers/scsi/smartpqi/smartpqi_init.c
2689
rmd->data_length > ctrl_info->max_write_raid_1_10_3drive))
drivers/scsi/smartpqi/smartpqi_init.c
269
static inline enum pqi_ctrl_mode pqi_get_ctrl_mode(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
2693
if (rmd->is_write && (!ctrl_info->enable_r5_writes ||
drivers/scsi/smartpqi/smartpqi_init.c
2694
rmd->data_length > ctrl_info->max_write_raid_5_6))
drivers/scsi/smartpqi/smartpqi_init.c
2698
if (rmd->is_write && (!ctrl_info->enable_r6_writes ||
drivers/scsi/smartpqi/smartpqi_init.c
2699
rmd->data_length > ctrl_info->max_write_raid_5_6))
drivers/scsi/smartpqi/smartpqi_init.c
271
return sis_read_driver_scratch(ctrl_info) & PQI_DRIVER_SCRATCH_PQI_MODE ? PQI_MODE : SIS_MODE;
drivers/scsi/smartpqi/smartpqi_init.c
274
static inline void pqi_save_ctrl_mode(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
2758
static int pci_get_aio_common_raid_map_values(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
279
driver_scratch = sis_read_driver_scratch(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
286
sis_write_driver_scratch(ctrl_info, driver_scratch);
drivers/scsi/smartpqi/smartpqi_init.c
289
static inline bool pqi_is_fw_triage_supported(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
291
return (sis_read_driver_scratch(ctrl_info) & PQI_DRIVER_SCRATCH_FW_TRIAGE_SUPPORTED) != 0;
drivers/scsi/smartpqi/smartpqi_init.c
294
static inline void pqi_save_fw_triage_setting(struct pqi_ctrl_info *ctrl_info, bool is_supported)
drivers/scsi/smartpqi/smartpqi_init.c
298
driver_scratch = sis_read_driver_scratch(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
2992
static int pqi_raid_bypass_submit_scsi_cmd(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
3010
if (!pqi_aio_raid_level_supported(ctrl_info, &rmd))
drivers/scsi/smartpqi/smartpqi_init.c
3018
rc = pci_get_aio_common_raid_map_values(ctrl_info, &rmd, raid_map);
drivers/scsi/smartpqi/smartpqi_init.c
305
sis_write_driver_scratch(ctrl_info, driver_scratch);
drivers/scsi/smartpqi/smartpqi_init.c
3075
return pqi_aio_submit_r1_write_io(ctrl_info, scmd, queue_group,
drivers/scsi/smartpqi/smartpqi_init.c
3079
return pqi_aio_submit_r56_write_io(ctrl_info, scmd, queue_group,
drivers/scsi/smartpqi/smartpqi_init.c
308
static inline void pqi_ctrl_block_scan(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3084
return pqi_aio_submit_io(ctrl_info, scmd, rmd.aio_handle,
drivers/scsi/smartpqi/smartpqi_init.c
310
ctrl_info->scan_blocked = true;
drivers/scsi/smartpqi/smartpqi_init.c
3103
static int pqi_wait_for_pqi_mode_ready(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
311
mutex_lock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
3110
pqi_registers = ctrl_info->pqi_registers;
drivers/scsi/smartpqi/smartpqi_init.c
3119
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3131
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
314
static inline void pqi_ctrl_unblock_scan(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3143
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
316
ctrl_info->scan_blocked = false;
drivers/scsi/smartpqi/smartpqi_init.c
3164
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
317
mutex_unlock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
3172
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
3173
pqi_schedule_rescan_worker(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3174
dev_err(&ctrl_info->pci_dev->dev, "re-scanning %s scsi %d:%d:%d:%d\n",
drivers/scsi/smartpqi/smartpqi_init.c
3175
path, ctrl_info->scsi_host->host_no, device->bus,
drivers/scsi/smartpqi/smartpqi_init.c
320
static inline bool pqi_ctrl_scan_blocked(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
322
return ctrl_info->scan_blocked;
drivers/scsi/smartpqi/smartpqi_init.c
325
static inline void pqi_ctrl_block_device_reset(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3250
struct pqi_ctrl_info *ctrl_info = shost_to_hba(scmd->device->host);
drivers/scsi/smartpqi/smartpqi_init.c
3257
ctrl_info->scsi_host->host_no, device->bus, device->target, device->lun);
drivers/scsi/smartpqi/smartpqi_init.c
3265
sshdr.ascq, ctrl_info->scsi_host->host_no, device->bus, device->target, device->lun);
drivers/scsi/smartpqi/smartpqi_init.c
327
mutex_lock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
330
static inline void pqi_ctrl_unblock_device_reset(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
332
mutex_unlock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
335
static inline void pqi_scsi_block_requests(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3396
static int pqi_interpret_task_management_response(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
341
shost = ctrl_info->scsi_host;
drivers/scsi/smartpqi/smartpqi_init.c
3418
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3424
static inline void pqi_invalid_response(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
3427
pqi_take_ctrl_offline(ctrl_info, ctrl_shutdown_reason);
drivers/scsi/smartpqi/smartpqi_init.c
3430
static int pqi_process_io_intr(struct pqi_ctrl_info *ctrl_info, struct pqi_queue_group *queue_group)
drivers/scsi/smartpqi/smartpqi_init.c
3444
if (oq_pi >= ctrl_info->num_elements_per_oq) {
drivers/scsi/smartpqi/smartpqi_init.c
3445
pqi_invalid_response(ctrl_info, PQI_IO_PI_OUT_OF_RANGE);
drivers/scsi/smartpqi/smartpqi_init.c
3446
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3448
oq_pi, ctrl_info->num_elements_per_oq - 1, oq_ci);
drivers/scsi/smartpqi/smartpqi_init.c
3459
if (request_id >= ctrl_info->max_io_slots) {
drivers/scsi/smartpqi/smartpqi_init.c
3460
pqi_invalid_response(ctrl_info, PQI_INVALID_REQ_ID);
drivers/scsi/smartpqi/smartpqi_init.c
3461
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3463
request_id, ctrl_info->max_io_slots - 1, oq_pi, oq_ci);
drivers/scsi/smartpqi/smartpqi_init.c
3467
io_request = &ctrl_info->io_request_pool[request_id];
drivers/scsi/smartpqi/smartpqi_init.c
3469
pqi_invalid_response(ctrl_info, PQI_UNMATCHED_REQ_ID);
drivers/scsi/smartpqi/smartpqi_init.c
3470
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3490
io_request->status = pqi_interpret_task_management_response(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
3499
io_request->error_info = ctrl_info->error_buffer +
drivers/scsi/smartpqi/smartpqi_init.c
3505
pqi_invalid_response(ctrl_info, PQI_UNEXPECTED_IU_TYPE);
drivers/scsi/smartpqi/smartpqi_init.c
3506
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3518
oq_ci = (oq_ci + 1) % ctrl_info->num_elements_per_oq;
drivers/scsi/smartpqi/smartpqi_init.c
3542
static void pqi_send_event_ack(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
355
static inline void pqi_scsi_unblock_requests(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3551
queue_group = &ctrl_info->queue_groups[PQI_DEFAULT_QUEUE_GROUP];
drivers/scsi/smartpqi/smartpqi_init.c
3561
ctrl_info->num_elements_per_iq))
drivers/scsi/smartpqi/smartpqi_init.c
3567
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
357
scsi_unblock_requests(ctrl_info->scsi_host);
drivers/scsi/smartpqi/smartpqi_init.c
3576
iq_pi = (iq_pi + 1) % ctrl_info->num_elements_per_iq;
drivers/scsi/smartpqi/smartpqi_init.c
3588
static void pqi_acknowledge_event(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
360
static inline void pqi_ctrl_busy(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3602
pqi_send_event_ack(ctrl_info, &request, sizeof(request));
drivers/scsi/smartpqi/smartpqi_init.c
3609
struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3617
status = pqi_read_soft_reset_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
362
atomic_inc(&ctrl_info->num_busy_threads);
drivers/scsi/smartpqi/smartpqi_init.c
3624
if (!sis_is_firmware_running(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
3628
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3637
static void pqi_process_soft_reset(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3643
if (ctrl_info->soft_reset_handshake_supported)
drivers/scsi/smartpqi/smartpqi_init.c
3644
reset_status = pqi_poll_for_soft_reset_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
365
static inline void pqi_ctrl_unbusy(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3655
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3657
sis_soft_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3660
ctrl_info->pqi_mode_enabled = false;
drivers/scsi/smartpqi/smartpqi_init.c
3661
pqi_save_ctrl_mode(ctrl_info, SIS_MODE);
drivers/scsi/smartpqi/smartpqi_init.c
3662
rc = pqi_ofa_ctrl_restart(ctrl_info, delay_secs);
drivers/scsi/smartpqi/smartpqi_init.c
3663
pqi_host_free_buffer(ctrl_info, &ctrl_info->ofa_memory);
drivers/scsi/smartpqi/smartpqi_init.c
3664
pqi_ctrl_ofa_done(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3665
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
367
atomic_dec(&ctrl_info->num_busy_threads);
drivers/scsi/smartpqi/smartpqi_init.c
3670
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3672
if (ctrl_info->soft_reset_handshake_supported)
drivers/scsi/smartpqi/smartpqi_init.c
3673
pqi_clear_soft_reset_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3674
pqi_host_free_buffer(ctrl_info, &ctrl_info->ofa_memory);
drivers/scsi/smartpqi/smartpqi_init.c
3675
pqi_ctrl_ofa_done(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3676
pqi_ofa_ctrl_unquiesce(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3681
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3684
pqi_host_free_buffer(ctrl_info, &ctrl_info->ofa_memory);
drivers/scsi/smartpqi/smartpqi_init.c
3685
pqi_ctrl_ofa_done(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3686
pqi_ofa_ctrl_unquiesce(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3687
pqi_take_ctrl_offline(ctrl_info, PQI_OFA_RESPONSE_TIMEOUT);
drivers/scsi/smartpqi/smartpqi_init.c
3694
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
3696
ctrl_info = container_of(work, struct pqi_ctrl_info, ofa_memory_alloc_work);
drivers/scsi/smartpqi/smartpqi_init.c
3698
pqi_ctrl_ofa_start(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3699
pqi_host_setup_buffer(ctrl_info, &ctrl_info->ofa_memory, ctrl_info->ofa_bytes_requested, ctrl_info->ofa_bytes_requested);
drivers/scsi/smartpqi/smartpqi_init.c
370
static inline bool pqi_ctrl_blocked(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3700
pqi_host_memory_update(ctrl_info, &ctrl_info->ofa_memory, PQI_VENDOR_GENERAL_OFA_MEMORY_UPDATE);
drivers/scsi/smartpqi/smartpqi_init.c
3705
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
3708
ctrl_info = container_of(work, struct pqi_ctrl_info, ofa_quiesce_work);
drivers/scsi/smartpqi/smartpqi_init.c
3710
event = &ctrl_info->events[pqi_event_type_to_event_index(PQI_EVENT_TYPE_OFA)];
drivers/scsi/smartpqi/smartpqi_init.c
3712
pqi_ofa_ctrl_quiesce(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3713
pqi_acknowledge_event(ctrl_info, event);
drivers/scsi/smartpqi/smartpqi_init.c
3714
pqi_process_soft_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3717
static bool pqi_ofa_process_event(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
372
return ctrl_info->block_requests;
drivers/scsi/smartpqi/smartpqi_init.c
3726
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3728
schedule_work(&ctrl_info->ofa_memory_alloc_work);
drivers/scsi/smartpqi/smartpqi_init.c
3731
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3733
schedule_work(&ctrl_info->ofa_quiesce_work);
drivers/scsi/smartpqi/smartpqi_init.c
3737
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3739
ctrl_info->ofa_cancel_reason);
drivers/scsi/smartpqi/smartpqi_init.c
3740
pqi_host_free_buffer(ctrl_info, &ctrl_info->ofa_memory);
drivers/scsi/smartpqi/smartpqi_init.c
3741
pqi_ctrl_ofa_done(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3744
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
375
static inline void pqi_ctrl_block_requests(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3753
static void pqi_mark_volumes_for_rescan(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3758
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
3760
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry) {
drivers/scsi/smartpqi/smartpqi_init.c
3765
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
3768
static void pqi_disable_raid_bypass(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
377
ctrl_info->block_requests = true;
drivers/scsi/smartpqi/smartpqi_init.c
3773
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
3775
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry)
drivers/scsi/smartpqi/smartpqi_init.c
3779
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
3786
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
3790
ctrl_info = container_of(work, struct pqi_ctrl_info, event_work);
drivers/scsi/smartpqi/smartpqi_init.c
3792
pqi_ctrl_busy(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3793
pqi_wait_if_ctrl_blocked(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3794
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
3798
event = ctrl_info->events;
drivers/scsi/smartpqi/smartpqi_init.c
380
static inline void pqi_ctrl_unblock_requests(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3803
ack_event = pqi_ofa_process_event(ctrl_info, event);
drivers/scsi/smartpqi/smartpqi_init.c
3808
pqi_mark_volumes_for_rescan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3810
pqi_disable_raid_bypass(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3813
pqi_acknowledge_event(ctrl_info, event);
drivers/scsi/smartpqi/smartpqi_init.c
382
ctrl_info->block_requests = false;
drivers/scsi/smartpqi/smartpqi_init.c
3821
pqi_schedule_rescan_worker_with_delay(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
3825
pqi_ctrl_unbusy(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
383
wake_up_all(&ctrl_info->block_requests_wait);
drivers/scsi/smartpqi/smartpqi_init.c
3834
struct pqi_ctrl_info *ctrl_info = timer_container_of(ctrl_info, t,
drivers/scsi/smartpqi/smartpqi_init.c
3837
pqi_check_ctrl_health(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3838
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
3841
num_interrupts = atomic_read(&ctrl_info->num_interrupts);
drivers/scsi/smartpqi/smartpqi_init.c
3842
heartbeat_count = pqi_read_heartbeat_counter(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3844
if (num_interrupts == ctrl_info->previous_num_interrupts) {
drivers/scsi/smartpqi/smartpqi_init.c
3845
if (heartbeat_count == ctrl_info->previous_heartbeat_count) {
drivers/scsi/smartpqi/smartpqi_init.c
3846
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
3849
pqi_take_ctrl_offline(ctrl_info, PQI_NO_HEARTBEAT);
drivers/scsi/smartpqi/smartpqi_init.c
3853
ctrl_info->previous_num_interrupts = num_interrupts;
drivers/scsi/smartpqi/smartpqi_init.c
3856
ctrl_info->previous_heartbeat_count = heartbeat_count;
drivers/scsi/smartpqi/smartpqi_init.c
3857
mod_timer(&ctrl_info->heartbeat_timer,
drivers/scsi/smartpqi/smartpqi_init.c
386
static void pqi_wait_if_ctrl_blocked(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3861
static void pqi_start_heartbeat_timer(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3863
if (!ctrl_info->heartbeat_counter)
drivers/scsi/smartpqi/smartpqi_init.c
3866
ctrl_info->previous_num_interrupts =
drivers/scsi/smartpqi/smartpqi_init.c
3867
atomic_read(&ctrl_info->num_interrupts);
drivers/scsi/smartpqi/smartpqi_init.c
3868
ctrl_info->previous_heartbeat_count =
drivers/scsi/smartpqi/smartpqi_init.c
3869
pqi_read_heartbeat_counter(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3871
ctrl_info->heartbeat_timer.expires =
drivers/scsi/smartpqi/smartpqi_init.c
3873
add_timer(&ctrl_info->heartbeat_timer);
drivers/scsi/smartpqi/smartpqi_init.c
3876
static inline void pqi_stop_heartbeat_timer(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3878
timer_delete_sync(&ctrl_info->heartbeat_timer);
drivers/scsi/smartpqi/smartpqi_init.c
388
if (!pqi_ctrl_blocked(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
3881
static void pqi_ofa_capture_event_payload(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
3886
ctrl_info->ofa_bytes_requested =
drivers/scsi/smartpqi/smartpqi_init.c
3890
ctrl_info->ofa_cancel_reason =
drivers/scsi/smartpqi/smartpqi_init.c
3896
static int pqi_process_event_intr(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3906
event_queue = &ctrl_info->event_queue;
drivers/scsi/smartpqi/smartpqi_init.c
391
atomic_inc(&ctrl_info->num_blocked_threads);
drivers/scsi/smartpqi/smartpqi_init.c
3913
pqi_invalid_response(ctrl_info, PQI_EVENT_PI_OUT_OF_RANGE);
drivers/scsi/smartpqi/smartpqi_init.c
3914
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
392
wait_event(ctrl_info->block_requests_wait,
drivers/scsi/smartpqi/smartpqi_init.c
3929
event = &ctrl_info->events[event_index];
drivers/scsi/smartpqi/smartpqi_init.c
393
!pqi_ctrl_blocked(ctrl_info));
drivers/scsi/smartpqi/smartpqi_init.c
3936
pqi_ofa_capture_event_payload(ctrl_info, event, response);
drivers/scsi/smartpqi/smartpqi_init.c
394
atomic_dec(&ctrl_info->num_blocked_threads);
drivers/scsi/smartpqi/smartpqi_init.c
3945
schedule_work(&ctrl_info->event_work);
drivers/scsi/smartpqi/smartpqi_init.c
3953
static inline void pqi_configure_legacy_intx(struct pqi_ctrl_info *ctrl_info, bool enable_intx)
drivers/scsi/smartpqi/smartpqi_init.c
3959
pqi_registers = ctrl_info->pqi_registers;
drivers/scsi/smartpqi/smartpqi_init.c
3971
static void pqi_change_irq_mode(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
3974
switch (ctrl_info->irq_mode) {
drivers/scsi/smartpqi/smartpqi_init.c
3980
pqi_configure_legacy_intx(ctrl_info, true);
drivers/scsi/smartpqi/smartpqi_init.c
3981
sis_enable_intx(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
399
static inline void pqi_ctrl_wait_until_quiesced(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
3990
pqi_configure_legacy_intx(ctrl_info, false);
drivers/scsi/smartpqi/smartpqi_init.c
3991
sis_enable_msix(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
3996
pqi_configure_legacy_intx(ctrl_info, false);
drivers/scsi/smartpqi/smartpqi_init.c
4003
sis_enable_msix(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4006
pqi_configure_legacy_intx(ctrl_info, true);
drivers/scsi/smartpqi/smartpqi_init.c
4007
sis_enable_intx(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4015
ctrl_info->irq_mode = new_mode;
drivers/scsi/smartpqi/smartpqi_init.c
4020
static inline bool pqi_is_valid_irq(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4025
switch (ctrl_info->irq_mode) {
drivers/scsi/smartpqi/smartpqi_init.c
4030
intx_status = readl(&ctrl_info->pqi_registers->legacy_intx_status);
drivers/scsi/smartpqi/smartpqi_init.c
4047
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
4053
ctrl_info = queue_group->ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
4055
if (!pqi_is_valid_irq(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
4058
num_io_responses_handled = pqi_process_io_intr(ctrl_info, queue_group);
drivers/scsi/smartpqi/smartpqi_init.c
4062
if (irq == ctrl_info->event_irq) {
drivers/scsi/smartpqi/smartpqi_init.c
4063
num_events_handled = pqi_process_event_intr(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4071
atomic_inc(&ctrl_info->num_interrupts);
drivers/scsi/smartpqi/smartpqi_init.c
4073
pqi_start_io(ctrl_info, queue_group, RAID_PATH, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
4074
pqi_start_io(ctrl_info, queue_group, AIO_PATH, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
4080
static int pqi_request_irqs(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4082
struct pci_dev *pci_dev = ctrl_info->pci_dev;
drivers/scsi/smartpqi/smartpqi_init.c
4086
ctrl_info->event_irq = pci_irq_vector(pci_dev, 0);
drivers/scsi/smartpqi/smartpqi_init.c
4088
for (i = 0; i < ctrl_info->num_msix_vectors_enabled; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
409
while (atomic_read(&ctrl_info->num_busy_threads) >
drivers/scsi/smartpqi/smartpqi_init.c
4090
DRIVER_NAME_SHORT, &ctrl_info->queue_groups[i]);
drivers/scsi/smartpqi/smartpqi_init.c
4097
ctrl_info->num_msix_vectors_initialized++;
drivers/scsi/smartpqi/smartpqi_init.c
410
atomic_read(&ctrl_info->num_blocked_threads)) {
drivers/scsi/smartpqi/smartpqi_init.c
4103
static void pqi_free_irqs(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4107
for (i = 0; i < ctrl_info->num_msix_vectors_initialized; i++)
drivers/scsi/smartpqi/smartpqi_init.c
4108
free_irq(pci_irq_vector(ctrl_info->pci_dev, i),
drivers/scsi/smartpqi/smartpqi_init.c
4109
&ctrl_info->queue_groups[i]);
drivers/scsi/smartpqi/smartpqi_init.c
4111
ctrl_info->num_msix_vectors_initialized = 0;
drivers/scsi/smartpqi/smartpqi_init.c
4114
static int pqi_enable_msix_interrupts(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
412
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4122
num_vectors_enabled = pci_alloc_irq_vectors(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
4123
PQI_MIN_MSIX_VECTORS, ctrl_info->num_queue_groups,
drivers/scsi/smartpqi/smartpqi_init.c
4126
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4132
ctrl_info->num_msix_vectors_enabled = num_vectors_enabled;
drivers/scsi/smartpqi/smartpqi_init.c
4133
ctrl_info->irq_mode = IRQ_MODE_MSIX;
drivers/scsi/smartpqi/smartpqi_init.c
4137
static void pqi_disable_msix_interrupts(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4139
if (ctrl_info->num_msix_vectors_enabled) {
drivers/scsi/smartpqi/smartpqi_init.c
4140
pci_free_irq_vectors(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
4141
ctrl_info->num_msix_vectors_enabled = 0;
drivers/scsi/smartpqi/smartpqi_init.c
4145
static int pqi_alloc_operational_queues(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4161
ctrl_info->num_elements_per_iq;
drivers/scsi/smartpqi/smartpqi_init.c
4164
ctrl_info->num_elements_per_oq;
drivers/scsi/smartpqi/smartpqi_init.c
4165
num_inbound_queues = ctrl_info->num_queue_groups * 2;
drivers/scsi/smartpqi/smartpqi_init.c
4166
num_outbound_queues = ctrl_info->num_queue_groups;
drivers/scsi/smartpqi/smartpqi_init.c
4167
num_queue_indexes = (ctrl_info->num_queue_groups * 3) + 1;
drivers/scsi/smartpqi/smartpqi_init.c
4199
ctrl_info->queue_memory_base =
drivers/scsi/smartpqi/smartpqi_init.c
4200
dma_alloc_coherent(&ctrl_info->pci_dev->dev, alloc_length,
drivers/scsi/smartpqi/smartpqi_init.c
4201
&ctrl_info->queue_memory_base_dma_handle,
drivers/scsi/smartpqi/smartpqi_init.c
4204
if (!ctrl_info->queue_memory_base)
drivers/scsi/smartpqi/smartpqi_init.c
4207
ctrl_info->queue_memory_length = alloc_length;
drivers/scsi/smartpqi/smartpqi_init.c
4209
element_array = PTR_ALIGN(ctrl_info->queue_memory_base,
drivers/scsi/smartpqi/smartpqi_init.c
4212
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
4213
queue_group = &ctrl_info->queue_groups[i];
drivers/scsi/smartpqi/smartpqi_init.c
4216
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4217
(element_array - ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
422
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4223
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4224
(element_array - ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4230
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
4231
queue_group = &ctrl_info->queue_groups[i];
drivers/scsi/smartpqi/smartpqi_init.c
4234
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4235
(element_array - ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4241
ctrl_info->event_queue.oq_element_array = element_array;
drivers/scsi/smartpqi/smartpqi_init.c
4242
ctrl_info->event_queue.oq_element_array_bus_addr =
drivers/scsi/smartpqi/smartpqi_init.c
4243
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4244
(element_array - ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4251
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
4252
queue_group = &ctrl_info->queue_groups[i];
drivers/scsi/smartpqi/smartpqi_init.c
4255
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4257
(void __iomem *)ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4263
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4265
(void __iomem *)ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4271
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4273
(void __iomem *)ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4279
ctrl_info->event_queue.oq_pi = next_queue_index;
drivers/scsi/smartpqi/smartpqi_init.c
4280
ctrl_info->event_queue.oq_pi_bus_addr =
drivers/scsi/smartpqi/smartpqi_init.c
4281
ctrl_info->queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4283
(void __iomem *)ctrl_info->queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4288
static void pqi_init_operational_queues(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4298
for (i = 0; i < ctrl_info->num_queue_groups; i++)
drivers/scsi/smartpqi/smartpqi_init.c
4299
ctrl_info->queue_groups[i].ctrl_info = ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
4306
ctrl_info->event_queue.oq_id = next_oq_id++;
drivers/scsi/smartpqi/smartpqi_init.c
4307
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
4308
ctrl_info->queue_groups[i].iq_id[RAID_PATH] = next_iq_id++;
drivers/scsi/smartpqi/smartpqi_init.c
4309
ctrl_info->queue_groups[i].iq_id[AIO_PATH] = next_iq_id++;
drivers/scsi/smartpqi/smartpqi_init.c
4310
ctrl_info->queue_groups[i].oq_id = next_oq_id++;
drivers/scsi/smartpqi/smartpqi_init.c
4317
ctrl_info->event_queue.int_msg_num = 0;
drivers/scsi/smartpqi/smartpqi_init.c
4318
for (i = 0; i < ctrl_info->num_queue_groups; i++)
drivers/scsi/smartpqi/smartpqi_init.c
4319
ctrl_info->queue_groups[i].int_msg_num = i;
drivers/scsi/smartpqi/smartpqi_init.c
432
static inline void pqi_ctrl_ofa_start(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4321
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
4322
spin_lock_init(&ctrl_info->queue_groups[i].submit_lock[0]);
drivers/scsi/smartpqi/smartpqi_init.c
4323
spin_lock_init(&ctrl_info->queue_groups[i].submit_lock[1]);
drivers/scsi/smartpqi/smartpqi_init.c
4324
INIT_LIST_HEAD(&ctrl_info->queue_groups[i].request_list[0]);
drivers/scsi/smartpqi/smartpqi_init.c
4325
INIT_LIST_HEAD(&ctrl_info->queue_groups[i].request_list[1]);
drivers/scsi/smartpqi/smartpqi_init.c
4329
static int pqi_alloc_admin_queues(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4338
ctrl_info->admin_queue_memory_base =
drivers/scsi/smartpqi/smartpqi_init.c
4339
dma_alloc_coherent(&ctrl_info->pci_dev->dev, alloc_length,
drivers/scsi/smartpqi/smartpqi_init.c
434
mutex_lock(&ctrl_info->ofa_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
4340
&ctrl_info->admin_queue_memory_base_dma_handle,
drivers/scsi/smartpqi/smartpqi_init.c
4343
if (!ctrl_info->admin_queue_memory_base)
drivers/scsi/smartpqi/smartpqi_init.c
4346
ctrl_info->admin_queue_memory_length = alloc_length;
drivers/scsi/smartpqi/smartpqi_init.c
4348
admin_queues = &ctrl_info->admin_queues;
drivers/scsi/smartpqi/smartpqi_init.c
4349
admin_queues_aligned = PTR_ALIGN(ctrl_info->admin_queue_memory_base,
drivers/scsi/smartpqi/smartpqi_init.c
4361
ctrl_info->admin_queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4363
ctrl_info->admin_queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4365
ctrl_info->admin_queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4367
ctrl_info->admin_queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4369
ctrl_info->admin_queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
437
static inline void pqi_ctrl_ofa_done(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4371
(void __iomem *)ctrl_info->admin_queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4373
ctrl_info->admin_queue_memory_base_dma_handle +
drivers/scsi/smartpqi/smartpqi_init.c
4375
(void __iomem *)ctrl_info->admin_queue_memory_base);
drivers/scsi/smartpqi/smartpqi_init.c
4383
static int pqi_create_admin_queues(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
439
mutex_unlock(&ctrl_info->ofa_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
4391
pqi_registers = ctrl_info->pqi_registers;
drivers/scsi/smartpqi/smartpqi_init.c
4392
admin_queues = &ctrl_info->admin_queues;
drivers/scsi/smartpqi/smartpqi_init.c
442
static inline void pqi_wait_until_ofa_finished(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4426
admin_queues->iq_pi = ctrl_info->iomem_base +
drivers/scsi/smartpqi/smartpqi_init.c
4429
admin_queues->oq_ci = ctrl_info->iomem_base +
drivers/scsi/smartpqi/smartpqi_init.c
4436
static void pqi_submit_admin_request(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
444
mutex_lock(&ctrl_info->ofa_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
4443
admin_queues = &ctrl_info->admin_queues;
drivers/scsi/smartpqi/smartpqi_init.c
445
mutex_unlock(&ctrl_info->ofa_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
4463
static int pqi_poll_for_admin_response(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4471
admin_queues = &ctrl_info->admin_queues;
drivers/scsi/smartpqi/smartpqi_init.c
448
static inline bool pqi_ofa_in_progress(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4481
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4485
if (!sis_is_firmware_running(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
450
return mutex_is_locked(&ctrl_info->ofa_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
4500
static void pqi_start_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4539
ctrl_info->num_elements_per_iq))
drivers/scsi/smartpqi/smartpqi_init.c
4549
ctrl_info->num_elements_per_iq - iq_pi;
drivers/scsi/smartpqi/smartpqi_init.c
4563
ctrl_info->num_elements_per_iq;
drivers/scsi/smartpqi/smartpqi_init.c
4582
static int pqi_wait_for_completion_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4594
pqi_check_ctrl_health(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4595
if (pqi_ctrl_offline(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
4640
static int pqi_submit_raid_request_synchronous(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4650
if (down_interruptible(&ctrl_info->sync_request_sem))
drivers/scsi/smartpqi/smartpqi_init.c
4653
down(&ctrl_info->sync_request_sem);
drivers/scsi/smartpqi/smartpqi_init.c
4656
pqi_ctrl_busy(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4662
pqi_wait_if_ctrl_blocked(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4664
if (pqi_ctrl_offline(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
4669
io_request = pqi_alloc_io_request(ctrl_info, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
4685
pqi_start_io(ctrl_info, &ctrl_info->queue_groups[PQI_DEFAULT_QUEUE_GROUP], RAID_PATH,
drivers/scsi/smartpqi/smartpqi_init.c
4688
pqi_wait_for_completion_io(ctrl_info, &wait);
drivers/scsi/smartpqi/smartpqi_init.c
4702
pqi_ctrl_unbusy(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
4703
up(&ctrl_info->sync_request_sem);
drivers/scsi/smartpqi/smartpqi_init.c
4728
struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4734
pqi_submit_admin_request(ctrl_info, request);
drivers/scsi/smartpqi/smartpqi_init.c
4736
rc = pqi_poll_for_admin_response(ctrl_info, response);
drivers/scsi/smartpqi/smartpqi_init.c
4744
static int pqi_report_device_capability(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4766
rc = pqi_map_single(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
4773
rc = pqi_submit_admin_request_synchronous(ctrl_info, &request, &response);
drivers/scsi/smartpqi/smartpqi_init.c
4775
pqi_pci_unmap(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
4787
ctrl_info->max_inbound_queues =
drivers/scsi/smartpqi/smartpqi_init.c
4789
ctrl_info->max_elements_per_iq =
drivers/scsi/smartpqi/smartpqi_init.c
4791
ctrl_info->max_iq_element_length =
drivers/scsi/smartpqi/smartpqi_init.c
4794
ctrl_info->max_outbound_queues =
drivers/scsi/smartpqi/smartpqi_init.c
4796
ctrl_info->max_elements_per_oq =
drivers/scsi/smartpqi/smartpqi_init.c
4798
ctrl_info->max_oq_element_length =
drivers/scsi/smartpqi/smartpqi_init.c
4805
ctrl_info->max_inbound_iu_length_per_firmware =
drivers/scsi/smartpqi/smartpqi_init.c
4808
ctrl_info->inbound_spanning_supported =
drivers/scsi/smartpqi/smartpqi_init.c
4810
ctrl_info->outbound_spanning_supported =
drivers/scsi/smartpqi/smartpqi_init.c
4819
static int pqi_validate_device_capability(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4821
if (ctrl_info->max_iq_element_length <
drivers/scsi/smartpqi/smartpqi_init.c
4823
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4825
ctrl_info->max_iq_element_length,
drivers/scsi/smartpqi/smartpqi_init.c
4830
if (ctrl_info->max_oq_element_length <
drivers/scsi/smartpqi/smartpqi_init.c
4832
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4834
ctrl_info->max_oq_element_length,
drivers/scsi/smartpqi/smartpqi_init.c
4839
if (ctrl_info->max_inbound_iu_length_per_firmware <
drivers/scsi/smartpqi/smartpqi_init.c
4841
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4843
ctrl_info->max_inbound_iu_length_per_firmware,
drivers/scsi/smartpqi/smartpqi_init.c
4848
if (!ctrl_info->inbound_spanning_supported) {
drivers/scsi/smartpqi/smartpqi_init.c
4849
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4854
if (ctrl_info->outbound_spanning_supported) {
drivers/scsi/smartpqi/smartpqi_init.c
4855
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4863
static int pqi_create_event_queue(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
4870
event_queue = &ctrl_info->event_queue;
drivers/scsi/smartpqi/smartpqi_init.c
4895
rc = pqi_submit_admin_request_synchronous(ctrl_info, &request,
drivers/scsi/smartpqi/smartpqi_init.c
4900
event_queue->oq_ci = ctrl_info->iomem_base +
drivers/scsi/smartpqi/smartpqi_init.c
4908
static int pqi_create_queue_group(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4916
queue_group = &ctrl_info->queue_groups[group_number];
drivers/scsi/smartpqi/smartpqi_init.c
4934
put_unaligned_le16(ctrl_info->num_elements_per_iq,
drivers/scsi/smartpqi/smartpqi_init.c
494
static inline void pqi_schedule_rescan_worker_with_delay(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
4940
rc = pqi_submit_admin_request_synchronous(ctrl_info, &request,
drivers/scsi/smartpqi/smartpqi_init.c
4943
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4948
queue_group->iq_pi[RAID_PATH] = ctrl_info->iomem_base +
drivers/scsi/smartpqi/smartpqi_init.c
4969
put_unaligned_le16(ctrl_info->num_elements_per_iq,
drivers/scsi/smartpqi/smartpqi_init.c
497
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
4975
rc = pqi_submit_admin_request_synchronous(ctrl_info, &request,
drivers/scsi/smartpqi/smartpqi_init.c
4978
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
4983
queue_group->iq_pi[AIO_PATH] = ctrl_info->iomem_base +
drivers/scsi/smartpqi/smartpqi_init.c
500
schedule_delayed_work(&ctrl_info->rescan_work, delay);
drivers/scsi/smartpqi/smartpqi_init.c
5003
rc = pqi_submit_admin_request_synchronous(ctrl_info, &request,
drivers/scsi/smartpqi/smartpqi_init.c
5006
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5025
put_unaligned_le16(ctrl_info->num_elements_per_oq,
drivers/scsi/smartpqi/smartpqi_init.c
503
static inline void pqi_schedule_rescan_worker(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5033
rc = pqi_submit_admin_request_synchronous(ctrl_info, &request,
drivers/scsi/smartpqi/smartpqi_init.c
5036
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5041
queue_group->oq_ci = ctrl_info->iomem_base +
drivers/scsi/smartpqi/smartpqi_init.c
5049
static int pqi_create_queues(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
505
pqi_schedule_rescan_worker_with_delay(ctrl_info, 0);
drivers/scsi/smartpqi/smartpqi_init.c
5054
rc = pqi_create_event_queue(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
5056
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5061
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
5062
rc = pqi_create_queue_group(ctrl_info, i);
drivers/scsi/smartpqi/smartpqi_init.c
5064
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5066
i, ctrl_info->num_queue_groups);
drivers/scsi/smartpqi/smartpqi_init.c
5077
static int pqi_configure_events(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
510
static inline void pqi_schedule_rescan_worker_delayed(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5100
rc = pqi_map_single(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
5107
rc = pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
5109
pqi_pci_unmap(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
512
pqi_schedule_rescan_worker_with_delay(ctrl_info, PQI_RESCAN_WORK_DELAY);
drivers/scsi/smartpqi/smartpqi_init.c
5120
put_unaligned_le16(ctrl_info->event_queue.oq_id,
drivers/scsi/smartpqi/smartpqi_init.c
5135
rc = pqi_map_single(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
5142
rc = pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
5144
pqi_pci_unmap(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
515
static inline void pqi_cancel_rescan_worker(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5154
static inline int pqi_enable_events(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5156
return pqi_configure_events(ctrl_info, true);
drivers/scsi/smartpqi/smartpqi_init.c
5159
static void pqi_free_all_io_requests(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5166
if (!ctrl_info->io_request_pool)
drivers/scsi/smartpqi/smartpqi_init.c
5169
dev = &ctrl_info->pci_dev->dev;
drivers/scsi/smartpqi/smartpqi_init.c
517
cancel_delayed_work_sync(&ctrl_info->rescan_work);
drivers/scsi/smartpqi/smartpqi_init.c
5170
sg_chain_buffer_length = ctrl_info->sg_chain_buffer_length;
drivers/scsi/smartpqi/smartpqi_init.c
5171
io_request = ctrl_info->io_request_pool;
drivers/scsi/smartpqi/smartpqi_init.c
5173
for (i = 0; i < ctrl_info->max_io_slots; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
5183
kfree(ctrl_info->io_request_pool);
drivers/scsi/smartpqi/smartpqi_init.c
5184
ctrl_info->io_request_pool = NULL;
drivers/scsi/smartpqi/smartpqi_init.c
5187
static inline int pqi_alloc_error_buffer(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5189
ctrl_info->error_buffer = dma_alloc_coherent(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5190
ctrl_info->error_buffer_length,
drivers/scsi/smartpqi/smartpqi_init.c
5191
&ctrl_info->error_buffer_dma_handle,
drivers/scsi/smartpqi/smartpqi_init.c
5193
if (!ctrl_info->error_buffer)
drivers/scsi/smartpqi/smartpqi_init.c
5199
static int pqi_alloc_io_resources(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
520
static inline u32 pqi_read_heartbeat_counter(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5208
ctrl_info->io_request_pool = kzalloc_objs(ctrl_info->io_request_pool[0],
drivers/scsi/smartpqi/smartpqi_init.c
5209
ctrl_info->max_io_slots);
drivers/scsi/smartpqi/smartpqi_init.c
5211
if (!ctrl_info->io_request_pool) {
drivers/scsi/smartpqi/smartpqi_init.c
5212
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5217
dev = &ctrl_info->pci_dev->dev;
drivers/scsi/smartpqi/smartpqi_init.c
5218
sg_chain_buffer_length = ctrl_info->sg_chain_buffer_length;
drivers/scsi/smartpqi/smartpqi_init.c
5219
io_request = ctrl_info->io_request_pool;
drivers/scsi/smartpqi/smartpqi_init.c
522
if (!ctrl_info->heartbeat_counter)
drivers/scsi/smartpqi/smartpqi_init.c
5221
for (i = 0; i < ctrl_info->max_io_slots; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
5222
io_request->iu = kmalloc(ctrl_info->max_inbound_iu_length, GFP_KERNEL);
drivers/scsi/smartpqi/smartpqi_init.c
5225
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5235
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5249
pqi_free_all_io_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
525
return readl(ctrl_info->heartbeat_counter);
drivers/scsi/smartpqi/smartpqi_init.c
5259
static void pqi_calculate_io_resources(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5264
ctrl_info->scsi_ml_can_queue =
drivers/scsi/smartpqi/smartpqi_init.c
5265
ctrl_info->max_outstanding_requests - PQI_RESERVED_IO_SLOTS;
drivers/scsi/smartpqi/smartpqi_init.c
5266
ctrl_info->max_io_slots = ctrl_info->max_outstanding_requests;
drivers/scsi/smartpqi/smartpqi_init.c
5268
ctrl_info->error_buffer_length =
drivers/scsi/smartpqi/smartpqi_init.c
5269
ctrl_info->max_io_slots * PQI_ERROR_BUFFER_ELEMENT_LENGTH;
drivers/scsi/smartpqi/smartpqi_init.c
5272
max_transfer_size = min(ctrl_info->max_transfer_size,
drivers/scsi/smartpqi/smartpqi_init.c
5275
max_transfer_size = min(ctrl_info->max_transfer_size,
drivers/scsi/smartpqi/smartpqi_init.c
528
static inline u8 pqi_read_soft_reset_status(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5283
max_sg_entries = min(ctrl_info->max_sg_entries, max_sg_entries);
drivers/scsi/smartpqi/smartpqi_init.c
5287
ctrl_info->sg_chain_buffer_length =
drivers/scsi/smartpqi/smartpqi_init.c
5290
ctrl_info->sg_tablesize = max_sg_entries;
drivers/scsi/smartpqi/smartpqi_init.c
5291
ctrl_info->max_sectors = max_transfer_size / 512;
drivers/scsi/smartpqi/smartpqi_init.c
5294
static void pqi_calculate_queue_resources(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
530
return readb(ctrl_info->soft_reset_status);
drivers/scsi/smartpqi/smartpqi_init.c
5305
max_queue_groups = min(ctrl_info->max_inbound_queues / 2,
drivers/scsi/smartpqi/smartpqi_init.c
5306
ctrl_info->max_outbound_queues - 1);
drivers/scsi/smartpqi/smartpqi_init.c
5310
blk_mq_num_online_queues(ctrl_info->max_msix_vectors);
drivers/scsi/smartpqi/smartpqi_init.c
5314
ctrl_info->num_queue_groups = num_queue_groups;
drivers/scsi/smartpqi/smartpqi_init.c
5320
ctrl_info->max_inbound_iu_length =
drivers/scsi/smartpqi/smartpqi_init.c
5321
(ctrl_info->max_inbound_iu_length_per_firmware /
drivers/scsi/smartpqi/smartpqi_init.c
5326
(ctrl_info->max_inbound_iu_length /
drivers/scsi/smartpqi/smartpqi_init.c
533
static inline void pqi_clear_soft_reset_status(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
5333
ctrl_info->max_elements_per_iq);
drivers/scsi/smartpqi/smartpqi_init.c
5337
ctrl_info->max_elements_per_oq);
drivers/scsi/smartpqi/smartpqi_init.c
5339
ctrl_info->num_elements_per_iq = num_elements_per_iq;
drivers/scsi/smartpqi/smartpqi_init.c
5340
ctrl_info->num_elements_per_oq = num_elements_per_oq;
drivers/scsi/smartpqi/smartpqi_init.c
5342
ctrl_info->max_sg_per_iu =
drivers/scsi/smartpqi/smartpqi_init.c
5343
((ctrl_info->max_inbound_iu_length -
drivers/scsi/smartpqi/smartpqi_init.c
5348
ctrl_info->max_sg_per_r56_iu =
drivers/scsi/smartpqi/smartpqi_init.c
5349
((ctrl_info->max_inbound_iu_length -
drivers/scsi/smartpqi/smartpqi_init.c
537
status = pqi_read_soft_reset_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
539
writeb(status, ctrl_info->soft_reset_status);
drivers/scsi/smartpqi/smartpqi_init.c
5404
static int pqi_build_raid_sg_list(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5429
ctrl_info->max_sg_per_iu, &chained);
drivers/scsi/smartpqi/smartpqi_init.c
5440
static int pqi_build_aio_r1_sg_list(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5466
ctrl_info->max_sg_per_iu, &chained);
drivers/scsi/smartpqi/smartpqi_init.c
5478
static int pqi_build_aio_r56_sg_list(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5502
ctrl_info->max_sg_per_r56_iu, &chained);
drivers/scsi/smartpqi/smartpqi_init.c
5514
static int pqi_build_aio_sg_list(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5540
ctrl_info->max_sg_per_iu, &chained);
drivers/scsi/smartpqi/smartpqi_init.c
5572
static int pqi_raid_submit_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5583
io_request = pqi_alloc_io_request(ctrl_info, scmd);
drivers/scsi/smartpqi/smartpqi_init.c
5641
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5647
rc = pqi_build_raid_sg_list(ctrl_info, request, scmd, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5659
pqi_start_io(ctrl_info, queue_group, RAID_PATH, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5664
static inline int pqi_raid_submit_scsi_cmd(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5672
return pqi_raid_submit_io(ctrl_info, device, scmd, queue_group, io_high_prio);
drivers/scsi/smartpqi/smartpqi_init.c
5679
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
5694
ctrl_info = shost_to_hba(scmd->device->host);
drivers/scsi/smartpqi/smartpqi_init.c
5695
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
5717
static inline int pqi_aio_submit_scsi_cmd(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5725
return pqi_aio_submit_io(ctrl_info, scmd, device->aio_handle,
drivers/scsi/smartpqi/smartpqi_init.c
5730
static int pqi_aio_submit_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5740
io_request = pqi_alloc_io_request(ctrl_info, scmd);
drivers/scsi/smartpqi/smartpqi_init.c
5758
if (!raid_bypass && ctrl_info->multi_lun_device_supported)
drivers/scsi/smartpqi/smartpqi_init.c
5779
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
5795
rc = pqi_build_aio_sg_list(ctrl_info, request, scmd, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5801
pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5806
static int pqi_aio_submit_r1_write_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5815
io_request = pqi_alloc_io_request(ctrl_info, scmd);
drivers/scsi/smartpqi/smartpqi_init.c
5856
rc = pqi_build_aio_r1_sg_list(ctrl_info, r1_request, scmd, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5862
pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5867
static int pqi_aio_submit_r56_write_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5876
io_request = pqi_alloc_io_request(ctrl_info, scmd);
drivers/scsi/smartpqi/smartpqi_init.c
5923
rc = pqi_build_aio_r56_sg_list(ctrl_info, r56_request, scmd, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5929
pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request);
drivers/scsi/smartpqi/smartpqi_init.c
5934
static inline u16 pqi_get_hw_queue(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5979
static bool pqi_is_parity_write_stream(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
5990
if (!ctrl_info->enable_stream_detection)
drivers/scsi/smartpqi/smartpqi_init.c
6011
if ((device->raid_level == SA_RAID_5 && !ctrl_info->enable_r5_writes) ||
drivers/scsi/smartpqi/smartpqi_init.c
6012
(device->raid_level == SA_RAID_6 && !ctrl_info->enable_r6_writes))
drivers/scsi/smartpqi/smartpqi_init.c
6059
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6080
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6082
if (pqi_ctrl_offline(ctrl_info) || pqi_device_offline(device) || pqi_device_in_remove(device)) {
drivers/scsi/smartpqi/smartpqi_init.c
6088
if (pqi_ctrl_blocked(ctrl_info) || pqi_device_in_reset(device, lun)) {
drivers/scsi/smartpqi/smartpqi_init.c
609
static int pqi_build_raid_path_request(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
6099
hw_queue = pqi_get_hw_queue(ctrl_info, scmd);
drivers/scsi/smartpqi/smartpqi_init.c
6100
queue_group = &ctrl_info->queue_groups[hw_queue];
drivers/scsi/smartpqi/smartpqi_init.c
6106
!pqi_is_parity_write_stream(ctrl_info, scmd)) {
drivers/scsi/smartpqi/smartpqi_init.c
6107
rc = pqi_raid_bypass_submit_scsi_cmd(ctrl_info, device, scmd, queue_group);
drivers/scsi/smartpqi/smartpqi_init.c
6114
rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group);
drivers/scsi/smartpqi/smartpqi_init.c
6117
rc = pqi_aio_submit_scsi_cmd(ctrl_info, device, scmd, queue_group);
drivers/scsi/smartpqi/smartpqi_init.c
6119
rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group);
drivers/scsi/smartpqi/smartpqi_init.c
6131
static unsigned int pqi_queued_io_count(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
6142
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
6143
queue_group = &ctrl_info->queue_groups[i];
drivers/scsi/smartpqi/smartpqi_init.c
6155
static unsigned int pqi_nonempty_inbound_queue_count(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
6166
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
6167
queue_group = &ctrl_info->queue_groups[i];
drivers/scsi/smartpqi/smartpqi_init.c
6181
static int pqi_wait_until_inbound_queues_empty(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
6194
queued_io_count = pqi_queued_io_count(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6195
nonempty_inbound_queue_count = pqi_nonempty_inbound_queue_count(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6198
pqi_check_ctrl_health(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6199
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
6202
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6212
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6219
static void pqi_fail_io_queued_for_device(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
6231
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
6232
queue_group = &ctrl_info->queue_groups[i];
drivers/scsi/smartpqi/smartpqi_init.c
6266
static int pqi_device_wait_for_pending_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
6278
if (ctrl_info->ctrl_removal_state != PQI_CTRL_GRACEFUL_REMOVAL) {
drivers/scsi/smartpqi/smartpqi_init.c
6279
pqi_check_ctrl_health(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6280
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
6285
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6287
ctrl_info->scsi_host->host_no, device->bus, device->target,
drivers/scsi/smartpqi/smartpqi_init.c
6292
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6294
ctrl_info->scsi_host->host_no, device->bus, device->target,
drivers/scsi/smartpqi/smartpqi_init.c
6314
static int pqi_wait_for_lun_reset_completion(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
6330
pqi_check_ctrl_health(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6331
if (pqi_ctrl_offline(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
6338
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6340
ctrl_info->scsi_host->host_no, device->bus, device->target, lun, wait_secs, cmds_outstanding);
drivers/scsi/smartpqi/smartpqi_init.c
6348
static int pqi_lun_reset(struct pqi_ctrl_info *ctrl_info, struct pqi_scsi_dev *device, u8 lun)
drivers/scsi/smartpqi/smartpqi_init.c
6355
io_request = pqi_alloc_io_request(ctrl_info, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
6368
if (!pqi_is_logical_device(device) && ctrl_info->multi_lun_device_supported)
drivers/scsi/smartpqi/smartpqi_init.c
6371
if (ctrl_info->tmf_iu_timeout_supported)
drivers/scsi/smartpqi/smartpqi_init.c
6374
pqi_start_io(ctrl_info, &ctrl_info->queue_groups[PQI_DEFAULT_QUEUE_GROUP], RAID_PATH,
drivers/scsi/smartpqi/smartpqi_init.c
6377
rc = pqi_wait_for_lun_reset_completion(ctrl_info, device, lun, &wait);
drivers/scsi/smartpqi/smartpqi_init.c
6391
static int pqi_lun_reset_with_retries(struct pqi_ctrl_info *ctrl_info, struct pqi_scsi_dev *device, u8 lun)
drivers/scsi/smartpqi/smartpqi_init.c
6399
reset_rc = pqi_lun_reset(ctrl_info, device, lun);
drivers/scsi/smartpqi/smartpqi_init.c
6408
wait_rc = pqi_device_wait_for_pending_io(ctrl_info, device, lun, timeout_msecs);
drivers/scsi/smartpqi/smartpqi_init.c
6415
static int pqi_device_reset(struct pqi_ctrl_info *ctrl_info, struct pqi_scsi_dev *device, u8 lun)
drivers/scsi/smartpqi/smartpqi_init.c
6419
pqi_ctrl_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6420
pqi_ctrl_wait_until_quiesced(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6421
pqi_fail_io_queued_for_device(ctrl_info, device, lun);
drivers/scsi/smartpqi/smartpqi_init.c
6422
rc = pqi_wait_until_inbound_queues_empty(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6424
pqi_ctrl_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6428
rc = pqi_lun_reset_with_retries(ctrl_info, device, lun);
drivers/scsi/smartpqi/smartpqi_init.c
6434
static int pqi_device_reset_handler(struct pqi_ctrl_info *ctrl_info, struct pqi_scsi_dev *device, u8 lun, struct scsi_cmnd *scmd, u8 scsi_opcode)
drivers/scsi/smartpqi/smartpqi_init.c
6439
mutex_lock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6441
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6442
if (pqi_find_scsi_dev(ctrl_info, device->bus, device->target, device->lun) == NULL) {
drivers/scsi/smartpqi/smartpqi_init.c
6443
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6445
ctrl_info->scsi_host->host_no, device->bus, device->target, device->lun);
drivers/scsi/smartpqi/smartpqi_init.c
6446
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6447
mutex_unlock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
645
if (ctrl_info->rpl_extended_format_4_5_supported)
drivers/scsi/smartpqi/smartpqi_init.c
6450
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6452
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6454
ctrl_info->scsi_host->host_no, device->bus, device->target, lun, scmd, scsi_opcode);
drivers/scsi/smartpqi/smartpqi_init.c
6456
pqi_check_ctrl_health(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6457
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
6460
rc = pqi_device_reset(ctrl_info, device, lun);
drivers/scsi/smartpqi/smartpqi_init.c
6462
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6464
ctrl_info->scsi_host->host_no, device->bus, device->target, lun,
drivers/scsi/smartpqi/smartpqi_init.c
6467
mutex_unlock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6475
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6480
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6484
return pqi_device_reset_handler(ctrl_info, device, (u8)scmd->device->lun, scmd, scsi_opcode);
drivers/scsi/smartpqi/smartpqi_init.c
6495
pqi_device_reset_handler(tmf_work->ctrl_info, tmf_work->device, tmf_work->lun, scmd, tmf_work->scsi_opcode);
drivers/scsi/smartpqi/smartpqi_init.c
650
cdb[1] = ctrl_info->ciss_report_log_flags;
drivers/scsi/smartpqi/smartpqi_init.c
6501
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6507
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6510
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6515
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6525
tmf_work->ctrl_info = ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6534
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
6547
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6551
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
6553
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6558
device = pqi_find_device_by_sas_rphy(ctrl_info, rphy);
drivers/scsi/smartpqi/smartpqi_init.c
6569
device = pqi_find_scsi_dev(ctrl_info, sdev_channel(sdev),
drivers/scsi/smartpqi/smartpqi_init.c
6590
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6597
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6599
if (!ctrl_info->disable_managed_interrupts)
drivers/scsi/smartpqi/smartpqi_init.c
6601
&ctrl_info->pci_dev->dev, 0);
drivers/scsi/smartpqi/smartpqi_init.c
6630
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6637
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
6639
mutex_acquired = mutex_trylock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6645
mutex_unlock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6651
mutex_unlock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6655
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6657
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
6659
mutex_unlock(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6664
mutex_lock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6665
pqi_dev_info(ctrl_info, "removed", device);
drivers/scsi/smartpqi/smartpqi_init.c
6667
mutex_unlock(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
6670
static int pqi_getpciinfo_ioctl(struct pqi_ctrl_info *ctrl_info, void __user *arg)
drivers/scsi/smartpqi/smartpqi_init.c
6680
pci_dev = ctrl_info->pci_dev;
drivers/scsi/smartpqi/smartpqi_init.c
6780
static int pqi_passthru_ioctl(struct pqi_ctrl_info *ctrl_info, void __user *arg)
drivers/scsi/smartpqi/smartpqi_init.c
6791
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
6793
if (pqi_ofa_in_progress(ctrl_info) && pqi_ctrl_blocked(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
6862
rc = pqi_map_single(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
6873
if (ctrl_info->raid_iu_timeout_supported)
drivers/scsi/smartpqi/smartpqi_init.c
6876
rc = pqi_submit_raid_request_synchronous(ctrl_info, &request.header,
drivers/scsi/smartpqi/smartpqi_init.c
6880
pqi_pci_unmap(ctrl_info->pci_dev, request.sg_descriptors, 1,
drivers/scsi/smartpqi/smartpqi_init.c
6925
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6927
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
6933
rc = pqi_scan_scsi_devices(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
6936
rc = pqi_getpciinfo_ioctl(ctrl_info, arg);
drivers/scsi/smartpqi/smartpqi_init.c
6942
rc = pqi_passthru_ioctl(ctrl_info, arg);
drivers/scsi/smartpqi/smartpqi_init.c
6956
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6959
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
696
dev_err(&ctrl_info->pci_dev->dev, "unknown command 0x%c\n", cmd);
drivers/scsi/smartpqi/smartpqi_init.c
6961
return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->firmware_version);
drivers/scsi/smartpqi/smartpqi_init.c
6968
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6971
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6973
return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->serial_number);
drivers/scsi/smartpqi/smartpqi_init.c
6980
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6983
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6985
return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->model);
drivers/scsi/smartpqi/smartpqi_init.c
6992
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
6995
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
6997
return scnprintf(buffer, PAGE_SIZE, "%s\n", ctrl_info->vendor);
drivers/scsi/smartpqi/smartpqi_init.c
70
static void pqi_take_ctrl_offline(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7054
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
7057
ctrl_info->enable_stream_detection);
drivers/scsi/smartpqi/smartpqi_init.c
7064
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
7073
ctrl_info->enable_stream_detection = set_stream_detection;
drivers/scsi/smartpqi/smartpqi_init.c
7082
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
7084
return scnprintf(buffer, 10, "%x\n", ctrl_info->enable_r5_writes);
drivers/scsi/smartpqi/smartpqi_init.c
7091
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
7100
ctrl_info->enable_r5_writes = set_r5_writes;
drivers/scsi/smartpqi/smartpqi_init.c
7109
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
7111
return scnprintf(buffer, 10, "%x\n", ctrl_info->enable_r6_writes);
drivers/scsi/smartpqi/smartpqi_init.c
7118
struct pqi_ctrl_info *ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_init.c
7127
ctrl_info->enable_r6_writes = set_r6_writes;
drivers/scsi/smartpqi/smartpqi_init.c
715
return pqi_map_single(ctrl_info->pci_dev, &request->sg_descriptors[0],
drivers/scsi/smartpqi/smartpqi_init.c
7168
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7175
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7177
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7180
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7184
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7193
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
72
static void pqi_take_ctrl_devices_offline(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7207
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7214
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7216
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7219
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7223
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7229
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7239
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7252
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7254
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7257
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7261
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
727
static inline struct pqi_io_request *pqi_alloc_io_request(struct pqi_ctrl_info *ctrl_info, struct scsi_cmnd *scmd)
drivers/scsi/smartpqi/smartpqi_init.c
7278
ctrl_info->scsi_host->host_no,
drivers/scsi/smartpqi/smartpqi_init.c
7317
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7325
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7332
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7334
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7337
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7341
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7347
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7355
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
736
io_request = &ctrl_info->io_request_pool[i];
drivers/scsi/smartpqi/smartpqi_init.c
7361
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7363
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7366
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7370
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7378
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7386
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7393
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7395
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7398
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
74
static int pqi_scan_scsi_devices(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7402
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7411
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7419
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7427
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7429
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7432
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7436
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7448
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7456
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7463
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7465
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7468
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7472
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7478
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7487
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
749
io_request = &ctrl_info->io_request_pool[ctrl_info->scsi_ml_can_queue + i];
drivers/scsi/smartpqi/smartpqi_init.c
7497
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7499
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7504
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7509
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7515
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7524
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7527
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7529
return scnprintf(buffer, PAGE_SIZE, "%d\n", ctrl_info->numa_node);
drivers/scsi/smartpqi/smartpqi_init.c
7535
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7543
ctrl_info = shost_to_hba(sdev->host);
drivers/scsi/smartpqi/smartpqi_init.c
7545
if (pqi_ctrl_offline(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
7548
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7552
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
7564
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
76
static void pqi_start_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7617
static int pqi_register_scsi(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
7622
shost = scsi_host_alloc(&pqi_driver_template, sizeof(ctrl_info));
drivers/scsi/smartpqi/smartpqi_init.c
7624
dev_err(&ctrl_info->pci_dev->dev, "scsi_host_alloc failed\n");
drivers/scsi/smartpqi/smartpqi_init.c
7635
shost->max_sectors = ctrl_info->max_sectors;
drivers/scsi/smartpqi/smartpqi_init.c
7636
shost->can_queue = ctrl_info->scsi_ml_can_queue;
drivers/scsi/smartpqi/smartpqi_init.c
7638
shost->sg_tablesize = ctrl_info->sg_tablesize;
drivers/scsi/smartpqi/smartpqi_init.c
7640
shost->irq = pci_irq_vector(ctrl_info->pci_dev, 0);
drivers/scsi/smartpqi/smartpqi_init.c
7642
shost->nr_hw_queues = ctrl_info->num_queue_groups;
drivers/scsi/smartpqi/smartpqi_init.c
7644
shost->hostdata[0] = (unsigned long)ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
7646
rc = scsi_add_host(shost, &ctrl_info->pci_dev->dev);
drivers/scsi/smartpqi/smartpqi_init.c
7648
dev_err(&ctrl_info->pci_dev->dev, "scsi_add_host failed\n");
drivers/scsi/smartpqi/smartpqi_init.c
7652
rc = pqi_add_sas_host(shost, ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7654
dev_err(&ctrl_info->pci_dev->dev, "add SAS host failed\n");
drivers/scsi/smartpqi/smartpqi_init.c
7658
ctrl_info->scsi_host = shost;
drivers/scsi/smartpqi/smartpqi_init.c
7670
static void pqi_unregister_scsi(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
7674
pqi_delete_sas_host(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7676
shost = ctrl_info->scsi_host;
drivers/scsi/smartpqi/smartpqi_init.c
768
static int pqi_send_scsi_raid_request(struct pqi_ctrl_info *ctrl_info, u8 cmd,
drivers/scsi/smartpqi/smartpqi_init.c
7684
static int pqi_wait_for_pqi_reset_completion(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
7692
pqi_registers = ctrl_info->pqi_registers;
drivers/scsi/smartpqi/smartpqi_init.c
7701
if (!sis_is_firmware_running(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
7714
static int pqi_reset(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
7719
if (ctrl_info->pqi_reset_quiesce_supported) {
drivers/scsi/smartpqi/smartpqi_init.c
7720
rc = sis_pqi_reset_quiesce(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7722
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
7732
writel(reset_reg.all_bits, &ctrl_info->pqi_registers->device_reset);
drivers/scsi/smartpqi/smartpqi_init.c
7734
rc = pqi_wait_for_pqi_reset_completion(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7736
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
7742
static int pqi_get_ctrl_serial_number(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
7751
rc = pqi_sense_subsystem_info(ctrl_info, sense_info);
drivers/scsi/smartpqi/smartpqi_init.c
7755
memcpy(ctrl_info->serial_number, sense_info->ctrl_serial_number,
drivers/scsi/smartpqi/smartpqi_init.c
7757
ctrl_info->serial_number[sizeof(sense_info->ctrl_serial_number)] = '\0';
drivers/scsi/smartpqi/smartpqi_init.c
776
rc = pqi_build_raid_path_request(ctrl_info, &request, cmd, scsi3addr,
drivers/scsi/smartpqi/smartpqi_init.c
7765
static int pqi_get_ctrl_product_details(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
7774
rc = pqi_identify_controller(ctrl_info, identify);
drivers/scsi/smartpqi/smartpqi_init.c
7780
memcpy(ctrl_info->firmware_version,
drivers/scsi/smartpqi/smartpqi_init.c
7784
memcpy(ctrl_info->firmware_version,
drivers/scsi/smartpqi/smartpqi_init.c
7787
ctrl_info->firmware_version
drivers/scsi/smartpqi/smartpqi_init.c
7789
snprintf(ctrl_info->firmware_version +
drivers/scsi/smartpqi/smartpqi_init.c
7790
strlen(ctrl_info->firmware_version),
drivers/scsi/smartpqi/smartpqi_init.c
7791
sizeof(ctrl_info->firmware_version) -
drivers/scsi/smartpqi/smartpqi_init.c
7797
memcpy(ctrl_info->model, identify->product_id,
drivers/scsi/smartpqi/smartpqi_init.c
7799
ctrl_info->model[sizeof(identify->product_id)] = '\0';
drivers/scsi/smartpqi/smartpqi_init.c
7801
memcpy(ctrl_info->vendor, identify->vendor_id,
drivers/scsi/smartpqi/smartpqi_init.c
7803
ctrl_info->vendor[sizeof(identify->vendor_id)] = '\0';
drivers/scsi/smartpqi/smartpqi_init.c
7805
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
7806
"Firmware version: %s\n", ctrl_info->firmware_version);
drivers/scsi/smartpqi/smartpqi_init.c
781
rc = pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, error_info);
drivers/scsi/smartpqi/smartpqi_init.c
7815
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
783
pqi_pci_unmap(ctrl_info->pci_dev, request.sg_descriptors, 1, dir);
drivers/scsi/smartpqi/smartpqi_init.c
7868
static int pqi_config_table_update(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7885
return pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
7888
static int pqi_enable_firmware_features(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
79
static int pqi_submit_raid_request_synchronous(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
790
static inline int pqi_send_ctrl_raid_request(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7915
return pqi_config_table_update(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7925
void (*feature_status)(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7929
static void pqi_firmware_feature_status(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
793
return pqi_send_scsi_raid_request(ctrl_info, cmd, RAID_CTLR_LUNID,
drivers/scsi/smartpqi/smartpqi_init.c
7933
dev_info(&ctrl_info->pci_dev->dev, "%s not supported by controller\n",
drivers/scsi/smartpqi/smartpqi_init.c
7939
dev_info(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
7944
dev_err(&ctrl_info->pci_dev->dev, "failed to enable %s\n",
drivers/scsi/smartpqi/smartpqi_init.c
7948
static void pqi_ctrl_update_feature_flags(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7953
ctrl_info->enable_r1_writes = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7956
ctrl_info->enable_r5_writes = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7959
ctrl_info->enable_r6_writes = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7962
ctrl_info->soft_reset_handshake_supported =
drivers/scsi/smartpqi/smartpqi_init.c
7964
pqi_read_soft_reset_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
7967
ctrl_info->raid_iu_timeout_supported = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
797
static inline int pqi_send_ctrl_raid_with_error(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7970
ctrl_info->tmf_iu_timeout_supported = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7973
ctrl_info->firmware_triage_supported = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7974
pqi_save_fw_triage_setting(ctrl_info, firmware_feature->enabled);
drivers/scsi/smartpqi/smartpqi_init.c
7977
ctrl_info->rpl_extended_format_4_5_supported = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7980
ctrl_info->multi_lun_device_supported = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7983
ctrl_info->ctrl_logging_supported = firmware_feature->enabled;
drivers/scsi/smartpqi/smartpqi_init.c
7987
pqi_firmware_feature_status(ctrl_info, firmware_feature);
drivers/scsi/smartpqi/smartpqi_init.c
7990
static inline void pqi_firmware_feature_update(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
7994
firmware_feature->feature_status(ctrl_info, firmware_feature);
drivers/scsi/smartpqi/smartpqi_init.c
801
return pqi_send_scsi_raid_request(ctrl_info, cmd, RAID_CTLR_LUNID,
drivers/scsi/smartpqi/smartpqi_init.c
805
static inline int pqi_identify_controller(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
808
return pqi_send_ctrl_raid_request(ctrl_info, BMIC_IDENTIFY_CONTROLLER,
drivers/scsi/smartpqi/smartpqi_init.c
8101
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
8107
ctrl_info = section_info->ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
8118
pqi_firmware_feature_update(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
812
static inline int pqi_sense_subsystem_info(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8133
rc = pqi_enable_firmware_features(ctrl_info, firmware_features,
drivers/scsi/smartpqi/smartpqi_init.c
8136
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8141
pqi_firmware_feature_update(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
815
return pqi_send_ctrl_raid_request(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8155
pqi_firmware_feature_update(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8184
static void pqi_ctrl_reset_config(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8186
ctrl_info->heartbeat_counter = NULL;
drivers/scsi/smartpqi/smartpqi_init.c
8187
ctrl_info->soft_reset_status = NULL;
drivers/scsi/smartpqi/smartpqi_init.c
8188
ctrl_info->soft_reset_handshake_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
8189
ctrl_info->enable_r1_writes = false;
drivers/scsi/smartpqi/smartpqi_init.c
8190
ctrl_info->enable_r5_writes = false;
drivers/scsi/smartpqi/smartpqi_init.c
8191
ctrl_info->enable_r6_writes = false;
drivers/scsi/smartpqi/smartpqi_init.c
8192
ctrl_info->raid_iu_timeout_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
8193
ctrl_info->tmf_iu_timeout_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
8194
ctrl_info->firmware_triage_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
8195
ctrl_info->rpl_extended_format_4_5_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
8196
ctrl_info->multi_lun_device_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
8197
ctrl_info->ctrl_logging_supported = false;
drivers/scsi/smartpqi/smartpqi_init.c
82
static int pqi_aio_submit_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
820
static inline int pqi_scsi_inquiry(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8200
static int pqi_process_config_table(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8211
table_length = ctrl_info->config_table_length;
drivers/scsi/smartpqi/smartpqi_init.c
8217
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8226
table_iomem_addr = ctrl_info->iomem_base + ctrl_info->config_table_offset;
drivers/scsi/smartpqi/smartpqi_init.c
823
return pqi_send_scsi_raid_request(ctrl_info, INQUIRY, scsi3addr,
drivers/scsi/smartpqi/smartpqi_init.c
8230
section_info.ctrl_info = ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
8247
dev_warn(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8250
ctrl_info->heartbeat_counter =
drivers/scsi/smartpqi/smartpqi_init.c
8257
ctrl_info->soft_reset_status =
drivers/scsi/smartpqi/smartpqi_init.c
827
static int pqi_identify_physical_device(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8283
static int pqi_revert_to_sis_mode(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8287
pqi_change_irq_mode(ctrl_info, IRQ_MODE_NONE);
drivers/scsi/smartpqi/smartpqi_init.c
8288
rc = pqi_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8291
rc = sis_reenable_sis_mode(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8293
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8297
pqi_save_ctrl_mode(ctrl_info, SIS_MODE);
drivers/scsi/smartpqi/smartpqi_init.c
8307
static int pqi_force_sis_mode(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8309
if (!sis_is_firmware_running(ctrl_info))
drivers/scsi/smartpqi/smartpqi_init.c
8312
if (pqi_get_ctrl_mode(ctrl_info) == SIS_MODE)
drivers/scsi/smartpqi/smartpqi_init.c
8315
if (sis_is_kernel_up(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
8316
pqi_save_ctrl_mode(ctrl_info, SIS_MODE);
drivers/scsi/smartpqi/smartpqi_init.c
8320
return pqi_revert_to_sis_mode(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8341
static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8347
if (is_kdump_kernel() && pqi_is_fw_triage_supported(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
8348
rc = sis_wait_for_fw_triage_completion(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8352
if (is_kdump_kernel() && sis_is_ctrl_logging_supported(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
8353
sis_notify_kdump(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8354
rc = sis_wait_for_ctrl_logging_completion(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8358
sis_soft_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
836
rc = pqi_build_raid_path_request(ctrl_info, &request,
drivers/scsi/smartpqi/smartpqi_init.c
8361
rc = pqi_force_sis_mode(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8370
rc = sis_wait_for_ctrl_ready(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8373
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8385
rc = sis_get_ctrl_properties(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8387
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8392
rc = sis_get_pqi_capabilities(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8394
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8399
product_id = sis_get_product_id(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8400
ctrl_info->product_id = (u8)product_id;
drivers/scsi/smartpqi/smartpqi_init.c
8401
ctrl_info->product_revision = (u8)(product_id >> 8);
drivers/scsi/smartpqi/smartpqi_init.c
8404
if (ctrl_info->max_outstanding_requests >
drivers/scsi/smartpqi/smartpqi_init.c
8406
ctrl_info->max_outstanding_requests =
drivers/scsi/smartpqi/smartpqi_init.c
8409
if (ctrl_info->max_outstanding_requests >
drivers/scsi/smartpqi/smartpqi_init.c
8411
ctrl_info->max_outstanding_requests =
drivers/scsi/smartpqi/smartpqi_init.c
8415
pqi_calculate_io_resources(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8417
rc = pqi_alloc_error_buffer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8419
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8429
rc = sis_init_base_struct_addr(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8431
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8437
rc = pqi_wait_for_pqi_mode_ready(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8439
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8445
ctrl_info->pqi_mode_enabled = true;
drivers/scsi/smartpqi/smartpqi_init.c
8446
pqi_save_ctrl_mode(ctrl_info, PQI_MODE);
drivers/scsi/smartpqi/smartpqi_init.c
8448
rc = pqi_alloc_admin_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8450
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8455
rc = pqi_create_admin_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8457
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
846
rc = pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
8462
rc = pqi_report_device_capability(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8464
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8469
rc = pqi_validate_device_capability(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8473
pqi_calculate_queue_resources(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8475
rc = pqi_enable_msix_interrupts(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8479
if (ctrl_info->num_msix_vectors_enabled < ctrl_info->num_queue_groups) {
drivers/scsi/smartpqi/smartpqi_init.c
848
pqi_pci_unmap(ctrl_info->pci_dev, request.sg_descriptors, 1, dir);
drivers/scsi/smartpqi/smartpqi_init.c
8480
ctrl_info->max_msix_vectors =
drivers/scsi/smartpqi/smartpqi_init.c
8481
ctrl_info->num_msix_vectors_enabled;
drivers/scsi/smartpqi/smartpqi_init.c
8482
pqi_calculate_queue_resources(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8485
rc = pqi_alloc_io_resources(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8489
rc = pqi_alloc_operational_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8491
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8496
pqi_init_operational_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8498
rc = pqi_create_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8502
rc = pqi_request_irqs(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8506
pqi_change_irq_mode(ctrl_info, IRQ_MODE_MSIX);
drivers/scsi/smartpqi/smartpqi_init.c
8508
ctrl_info->controller_online = true;
drivers/scsi/smartpqi/smartpqi_init.c
8510
rc = pqi_process_config_table(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8514
pqi_start_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8516
if (ctrl_info->enable_r5_writes || ctrl_info->enable_r6_writes) {
drivers/scsi/smartpqi/smartpqi_init.c
8517
rc = pqi_get_advanced_raid_bypass_config(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8519
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8523
ctrl_info->ciss_report_log_flags |=
drivers/scsi/smartpqi/smartpqi_init.c
8527
rc = pqi_enable_events(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8529
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8535
rc = pqi_register_scsi(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8539
if (ctrl_info->ctrl_logging_supported && !is_kdump_kernel()) {
drivers/scsi/smartpqi/smartpqi_init.c
8540
pqi_host_setup_buffer(ctrl_info, &ctrl_info->ctrl_log_memory, PQI_CTRL_LOG_TOTAL_SIZE, PQI_CTRL_LOG_MIN_SIZE);
drivers/scsi/smartpqi/smartpqi_init.c
8541
pqi_host_memory_update(ctrl_info, &ctrl_info->ctrl_log_memory, PQI_VENDOR_GENERAL_CTRL_LOG_MEMORY_UPDATE);
drivers/scsi/smartpqi/smartpqi_init.c
8544
rc = pqi_get_ctrl_product_details(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8546
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8551
rc = pqi_get_ctrl_serial_number(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8553
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8558
rc = pqi_set_diag_rescan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8560
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8565
rc = pqi_write_driver_version_to_host_wellness(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8567
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8572
pqi_schedule_update_time_worker(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8574
pqi_scan_scsi_devices(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8579
static void pqi_reinit_queues(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8585
admin_queues = &ctrl_info->admin_queues;
drivers/scsi/smartpqi/smartpqi_init.c
8590
for (i = 0; i < ctrl_info->num_queue_groups; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
8591
ctrl_info->queue_groups[i].iq_pi_copy[RAID_PATH] = 0;
drivers/scsi/smartpqi/smartpqi_init.c
8592
ctrl_info->queue_groups[i].iq_pi_copy[AIO_PATH] = 0;
drivers/scsi/smartpqi/smartpqi_init.c
8593
ctrl_info->queue_groups[i].oq_ci_copy = 0;
drivers/scsi/smartpqi/smartpqi_init.c
8595
writel(0, ctrl_info->queue_groups[i].iq_ci[RAID_PATH]);
drivers/scsi/smartpqi/smartpqi_init.c
8596
writel(0, ctrl_info->queue_groups[i].iq_ci[AIO_PATH]);
drivers/scsi/smartpqi/smartpqi_init.c
8597
writel(0, ctrl_info->queue_groups[i].oq_pi);
drivers/scsi/smartpqi/smartpqi_init.c
86
static int pqi_aio_submit_r1_write_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8600
event_queue = &ctrl_info->event_queue;
drivers/scsi/smartpqi/smartpqi_init.c
8605
static int pqi_ctrl_init_resume(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8609
rc = pqi_force_sis_mode(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8617
rc = sis_wait_for_ctrl_ready_resume(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8625
rc = sis_get_ctrl_properties(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8627
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8632
rc = sis_get_pqi_capabilities(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8634
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8644
rc = sis_init_base_struct_addr(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8646
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8652
rc = pqi_wait_for_pqi_mode_ready(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8654
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8660
ctrl_info->pqi_mode_enabled = true;
drivers/scsi/smartpqi/smartpqi_init.c
8661
pqi_save_ctrl_mode(ctrl_info, PQI_MODE);
drivers/scsi/smartpqi/smartpqi_init.c
8663
pqi_reinit_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8665
rc = pqi_create_admin_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8667
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8672
rc = pqi_create_queues(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8676
pqi_change_irq_mode(ctrl_info, IRQ_MODE_MSIX);
drivers/scsi/smartpqi/smartpqi_init.c
8678
ctrl_info->controller_online = true;
drivers/scsi/smartpqi/smartpqi_init.c
8679
pqi_ctrl_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8681
pqi_ctrl_reset_config(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8683
rc = pqi_process_config_table(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8687
pqi_start_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8689
if (ctrl_info->enable_r5_writes || ctrl_info->enable_r6_writes) {
drivers/scsi/smartpqi/smartpqi_init.c
8690
rc = pqi_get_advanced_raid_bypass_config(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8692
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8696
ctrl_info->ciss_report_log_flags |=
drivers/scsi/smartpqi/smartpqi_init.c
8700
rc = pqi_enable_events(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8702
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8707
rc = pqi_get_ctrl_product_details(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8709
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8714
rc = pqi_set_diag_rescan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8716
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8721
rc = pqi_write_driver_version_to_host_wellness(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8723
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8728
if (pqi_ofa_in_progress(ctrl_info)) {
drivers/scsi/smartpqi/smartpqi_init.c
8729
pqi_ctrl_unblock_scan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8730
if (ctrl_info->ctrl_logging_supported) {
drivers/scsi/smartpqi/smartpqi_init.c
8731
if (!ctrl_info->ctrl_log_memory.host_memory)
drivers/scsi/smartpqi/smartpqi_init.c
8732
pqi_host_setup_buffer(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8733
&ctrl_info->ctrl_log_memory,
drivers/scsi/smartpqi/smartpqi_init.c
8736
pqi_host_memory_update(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8737
&ctrl_info->ctrl_log_memory, PQI_VENDOR_GENERAL_CTRL_LOG_MEMORY_UPDATE);
drivers/scsi/smartpqi/smartpqi_init.c
8739
if (ctrl_info->ctrl_log_memory.host_memory)
drivers/scsi/smartpqi/smartpqi_init.c
8740
pqi_host_free_buffer(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8741
&ctrl_info->ctrl_log_memory);
drivers/scsi/smartpqi/smartpqi_init.c
8745
pqi_scan_scsi_devices(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8760
static int pqi_pci_init(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8765
rc = pci_enable_device(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
8767
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8777
rc = dma_set_mask_and_coherent(&ctrl_info->pci_dev->dev, mask);
drivers/scsi/smartpqi/smartpqi_init.c
8779
dev_err(&ctrl_info->pci_dev->dev, "failed to set DMA mask\n");
drivers/scsi/smartpqi/smartpqi_init.c
8783
rc = pci_request_regions(ctrl_info->pci_dev, DRIVER_NAME_SHORT);
drivers/scsi/smartpqi/smartpqi_init.c
8785
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8790
ctrl_info->iomem_base = ioremap(pci_resource_start(
drivers/scsi/smartpqi/smartpqi_init.c
8791
ctrl_info->pci_dev, 0),
drivers/scsi/smartpqi/smartpqi_init.c
8792
pci_resource_len(ctrl_info->pci_dev, 0));
drivers/scsi/smartpqi/smartpqi_init.c
8793
if (!ctrl_info->iomem_base) {
drivers/scsi/smartpqi/smartpqi_init.c
8794
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8803
rc = pqi_set_pcie_completion_timeout(ctrl_info->pci_dev,
drivers/scsi/smartpqi/smartpqi_init.c
8806
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8812
pci_set_master(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
8814
ctrl_info->registers = ctrl_info->iomem_base;
drivers/scsi/smartpqi/smartpqi_init.c
8815
ctrl_info->pqi_registers = &ctrl_info->registers->pqi_registers;
drivers/scsi/smartpqi/smartpqi_init.c
8817
pci_set_drvdata(ctrl_info->pci_dev, ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8822
pci_release_regions(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
8824
pci_disable_device(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
8829
static void pqi_cleanup_pci_init(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8831
iounmap(ctrl_info->iomem_base);
drivers/scsi/smartpqi/smartpqi_init.c
8832
pci_release_regions(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
8833
if (pci_is_enabled(ctrl_info->pci_dev))
drivers/scsi/smartpqi/smartpqi_init.c
8834
pci_disable_device(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
8835
pci_set_drvdata(ctrl_info->pci_dev, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
884
static int pqi_get_advanced_raid_bypass_config(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8840
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
8842
ctrl_info = kzalloc_node(sizeof(struct pqi_ctrl_info),
drivers/scsi/smartpqi/smartpqi_init.c
8844
if (!ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8847
mutex_init(&ctrl_info->scan_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
8848
mutex_init(&ctrl_info->lun_reset_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
8849
mutex_init(&ctrl_info->ofa_mutex);
drivers/scsi/smartpqi/smartpqi_init.c
8851
INIT_LIST_HEAD(&ctrl_info->scsi_device_list);
drivers/scsi/smartpqi/smartpqi_init.c
8852
spin_lock_init(&ctrl_info->scsi_device_list_lock);
drivers/scsi/smartpqi/smartpqi_init.c
8854
INIT_WORK(&ctrl_info->event_work, pqi_event_worker);
drivers/scsi/smartpqi/smartpqi_init.c
8855
atomic_set(&ctrl_info->num_interrupts, 0);
drivers/scsi/smartpqi/smartpqi_init.c
8857
INIT_DELAYED_WORK(&ctrl_info->rescan_work, pqi_rescan_worker);
drivers/scsi/smartpqi/smartpqi_init.c
8858
INIT_DELAYED_WORK(&ctrl_info->update_time_work, pqi_update_time_worker);
drivers/scsi/smartpqi/smartpqi_init.c
8860
timer_setup(&ctrl_info->heartbeat_timer, pqi_heartbeat_timer_handler, 0);
drivers/scsi/smartpqi/smartpqi_init.c
8861
INIT_WORK(&ctrl_info->ctrl_offline_work, pqi_ctrl_offline_worker);
drivers/scsi/smartpqi/smartpqi_init.c
8863
INIT_WORK(&ctrl_info->ofa_memory_alloc_work, pqi_ofa_memory_alloc_worker);
drivers/scsi/smartpqi/smartpqi_init.c
8864
INIT_WORK(&ctrl_info->ofa_quiesce_work, pqi_ofa_quiesce_worker);
drivers/scsi/smartpqi/smartpqi_init.c
8866
sema_init(&ctrl_info->sync_request_sem,
drivers/scsi/smartpqi/smartpqi_init.c
8868
init_waitqueue_head(&ctrl_info->block_requests_wait);
drivers/scsi/smartpqi/smartpqi_init.c
8870
ctrl_info->ctrl_id = atomic_inc_return(&pqi_controller_count) - 1;
drivers/scsi/smartpqi/smartpqi_init.c
8871
ctrl_info->irq_mode = IRQ_MODE_NONE;
drivers/scsi/smartpqi/smartpqi_init.c
8872
ctrl_info->max_msix_vectors = PQI_MAX_MSIX_VECTORS;
drivers/scsi/smartpqi/smartpqi_init.c
8874
ctrl_info->ciss_report_log_flags = CISS_REPORT_LOG_FLAG_UNIQUE_LUN_ID;
drivers/scsi/smartpqi/smartpqi_init.c
8875
ctrl_info->max_transfer_encrypted_sas_sata =
drivers/scsi/smartpqi/smartpqi_init.c
8877
ctrl_info->max_transfer_encrypted_nvme =
drivers/scsi/smartpqi/smartpqi_init.c
8879
ctrl_info->max_write_raid_5_6 = PQI_DEFAULT_MAX_WRITE_RAID_5_6;
drivers/scsi/smartpqi/smartpqi_init.c
8880
ctrl_info->max_write_raid_1_10_2drive = ~0;
drivers/scsi/smartpqi/smartpqi_init.c
8881
ctrl_info->max_write_raid_1_10_3drive = ~0;
drivers/scsi/smartpqi/smartpqi_init.c
8882
ctrl_info->disable_managed_interrupts = pqi_disable_managed_interrupts;
drivers/scsi/smartpqi/smartpqi_init.c
8884
return ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
8887
static inline void pqi_free_ctrl_info(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8889
kfree(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8892
static void pqi_free_interrupts(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8894
pqi_free_irqs(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8895
pqi_disable_msix_interrupts(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8898
static void pqi_free_ctrl_resources(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8900
pqi_free_interrupts(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8901
if (ctrl_info->queue_memory_base)
drivers/scsi/smartpqi/smartpqi_init.c
8902
dma_free_coherent(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8903
ctrl_info->queue_memory_length,
drivers/scsi/smartpqi/smartpqi_init.c
8904
ctrl_info->queue_memory_base,
drivers/scsi/smartpqi/smartpqi_init.c
8905
ctrl_info->queue_memory_base_dma_handle);
drivers/scsi/smartpqi/smartpqi_init.c
8906
if (ctrl_info->admin_queue_memory_base)
drivers/scsi/smartpqi/smartpqi_init.c
8907
dma_free_coherent(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8908
ctrl_info->admin_queue_memory_length,
drivers/scsi/smartpqi/smartpqi_init.c
8909
ctrl_info->admin_queue_memory_base,
drivers/scsi/smartpqi/smartpqi_init.c
8910
ctrl_info->admin_queue_memory_base_dma_handle);
drivers/scsi/smartpqi/smartpqi_init.c
8911
pqi_free_all_io_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8912
if (ctrl_info->error_buffer)
drivers/scsi/smartpqi/smartpqi_init.c
8913
dma_free_coherent(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
8914
ctrl_info->error_buffer_length,
drivers/scsi/smartpqi/smartpqi_init.c
8915
ctrl_info->error_buffer,
drivers/scsi/smartpqi/smartpqi_init.c
8916
ctrl_info->error_buffer_dma_handle);
drivers/scsi/smartpqi/smartpqi_init.c
8917
if (ctrl_info->iomem_base)
drivers/scsi/smartpqi/smartpqi_init.c
8918
pqi_cleanup_pci_init(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8919
pqi_free_ctrl_info(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8922
static void pqi_remove_ctrl(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8924
ctrl_info->controller_online = false;
drivers/scsi/smartpqi/smartpqi_init.c
8925
pqi_stop_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8926
pqi_ctrl_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8927
pqi_cancel_rescan_worker(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8928
pqi_cancel_update_time_worker(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8929
if (ctrl_info->ctrl_removal_state == PQI_CTRL_SURPRISE_REMOVAL) {
drivers/scsi/smartpqi/smartpqi_init.c
8930
pqi_fail_all_outstanding_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8931
ctrl_info->pqi_mode_enabled = false;
drivers/scsi/smartpqi/smartpqi_init.c
8933
pqi_host_free_buffer(ctrl_info, &ctrl_info->ctrl_log_memory);
drivers/scsi/smartpqi/smartpqi_init.c
8934
pqi_unregister_scsi(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8935
if (ctrl_info->pqi_mode_enabled)
drivers/scsi/smartpqi/smartpqi_init.c
8936
pqi_revert_to_sis_mode(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8937
pqi_free_ctrl_resources(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8940
static void pqi_ofa_ctrl_quiesce(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8942
pqi_ctrl_block_scan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8943
pqi_scsi_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8944
pqi_ctrl_block_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8945
pqi_ctrl_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8946
pqi_ctrl_wait_until_quiesced(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8947
pqi_stop_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
895
rc = pqi_build_raid_path_request(ctrl_info, &request, BMIC_SENSE_FEATURE, RAID_CTLR_LUNID,
drivers/scsi/smartpqi/smartpqi_init.c
8950
static void pqi_ofa_ctrl_unquiesce(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
8952
pqi_start_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8953
pqi_ctrl_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8954
pqi_ctrl_unblock_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8955
pqi_scsi_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8956
pqi_ctrl_unblock_scan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8959
static int pqi_ofa_ctrl_restart(struct pqi_ctrl_info *ctrl_info, unsigned int delay_secs)
drivers/scsi/smartpqi/smartpqi_init.c
8963
return pqi_ctrl_init_resume(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
8966
static int pqi_host_alloc_mem(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
8986
dev = &ctrl_info->pci_dev->dev;
drivers/scsi/smartpqi/smartpqi_init.c
90
static int pqi_aio_submit_r56_write_io(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
9016
static int pqi_host_alloc_buffer(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
903
rc = pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
9033
if (pqi_host_alloc_mem(ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
9047
static void pqi_host_setup_buffer(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
905
pqi_pci_unmap(ctrl_info->pci_dev, request.sg_descriptors, 1, dir);
drivers/scsi/smartpqi/smartpqi_init.c
9054
dev = &ctrl_info->pci_dev->dev;
drivers/scsi/smartpqi/smartpqi_init.c
9063
if (pqi_host_alloc_buffer(ctrl_info, host_memory_descriptor,
drivers/scsi/smartpqi/smartpqi_init.c
9073
static void pqi_host_free_buffer(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
9086
dev = &ctrl_info->pci_dev->dev;
drivers/scsi/smartpqi/smartpqi_init.c
9108
static int pqi_host_memory_update(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
9138
return pqi_submit_raid_request_synchronous(ctrl_info, &request.header, 0, NULL);
drivers/scsi/smartpqi/smartpqi_init.c
9146
static void pqi_fail_all_outstanding_requests(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
9153
for (i = 0; i < ctrl_info->max_io_slots; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
9154
io_request = &ctrl_info->io_request_pool[i];
drivers/scsi/smartpqi/smartpqi_init.c
9178
static void pqi_take_ctrl_offline_deferred(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
9181
pqi_stop_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9182
pqi_free_interrupts(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9183
pqi_cancel_rescan_worker(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9184
pqi_cancel_update_time_worker(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9185
pqi_ctrl_wait_until_quiesced(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9186
pqi_fail_all_outstanding_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9187
pqi_ctrl_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9188
pqi_take_ctrl_devices_offline(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9193
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
9195
ctrl_info = container_of(work, struct pqi_ctrl_info, ctrl_offline_work);
drivers/scsi/smartpqi/smartpqi_init.c
9196
pqi_take_ctrl_offline_deferred(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
924
ctrl_info->max_transfer_encrypted_sas_sata =
drivers/scsi/smartpqi/smartpqi_init.c
9245
static void pqi_take_ctrl_offline(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
9248
if (!ctrl_info->controller_online)
drivers/scsi/smartpqi/smartpqi_init.c
9251
ctrl_info->controller_online = false;
drivers/scsi/smartpqi/smartpqi_init.c
9252
ctrl_info->pqi_mode_enabled = false;
drivers/scsi/smartpqi/smartpqi_init.c
9253
pqi_ctrl_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9255
sis_shutdown_ctrl(ctrl_info, ctrl_shutdown_reason);
drivers/scsi/smartpqi/smartpqi_init.c
9256
pci_disable_device(ctrl_info->pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9257
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_init.c
9260
schedule_work(&ctrl_info->ctrl_offline_work);
drivers/scsi/smartpqi/smartpqi_init.c
9263
static void pqi_take_ctrl_devices_offline(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
9269
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
9270
list_for_each_entry(device, &ctrl_info->scsi_device_list, scsi_device_list_entry) {
drivers/scsi/smartpqi/smartpqi_init.c
9271
rc = list_is_last(&device->scsi_device_list_entry, &ctrl_info->scsi_device_list);
drivers/scsi/smartpqi/smartpqi_init.c
928
ctrl_info->max_transfer_encrypted_nvme =
drivers/scsi/smartpqi/smartpqi_init.c
9281
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_init.c
9302
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
932
ctrl_info->max_write_raid_5_6 =
drivers/scsi/smartpqi/smartpqi_init.c
9326
ctrl_info = pqi_alloc_ctrl_info(node);
drivers/scsi/smartpqi/smartpqi_init.c
9327
if (!ctrl_info) {
drivers/scsi/smartpqi/smartpqi_init.c
9332
ctrl_info->numa_node = node;
drivers/scsi/smartpqi/smartpqi_init.c
9334
ctrl_info->pci_dev = pci_dev;
drivers/scsi/smartpqi/smartpqi_init.c
9336
rc = pqi_pci_init(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9340
rc = pqi_ctrl_init(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9347
pqi_remove_ctrl(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9354
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
9358
ctrl_info = pci_get_drvdata(pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9359
if (!ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
936
ctrl_info->max_write_raid_1_10_2drive =
drivers/scsi/smartpqi/smartpqi_init.c
9362
pci_read_config_word(ctrl_info->pci_dev, PCI_SUBSYSTEM_VENDOR_ID, &vendor_id);
drivers/scsi/smartpqi/smartpqi_init.c
9364
ctrl_info->ctrl_removal_state = PQI_CTRL_SURPRISE_REMOVAL;
drivers/scsi/smartpqi/smartpqi_init.c
9366
ctrl_info->ctrl_removal_state = PQI_CTRL_GRACEFUL_REMOVAL;
drivers/scsi/smartpqi/smartpqi_init.c
9368
if (ctrl_info->ctrl_removal_state == PQI_CTRL_GRACEFUL_REMOVAL) {
drivers/scsi/smartpqi/smartpqi_init.c
9369
rc = pqi_flush_cache(ctrl_info, RESTART);
drivers/scsi/smartpqi/smartpqi_init.c
9375
pqi_remove_ctrl(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9378
static void pqi_crash_if_pending_command(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
9384
for (i = 0; i < ctrl_info->max_io_slots; i++) {
drivers/scsi/smartpqi/smartpqi_init.c
9385
io_request = &ctrl_info->io_request_pool[i];
drivers/scsi/smartpqi/smartpqi_init.c
9397
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
94
static void pqi_ofa_ctrl_quiesce(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
940
ctrl_info->max_write_raid_1_10_3drive =
drivers/scsi/smartpqi/smartpqi_init.c
9400
ctrl_info = pci_get_drvdata(pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9401
if (!ctrl_info) {
drivers/scsi/smartpqi/smartpqi_init.c
9407
pqi_wait_until_ofa_finished(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9409
pqi_scsi_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9410
pqi_ctrl_block_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9411
pqi_ctrl_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9412
pqi_ctrl_wait_until_quiesced(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9423
rc = pqi_flush_cache(ctrl_info, shutdown_event);
drivers/scsi/smartpqi/smartpqi_init.c
9428
pqi_crash_if_pending_command(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9429
pqi_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9491
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
9494
ctrl_info = pci_get_drvdata(pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9496
pqi_wait_until_ofa_finished(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9498
pqi_ctrl_block_scan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9499
pqi_scsi_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
95
static void pqi_ofa_ctrl_unquiesce(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
950
static int pqi_flush_cache(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
9500
pqi_ctrl_block_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9501
pqi_ctrl_block_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9502
pqi_ctrl_wait_until_quiesced(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9508
pqi_flush_cache(ctrl_info, shutdown_event);
drivers/scsi/smartpqi/smartpqi_init.c
9511
pqi_stop_heartbeat_timer(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9512
pqi_crash_if_pending_command(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9513
pqi_free_irqs(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9515
ctrl_info->controller_online = false;
drivers/scsi/smartpqi/smartpqi_init.c
9516
ctrl_info->pqi_mode_enabled = false;
drivers/scsi/smartpqi/smartpqi_init.c
9530
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
9533
ctrl_info = pci_get_drvdata(pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9535
rc = pqi_request_irqs(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9539
pqi_ctrl_unblock_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9540
pqi_ctrl_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9541
pqi_scsi_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9542
pqi_ctrl_unblock_scan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9546
return pqi_ctrl_init_resume(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9558
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
9561
ctrl_info = pci_get_drvdata(pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9563
rc = pqi_request_irqs(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9567
ctrl_info->controller_online = true;
drivers/scsi/smartpqi/smartpqi_init.c
9568
ctrl_info->pqi_mode_enabled = true;
drivers/scsi/smartpqi/smartpqi_init.c
9570
pqi_ctrl_unblock_device_reset(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9571
pqi_ctrl_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9572
pqi_scsi_unblock_requests(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9573
pqi_ctrl_unblock_scan(ctrl_info);
drivers/scsi/smartpqi/smartpqi_init.c
9581
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_init.c
9585
ctrl_info = pci_get_drvdata(pci_dev);
drivers/scsi/smartpqi/smartpqi_init.c
9588
pqi_flush_cache(ctrl_info, shutdown_event);
drivers/scsi/smartpqi/smartpqi_init.c
96
static int pqi_ofa_ctrl_restart(struct pqi_ctrl_info *ctrl_info, unsigned int delay_secs);
drivers/scsi/smartpqi/smartpqi_init.c
962
rc = pqi_send_ctrl_raid_request(ctrl_info, SA_FLUSH_CACHE, flush_cache,
drivers/scsi/smartpqi/smartpqi_init.c
97
static void pqi_host_setup_buffer(struct pqi_ctrl_info *ctrl_info, struct pqi_host_memory_descriptor *host_memory_descriptor, u32 total_size, u32 min_size);
drivers/scsi/smartpqi/smartpqi_init.c
970
int pqi_csmi_smp_passthru(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_init.c
974
return pqi_send_ctrl_raid_with_error(ctrl_info, BMIC_CSMI_PASSTHRU,
drivers/scsi/smartpqi/smartpqi_init.c
98
static void pqi_host_free_buffer(struct pqi_ctrl_info *ctrl_info, struct pqi_host_memory_descriptor *host_memory_descriptor);
drivers/scsi/smartpqi/smartpqi_init.c
980
static int pqi_set_diag_rescan(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_init.c
989
rc = pqi_send_ctrl_raid_request(ctrl_info, BMIC_SENSE_DIAG_OPTIONS,
drivers/scsi/smartpqi/smartpqi_init.c
99
static int pqi_host_memory_update(struct pqi_ctrl_info *ctrl_info, struct pqi_host_memory_descriptor *host_memory_descriptor, u16 function_code);
drivers/scsi/smartpqi/smartpqi_init.c
996
rc = pqi_send_ctrl_raid_request(ctrl_info, BMIC_SET_DIAG_OPTIONS, diag,
drivers/scsi/smartpqi/smartpqi_sas_transport.c
208
struct pqi_ctrl_info *ctrl_info, struct sas_rphy *rphy)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
212
list_for_each_entry(device, &ctrl_info->scsi_device_list,
drivers/scsi/smartpqi/smartpqi_sas_transport.c
223
int pqi_add_sas_host(struct Scsi_Host *shost, struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
238
ctrl_info->sas_address, NULL);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
254
ctrl_info->sas_host = pqi_sas_node;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
268
void pqi_delete_sas_host(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sas_transport.c
270
pqi_free_sas_node(ctrl_info->sas_host);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
328
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
336
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
337
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
338
found_device = pqi_find_device_by_sas_rphy(ctrl_info, rphy);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
358
list_for_each_entry(device, &ctrl_info->scsi_device_list,
drivers/scsi/smartpqi/smartpqi_sas_transport.c
378
list_for_each_entry(device, &ctrl_info->scsi_device_list,
drivers/scsi/smartpqi/smartpqi_sas_transport.c
391
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
400
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
408
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
409
spin_lock_irqsave(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
410
device = pqi_find_device_by_sas_rphy(ctrl_info, rphy);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
423
spin_unlock_irqrestore(&ctrl_info->scsi_device_list_lock, flags);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
521
struct pqi_ctrl_info *ctrl_info;
drivers/scsi/smartpqi/smartpqi_sas_transport.c
526
ctrl_info = shost_to_hba(shost);
drivers/scsi/smartpqi/smartpqi_sas_transport.c
554
rc = pqi_csmi_smp_passthru(ctrl_info, smp_buf, sizeof(*smp_buf),
drivers/scsi/smartpqi/smartpqi_sis.c
101
static int sis_wait_for_ctrl_ready_with_timeout(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_sis.c
110
status = readl(&ctrl_info->registers->sis_firmware_status);
drivers/scsi/smartpqi/smartpqi_sis.c
113
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
116
&ctrl_info->registers->sis_mailbox[7]));
drivers/scsi/smartpqi/smartpqi_sis.c
123
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
134
int sis_wait_for_ctrl_ready(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
136
return sis_wait_for_ctrl_ready_with_timeout(ctrl_info,
drivers/scsi/smartpqi/smartpqi_sis.c
140
int sis_wait_for_ctrl_ready_resume(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
142
return sis_wait_for_ctrl_ready_with_timeout(ctrl_info,
drivers/scsi/smartpqi/smartpqi_sis.c
146
bool sis_is_firmware_running(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
151
status = readl(&ctrl_info->registers->sis_firmware_status);
drivers/scsi/smartpqi/smartpqi_sis.c
159
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
161
readl(&ctrl_info->registers->sis_mailbox[7]));
drivers/scsi/smartpqi/smartpqi_sis.c
166
bool sis_is_kernel_up(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
168
return readl(&ctrl_info->registers->sis_firmware_status) &
drivers/scsi/smartpqi/smartpqi_sis.c
172
u32 sis_get_product_id(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
174
return readl(&ctrl_info->registers->sis_product_identifier);
drivers/scsi/smartpqi/smartpqi_sis.c
182
static int sis_send_sync_cmd(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_sis.c
191
registers = ctrl_info->registers;
drivers/scsi/smartpqi/smartpqi_sis.c
238
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
259
int sis_get_ctrl_properties(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
268
rc = sis_send_sync_cmd(ctrl_info, SIS_CMD_GET_ADAPTER_PROPERTIES,
drivers/scsi/smartpqi/smartpqi_sis.c
285
ctrl_info->pqi_reset_quiesce_supported = true;
drivers/scsi/smartpqi/smartpqi_sis.c
290
int sis_get_pqi_capabilities(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
297
rc = sis_send_sync_cmd(ctrl_info, SIS_CMD_GET_PQI_CAPABILITIES,
drivers/scsi/smartpqi/smartpqi_sis.c
302
ctrl_info->max_sg_entries = params.mailbox[1];
drivers/scsi/smartpqi/smartpqi_sis.c
303
ctrl_info->max_transfer_size = params.mailbox[2];
drivers/scsi/smartpqi/smartpqi_sis.c
304
ctrl_info->max_outstanding_requests = params.mailbox[3];
drivers/scsi/smartpqi/smartpqi_sis.c
305
ctrl_info->config_table_offset = params.mailbox[4];
drivers/scsi/smartpqi/smartpqi_sis.c
306
ctrl_info->config_table_length = params.mailbox[5];
drivers/scsi/smartpqi/smartpqi_sis.c
311
int sis_init_base_struct_addr(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
327
error_buffer_paddr = (unsigned long)ctrl_info->error_buffer_dma_handle;
drivers/scsi/smartpqi/smartpqi_sis.c
336
put_unaligned_le32(ctrl_info->max_io_slots,
drivers/scsi/smartpqi/smartpqi_sis.c
339
bus_address = dma_map_single(&ctrl_info->pci_dev->dev, base_struct,
drivers/scsi/smartpqi/smartpqi_sis.c
341
if (dma_mapping_error(&ctrl_info->pci_dev->dev, bus_address)) {
drivers/scsi/smartpqi/smartpqi_sis.c
351
rc = sis_send_sync_cmd(ctrl_info, SIS_CMD_INIT_BASE_STRUCT_ADDRESS,
drivers/scsi/smartpqi/smartpqi_sis.c
354
dma_unmap_single(&ctrl_info->pci_dev->dev, bus_address,
drivers/scsi/smartpqi/smartpqi_sis.c
365
struct pqi_ctrl_info *ctrl_info, u32 bit)
drivers/scsi/smartpqi/smartpqi_sis.c
375
readl(&ctrl_info->registers->sis_host_to_ctrl_doorbell);
drivers/scsi/smartpqi/smartpqi_sis.c
378
if (readl(&ctrl_info->registers->sis_firmware_status) &
drivers/scsi/smartpqi/smartpqi_sis.c
384
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
396
static inline int sis_set_doorbell_bit(struct pqi_ctrl_info *ctrl_info, u32 bit)
drivers/scsi/smartpqi/smartpqi_sis.c
398
writel(bit, &ctrl_info->registers->sis_host_to_ctrl_doorbell);
drivers/scsi/smartpqi/smartpqi_sis.c
401
return sis_wait_for_doorbell_bit_to_clear(ctrl_info, bit);
drivers/scsi/smartpqi/smartpqi_sis.c
404
void sis_enable_msix(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
406
sis_set_doorbell_bit(ctrl_info, SIS_ENABLE_MSIX);
drivers/scsi/smartpqi/smartpqi_sis.c
409
void sis_enable_intx(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
411
sis_set_doorbell_bit(ctrl_info, SIS_ENABLE_INTX);
drivers/scsi/smartpqi/smartpqi_sis.c
414
void sis_shutdown_ctrl(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_sis.c
417
if (readl(&ctrl_info->registers->sis_firmware_status) &
drivers/scsi/smartpqi/smartpqi_sis.c
421
if (ctrl_info->firmware_triage_supported)
drivers/scsi/smartpqi/smartpqi_sis.c
422
writel(ctrl_shutdown_reason, &ctrl_info->registers->sis_ctrl_shutdown_reason_code);
drivers/scsi/smartpqi/smartpqi_sis.c
424
writel(SIS_TRIGGER_SHUTDOWN, &ctrl_info->registers->sis_host_to_ctrl_doorbell);
drivers/scsi/smartpqi/smartpqi_sis.c
427
int sis_pqi_reset_quiesce(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
429
return sis_set_doorbell_bit(ctrl_info, SIS_PQI_RESET_QUIESCE);
drivers/scsi/smartpqi/smartpqi_sis.c
432
int sis_reenable_sis_mode(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
434
return sis_set_doorbell_bit(ctrl_info, SIS_REENABLE_SIS_MODE);
drivers/scsi/smartpqi/smartpqi_sis.c
437
void sis_write_driver_scratch(struct pqi_ctrl_info *ctrl_info, u32 value)
drivers/scsi/smartpqi/smartpqi_sis.c
439
writel(value, &ctrl_info->registers->sis_driver_scratch);
drivers/scsi/smartpqi/smartpqi_sis.c
443
u32 sis_read_driver_scratch(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
445
return readl(&ctrl_info->registers->sis_driver_scratch);
drivers/scsi/smartpqi/smartpqi_sis.c
449
sis_read_firmware_triage_status(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
451
return ((enum sis_fw_triage_status)(readl(&ctrl_info->registers->sis_firmware_status) &
drivers/scsi/smartpqi/smartpqi_sis.c
455
bool sis_is_ctrl_logging_supported(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
457
return readl(&ctrl_info->registers->sis_firmware_status) & SIS_CTRL_KERNEL_CTRL_LOGGING;
drivers/scsi/smartpqi/smartpqi_sis.c
460
void sis_notify_kdump(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
462
sis_set_doorbell_bit(ctrl_info, SIS_NOTIFY_KDUMP);
drivers/scsi/smartpqi/smartpqi_sis.c
465
static inline enum sis_ctrl_logging_status sis_read_ctrl_logging_status(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
467
return ((enum sis_ctrl_logging_status)((readl(&ctrl_info->registers->sis_firmware_status) & SIS_CTRL_KERNEL_CTRL_LOGGING_STATUS) >> 3));
drivers/scsi/smartpqi/smartpqi_sis.c
470
void sis_soft_reset(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
473
&ctrl_info->registers->sis_host_to_ctrl_doorbell);
drivers/scsi/smartpqi/smartpqi_sis.c
479
int sis_wait_for_fw_triage_completion(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
487
status = sis_read_firmware_triage_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.c
489
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
500
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
515
int sis_wait_for_ctrl_logging_completion(struct pqi_ctrl_info *ctrl_info)
drivers/scsi/smartpqi/smartpqi_sis.c
523
status = sis_read_ctrl_logging_status(ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.c
525
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.c
535
dev_err(&ctrl_info->pci_dev->dev,
drivers/scsi/smartpqi/smartpqi_sis.h
16
int sis_wait_for_ctrl_ready(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
17
int sis_wait_for_ctrl_ready_resume(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
18
bool sis_is_firmware_running(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
19
bool sis_is_kernel_up(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
20
int sis_get_ctrl_properties(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
21
int sis_get_pqi_capabilities(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
22
int sis_init_base_struct_addr(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
23
void sis_enable_msix(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
24
void sis_enable_intx(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
25
void sis_shutdown_ctrl(struct pqi_ctrl_info *ctrl_info,
drivers/scsi/smartpqi/smartpqi_sis.h
27
int sis_pqi_reset_quiesce(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
28
int sis_reenable_sis_mode(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
29
void sis_write_driver_scratch(struct pqi_ctrl_info *ctrl_info, u32 value);
drivers/scsi/smartpqi/smartpqi_sis.h
30
u32 sis_read_driver_scratch(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
31
void sis_soft_reset(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
32
u32 sis_get_product_id(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
33
int sis_wait_for_fw_triage_completion(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
34
bool sis_is_ctrl_logging_supported(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
35
void sis_notify_kdump(struct pqi_ctrl_info *ctrl_info);
drivers/scsi/smartpqi/smartpqi_sis.h
36
int sis_wait_for_ctrl_logging_completion(struct pqi_ctrl_info *ctrl_info);
net/atm/mpc.c
1090
msg->content.in_info = entry->ctrl_info;
net/atm/mpc.c
1100
msg->content.in_info = entry->ctrl_info;
net/atm/mpc.c
1177
entry->ctrl_info = msg->content.in_info;
net/atm/mpc.c
1270
purge_msg->content.eg_info = entry->ctrl_info;
net/atm/mpc.c
1402
msg->content.eg_info = entry->ctrl_info;
net/atm/mpc.c
1403
dprintk("cache_id %u\n", entry->ctrl_info.cache_id);
net/atm/mpc.c
542
if (entry->ctrl_info.tag != 0) {
net/atm/mpc.c
544
mpc->dev->name, entry->ctrl_info.tag);
net/atm/mpc.c
545
tagged_llc_snap_hdr.tag = entry->ctrl_info.tag;
net/atm/mpc.c
638
mpc->dev->name, &in_entry->ctrl_info.in_dst_ip);
net/atm/mpc.c
670
mpc->dev->name, &in_entry->ctrl_info.in_dst_ip);
net/atm/mpc.c
761
new_skb = skb_realloc_headroom(skb, eg->ctrl_info.DH_length);
net/atm/mpc.c
768
skb_push(new_skb, eg->ctrl_info.DH_length); /* add MAC header */
net/atm/mpc.c
769
skb_copy_to_linear_data(new_skb, eg->ctrl_info.DLL_header,
net/atm/mpc.c
770
eg->ctrl_info.DH_length);
net/atm/mpoa_caches.c
119
entry->ctrl_info.in_dst_ip = dst_ip;
net/atm/mpoa_caches.c
124
entry->ctrl_info.holding_time = HOLDING_TIME_DEFAULT;
net/atm/mpoa_caches.c
145
msg.content.in_info = entry->ctrl_info;
net/atm/mpoa_caches.c
147
qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip);
net/atm/mpoa_caches.c
165
mpc->dev->name, &entry->ctrl_info.in_dst_ip);
net/atm/mpoa_caches.c
169
msg.content.in_info = entry->ctrl_info;
net/atm/mpoa_caches.c
170
qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip);
net/atm/mpoa_caches.c
198
&entry->ctrl_info.in_dst_ip);
net/atm/mpoa_caches.c
238
if ((now - entry->time) > entry->ctrl_info.holding_time) {
net/atm/mpoa_caches.c
240
&entry->ctrl_info.in_dst_ip);
net/atm/mpoa_caches.c
285
msg.content.in_info = entry->ctrl_info;
net/atm/mpoa_caches.c
286
qos = atm_mpoa_search_qos(entry->ctrl_info.in_dst_ip);
net/atm/mpoa_caches.c
311
entry->refresh_time = (2 * (entry->ctrl_info.holding_time))/3;
net/atm/mpoa_caches.c
340
if (entry->ctrl_info.cache_id == cache_id) {
net/atm/mpoa_caches.c
361
if (entry->ctrl_info.tag == tag) {
net/atm/mpoa_caches.c
43
if (entry->ctrl_info.in_dst_ip == dst_ip) {
net/atm/mpoa_caches.c
479
entry->ctrl_info = msg->content.eg_info;
net/atm/mpoa_caches.c
483
ntohl(entry->ctrl_info.cache_id));
net/atm/mpoa_caches.c
484
dprintk("mps_ip = %pI4\n", &entry->ctrl_info.mps_ip);
net/atm/mpoa_caches.c
497
entry->ctrl_info.holding_time = holding_time;
net/atm/mpoa_caches.c
512
if ((now - entry->time) > entry->ctrl_info.holding_time) {
net/atm/mpoa_caches.c
514
msg.content.eg_info = entry->ctrl_info;
net/atm/mpoa_caches.c
516
ntohl(entry->ctrl_info.cache_id));
net/atm/mpoa_caches.c
64
if ((entry->ctrl_info.in_dst_ip & mask) == (dst_ip & mask)) {
net/atm/mpoa_caches.h
30
struct in_ctrl_info ctrl_info;
net/atm/mpoa_caches.h
63
struct eg_ctrl_info ctrl_info;
net/atm/mpoa_proc.c
152
sprintf(ip_string, "%pI4", &in_entry->ctrl_info.in_dst_ip);
net/atm/mpoa_proc.c
156
in_entry->ctrl_info.holding_time -
net/atm/mpoa_proc.c
169
unsigned char *p = eg_entry->ctrl_info.in_MPC_data_ATM_addr;
net/atm/mpoa_proc.c
175
(unsigned long)ntohl(eg_entry->ctrl_info.cache_id),
net/atm/mpoa_proc.c
177
(eg_entry->ctrl_info.holding_time - seconds_delta),