/drivers/scsi/ufs/ |
D | ufshcd.c | 114 int ufshcd_dump_regs(struct ufs_hba *hba, size_t offset, size_t len, in ufshcd_dump_regs() argument 132 regs[pos / 4] = ufshcd_readl(hba, offset + pos); in ufshcd_dump_regs() 237 static irqreturn_t ufshcd_tmc_handler(struct ufs_hba *hba); 239 static int ufshcd_reset_and_restore(struct ufs_hba *hba); 241 static int ufshcd_clear_tm_cmd(struct ufs_hba *hba, int tag); 242 static void ufshcd_hba_exit(struct ufs_hba *hba); 243 static int ufshcd_probe_hba(struct ufs_hba *hba, bool init_dev_params); 244 static int ufshcd_setup_clocks(struct ufs_hba *hba, bool on); 245 static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba); 246 static int ufshcd_host_reset_and_restore(struct ufs_hba *hba); [all …]
|
D | ufshcd.h | 120 #define ufshcd_is_link_off(hba) ((hba)->uic_link_state == UIC_LINK_OFF_STATE) argument 121 #define ufshcd_is_link_active(hba) ((hba)->uic_link_state == \ argument 123 #define ufshcd_is_link_hibern8(hba) ((hba)->uic_link_state == \ argument 125 #define ufshcd_is_link_broken(hba) ((hba)->uic_link_state == \ argument 127 #define ufshcd_set_link_off(hba) ((hba)->uic_link_state = UIC_LINK_OFF_STATE) argument 128 #define ufshcd_set_link_active(hba) ((hba)->uic_link_state = \ argument 130 #define ufshcd_set_link_hibern8(hba) ((hba)->uic_link_state = \ argument 132 #define ufshcd_set_link_broken(hba) ((hba)->uic_link_state = \ argument 350 int (*apply_dev_quirks)(struct ufs_hba *hba); 351 void (*fixup_dev_quirks)(struct ufs_hba *hba); [all …]
|
D | ufs-mediatek.c | 59 static bool ufs_mtk_is_boost_crypt_enabled(struct ufs_hba *hba) in ufs_mtk_is_boost_crypt_enabled() argument 61 struct ufs_mtk_host *host = ufshcd_get_variant(hba); in ufs_mtk_is_boost_crypt_enabled() 66 static bool ufs_mtk_is_va09_supported(struct ufs_hba *hba) in ufs_mtk_is_va09_supported() argument 68 struct ufs_mtk_host *host = ufshcd_get_variant(hba); in ufs_mtk_is_va09_supported() 73 static bool ufs_mtk_is_broken_vcc(struct ufs_hba *hba) in ufs_mtk_is_broken_vcc() argument 75 struct ufs_mtk_host *host = ufshcd_get_variant(hba); in ufs_mtk_is_broken_vcc() 80 static bool ufs_mtk_is_pmc_via_fastauto(struct ufs_hba *hba) in ufs_mtk_is_pmc_via_fastauto() argument 82 struct ufs_mtk_host *host = ufshcd_get_variant(hba); in ufs_mtk_is_pmc_via_fastauto() 87 static void ufs_mtk_cfg_unipro_cg(struct ufs_hba *hba, bool enable) in ufs_mtk_cfg_unipro_cg() argument 92 ufshcd_dme_get(hba, in ufs_mtk_cfg_unipro_cg() [all …]
|
D | ufs-hisi.c | 23 static int ufs_hisi_check_hibern8(struct ufs_hba *hba) in ufs_hisi_check_hibern8() argument 31 err = ufshcd_dme_get(hba, UIC_ARG_MIB_SEL(MPHY_TX_FSM_STATE, 0), in ufs_hisi_check_hibern8() 33 err |= ufshcd_dme_get(hba, in ufs_hisi_check_hibern8() 48 err = ufshcd_dme_get(hba, UIC_ARG_MIB_SEL(MPHY_TX_FSM_STATE, 0), in ufs_hisi_check_hibern8() 50 err |= ufshcd_dme_get(hba, in ufs_hisi_check_hibern8() 55 dev_err(hba->dev, "%s: unable to get TX_FSM_STATE, err %d\n", in ufs_hisi_check_hibern8() 60 dev_err(hba->dev, "%s: invalid TX_FSM_STATE, lane0 = %d, lane1 = %d\n", in ufs_hisi_check_hibern8() 67 static void ufs_hisi_clk_init(struct ufs_hba *hba) in ufs_hisi_clk_init() argument 69 struct ufs_hisi_host *host = ufshcd_get_variant(hba); in ufs_hisi_clk_init() 81 static void ufs_hisi_soc_init(struct ufs_hba *hba) in ufs_hisi_soc_init() argument [all …]
|
D | ufs-debugfs.c | 23 struct ufs_hba *hba = s->private; in ufs_debugfs_stats_show() local 24 struct ufs_event_hist *e = hba->ufs_stats.event; in ufs_debugfs_stats_show() 49 struct ufs_hba *hba = data; in ee_usr_mask_get() local 51 *val = hba->ee_usr_mask; in ee_usr_mask_get() 55 static int ufs_debugfs_get_user_access(struct ufs_hba *hba) in ufs_debugfs_get_user_access() argument 56 __acquires(&hba->host_sem) in ufs_debugfs_get_user_access() 58 down(&hba->host_sem); in ufs_debugfs_get_user_access() 59 if (!ufshcd_is_user_access_allowed(hba)) { in ufs_debugfs_get_user_access() 60 up(&hba->host_sem); in ufs_debugfs_get_user_access() 63 ufshcd_rpm_get_sync(hba); in ufs_debugfs_get_user_access() [all …]
|
D | ufshcd-crypto.c | 23 static int ufshcd_program_key(struct ufs_hba *hba, in ufshcd_program_key() argument 27 u32 slot_offset = hba->crypto_cfg_register + slot * sizeof(*cfg); in ufshcd_program_key() 30 ufshcd_hold(hba, false); in ufshcd_program_key() 32 if (hba->vops && hba->vops->program_key) { in ufshcd_program_key() 33 err = hba->vops->program_key(hba, cfg, slot); in ufshcd_program_key() 38 ufshcd_writel(hba, 0, slot_offset + 16 * sizeof(cfg->reg_val[0])); in ufshcd_program_key() 40 ufshcd_writel(hba, le32_to_cpu(cfg->reg_val[i]), in ufshcd_program_key() 44 ufshcd_writel(hba, le32_to_cpu(cfg->reg_val[17]), in ufshcd_program_key() 47 ufshcd_writel(hba, le32_to_cpu(cfg->reg_val[16]), in ufshcd_program_key() 50 ufshcd_release(hba); in ufshcd_program_key() [all …]
|
D | ufs-qcom.c | 43 static int ufs_qcom_set_dme_vs_core_clk_ctrl_clear_div(struct ufs_hba *hba, 51 static void ufs_qcom_dump_regs_wrapper(struct ufs_hba *hba, int offset, int len, in ufs_qcom_dump_regs_wrapper() argument 54 ufshcd_dump_regs(hba, offset, len * 4, prefix); in ufs_qcom_dump_regs_wrapper() 57 static int ufs_qcom_get_connected_tx_lanes(struct ufs_hba *hba, u32 *tx_lanes) in ufs_qcom_get_connected_tx_lanes() argument 61 err = ufshcd_dme_get(hba, in ufs_qcom_get_connected_tx_lanes() 64 dev_err(hba->dev, "%s: couldn't read PA_CONNECTEDTXDATALANES %d\n", in ufs_qcom_get_connected_tx_lanes() 123 struct device *dev = host->hba->dev; in ufs_qcom_enable_lane_clks() 164 struct device *dev = host->hba->dev; in ufs_qcom_init_lane_clks() 180 if (host->hba->lanes_per_direction > 1) { in ufs_qcom_init_lane_clks() 193 static int ufs_qcom_link_startup_post_change(struct ufs_hba *hba) in ufs_qcom_link_startup_post_change() argument [all …]
|
D | ufshcd-pci.c | 23 void (*late_init)(struct ufs_hba *hba); 87 static int ufs_intel_hce_enable_notify(struct ufs_hba *hba, in ufs_intel_hce_enable_notify() argument 91 if (status == POST_CHANGE && hba->caps & UFSHCD_CAP_CRYPTO) { in ufs_intel_hce_enable_notify() 92 u32 hce = ufshcd_readl(hba, REG_CONTROLLER_ENABLE); in ufs_intel_hce_enable_notify() 95 ufshcd_writel(hba, hce, REG_CONTROLLER_ENABLE); in ufs_intel_hce_enable_notify() 101 static int ufs_intel_disable_lcc(struct ufs_hba *hba) in ufs_intel_disable_lcc() argument 106 ufshcd_dme_get(hba, attr, &lcc_enable); in ufs_intel_disable_lcc() 108 ufshcd_disable_host_tx_lcc(hba); in ufs_intel_disable_lcc() 113 static int ufs_intel_link_startup_notify(struct ufs_hba *hba, in ufs_intel_link_startup_notify() argument 120 err = ufs_intel_disable_lcc(hba); in ufs_intel_link_startup_notify() [all …]
|
D | cdns-pltfrm.c | 36 static void cdns_ufs_get_l4_attr(struct ufs_hba *hba) in cdns_ufs_get_l4_attr() argument 38 struct cdns_ufs_host *host = ufshcd_get_variant(hba); in cdns_ufs_get_l4_attr() 40 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PEERDEVICEID), in cdns_ufs_get_l4_attr() 42 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PEERCPORTID), in cdns_ufs_get_l4_attr() 44 ufshcd_dme_get(hba, UIC_ARG_MIB(T_TRAFFICCLASS), in cdns_ufs_get_l4_attr() 46 ufshcd_dme_get(hba, UIC_ARG_MIB(T_PROTOCOLID), in cdns_ufs_get_l4_attr() 48 ufshcd_dme_get(hba, UIC_ARG_MIB(T_CPORTFLAGS), in cdns_ufs_get_l4_attr() 50 ufshcd_dme_get(hba, UIC_ARG_MIB(T_TXTOKENVALUE), in cdns_ufs_get_l4_attr() 52 ufshcd_dme_get(hba, UIC_ARG_MIB(T_RXTOKENVALUE), in cdns_ufs_get_l4_attr() 54 ufshcd_dme_get(hba, UIC_ARG_MIB(T_LOCALBUFFERSPACE), in cdns_ufs_get_l4_attr() [all …]
|
D | ufs-exynos.c | 154 struct ufs_hba *hba = ufs->hba; in exynos7_ufs_pre_link() local 158 exynos_ufs_enable_ov_tm(hba); in exynos7_ufs_pre_link() 160 ufshcd_dme_set(hba, UIC_ARG_MIB_SEL(0x297, i), 0x17); in exynos7_ufs_pre_link() 162 ufshcd_dme_set(hba, UIC_ARG_MIB_SEL(0x362, i), 0xff); in exynos7_ufs_pre_link() 163 ufshcd_dme_set(hba, UIC_ARG_MIB_SEL(0x363, i), 0x00); in exynos7_ufs_pre_link() 165 exynos_ufs_disable_ov_tm(hba); in exynos7_ufs_pre_link() 168 ufshcd_dme_set(hba, in exynos7_ufs_pre_link() 170 ufshcd_dme_set(hba, UIC_ARG_MIB(PA_DBG_TXPHY_CFGUPDT), 0x1); in exynos7_ufs_pre_link() 172 ufshcd_dme_set(hba, UIC_ARG_MIB(PA_DBG_OPTION_SUITE), val | (1 << 12)); in exynos7_ufs_pre_link() 173 ufshcd_dme_set(hba, UIC_ARG_MIB(PA_DBG_SKIP_RESET_PHY), 0x1); in exynos7_ufs_pre_link() [all …]
|
D | ufs-hwmon.c | 13 struct ufs_hba *hba; member 17 static int ufs_read_temp_enable(struct ufs_hba *hba, u8 mask, long *val) in ufs_read_temp_enable() argument 22 err = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, QUERY_ATTR_IDN_EE_CONTROL, 0, 0, in ufs_read_temp_enable() 32 static int ufs_get_temp(struct ufs_hba *hba, enum attr_idn idn, long *val) in ufs_get_temp() argument 37 err = ufshcd_query_attr(hba, UPIU_QUERY_OPCODE_READ_ATTR, idn, 0, 0, &value); in ufs_get_temp() 53 struct ufs_hba *hba = data->hba; in ufs_hwmon_read() local 56 down(&hba->host_sem); in ufs_hwmon_read() 58 if (!ufshcd_is_user_access_allowed(hba)) { in ufs_hwmon_read() 59 up(&hba->host_sem); in ufs_hwmon_read() 63 ufshcd_rpm_get_sync(hba); in ufs_hwmon_read() [all …]
|
D | ufs-sysfs.c | 43 struct ufs_hba *hba = dev_get_drvdata(dev); in ufs_sysfs_pm_lvl_store() local 44 struct ufs_dev_info *dev_info = &hba->dev_info; in ufs_sysfs_pm_lvl_store() 54 (!(hba->caps & UFSHCD_CAP_DEEPSLEEP) || in ufs_sysfs_pm_lvl_store() 58 spin_lock_irqsave(hba->host->host_lock, flags); in ufs_sysfs_pm_lvl_store() 60 hba->rpm_lvl = value; in ufs_sysfs_pm_lvl_store() 62 hba->spm_lvl = value; in ufs_sysfs_pm_lvl_store() 63 spin_unlock_irqrestore(hba->host->host_lock, flags); in ufs_sysfs_pm_lvl_store() 70 struct ufs_hba *hba = dev_get_drvdata(dev); in rpm_lvl_show() local 72 return sysfs_emit(buf, "%d\n", hba->rpm_lvl); in rpm_lvl_show() 84 struct ufs_hba *hba = dev_get_drvdata(dev); in rpm_target_dev_state_show() local [all …]
|
D | ufs_bsg.c | 9 static int ufs_bsg_get_query_desc_size(struct ufs_hba *hba, int *desc_len, in ufs_bsg_get_query_desc_size() argument 18 ufshcd_map_desc_id_to_length(hba, desc_id, desc_len); in ufs_bsg_get_query_desc_size() 27 static int ufs_bsg_verify_query_size(struct ufs_hba *hba, in ufs_bsg_verify_query_size() argument 35 dev_err(hba->dev, "not enough space assigned\n"); in ufs_bsg_verify_query_size() 42 static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job, in ufs_bsg_alloc_desc_buffer() argument 55 if (ufs_bsg_get_query_desc_size(hba, desc_len, qr)) { in ufs_bsg_alloc_desc_buffer() 56 dev_err(hba->dev, "Illegal desc size\n"); in ufs_bsg_alloc_desc_buffer() 61 dev_err(hba->dev, "Illegal desc size\n"); in ufs_bsg_alloc_desc_buffer() 84 struct ufs_hba *hba = shost_priv(dev_to_shost(job->dev->parent)); in ufs_bsg_request() local 94 ret = ufs_bsg_verify_query_size(hba, req_len, reply_len); in ufs_bsg_request() [all …]
|
D | ufshpb.h | 287 static int ufshpb_prep(struct ufs_hba *hba, struct ufshcd_lrb *lrbp) { return 0; } in ufshpb_prep() argument 288 static void ufshpb_rsp_upiu(struct ufs_hba *hba, struct ufshcd_lrb *lrbp) {} in ufshpb_rsp_upiu() argument 289 static void ufshpb_resume(struct ufs_hba *hba) {} in ufshpb_resume() argument 290 static void ufshpb_suspend(struct ufs_hba *hba) {} in ufshpb_suspend() argument 291 static void ufshpb_reset(struct ufs_hba *hba) {} in ufshpb_reset() argument 292 static void ufshpb_reset_host(struct ufs_hba *hba) {} in ufshpb_reset_host() argument 293 static void ufshpb_init(struct ufs_hba *hba) {} in ufshpb_init() argument 294 static void ufshpb_init_hpb_lu(struct ufs_hba *hba, struct scsi_device *sdev) {} in ufshpb_init_hpb_lu() argument 295 static void ufshpb_destroy_lu(struct ufs_hba *hba, struct scsi_device *sdev) {} in ufshpb_destroy_lu() argument 296 static void ufshpb_remove(struct ufs_hba *hba) {} in ufshpb_remove() argument [all …]
|
/drivers/scsi/ |
D | hptiop.c | 39 static int iop_send_sync_msg(struct hptiop_hba *hba, u32 msg, u32 millisec); 40 static void hptiop_finish_scsi_req(struct hptiop_hba *hba, u32 tag, 42 static void hptiop_host_request_callback_itl(struct hptiop_hba *hba, u32 tag); 43 static void hptiop_iop_request_callback_itl(struct hptiop_hba *hba, u32 tag); 44 static void hptiop_message_callback(struct hptiop_hba *hba, u32 msg); 46 static int iop_wait_ready_itl(struct hptiop_hba *hba, u32 millisec) in iop_wait_ready_itl() argument 52 req = readl(&hba->u.itl.iop->inbound_queue); in iop_wait_ready_itl() 59 writel(req, &hba->u.itl.iop->outbound_queue); in iop_wait_ready_itl() 60 readl(&hba->u.itl.iop->outbound_intstatus); in iop_wait_ready_itl() 67 static int iop_wait_ready_mv(struct hptiop_hba *hba, u32 millisec) in iop_wait_ready_mv() argument [all …]
|
D | stex.c | 392 static struct status_msg *stex_get_status(struct st_hba *hba) in stex_get_status() argument 394 struct status_msg *status = hba->status_buffer + hba->status_tail; in stex_get_status() 396 ++hba->status_tail; in stex_get_status() 397 hba->status_tail %= hba->sts_count+1; in stex_get_status() 410 static struct req_msg *stex_alloc_req(struct st_hba *hba) in stex_alloc_req() argument 412 struct req_msg *req = hba->dma_mem + hba->req_head * hba->rq_size; in stex_alloc_req() 414 ++hba->req_head; in stex_alloc_req() 415 hba->req_head %= hba->rq_count+1; in stex_alloc_req() 420 static struct req_msg *stex_ss_alloc_req(struct st_hba *hba) in stex_ss_alloc_req() argument 422 return (struct req_msg *)(hba->dma_mem + in stex_ss_alloc_req() [all …]
|
/drivers/scsi/bnx2i/ |
D | bnx2i_init.c | 82 void bnx2i_identify_device(struct bnx2i_hba *hba, struct cnic_dev *dev) in bnx2i_identify_device() argument 84 hba->cnic_dev_type = 0; in bnx2i_identify_device() 86 if (hba->pci_did == PCI_DEVICE_ID_NX2_5706 || in bnx2i_identify_device() 87 hba->pci_did == PCI_DEVICE_ID_NX2_5706S) { in bnx2i_identify_device() 88 set_bit(BNX2I_NX2_DEV_5706, &hba->cnic_dev_type); in bnx2i_identify_device() 89 } else if (hba->pci_did == PCI_DEVICE_ID_NX2_5708 || in bnx2i_identify_device() 90 hba->pci_did == PCI_DEVICE_ID_NX2_5708S) { in bnx2i_identify_device() 91 set_bit(BNX2I_NX2_DEV_5708, &hba->cnic_dev_type); in bnx2i_identify_device() 92 } else if (hba->pci_did == PCI_DEVICE_ID_NX2_5709 || in bnx2i_identify_device() 93 hba->pci_did == PCI_DEVICE_ID_NX2_5709S) { in bnx2i_identify_device() [all …]
|
D | bnx2i_iscsi.c | 34 static int bnx2i_adapter_ready(struct bnx2i_hba *hba) in bnx2i_adapter_ready() argument 38 if (!hba || !test_bit(ADAPTER_STATE_UP, &hba->adapter_state) || in bnx2i_adapter_ready() 39 test_bit(ADAPTER_STATE_GOING_DOWN, &hba->adapter_state) || in bnx2i_adapter_ready() 40 test_bit(ADAPTER_STATE_LINK_DOWN, &hba->adapter_state)) in bnx2i_adapter_ready() 143 static int bnx2i_map_scsi_sg(struct bnx2i_hba *hba, struct bnx2i_cmd *cmd) in bnx2i_map_scsi_sg() argument 190 bd_count = bnx2i_map_scsi_sg(cmd->conn->hba, cmd); in bnx2i_iscsi_map_sg_list() 238 static int bnx2i_bind_conn_to_iscsi_cid(struct bnx2i_hba *hba, in bnx2i_bind_conn_to_iscsi_cid() argument 242 if (hba && hba->cid_que.conn_cid_tbl[iscsi_cid]) { in bnx2i_bind_conn_to_iscsi_cid() 248 hba->cid_que.conn_cid_tbl[iscsi_cid] = bnx2i_conn; in bnx2i_bind_conn_to_iscsi_cid() 258 struct bnx2i_conn *bnx2i_get_conn_from_id(struct bnx2i_hba *hba, in bnx2i_get_conn_from_id() argument [all …]
|
D | bnx2i_hwi.c | 34 if (test_bit(BNX2I_NX2_DEV_57710, &ep->hba->cnic_dev_type)) in bnx2i_get_cid_num() 48 static void bnx2i_adjust_qp_size(struct bnx2i_hba *hba) in bnx2i_adjust_qp_size() argument 52 if (test_bit(BNX2I_NX2_DEV_5706, &hba->cnic_dev_type) || in bnx2i_adjust_qp_size() 53 test_bit(BNX2I_NX2_DEV_5708, &hba->cnic_dev_type) || in bnx2i_adjust_qp_size() 54 test_bit(BNX2I_NX2_DEV_5709, &hba->cnic_dev_type)) { in bnx2i_adjust_qp_size() 55 if (!is_power_of_2(hba->max_sqes)) in bnx2i_adjust_qp_size() 56 hba->max_sqes = rounddown_pow_of_two(hba->max_sqes); in bnx2i_adjust_qp_size() 58 if (!is_power_of_2(hba->max_rqes)) in bnx2i_adjust_qp_size() 59 hba->max_rqes = rounddown_pow_of_two(hba->max_rqes); in bnx2i_adjust_qp_size() 67 if (hba->max_sqes < num_elements_per_pg) in bnx2i_adjust_qp_size() [all …]
|
/drivers/parisc/ |
D | lba_pci.c | 111 static inline struct lba_device *LBA_DEV(struct pci_hba_data *hba) in LBA_DEV() argument 113 return container_of(hba, struct lba_device, hba); in LBA_DEV() 191 u8 first_bus = d->hba.hba_bus->busn_res.start; in lba_device_present() 192 u8 last_sub_bus = d->hba.hba_bus->busn_res.end; in lba_device_present() 207 error_config = READ_REG32(d->hba.base_addr + LBA_ERROR_CONFIG); \ 210 status_control = READ_REG32(d->hba.base_addr + LBA_STAT_CTL); \ 216 arb_mask = READ_REG32(d->hba.base_addr + LBA_ARB_MASK); \ 222 WRITE_REG32(0x1, d->hba.base_addr + LBA_ARB_MASK); \ 228 WRITE_REG32(error_config | LBA_SMART_MODE, d->hba.base_addr + LBA_ERROR_CONFIG); \ 237 WRITE_REG32(tok | PCI_VENDOR_ID, (d)->hba.base_addr + LBA_PCI_CFG_ADDR);\ [all …]
|
D | dino.c | 143 struct pci_hba_data hba; /* 'C' inheritance - must be first */ member 153 static inline struct dino_device *DINO_DEV(struct pci_hba_data *hba) in DINO_DEV() argument 155 return container_of(hba, struct dino_device, hba); in DINO_DEV() 177 void __iomem *base_addr = d->hba.base_addr; in dino_cfg_read() 212 void __iomem *base_addr = d->hba.base_addr; in dino_cfg_write() 305 __raw_writel(dino_dev->imr, dino_dev->hba.base_addr+DINO_IMR); in dino_mask_irq() 322 __raw_readl(dino_dev->hba.base_addr+DINO_IPR); in dino_unmask_irq() 326 __raw_writel( dino_dev->imr, dino_dev->hba.base_addr+DINO_IMR); in dino_unmask_irq() 337 tmp = __raw_readl(dino_dev->hba.base_addr+DINO_ILR); in dino_unmask_irq() 363 __raw_writel(eim, dino_dev->hba.base_addr+DINO_IAR0); in dino_set_affinity_irq() [all …]
|
/drivers/scsi/bnx2fc/ |
D | bnx2fc_fcoe.c | 78 static int bnx2fc_em_config(struct fc_lport *lport, struct bnx2fc_hba *hba); 79 static int bnx2fc_bind_adapter_devices(struct bnx2fc_hba *hba); 80 static void bnx2fc_unbind_adapter_devices(struct bnx2fc_hba *hba); 81 static int bnx2fc_bind_pcidev(struct bnx2fc_hba *hba); 82 static void bnx2fc_unbind_pcidev(struct bnx2fc_hba *hba); 93 static int bnx2fc_fw_init(struct bnx2fc_hba *hba); 94 static void bnx2fc_fw_destroy(struct bnx2fc_hba *hba); 193 struct bnx2fc_hba *hba = interface->hba; in bnx2fc_cleanup() local 198 mutex_lock(&hba->hba_mutex); in bnx2fc_cleanup() 199 spin_lock_bh(&hba->hba_lock); in bnx2fc_cleanup() [all …]
|
D | bnx2fc_hwi.c | 20 static void bnx2fc_fastpath_notification(struct bnx2fc_hba *hba, 22 static void bnx2fc_process_ofld_cmpl(struct bnx2fc_hba *hba, 24 static void bnx2fc_process_enable_conn_cmpl(struct bnx2fc_hba *hba, 26 static void bnx2fc_init_failure(struct bnx2fc_hba *hba, u32 err_code); 27 static void bnx2fc_process_conn_destroy_cmpl(struct bnx2fc_hba *hba, 30 int bnx2fc_send_stat_req(struct bnx2fc_hba *hba) in bnx2fc_send_stat_req() argument 42 stat_req.stat_params_addr_lo = (u32) hba->stats_buf_dma; in bnx2fc_send_stat_req() 43 stat_req.stat_params_addr_hi = (u32) ((u64)hba->stats_buf_dma >> 32); in bnx2fc_send_stat_req() 47 if (hba->cnic && hba->cnic->submit_kwqes) in bnx2fc_send_stat_req() 48 rc = hba->cnic->submit_kwqes(hba->cnic, kwqe_arr, num_kwqes); in bnx2fc_send_stat_req() [all …]
|
D | bnx2fc_tgt.c | 22 static u32 bnx2fc_alloc_conn_id(struct bnx2fc_hba *hba, 24 static int bnx2fc_alloc_session_resc(struct bnx2fc_hba *hba, 26 static void bnx2fc_free_session_resc(struct bnx2fc_hba *hba, 28 static void bnx2fc_free_conn_id(struct bnx2fc_hba *hba, u32 conn_id); 86 struct bnx2fc_hba *hba = interface->hba; in bnx2fc_offload_session() local 100 rval = bnx2fc_alloc_session_resc(hba, tgt); in bnx2fc_offload_session() 159 bnx2fc_free_session_resc(hba, tgt); in bnx2fc_offload_session() 162 bnx2fc_free_conn_id(hba, tgt->fcoe_conn_id); in bnx2fc_offload_session() 295 struct bnx2fc_hba *hba = interface->hba; in bnx2fc_upload_session() local 326 bnx2fc_send_session_destroy_req(hba, tgt); in bnx2fc_upload_session() [all …]
|
/drivers/target/ |
D | target_core_hba.c | 111 struct se_hba *hba; in core_alloc_hba() local 114 hba = kzalloc(sizeof(*hba), GFP_KERNEL); in core_alloc_hba() 115 if (!hba) { in core_alloc_hba() 120 spin_lock_init(&hba->device_lock); in core_alloc_hba() 121 mutex_init(&hba->hba_access_mutex); in core_alloc_hba() 123 hba->hba_index = scsi_get_new_index(SCSI_INST_INDEX); in core_alloc_hba() 124 hba->hba_flags |= hba_flags; in core_alloc_hba() 126 hba->backend = core_get_backend(plugin_name); in core_alloc_hba() 127 if (!hba->backend) { in core_alloc_hba() 132 ret = hba->backend->ops->attach_hba(hba, plugin_dep_id); in core_alloc_hba() [all …]
|