Lines Matching refs:ha

325 	struct qla_hw_data *ha;  in qla2x00_start_scsi()  local
332 ha = vha->hw; in qla2x00_start_scsi()
333 reg = &ha->iobase->isp; in qla2x00_start_scsi()
335 req = ha->req_q_map[0]; in qla2x00_start_scsi()
336 rsp = ha->rsp_q_map[0]; in qla2x00_start_scsi()
350 spin_lock_irqsave(&ha->hardware_lock, flags); in qla2x00_start_scsi()
366 nseg = dma_map_sg(&ha->pdev->dev, scsi_sglist(cmd), in qla2x00_start_scsi()
376 req_cnt = ha->isp_ops->calc_req_entries(tot_dsds); in qla2x00_start_scsi()
378 cnt = RD_REG_WORD_RELAXED(ISP_REQ_Q_OUT(ha, reg)); in qla2x00_start_scsi()
404 SET_TARGET_ID(ha, cmd_pkt->target, sp->fcport->loop_id); in qla2x00_start_scsi()
413 ha->isp_ops->build_iocbs(sp, cmd_pkt, tot_dsds); in qla2x00_start_scsi()
430 WRT_REG_WORD(ISP_REQ_Q_IN(ha, reg), req->ring_index); in qla2x00_start_scsi()
431 RD_REG_WORD_RELAXED(ISP_REQ_Q_IN(ha, reg)); /* PCI Posting. */ in qla2x00_start_scsi()
438 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla2x00_start_scsi()
445 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla2x00_start_scsi()
456 struct qla_hw_data *ha = vha->hw; in qla2x00_start_iocbs() local
457 device_reg_t __iomem *reg = ISP_QUE_REG(ha, req->id); in qla2x00_start_iocbs()
459 if (IS_P3P_TYPE(ha)) { in qla2x00_start_iocbs()
471 if (ha->mqenable || IS_QLA83XX(ha) || IS_QLA27XX(ha)) { in qla2x00_start_iocbs()
473 RD_REG_DWORD_RELAXED(&ha->iobase->isp24.hccr); in qla2x00_start_iocbs()
474 } else if (IS_QLAFX00(ha)) { in qla2x00_start_iocbs()
477 QLAFX00_SET_HST_INTR(ha, ha->rqstq_intr_code); in qla2x00_start_iocbs()
478 } else if (IS_FWI2_CAPABLE(ha)) { in qla2x00_start_iocbs()
482 WRT_REG_WORD(ISP_REQ_Q_IN(ha, &reg->isp), in qla2x00_start_iocbs()
484 RD_REG_WORD_RELAXED(ISP_REQ_Q_IN(ha, &reg->isp)); in qla2x00_start_iocbs()
508 struct qla_hw_data *ha = vha->hw; in __qla2x00_marker() local
509 scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); in __qla2x00_marker()
511 req = ha->req_q_map[0]; in __qla2x00_marker()
523 if (IS_FWI2_CAPABLE(ha)) { in __qla2x00_marker()
531 SET_TARGET_ID(ha, mrk->target, loop_id); in __qla2x00_marker()
586 struct qla_hw_data *ha; in qla24xx_build_scsi_type_6_iocbs() local
610 ha = vha->hw; in qla24xx_build_scsi_type_6_iocbs()
634 dsd_ptr = list_first_entry(&ha->gbl_dsd_list, in qla24xx_build_scsi_type_6_iocbs()
638 ha->gbl_dsd_avail--; in qla24xx_build_scsi_type_6_iocbs()
641 ha->gbl_dsd_inuse++; in qla24xx_build_scsi_type_6_iocbs()
919 qla24xx_walk_and_build_sglist_no_difb(struct qla_hw_data *ha, srb_t *sp, in qla24xx_walk_and_build_sglist_no_difb() argument
979 dma_pool_alloc(ha->dl_dma_pool, GFP_ATOMIC, in qla24xx_walk_and_build_sglist_no_difb()
1038 qla24xx_walk_and_build_sglist(struct qla_hw_data *ha, srb_t *sp, uint32_t *dsd, in qla24xx_walk_and_build_sglist() argument
1082 dma_pool_alloc(ha->dl_dma_pool, GFP_ATOMIC, in qla24xx_walk_and_build_sglist()
1128 qla24xx_walk_and_build_prot_sglist(struct qla_hw_data *ha, srb_t *sp, in qla24xx_walk_and_build_prot_sglist() argument
1174 dma_pool_alloc(ha->dl_dma_pool, GFP_ATOMIC, in qla24xx_walk_and_build_prot_sglist()
1242 struct qla_hw_data *ha; in qla24xx_build_scsi_crc_2_iocbs() local
1256 ha = vha->hw; in qla24xx_build_scsi_crc_2_iocbs()
1284 dma_pool_alloc(ha->dl_dma_pool, GFP_ATOMIC, &crc_ctx_dma); in qla24xx_build_scsi_crc_2_iocbs()
1367 else if (IS_PI_UNINIT_CAPABLE(ha)) { in qla24xx_build_scsi_crc_2_iocbs()
1412 if (qla24xx_walk_and_build_sglist_no_difb(ha, sp, in qla24xx_build_scsi_crc_2_iocbs()
1415 } else if (qla24xx_walk_and_build_sglist(ha, sp, cur_dsd, in qla24xx_build_scsi_crc_2_iocbs()
1424 if (qla24xx_walk_and_build_prot_sglist(ha, sp, cur_dsd, in qla24xx_build_scsi_crc_2_iocbs()
1458 struct qla_hw_data *ha = vha->hw; in qla24xx_start_scsi() local
1478 spin_lock_irqsave(&ha->hardware_lock, flags); in qla24xx_start_scsi()
1494 nseg = dma_map_sg(&ha->pdev->dev, scsi_sglist(cmd), in qla24xx_start_scsi()
1504 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla24xx_start_scsi()
1569 RD_REG_DWORD_RELAXED(&ha->iobase->isp24.hccr); in qla24xx_start_scsi()
1576 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_start_scsi()
1583 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_start_scsi()
1611 struct qla_hw_data *ha = vha->hw; in qla24xx_dif_start_scsi() local
1640 spin_lock_irqsave(&ha->hardware_lock, flags); in qla24xx_dif_start_scsi()
1658 nseg = dma_map_sg(&ha->pdev->dev, scsi_sglist(cmd), in qla24xx_dif_start_scsi()
1688 nseg = dma_map_sg(&ha->pdev->dev, scsi_prot_sglist(cmd), in qla24xx_dif_start_scsi()
1708 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla24xx_dif_start_scsi()
1769 RD_REG_DWORD_RELAXED(&ha->iobase->isp24.hccr); in qla24xx_dif_start_scsi()
1776 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_dif_start_scsi()
1787 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla24xx_dif_start_scsi()
1795 struct qla_hw_data *ha = sp->fcport->vha->hw; in qla25xx_set_que() local
1798 if (ha->flags.cpu_affinity_enabled && affinity >= 0 && in qla25xx_set_que()
1799 affinity < ha->max_rsp_queues - 1) in qla25xx_set_que()
1800 *rsp = ha->rsp_q_map[affinity + 1]; in qla25xx_set_que()
1802 *rsp = ha->rsp_q_map[0]; in qla25xx_set_que()
1820 struct qla_hw_data *ha = vha->hw; in qla2x00_alloc_iocbs() local
1821 struct req_que *req = ha->req_q_map[0]; in qla2x00_alloc_iocbs()
1822 device_reg_t __iomem *reg = ISP_QUE_REG(ha, req->id); in qla2x00_alloc_iocbs()
1861 if (ha->mqenable || IS_QLA83XX(ha) || IS_QLA27XX(ha)) in qla2x00_alloc_iocbs()
1863 else if (IS_P3P_TYPE(ha)) in qla2x00_alloc_iocbs()
1865 else if (IS_FWI2_CAPABLE(ha)) in qla2x00_alloc_iocbs()
1867 else if (IS_QLAFX00(ha)) in qla2x00_alloc_iocbs()
1871 ISP_REQ_Q_OUT(ha, &reg->isp)); in qla2x00_alloc_iocbs()
1886 if (IS_QLAFX00(ha)) { in qla2x00_alloc_iocbs()
1919 struct qla_hw_data *ha = sp->fcport->vha->hw; in qla2x00_login_iocb() local
1924 SET_TARGET_ID(ha, mbx->loop_id, sp->fcport->loop_id); in qla2x00_login_iocb()
1928 if (HAS_EXTENDED_IDS(ha)) { in qla2x00_login_iocb()
1959 struct qla_hw_data *ha = sp->fcport->vha->hw; in qla2x00_logout_iocb() local
1962 SET_TARGET_ID(ha, mbx->loop_id, sp->fcport->loop_id); in qla2x00_logout_iocb()
1964 mbx->mb1 = HAS_EXTENDED_IDS(ha) ? in qla2x00_logout_iocb()
1986 struct qla_hw_data *ha = sp->fcport->vha->hw; in qla2x00_adisc_iocb() local
1989 SET_TARGET_ID(ha, mbx->loop_id, sp->fcport->loop_id); in qla2x00_adisc_iocb()
1991 if (HAS_EXTENDED_IDS(ha)) { in qla2x00_adisc_iocb()
1997 mbx->mb2 = cpu_to_le16(MSW(ha->async_pd_dma)); in qla2x00_adisc_iocb()
1998 mbx->mb3 = cpu_to_le16(LSW(ha->async_pd_dma)); in qla2x00_adisc_iocb()
1999 mbx->mb6 = cpu_to_le16(MSW(MSD(ha->async_pd_dma))); in qla2x00_adisc_iocb()
2000 mbx->mb7 = cpu_to_le16(LSW(MSD(ha->async_pd_dma))); in qla2x00_adisc_iocb()
2011 struct qla_hw_data *ha = vha->hw; in qla24xx_tm_iocb() local
2022 tsk->timeout = cpu_to_le16(ha->r_a_tov / 10 * 2); in qla24xx_tm_iocb()
2091 struct qla_hw_data *ha = vha->hw; in qla2x00_ct_iocb() local
2101 SET_TARGET_ID(ha, ct_iocb->loop_id, sp->fcport->loop_id); in qla2x00_ct_iocb()
2170 struct qla_hw_data *ha = vha->hw; in qla24xx_ct_iocb() local
2217 ha->req_q_map[0]); in qla24xx_ct_iocb()
2258 struct qla_hw_data *ha = vha->hw; in qla82xx_start_scsi() local
2264 reg = &ha->iobase->isp82; in qla82xx_start_scsi()
2267 rsp = ha->rsp_q_map[0]; in qla82xx_start_scsi()
2272 dbval = 0x04 | (ha->portnum << 5); in qla82xx_start_scsi()
2286 spin_lock_irqsave(&ha->hardware_lock, flags); in qla82xx_start_scsi()
2302 nseg = dma_map_sg(&ha->pdev->dev, scsi_sglist(cmd), in qla82xx_start_scsi()
2318 if ((more_dsd_lists + ha->gbl_dsd_inuse) >= NUM_DSD_CHAIN) { in qla82xx_start_scsi()
2321 more_dsd_lists + ha->gbl_dsd_inuse, NUM_DSD_CHAIN, in qla82xx_start_scsi()
2326 if (more_dsd_lists <= ha->gbl_dsd_avail) in qla82xx_start_scsi()
2329 more_dsd_lists -= ha->gbl_dsd_avail; in qla82xx_start_scsi()
2340 dsd_ptr->dsd_addr = dma_pool_alloc(ha->dl_dma_pool, in qla82xx_start_scsi()
2349 list_add_tail(&dsd_ptr->list, &ha->gbl_dsd_list); in qla82xx_start_scsi()
2350 ha->gbl_dsd_avail++; in qla82xx_start_scsi()
2369 mempool_alloc(ha->ctx_mempool, GFP_ATOMIC); in qla82xx_start_scsi()
2377 ctx->fcp_cmnd = dma_pool_alloc(ha->fcp_cmnd_dma_pool, in qla82xx_start_scsi()
2440 if (ha->flags.fcp_prio_enabled) in qla82xx_start_scsi()
2500 if (ha->flags.fcp_prio_enabled) in qla82xx_start_scsi()
2542 qla82xx_wr_32(ha, ha->nxdb_wr_ptr, dbval); in qla82xx_start_scsi()
2545 (unsigned long __iomem *)ha->nxdb_wr_ptr, in qla82xx_start_scsi()
2548 while (RD_REG_DWORD((void __iomem *)ha->nxdb_rd_ptr) != dbval) { in qla82xx_start_scsi()
2550 (unsigned long __iomem *)ha->nxdb_wr_ptr, in qla82xx_start_scsi()
2561 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla82xx_start_scsi()
2565 dma_pool_free(ha->fcp_cmnd_dma_pool, ctx->fcp_cmnd, ctx->fcp_cmnd_dma); in qla82xx_start_scsi()
2571 mempool_free(sp->u.scmd.ctx, ha->ctx_mempool); in qla82xx_start_scsi()
2574 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla82xx_start_scsi()
2606 struct qla_hw_data *ha = sp->fcport->vha->hw; in qla2x00_start_sp() local
2611 spin_lock_irqsave(&ha->hardware_lock, flags); in qla2x00_start_sp()
2622 IS_FWI2_CAPABLE(ha) ? in qla2x00_start_sp()
2627 IS_FWI2_CAPABLE(ha) ? in qla2x00_start_sp()
2636 IS_FWI2_CAPABLE(ha) ? in qla2x00_start_sp()
2641 IS_FWI2_CAPABLE(ha) ? in qla2x00_start_sp()
2646 IS_QLAFX00(ha) ? in qla2x00_start_sp()
2655 IS_QLAFX00(ha) ? in qla2x00_start_sp()
2664 qla2x00_start_iocbs(sp->fcport->vha, ha->req_q_map[0]); in qla2x00_start_sp()
2666 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla2x00_start_sp()
2771 struct qla_hw_data *ha = vha->hw; in qla2x00_start_bidir() local
2785 rsp = ha->rsp_q_map[0]; in qla2x00_start_bidir()
2797 spin_lock_irqsave(&ha->hardware_lock, flags); in qla2x00_start_bidir()
2819 cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : in qla2x00_start_bidir()
2858 spin_unlock_irqrestore(&ha->hardware_lock, flags); in qla2x00_start_bidir()