/linux/include/linux/qed/ |
H A 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/drivers/infiniband/sw/siw/ |
H A D | siw_mem.c | 112 siw_dbg_mem(mem, "free mem, pbl: %s\n", mem->is_pbl ? "y" : "n"); in siw_free_mem() 118 kfree(mem->pbl); in siw_free_mem() 288 * Gets physical address backed by PBL element. Address is referenced 291 * current PBL index for later resume at same element. 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(struct_size(pbl, pbe, num_buf), GFP_KERNEL); in siw_pbl_alloc() 325 if (!pbl) in siw_pbl_alloc() [all …]
|
H A D | siw.h | 26 #define SIW_MAX_SGE_PBL 256 /* max num sge's for PBL */ 130 unsigned long pbl_off; /* Total offset from start of PBL */ 150 u8 is_pbl; /* PBL or user space mem */ 155 struct siw_pbl *pbl; member 327 unsigned int pbl_idx; /* Index into current PBL */ 411 int pbl_idx; /* Index into current PBL */
|
/linux/drivers/infiniband/hw/cxgb4/ |
H A 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/drivers/scsi/bnx2fc/ |
H A 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 …]
|
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 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/drivers/scsi/qedi/ |
H A D | qedi_main.c | 1541 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 …]
|
H A D | qedi.h | 150 u64 hw_p_cq; /* Completion queue PBL */ 151 u64 hw_p_rq; /* Request queue PBL */ 152 u64 hw_p_cmdq; /* Command queue PBL */
|
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() 379 "pbl [0x%p] pbl->address hi [0x%llx] lo [0x%llx] idx [%d]\n", 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() [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() 300 /* Fill the PBL table with the physical address of the page */ in qed_chain_alloc_pbl()
|
H A 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/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 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/drivers/infiniband/hw/qedr/ |
H A 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
|
H A 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/Documentation/devicetree/bindings/net/ |
H A D | stm32-dwmac.yaml | 184 snps,pbl = <2>; 201 snps,pbl = <8>; 217 snps,pbl = <8>;
|
H A D | samsung-sxgbe.txt | 15 - samsung,pbl: Integer, Programmable Burst Length. 47 samsung,pbl = <0x08>
|
/linux/drivers/net/ethernet/stmicro/stmmac/ |
H A 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/kernel/irq/ |
H A D | debugfs.c | 30 seq_printf(m, "affinity: %*pbl\n", cpumask_pr_args(msk)); in irq_debug_show_masks() 33 seq_printf(m, "effectiv: %*pbl\n", cpumask_pr_args(msk)); in irq_debug_show_masks() 37 seq_printf(m, "pending: %*pbl\n", cpumask_pr_args(msk)); in irq_debug_show_masks()
|
/linux/fs/btrfs/ |
H A D | subpage.c | 693 "dumping bitmap start=%llu len=%u folio=%llu " #name "_bitmap=%*pbl", \ 816 …lu len=%u page=%llu, bitmaps uptodate=%*pbl dirty=%*pbl locked=%*pbl writeback=%*pbl ordered=%*pbl… in btrfs_subpage_dump_bitmap()
|
/linux/drivers/net/ethernet/chelsio/cxgb3/ |
H A D | cxgb3_ctl_defs.h | 135 unsigned int pbl_base; /* PBL base address */ 136 unsigned int pbl_top; /* PBL last entry address */
|
/linux/include/rv/ |
H A D | ltl_monitor.h | 130 snprintf(states, sizeof(states), "%*pbl", RV_MAX_BA_STATES, mon->states); in ltl_trace_event() 131 snprintf(next, sizeof(next), "%*pbl", RV_MAX_BA_STATES, next_state); in ltl_trace_event()
|
/linux/drivers/net/ethernet/tehuti/ |
H A D | tehuti.c | 1461 * It makes dma mappings for skb's data blocks and writes them to PBL of 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() [all …]
|
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() 567 * PBL of a new tx descriptor. It also stores them in the tx db, so they could 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() [all …]
|
H A D | tehuti.h | 313 /* PBL describes each virtual buffer to be */ 315 struct pbl { struct 333 struct pbl pbl[]; /* Fragments */ argument
|
/linux/arch/mips/boot/dts/loongson/ |
H A D | loongson1b.dtsi | 105 snps,pbl = <1>; 118 snps,pbl = <1>;
|