/linux-6.12.1/drivers/infiniband/hw/bnxt_re/ |
D | qplib_res.c | 62 /* PBL */ 63 static void __free_pbl(struct bnxt_qplib_res *res, struct bnxt_qplib_pbl *pbl, in __free_pbl() argument 70 for (i = 0; i < pbl->pg_count; i++) { in __free_pbl() 71 if (pbl->pg_arr[i]) in __free_pbl() 72 dma_free_coherent(&pdev->dev, pbl->pg_size, in __free_pbl() 74 pbl->pg_arr[i] & in __free_pbl() 76 pbl->pg_map_arr[i]); in __free_pbl() 79 "PBL free pg_arr[%d] empty?!\n", i); in __free_pbl() 80 pbl->pg_arr[i] = NULL; in __free_pbl() 83 vfree(pbl->pg_arr); in __free_pbl() [all …]
|
D | qplib_res.h | 176 struct bnxt_qplib_pbl pbl[PBL_LVL_MAX + 1]; member 178 /* ptr for easy access to the PBL entries */ 352 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_base_pg_size() local 354 pbl = &hwq->pbl[PBL_LVL_0]; in bnxt_qplib_base_pg_size() 355 switch (pbl->pg_size) { in bnxt_qplib_base_pg_size()
|
D | qplib_fp.c | 649 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_create_srq() local 678 pbl = &srq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_srq() 684 req.pbl = cpu_to_le64(pbl->pg_map_arr[0]); in bnxt_qplib_create_srq() 851 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_create_qp1() local 881 pbl = &sq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_qp1() 882 req.sq_pbl = cpu_to_le64(pbl->pg_map_arr[0]); in bnxt_qplib_create_qp1() 907 pbl = &rq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_qp1() 908 req.rq_pbl = cpu_to_le64(pbl->pg_map_arr[0]); in bnxt_qplib_create_qp1() 996 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_create_qp() local 1054 pbl = &sq->hwq.pbl[PBL_LVL_0]; in bnxt_qplib_create_qp() [all …]
|
/linux-6.12.1/drivers/infiniband/hw/efa/ |
D | efa_verbs.c | 1285 static int pbl_chunk_list_create(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_create() argument 1287 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_create() 1288 int page_cnt = pbl->phys.indirect.pbl_buf_size_in_pages; in pbl_chunk_list_create() 1289 struct scatterlist *pages_sgl = pbl->phys.indirect.sgl; in pbl_chunk_list_create() 1291 int sg_dma_cnt = pbl->phys.indirect.sg_dma_cnt; in pbl_chunk_list_create() 1385 static void pbl_chunk_list_destroy(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_destroy() argument 1387 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_destroy() 1399 /* initialize pbl continuous mode: map pbl buffer to a dma address. */ 1401 struct pbl_context *pbl) in pbl_continuous_initialize() argument 1405 dma_addr = dma_map_single(&dev->pdev->dev, pbl->pbl_buf, in pbl_continuous_initialize() [all …]
|
D | efa_com_cmd.c | 247 memcpy(mr_cmd.pbl.inline_pbl_array, in efa_com_register_mr() 248 params->pbl.inline_pbl_array, in efa_com_register_mr() 249 sizeof(mr_cmd.pbl.inline_pbl_array)); in efa_com_register_mr() 251 mr_cmd.pbl.pbl.length = params->pbl.pbl.length; in efa_com_register_mr() 252 mr_cmd.pbl.pbl.address.mem_addr_low = in efa_com_register_mr() 253 params->pbl.pbl.address.mem_addr_low; in efa_com_register_mr() 254 mr_cmd.pbl.pbl.address.mem_addr_high = in efa_com_register_mr() 255 params->pbl.pbl.address.mem_addr_high; in efa_com_register_mr()
|
D | efa_com_cmd.h | 186 struct efa_com_ctrl_buff_info pbl; member 187 } pbl; member 188 /* number of pages in PBL (redundant, could be calculated) */
|
/linux-6.12.1/drivers/media/platform/amphion/ |
D | vpu_helpers.c | 152 u32 stride, u32 interlaced, u32 *pbl) in get_nv12_plane_size() argument 158 if (pbl) in get_nv12_plane_size() 159 bytesperline = max(bytesperline, *pbl); in get_nv12_plane_size() 166 if (pbl) in get_nv12_plane_size() 167 *pbl = bytesperline; in get_nv12_plane_size() 173 u32 stride, u32 interlaced, u32 *pbl) in get_tiled_8l128_plane_size() argument 186 if (pbl) in get_tiled_8l128_plane_size() 187 bytesperline = max(bytesperline, *pbl); in get_tiled_8l128_plane_size() 195 if (pbl) in get_tiled_8l128_plane_size() 196 *pbl = bytesperline; in get_tiled_8l128_plane_size() [all …]
|
/linux-6.12.1/include/linux/qed/ |
D | qed_chain.h | 84 /* Fastpath portions of the PBL [if exists] */ 89 * in the pbl table. 97 } pbl; member 126 /* Base address of a pre-allocated buffer for pbl */ 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() [all …]
|
/linux-6.12.1/drivers/infiniband/sw/siw/ |
D | siw_mem.c | 136 siw_dbg_mem(mem, "free mem, pbl: %s\n", mem->is_pbl ? "y" : "n"); in siw_free_mem() 142 kfree(mem->pbl); in siw_free_mem() 312 * Gets physical address backed by PBL element. Address is referenced 315 * current PBL index for later resume at same element. 317 dma_addr_t siw_pbl_get_buffer(struct siw_pbl *pbl, u64 off, int *len, int *idx) in siw_pbl_get_buffer() argument 321 while (i < pbl->num_buf) { in siw_pbl_get_buffer() 322 struct siw_pble *pble = &pbl->pbe[i]; in siw_pbl_get_buffer() 343 struct siw_pbl *pbl; in siw_pbl_alloc() local 348 pbl = kzalloc(struct_size(pbl, pbe, num_buf), GFP_KERNEL); in siw_pbl_alloc() 349 if (!pbl) in siw_pbl_alloc() [all …]
|
D | siw_verbs.c | 1402 struct siw_pbl *pbl = NULL; in siw_alloc_mr() local 1420 pbl = siw_pbl_alloc(max_sge); in siw_alloc_mr() 1421 if (IS_ERR(pbl)) { in siw_alloc_mr() 1422 rv = PTR_ERR(pbl); in siw_alloc_mr() 1423 siw_dbg_pd(pd, "pbl allocation failed: %d\n", rv); in siw_alloc_mr() 1424 pbl = NULL; in siw_alloc_mr() 1432 rv = siw_mr_add_mem(mr, pd, pbl, 0, max_sge * PAGE_SIZE, 0); in siw_alloc_mr() 1446 kfree(pbl); in siw_alloc_mr() 1469 struct siw_pbl *pbl = mem->pbl; in siw_map_mr_sg() local 1474 if (!pbl) { in siw_map_mr_sg() [all …]
|
/linux-6.12.1/drivers/infiniband/hw/cxgb4/ |
D | resource.c | 260 * PBL Memory Manager. Uses Linux generic allocator. 263 #define MIN_PBL_SHIFT 8 /* 256B == min PBL size (32 entries) */ 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() 315 pr_debug("failed to add PBL chunk (%x/%x)\n", in c4iw_pblpool_create() [all …]
|
/linux-6.12.1/drivers/infiniband/hw/qedr/ |
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() 554 /* Two-Layer PBLs, if we have more than one pbl we need to initialize in qedr_alloc_pbl_tbl() 583 DP_ERR(dev, "prepare pbl table: too many pages %d\n", in qedr_prepare_pbl_tbl() 588 /* calculate required pbl page size */ in qedr_prepare_pbl_tbl() 603 /* One layered PBL */ in qedr_prepare_pbl_tbl() 615 "prepare pbl table: num_pbes=%d, num_pbls=%d, pbl_size=%d\n", in qedr_prepare_pbl_tbl() 622 struct qedr_pbl *pbl, in qedr_populate_pbls() argument [all …]
|
D | qedr.h | 75 struct qed_chain pbl; member 291 struct qed_chain pbl; member 320 struct qed_chain pbl; member 342 qed_chain_get_capacity(p_info->pbl) \ 348 struct qed_chain pbl; member
|
D | main.c | 316 dev->ops->common->chain_free(dev->cdev, &dev->cnq_array[i].pbl); in qedr_free_resources() 382 rc = dev->ops->common->chain_alloc(dev->cdev, &cnq->pbl, in qedr_alloc_resources() 395 i, qed_chain_get_cons_idx(&cnq->pbl)); in qedr_alloc_resources() 403 dev->ops->common->chain_free(dev->cdev, &dev->cnq_array[i].pbl); in qedr_alloc_resources() 447 sw_comp_cons = qed_chain_get_cons_idx(&cnq->pbl); in qedr_irq_handler() 453 cq_handle = (struct regpair *)qed_chain_consume(&cnq->pbl); in qedr_irq_handler() 487 sw_comp_cons = qed_chain_get_cons_idx(&cnq->pbl); in qedr_irq_handler() 802 page_cnt = qed_chain_get_page_cnt(&dev->cnq_array[i].pbl); in qedr_init_hw() 805 p_phys_table = qed_chain_get_pbl_phys(&dev->cnq_array[i].pbl); in qedr_init_hw()
|
/linux-6.12.1/drivers/scsi/bnx2fc/ |
D | bnx2fc_tgt.c | 665 u32 *pbl; in bnx2fc_alloc_session_resc() local 693 /* Allocate and map RQ and RQ PBL */ in bnx2fc_alloc_session_resc() 713 printk(KERN_ERR PFX "unable to allocate RQ PBL %d\n", in bnx2fc_alloc_session_resc() 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() 744 /* Allocate and map CONFQ & CONFQ PBL */ in bnx2fc_alloc_session_resc() 767 printk(KERN_ERR PFX "unable to allocate CONFQ PBL %d\n", in bnx2fc_alloc_session_resc() [all …]
|
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 2069 printk(KERN_ERR PFX "hash table pbl alloc failed\n"); in bnx2fc_allocate_hash_table() 2073 pbl = hba->hash_tbl_pbl; in bnx2fc_allocate_hash_table() [all …]
|
/linux-6.12.1/drivers/platform/x86/intel/ifs/ |
D | runtest.c | 87 dev_warn(dev, "CPU(s) %*pbl: Scan controller error. Batch: %02x version: 0x%x\n", in message_not_tested() 93 dev_info(dev, "CPU(s) %*pbl: SCAN operation did not start. %s\n", in message_not_tested() 97 dev_info(dev, "CPU(s) %*pbl: software timeout during scan\n", in message_not_tested() 100 dev_info(dev, "CPU(s) %*pbl: %s\n", in message_not_tested() 104 dev_info(dev, "CPU(s) %*pbl: SCAN unknown status %llx\n", in message_not_tested() 121 dev_err(dev, "CPU(s) %*pbl: test signature incorrect. Batch: %02x version: 0x%x\n", in message_fail() 440 dev_info(dev, "CPU(s) %*pbl: SBAF operation did not start. %s\n", in sbaf_message_not_tested() 444 dev_info(dev, "CPU(s) %*pbl: software timeout during scan\n", in sbaf_message_not_tested() 447 dev_info(dev, "CPU(s) %*pbl: %s\n", in sbaf_message_not_tested() 451 dev_info(dev, "CPU(s) %*pbl: SBAF unknown status %llx\n", in sbaf_message_not_tested() [all …]
|
/linux-6.12.1/drivers/scsi/qedi/ |
D | qedi_main.c | 1540 struct scsi_bd *pbl; in qedi_alloc_bdq() local 1569 QEDI_ERR(&qedi->dbg_ctx, "Could not allocate BDQ PBL.\n"); in qedi_alloc_bdq() 1574 * Populate BDQ PBL with physical and virtual address of individual in qedi_alloc_bdq() 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() 1584 "pbl [0x%p] pbl->address hi [0x%llx] lo [0x%llx], idx [%d]\n", 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() [all …]
|
/linux-6.12.1/drivers/net/ethernet/qlogic/qed/ |
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() 300 /* Fill the PBL table with the physical address of the page */ in qed_chain_alloc_pbl()
|
D | qed_l2.h | 407 * @cqe_pbl_addr: PBL address. 408 * @cqe_pbl_size: PBL size. 425 * @pbl_addr: PBL address. 426 * @pbl_size: PBL size.
|
/linux-6.12.1/drivers/net/ethernet/samsung/sxgbe/ |
D | sxgbe_dma.c | 44 int fix_burst, int pbl, dma_addr_t dma_tx, in sxgbe_dma_channel_init() argument 51 /* set the pbl */ in sxgbe_dma_channel_init() 55 /* program the TX pbl */ in sxgbe_dma_channel_init() 57 reg_val |= (pbl << SXGBE_DMA_TXPBL_LSHIFT); in sxgbe_dma_channel_init() 59 /* program the RX pbl */ in sxgbe_dma_channel_init() 61 reg_val |= (pbl << SXGBE_DMA_RXPBL_LSHIFT); in sxgbe_dma_channel_init()
|
/linux-6.12.1/Documentation/devicetree/bindings/net/ |
D | stm32-dwmac.yaml | 174 snps,pbl = <2>; 191 snps,pbl = <8>; 207 snps,pbl = <8>;
|
D | samsung-sxgbe.txt | 15 - samsung,pbl: Integer, Programmable Burst Length. 47 samsung,pbl = <0x08>
|
/linux-6.12.1/drivers/net/ethernet/stmicro/stmmac/ |
D | dwmac1000_dma.c | 77 int txpbl = dma_cfg->txpbl ?: dma_cfg->pbl; in dwmac1000_dma_init_channel() 78 int rxpbl = dma_cfg->rxpbl ?: dma_cfg->pbl; in dwmac1000_dma_init_channel() 83 /* Set the DMA PBL (Programmable Burst Length) mode. in dwmac1000_dma_init_channel() 86 * post 3.5 mode bit acts as 8*PBL. in dwmac1000_dma_init_channel()
|
/linux-6.12.1/drivers/scsi/qedf/ |
D | qedf_main.c | 1257 u32 *pbl; in qedf_alloc_sq() local 1261 /* Calculate appropriate queue and PBL sizes */ in qedf_alloc_sq() 1280 QEDF_WARN(&(qedf->dbg_ctx), "Could not allocate send queue PBL.\n"); in qedf_alloc_sq() 1285 /* Create PBL */ in qedf_alloc_sq() 1288 pbl = (u32 *)fcport->sq_pbl; in qedf_alloc_sq() 1291 *pbl = U64_LO(page); in qedf_alloc_sq() 1292 pbl++; in qedf_alloc_sq() 1293 *pbl = U64_HI(page); in qedf_alloc_sq() 1294 pbl++; in qedf_alloc_sq() 2967 struct scsi_bd *pbl; in qedf_alloc_bdq() local [all …]
|