Home
last modified time | relevance | path

Searched full:pbl (Results 1 – 25 of 346) sorted by relevance

12345678910>>...14

/kernel/linux/linux-5.10/drivers/infiniband/hw/bnxt_re/
Dqplib_res.c62 /* 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 …]
Dqplib_res.h151 struct bnxt_qplib_pbl pbl[PBL_LVL_MAX + 1]; member
153 /* ptr for easy access to the PBL entries */
295 struct bnxt_qplib_pbl *pbl; in bnxt_qplib_base_pg_size() local
297 pbl = &hwq->pbl[PBL_LVL_0]; in bnxt_qplib_base_pg_size()
298 switch (pbl->pg_size) { in bnxt_qplib_base_pg_size()
/kernel/linux/linux-6.6/drivers/infiniband/hw/bnxt_re/
Dqplib_res.c62 /* 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 …]
/kernel/linux/linux-5.10/drivers/infiniband/hw/efa/
Defa_verbs.c1189 static int pbl_chunk_list_create(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_create() argument
1191 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_create()
1192 int page_cnt = pbl->phys.indirect.pbl_buf_size_in_pages; in pbl_chunk_list_create()
1193 struct scatterlist *pages_sgl = pbl->phys.indirect.sgl; in pbl_chunk_list_create()
1195 int sg_dma_cnt = pbl->phys.indirect.sg_dma_cnt; in pbl_chunk_list_create()
1289 static void pbl_chunk_list_destroy(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_destroy() argument
1291 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_destroy()
1303 /* initialize pbl continuous mode: map pbl buffer to a dma address. */
1305 struct pbl_context *pbl) in pbl_continuous_initialize() argument
1309 dma_addr = dma_map_single(&dev->pdev->dev, pbl->pbl_buf, in pbl_continuous_initialize()
[all …]
Defa_com_cmd.c239 memcpy(mr_cmd.pbl.inline_pbl_array, in efa_com_register_mr()
240 params->pbl.inline_pbl_array, in efa_com_register_mr()
241 sizeof(mr_cmd.pbl.inline_pbl_array)); in efa_com_register_mr()
243 mr_cmd.pbl.pbl.length = params->pbl.pbl.length; in efa_com_register_mr()
244 mr_cmd.pbl.pbl.address.mem_addr_low = in efa_com_register_mr()
245 params->pbl.pbl.address.mem_addr_low; in efa_com_register_mr()
246 mr_cmd.pbl.pbl.address.mem_addr_high = in efa_com_register_mr()
247 params->pbl.pbl.address.mem_addr_high; in efa_com_register_mr()
/kernel/linux/linux-6.6/drivers/infiniband/hw/efa/
Defa_verbs.c1268 static int pbl_chunk_list_create(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_create() argument
1270 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_create()
1271 int page_cnt = pbl->phys.indirect.pbl_buf_size_in_pages; in pbl_chunk_list_create()
1272 struct scatterlist *pages_sgl = pbl->phys.indirect.sgl; in pbl_chunk_list_create()
1274 int sg_dma_cnt = pbl->phys.indirect.sg_dma_cnt; in pbl_chunk_list_create()
1368 static void pbl_chunk_list_destroy(struct efa_dev *dev, struct pbl_context *pbl) in pbl_chunk_list_destroy() argument
1370 struct pbl_chunk_list *chunk_list = &pbl->phys.indirect.chunk_list; in pbl_chunk_list_destroy()
1382 /* initialize pbl continuous mode: map pbl buffer to a dma address. */
1384 struct pbl_context *pbl) in pbl_continuous_initialize() argument
1388 dma_addr = dma_map_single(&dev->pdev->dev, pbl->pbl_buf, in pbl_continuous_initialize()
[all …]
Defa_com_cmd.c244 memcpy(mr_cmd.pbl.inline_pbl_array, in efa_com_register_mr()
245 params->pbl.inline_pbl_array, in efa_com_register_mr()
246 sizeof(mr_cmd.pbl.inline_pbl_array)); in efa_com_register_mr()
248 mr_cmd.pbl.pbl.length = params->pbl.pbl.length; in efa_com_register_mr()
249 mr_cmd.pbl.pbl.address.mem_addr_low = in efa_com_register_mr()
250 params->pbl.pbl.address.mem_addr_low; in efa_com_register_mr()
251 mr_cmd.pbl.pbl.address.mem_addr_high = in efa_com_register_mr()
252 params->pbl.pbl.address.mem_addr_high; in efa_com_register_mr()
/kernel/linux/linux-6.6/drivers/media/platform/amphion/
Dvpu_helpers.c152 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 …]
/kernel/linux/linux-5.10/include/linux/qed/
Dqed_chain.h84 /* 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 */
310 *p_next_elem = p_chain->pbl.pp_addr_tbl[page_index].virt_addr; in qed_chain_advance_page()
374 p_prod_page_idx = &p_chain->pbl.c.u16.prod_page_idx; in qed_chain_produce()
383 p_prod_page_idx = &p_chain->pbl.c.u32.prod_page_idx; in qed_chain_produce()
447 p_cons_page_idx = &p_chain->pbl.c.u16.cons_page_idx; in qed_chain_consume()
456 p_cons_page_idx = &p_chain->pbl.c.u32.cons_page_idx; in qed_chain_consume()
498 p_chain->pbl.c.u16.prod_page_idx = (u16)reset_val; in qed_chain_reset()
[all …]
/kernel/linux/linux-6.6/include/linux/qed/
Dqed_chain.h84 /* 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 …]
/kernel/linux/linux-6.6/drivers/infiniband/sw/siw/
Dsiw_mem.c144 siw_dbg_mem(mem, "free mem, pbl: %s\n", mem->is_pbl ? "y" : "n"); in siw_free_mem()
150 kfree(mem->pbl); in siw_free_mem()
320 * Gets physical address backed by PBL element. Address is referenced
323 * current PBL index for later resume at same element.
325 dma_addr_t siw_pbl_get_buffer(struct siw_pbl *pbl, u64 off, int *len, int *idx) in siw_pbl_get_buffer() argument
329 while (i < pbl->num_buf) { in siw_pbl_get_buffer()
330 struct siw_pble *pble = &pbl->pbe[i]; in siw_pbl_get_buffer()
351 struct siw_pbl *pbl; in siw_pbl_alloc() local
356 pbl = kzalloc(struct_size(pbl, pbe, num_buf), GFP_KERNEL); in siw_pbl_alloc()
357 if (!pbl) in siw_pbl_alloc()
[all …]
/kernel/linux/linux-5.10/drivers/infiniband/sw/siw/
Dsiw_mem.c144 siw_dbg_mem(mem, "free mem, pbl: %s\n", mem->is_pbl ? "y" : "n"); in siw_free_mem()
150 kfree(mem->pbl); in siw_free_mem()
320 * Gets physical address backed by PBL element. Address is referenced
323 * current PBL index for later resume at same element.
325 dma_addr_t siw_pbl_get_buffer(struct siw_pbl *pbl, u64 off, int *len, int *idx) in siw_pbl_get_buffer() argument
329 while (i < pbl->num_buf) { in siw_pbl_get_buffer()
330 struct siw_pble *pble = &pbl->pbe[i]; in siw_pbl_get_buffer()
351 struct siw_pbl *pbl; in siw_pbl_alloc() local
356 pbl = kzalloc(struct_size(pbl, pbe, num_buf), GFP_KERNEL); in siw_pbl_alloc()
357 if (!pbl) in siw_pbl_alloc()
[all …]
/kernel/linux/linux-6.6/drivers/infiniband/hw/cxgb4/
Dresource.c260 * 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 …]
/kernel/linux/linux-5.10/drivers/infiniband/hw/cxgb4/
Dresource.c260 * 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 …]
/kernel/linux/linux-5.10/drivers/infiniband/hw/qedr/
Dverbs.c505 struct qedr_pbl_info *pbl_info, struct qedr_pbl *pbl) in qedr_free_pbl() argument
511 if (!pbl[i].va) in qedr_free_pbl()
514 pbl[i].va, pbl[i].pa); in qedr_free_pbl()
517 kfree(pbl); in qedr_free_pbl()
552 /* Two-Layer PBLs, if we have more than one pbl we need to initialize in qedr_alloc_pbl_tbl()
581 DP_ERR(dev, "prepare pbl table: too many pages %d\n", in qedr_prepare_pbl_tbl()
586 /* calculate required pbl page size */ in qedr_prepare_pbl_tbl()
601 /* One layered PBL */ in qedr_prepare_pbl_tbl()
613 "prepare pbl table: num_pbes=%d, num_pbls=%d, pbl_size=%d\n", in qedr_prepare_pbl_tbl()
620 struct qedr_pbl *pbl, in qedr_populate_pbls() argument
[all …]
/kernel/linux/linux-6.6/drivers/infiniband/hw/qedr/
Dverbs.c507 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 …]
/kernel/linux/linux-6.6/drivers/scsi/bnx2fc/
Dbnx2fc_tgt.c667 u32 *pbl; in bnx2fc_alloc_session_resc() local
695 /* Allocate and map RQ and RQ PBL */ in bnx2fc_alloc_session_resc()
715 printk(KERN_ERR PFX "unable to allocate RQ PBL %d\n", in bnx2fc_alloc_session_resc()
722 pbl = (u32 *)tgt->rq_pbl; in bnx2fc_alloc_session_resc()
725 *pbl = (u32)page; in bnx2fc_alloc_session_resc()
726 pbl++; in bnx2fc_alloc_session_resc()
727 *pbl = (u32)((u64)page >> 32); in bnx2fc_alloc_session_resc()
728 pbl++; in bnx2fc_alloc_session_resc()
746 /* Allocate and map CONFQ & CONFQ PBL */ in bnx2fc_alloc_session_resc()
769 printk(KERN_ERR PFX "unable to allocate CONFQ PBL %d\n", in bnx2fc_alloc_session_resc()
[all …]
/kernel/linux/linux-5.10/drivers/scsi/bnx2fc/
Dbnx2fc_tgt.c667 u32 *pbl; in bnx2fc_alloc_session_resc() local
695 /* Allocate and map RQ and RQ PBL */ in bnx2fc_alloc_session_resc()
715 printk(KERN_ERR PFX "unable to allocate RQ PBL %d\n", in bnx2fc_alloc_session_resc()
722 pbl = (u32 *)tgt->rq_pbl; in bnx2fc_alloc_session_resc()
725 *pbl = (u32)page; in bnx2fc_alloc_session_resc()
726 pbl++; in bnx2fc_alloc_session_resc()
727 *pbl = (u32)((u64)page >> 32); in bnx2fc_alloc_session_resc()
728 pbl++; in bnx2fc_alloc_session_resc()
746 /* Allocate and map CONFQ & CONFQ PBL */ in bnx2fc_alloc_session_resc()
769 printk(KERN_ERR PFX "unable to allocate CONFQ PBL %d\n", in bnx2fc_alloc_session_resc()
[all …]
/kernel/linux/linux-6.6/drivers/scsi/qedi/
Dqedi_main.c1541 struct scsi_bd *pbl; in qedi_alloc_bdq() local
1570 QEDI_ERR(&qedi->dbg_ctx, "Could not allocate BDQ PBL.\n"); in qedi_alloc_bdq()
1575 * Populate BDQ PBL with physical and virtual address of individual in qedi_alloc_bdq()
1578 pbl = (struct scsi_bd *)qedi->bdq_pbl; in qedi_alloc_bdq()
1580 pbl->address.hi = in qedi_alloc_bdq()
1582 pbl->address.lo = in qedi_alloc_bdq()
1585 "pbl [0x%p] pbl->address hi [0x%llx] lo [0x%llx], idx [%d]\n", in qedi_alloc_bdq()
1586 pbl, pbl->address.hi, pbl->address.lo, i); in qedi_alloc_bdq()
1587 pbl->opaque.iscsi_opaque.reserved_zero[0] = 0; in qedi_alloc_bdq()
1588 pbl->opaque.iscsi_opaque.reserved_zero[1] = 0; in qedi_alloc_bdq()
[all …]
/kernel/linux/linux-5.10/drivers/scsi/qedi/
Dqedi_main.c1541 struct scsi_bd *pbl; in qedi_alloc_bdq() local
1571 QEDI_ERR(&qedi->dbg_ctx, "Could not allocate BDQ PBL.\n"); in qedi_alloc_bdq()
1576 * Populate BDQ PBL with physical and virtual address of individual in qedi_alloc_bdq()
1579 pbl = (struct scsi_bd *)qedi->bdq_pbl; in qedi_alloc_bdq()
1581 pbl->address.hi = in qedi_alloc_bdq()
1583 pbl->address.lo = in qedi_alloc_bdq()
1586 "pbl [0x%p] pbl->address hi [0x%llx] lo [0x%llx], idx [%d]\n", in qedi_alloc_bdq()
1587 pbl, pbl->address.hi, pbl->address.lo, i); in qedi_alloc_bdq()
1588 pbl->opaque.iscsi_opaque.reserved_zero[0] = 0; in qedi_alloc_bdq()
1589 pbl->opaque.iscsi_opaque.reserved_zero[1] = 0; in qedi_alloc_bdq()
[all …]
/kernel/linux/linux-6.6/drivers/net/ethernet/qlogic/qed/
Dqed_chain.c111 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()
/kernel/linux/linux-5.10/drivers/net/ethernet/qlogic/qed/
Dqed_chain.c111 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()
/kernel/linux/linux-5.10/drivers/net/ethernet/samsung/sxgbe/
Dsxgbe_dma.c44 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()
/kernel/linux/linux-6.6/drivers/net/ethernet/samsung/sxgbe/
Dsxgbe_dma.c44 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()
/kernel/linux/linux-6.6/drivers/platform/x86/intel/ifs/
Druntest.c63 dev_info(dev, "CPU(s) %*pbl: SCAN operation did not start. %s\n", in message_not_tested()
67 dev_info(dev, "CPU(s) %*pbl: software timeout during scan\n", in message_not_tested()
70 dev_info(dev, "CPU(s) %*pbl: %s\n", in message_not_tested()
74 dev_info(dev, "CPU(s) %*pbl: SCAN unknown status %llx\n", in message_not_tested()
89 …dev_err(dev, "CPU(s) %*pbl: could not execute from loaded scan image. Batch: %02x version: 0x%x\n", in message_fail()
101 dev_err(dev, "CPU(s) %*pbl: test signature incorrect. Batch: %02x version: 0x%x\n", in message_fail()

12345678910>>...14