| /linux/drivers/infiniband/hw/bnxt_re/ |
| H A D | qplib_res.c | 57 static void __free_pbl(struct bnxt_qplib_res *res, struct bnxt_qplib_pbl *pbl, in __free_pbl() argument 64 for (i = 0; i < pbl->pg_count; i++) { in __free_pbl() 65 if (pbl->pg_arr[i]) in __free_pbl() 66 dma_free_coherent(&pdev->dev, pbl->pg_size, in __free_pbl() 67 pbl->pg_arr[i], in __free_pbl() 68 pbl->pg_map_arr[i]); in __free_pbl() 72 pbl->pg_arr[i] = NULL; in __free_pbl() 75 vfree(pbl->pg_arr); in __free_pbl() 76 pbl->pg_arr = NULL; in __free_pbl() 77 vfree(pbl->pg_map_arr); in __free_pbl() [all …]
|
| H A D | qplib_fp.c | 650 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_create_srq() local 672 pbl = &srq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_srq() 678 req.pbl = cpu_to_le64(pbl->pg_map_arr[0]); in bnxt_qplib_create_srq() 824 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_create_qp1() local 854 pbl = &sq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_qp1() 855 req.sq_pbl = cpu_to_le64(pbl->pg_map_arr[0]); in bnxt_qplib_create_qp1() 880 pbl = &rq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_qp1() 881 req.rq_pbl = cpu_to_le64(pbl->pg_map_arr[0]); in bnxt_qplib_create_qp1() 969 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_create_qp() local 1031 pbl = &sq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_qp() [all …]
|
| H A D | qplib_rcfw.c | 884 cpu_to_le64(ctx->qpc_tbl.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_init_rcfw() 886 cpu_to_le64(ctx->mrw_tbl.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_init_rcfw() 888 cpu_to_le64(ctx->srqc_tbl.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_init_rcfw() 890 cpu_to_le64(ctx->cq_tbl.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_init_rcfw() 892 cpu_to_le64(ctx->tim_tbl.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_init_rcfw() 894 cpu_to_le64(ctx->tqm_ctx.pde.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_init_rcfw() 1146 init.cmdq_pbl = cpu_to_le64(cmdq->hwq.pbl[PBL_LVL_0].pg_map_arr[0]); in bnxt_qplib_start_rcfw()
|
| /linux/drivers/infiniband/hw/efa/ |
| H A D | efa_verbs.c | 1360 static int pbl_chunk_list_create(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_create() argument 1362 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_create() 1363 int page_cnt = pbl->phys.indirect.pbl_buf_size_in_pages; in pbl_chunk_list_create() 1364 struct scatterlist *pages_sgl = pbl->phys.indirect.sgl; in pbl_chunk_list_create() 1366 int sg_dma_cnt = pbl->phys.indirect.sg_dma_cnt; in pbl_chunk_list_create() 1458 static void pbl_chunk_list_destroy(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_destroy() argument 1460 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_destroy() 1474 struct pbl_context *pbl) in pbl_continuous_initialize() argument 1478 dma_addr = dma_map_single(&dev->pdev->dev, pbl->pbl_buf, in pbl_continuous_initialize() 1479 pbl->pbl_buf_size_in_bytes, DMA_TO_DEVICE); in pbl_continuous_initialize() [all …]
|
| /linux/include/linux/qed/ |
| H A D | qed_chain.h | 97 } pbl; member 311 *p_next_elem = p_chain->pbl.pp_addr_tbl[page_index].virt_addr; in qed_chain_advance_page() 377 p_prod_page_idx = &p_chain->pbl.c.u16.prod_page_idx; in qed_chain_produce() 386 p_prod_page_idx = &p_chain->pbl.c.u32.prod_page_idx; in qed_chain_produce() 448 p_cons_page_idx = &p_chain->pbl.c.u16.cons_page_idx; in qed_chain_consume() 457 p_cons_page_idx = &p_chain->pbl.c.u32.cons_page_idx; in qed_chain_consume() 501 p_chain->pbl.c.u16.prod_page_idx = (u16)reset_val; in qed_chain_reset() 502 p_chain->pbl.c.u16.cons_page_idx = (u16)reset_val; in qed_chain_reset() 504 p_chain->pbl.c.u32.prod_page_idx = reset_val; in qed_chain_reset() 505 p_chain->pbl.c.u32.cons_page_idx = reset_val; in qed_chain_reset() [all …]
|
| /linux/drivers/infiniband/sw/siw/ |
| H A D | siw_mem.c | 118 kfree(mem->pbl); in siw_free_mem() 293 dma_addr_t siw_pbl_get_buffer(struct siw_pbl *pbl, u64 off, int *len, int *idx) in siw_pbl_get_buffer() argument 297 while (i < pbl->num_buf) { in siw_pbl_get_buffer() 298 struct siw_pble *pble = &pbl->pbe[i]; in siw_pbl_get_buffer() 319 struct siw_pbl *pbl; in siw_pbl_alloc() local 324 pbl = kzalloc_flex(*pbl, pbe, num_buf); in siw_pbl_alloc() 325 if (!pbl) in siw_pbl_alloc() 328 pbl->max_buf = num_buf; in siw_pbl_alloc() 330 return pbl; in siw_pbl_alloc()
|
| H A D | siw_verbs.c | 1419 struct siw_pbl *pbl = NULL; in siw_alloc_mr() local 1437 pbl = siw_pbl_alloc(max_sge); in siw_alloc_mr() 1438 if (IS_ERR(pbl)) { in siw_alloc_mr() 1439 rv = PTR_ERR(pbl); in siw_alloc_mr() 1441 pbl = NULL; in siw_alloc_mr() 1449 rv = siw_mr_add_mem(mr, pd, pbl, 0, max_sge * PAGE_SIZE, 0); in siw_alloc_mr() 1463 kfree(pbl); in siw_alloc_mr() 1486 struct siw_pbl *pbl = mem->pbl; in siw_map_mr_sg() local 1491 if (!pbl) { in siw_map_mr_sg() 1495 pble = pbl->pbe; in siw_map_mr_sg() [all …]
|
| /linux/drivers/infiniband/hw/qedr/ |
| H A D | verbs.c | 507 struct qedr_pbl_info *pbl_info, struct qedr_pbl *pbl) in qedr_free_pbl() argument 513 if (!pbl[i].va) in qedr_free_pbl() 516 pbl[i].va, pbl[i].pa); in qedr_free_pbl() 519 kfree(pbl); in qedr_free_pbl() 622 struct qedr_pbl *pbl, in qedr_populate_pbls() argument 637 pbl_tbl = &pbl[1]; in qedr_populate_pbls() 639 pbl_tbl = pbl; in qedr_populate_pbls() 729 cq->latest_cqe = qed_chain_consume(&cq->pbl); in consume_cqe() 981 rc = dev->ops->common->chain_alloc(dev->cdev, &cq->pbl, in qedr_create_cq() 986 page_cnt = qed_chain_get_page_cnt(&cq->pbl); in qedr_create_cq() [all …]
|
| H A D | main.c | 316 dev->ops->common->chain_free(dev->cdev, &dev->cnq_array[i].pbl); in qedr_free_resources() 379 rc = dev->ops->common->chain_alloc(dev->cdev, &cnq->pbl, in qedr_alloc_resources() 392 i, qed_chain_get_cons_idx(&cnq->pbl)); in qedr_alloc_resources() 400 dev->ops->common->chain_free(dev->cdev, &dev->cnq_array[i].pbl); in qedr_alloc_resources() 444 sw_comp_cons = qed_chain_get_cons_idx(&cnq->pbl); in qedr_irq_handler() 450 cq_handle = (struct regpair *)qed_chain_consume(&cnq->pbl); in qedr_irq_handler() 484 sw_comp_cons = qed_chain_get_cons_idx(&cnq->pbl); in qedr_irq_handler() 799 page_cnt = qed_chain_get_page_cnt(&dev->cnq_array[i].pbl); in qedr_init_hw() 802 p_phys_table = qed_chain_get_pbl_phys(&dev->cnq_array[i].pbl); in qedr_init_hw()
|
| /linux/drivers/infiniband/hw/cxgb4/ |
| H A D | resource.c | 271 rdev->stats.pbl.cur += roundup(size, 1 << MIN_PBL_SHIFT); in c4iw_pblpool_alloc() 272 if (rdev->stats.pbl.cur > rdev->stats.pbl.max) in c4iw_pblpool_alloc() 273 rdev->stats.pbl.max = rdev->stats.pbl.cur; in c4iw_pblpool_alloc() 276 rdev->stats.pbl.fail++; in c4iw_pblpool_alloc() 294 rdev->stats.pbl.cur -= roundup(size, 1 << MIN_PBL_SHIFT); in c4iw_pblpool_free() 308 pbl_start = rdev->lldi.vr->pbl.start; in c4iw_pblpool_create() 309 pbl_chunk = rdev->lldi.vr->pbl.size; in c4iw_pblpool_create()
|
| H A D | device.c | 488 dev->rdev.stats.pbl.total, dev->rdev.stats.pbl.cur, in stats_show() 489 dev->rdev.stats.pbl.max, dev->rdev.stats.pbl.fail); in stats_show() 530 dev->rdev.stats.pbl.max = 0; in stats_clear() 531 dev->rdev.stats.pbl.fail = 0; in stats_clear() 826 rdev->lldi.vr->pbl.start, in c4iw_rdev_open() 827 rdev->lldi.vr->pbl.size, rdev->lldi.vr->rq.start, in c4iw_rdev_open() 844 rdev->stats.pbl.total = rdev->lldi.vr->pbl.size; in c4iw_rdev_open() 961 return infop->vr->stag.size > 0 && infop->vr->pbl.size > 0 && in rdma_supported()
|
| /linux/drivers/scsi/bnx2fc/ |
| H A D | bnx2fc_tgt.c | 665 u32 *pbl; in bnx2fc_alloc_session_resc() local 720 pbl = (u32 *)tgt->rq_pbl; in bnx2fc_alloc_session_resc() 723 *pbl = (u32)page; in bnx2fc_alloc_session_resc() 724 pbl++; in bnx2fc_alloc_session_resc() 725 *pbl = (u32)((u64)page >> 32); in bnx2fc_alloc_session_resc() 726 pbl++; in bnx2fc_alloc_session_resc() 774 pbl = (u32 *)tgt->confq_pbl; in bnx2fc_alloc_session_resc() 777 *pbl = (u32)page; in bnx2fc_alloc_session_resc() 778 pbl++; in bnx2fc_alloc_session_resc() 779 *pbl = (u32)((u64)page >> 32); in bnx2fc_alloc_session_resc() [all …]
|
| H A D | bnx2fc_hwi.c | 1991 u32 *pbl; in bnx2fc_free_hash_table() local 1995 pbl = hba->hash_tbl_pbl; in bnx2fc_free_hash_table() 1996 if (pbl) { in bnx2fc_free_hash_table() 2001 dma_address = le32_to_cpu(*pbl); in bnx2fc_free_hash_table() 2002 ++pbl; in bnx2fc_free_hash_table() 2003 dma_address += ((u64)le32_to_cpu(*pbl)) << 32; in bnx2fc_free_hash_table() 2004 ++pbl; in bnx2fc_free_hash_table() 2032 u32 *pbl; in bnx2fc_allocate_hash_table() local 2073 pbl = hba->hash_tbl_pbl; in bnx2fc_allocate_hash_table() 2076 *pbl = cpu_to_le32((u32) paddr); in bnx2fc_allocate_hash_table() [all …]
|
| /linux/drivers/net/ethernet/qlogic/qed/ |
| H A D | qed_chain.c | 111 if (!chain->pbl.pp_addr_tbl) in qed_chain_free_pbl() 115 entry = chain->pbl.pp_addr_tbl + i; in qed_chain_free_pbl() 128 vfree(chain->pbl.pp_addr_tbl); in qed_chain_free_pbl() 129 chain->pbl.pp_addr_tbl = NULL; in qed_chain_free_pbl() 269 chain->pbl.pp_addr_tbl = addr_tbl; in qed_chain_alloc_pbl()
|
| /linux/drivers/scsi/qedi/ |
| H A D | qedi_main.c | 1540 struct scsi_bd *pbl; in qedi_alloc_bdq() local 1577 pbl = (struct scsi_bd *)qedi->bdq_pbl; in qedi_alloc_bdq() 1579 pbl->address.hi = in qedi_alloc_bdq() 1581 pbl->address.lo = in qedi_alloc_bdq() 1585 pbl, pbl->address.hi, pbl->address.lo, i); in qedi_alloc_bdq() 1586 pbl->opaque.iscsi_opaque.reserved_zero[0] = 0; in qedi_alloc_bdq() 1587 pbl->opaque.iscsi_opaque.reserved_zero[1] = 0; in qedi_alloc_bdq() 1588 pbl->opaque.iscsi_opaque.reserved_zero[2] = 0; in qedi_alloc_bdq() 1589 pbl->opaque.iscsi_opaque.opaque = cpu_to_le16(i); in qedi_alloc_bdq() 1590 pbl++; in qedi_alloc_bdq() [all …]
|
| H A D | qedi_fw.c | 363 struct scsi_bd *pbl; in qedi_put_rq_bdq_buf() local 374 pbl = (struct scsi_bd *)qedi->bdq_pbl; in qedi_put_rq_bdq_buf() 375 pbl += (qedi->bdq_prod_idx % qedi->rq_num_entries); in qedi_put_rq_bdq_buf() 376 pbl->address.hi = cpu_to_le32(QEDI_U64_HI(qedi->bdq[idx].buf_dma)); in qedi_put_rq_bdq_buf() 377 pbl->address.lo = cpu_to_le32(QEDI_U64_LO(qedi->bdq[idx].buf_dma)); in qedi_put_rq_bdq_buf() 380 pbl, pbl->address.hi, pbl->address.lo, idx); in qedi_put_rq_bdq_buf() 381 pbl->opaque.iscsi_opaque.reserved_zero[0] = 0; in qedi_put_rq_bdq_buf() 382 pbl->opaque.iscsi_opaque.reserved_zero[1] = 0; in qedi_put_rq_bdq_buf() 383 pbl->opaque.iscsi_opaque.reserved_zero[2] = 0; in qedi_put_rq_bdq_buf() 384 pbl->opaque.iscsi_opaque.opaque = cpu_to_le32(idx); in qedi_put_rq_bdq_buf()
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | samsung-sxgbe.txt | 15 - samsung,pbl: Integer, Programmable Burst Length. 47 samsung,pbl = <0x08>
|
| /linux/drivers/net/ethernet/tehuti/ |
| H A D | tn40.c | 541 static void tn40_pbl_set(struct tn40_pbl *pbl, dma_addr_t dma, int len) in tn40_pbl_set() argument 543 pbl->len = cpu_to_le32(len); in tn40_pbl_set() 544 pbl->pa_lo = cpu_to_le32(lower_32_bits(dma)); in tn40_pbl_set() 545 pbl->pa_hi = cpu_to_le32(upper_32_bits(dma)); in tn40_pbl_set() 579 struct tn40_pbl *pbl = &txdd->pbl[0]; in tn40_tx_map_skb() local 602 tn40_pbl_set(pbl++, db->wptr->addr.dma, db->wptr->len); in tn40_tx_map_skb() 622 tn40_pbl_set(pbl++, db->wptr->addr.dma, db->wptr->len); in tn40_tx_map_skb() 763 struct tn40_pbl *pbl = &txdd->pbl[++nr_frags]; in tn40_start_xmit() local 771 pbl->len = cpu_to_le32(TN40_SHORT_PACKET_SIZE - pkt_len); in tn40_start_xmit() 772 pbl->pa_lo = cpu_to_le32(lower_32_bits(priv->b0_dma)); in tn40_start_xmit() [all …]
|
| H A D | tehuti.h | 315 struct pbl { struct 333 struct pbl pbl[]; /* Fragments */ member
|
| H A D | tehuti.c | 1472 struct pbl *pbl = &txdd->pbl[0]; in bdx_tx_map_skb() local 1479 pbl->len = CPU_CHIP_SWAP32(db->wptr->len); in bdx_tx_map_skb() 1480 pbl->pa_lo = CPU_CHIP_SWAP32(L32_64(db->wptr->addr.dma)); in bdx_tx_map_skb() 1481 pbl->pa_hi = CPU_CHIP_SWAP32(H32_64(db->wptr->addr.dma)); in bdx_tx_map_skb() 1482 DBG("=== pbl len: 0x%x ================\n", pbl->len); in bdx_tx_map_skb() 1483 DBG("=== pbl pa_lo: 0x%x ================\n", pbl->pa_lo); in bdx_tx_map_skb() 1484 DBG("=== pbl pa_hi: 0x%x ================\n", pbl->pa_hi); in bdx_tx_map_skb() 1496 pbl++; in bdx_tx_map_skb() 1497 pbl->len = CPU_CHIP_SWAP32(db->wptr->len); in bdx_tx_map_skb() 1498 pbl->pa_lo = CPU_CHIP_SWAP32(L32_64(db->wptr->addr.dma)); in bdx_tx_map_skb() [all …]
|
| /linux/drivers/net/ethernet/samsung/sxgbe/ |
| H A D | sxgbe_dma.c | 44 int fix_burst, int pbl, dma_addr_t dma_tx, in sxgbe_dma_channel_init() argument 57 reg_val |= (pbl << SXGBE_DMA_TXPBL_LSHIFT); in sxgbe_dma_channel_init() 61 reg_val |= (pbl << SXGBE_DMA_RXPBL_LSHIFT); in sxgbe_dma_channel_init()
|
| H A D | sxgbe_dma.h | 24 int pbl, dma_addr_t dma_tx, dma_addr_t dma_rx,
|
| /linux/arch/mips/boot/dts/loongson/ |
| H A D | loongson1b.dtsi | 105 snps,pbl = <1>; 118 snps,pbl = <1>;
|
| /linux/include/linux/ |
| H A D | sxgbe_platform.h | 33 int pbl; member
|
| /linux/drivers/scsi/qedf/ |
| H A D | qedf_main.c | 1258 u32 *pbl; in qedf_alloc_sq() local 1289 pbl = (u32 *)fcport->sq_pbl; in qedf_alloc_sq() 1292 *pbl = U64_LO(page); in qedf_alloc_sq() 1293 pbl++; in qedf_alloc_sq() 1294 *pbl = U64_HI(page); in qedf_alloc_sq() 1295 pbl++; in qedf_alloc_sq() 2968 struct scsi_bd *pbl; in qedf_alloc_bdq() local 3003 pbl = (struct scsi_bd *)qedf->bdq_pbl; in qedf_alloc_bdq() 3005 pbl->address.hi = cpu_to_le32(U64_HI(qedf->bdq[i].buf_dma)); in qedf_alloc_bdq() 3006 pbl->address.lo = cpu_to_le32(U64_LO(qedf->bdq[i].buf_dma)); in qedf_alloc_bdq() [all …]
|