Home
last modified time | relevance | path

Searched refs:ring (Results 1 – 25 of 718) sorted by relevance

12345678910>>...29

/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_ring.c41 * Most engines on the GPU are fed via ring buffers. Ring
47 * pointers are equal, the ring is idle. When the host
48 * writes commands to the ring buffer, it increments the
56 * @type: ring type for which to return the limit.
74 * amdgpu_ring_alloc - allocate space on the ring buffer
76 * @ring: amdgpu_ring structure holding ring information
77 * @ndw: number of dwords to allocate in the ring buffer
79 * Allocate @ndw dwords in the ring buffer. The number of dwords should be the
80 * sum of all commands written to the ring
82 amdgpu_ring_alloc(struct amdgpu_ring * ring,unsigned int ndw) amdgpu_ring_alloc() argument
113 amdgpu_ring_alloc_reemit(struct amdgpu_ring * ring,unsigned int ndw) amdgpu_ring_alloc_reemit() argument
133 amdgpu_ring_insert_nop(struct amdgpu_ring * ring,uint32_t count) amdgpu_ring_insert_nop() argument
161 amdgpu_ring_generic_pad_ib(struct amdgpu_ring * ring,struct amdgpu_ib * ib) amdgpu_ring_generic_pad_ib() argument
184 amdgpu_ring_commit(struct amdgpu_ring * ring) amdgpu_ring_commit() argument
213 amdgpu_ring_undo(struct amdgpu_ring * ring) amdgpu_ring_undo() argument
221 amdgpu_ring_get_gpu_addr(ring,offset) global() argument
224 amdgpu_ring_get_cpu_addr(ring,offset) global() argument
241 amdgpu_ring_init(struct amdgpu_device * adev,struct amdgpu_ring * ring,unsigned int max_dw,struct amdgpu_irq_src * irq_src,unsigned int irq_type,unsigned int hw_prio,atomic_t * sched_score) amdgpu_ring_init() argument
410 amdgpu_ring_fini(struct amdgpu_ring * ring) amdgpu_ring_fini() argument
448 amdgpu_ring_emit_reg_write_reg_wait_helper(struct amdgpu_ring * ring,uint32_t reg0,uint32_t reg1,uint32_t ref,uint32_t mask) amdgpu_ring_emit_reg_write_reg_wait_helper() argument
465 amdgpu_ring_soft_recovery(struct amdgpu_ring * ring,unsigned int vmid,struct dma_fence * fence) amdgpu_ring_soft_recovery() argument
503 struct amdgpu_ring *ring = file_inode(f)->i_private; amdgpu_ras_cper_debugfs_read() local
569 struct amdgpu_ring *ring = file_inode(f)->i_private; amdgpu_debugfs_ring_read() local
653 struct amdgpu_ring *ring = file_inode(f)->i_private; amdgpu_debugfs_virt_ring_read() local
679 struct amdgpu_ring *ring = file_inode(f)->i_private; amdgpu_debugfs_mqd_read() local
701 struct amdgpu_ring *ring = data; amdgpu_debugfs_ring_error() local
713 amdgpu_debugfs_ring_init(struct amdgpu_device * adev,struct amdgpu_ring * ring) amdgpu_debugfs_ring_init() argument
753 amdgpu_ring_test_helper(struct amdgpu_ring * ring) amdgpu_ring_test_helper() argument
771 amdgpu_ring_to_mqd_prop(struct amdgpu_ring * ring,struct amdgpu_mqd_prop * prop) amdgpu_ring_to_mqd_prop() argument
804 amdgpu_ring_init_mqd(struct amdgpu_ring * ring) amdgpu_ring_init_mqd() argument
822 amdgpu_ring_ib_begin(struct amdgpu_ring * ring) amdgpu_ring_ib_begin() argument
828 amdgpu_ring_ib_end(struct amdgpu_ring * ring) amdgpu_ring_ib_end() argument
834 amdgpu_ring_ib_on_emit_cntl(struct amdgpu_ring * ring) amdgpu_ring_ib_on_emit_cntl() argument
840 amdgpu_ring_ib_on_emit_ce(struct amdgpu_ring * ring) amdgpu_ring_ib_on_emit_ce() argument
846 amdgpu_ring_ib_on_emit_de(struct amdgpu_ring * ring) amdgpu_ring_ib_on_emit_de() argument
852 amdgpu_ring_sched_ready(struct amdgpu_ring * ring) amdgpu_ring_sched_ready() argument
863 amdgpu_ring_reset_helper_begin(struct amdgpu_ring * ring,struct amdgpu_fence * guilty_fence) amdgpu_ring_reset_helper_begin() argument
872 amdgpu_ring_reset_helper_end(struct amdgpu_ring * ring,struct amdgpu_fence * guilty_fence) amdgpu_ring_reset_helper_end() argument
898 amdgpu_ring_is_reset_type_supported(struct amdgpu_ring * ring,u32 reset_type) amdgpu_ring_is_reset_type_supported() argument
[all...]
H A Damdgpu_fence.c58 * @ring: ring the fence is associated with
63 static void amdgpu_fence_write(struct amdgpu_ring *ring, u32 seq) in amdgpu_fence_write() argument
65 struct amdgpu_fence_driver *drv = &ring->fence_drv; in amdgpu_fence_write()
74 * @ring: ring the fence is associated with
79 static u32 amdgpu_fence_read(struct amdgpu_ring *ring) in amdgpu_fence_read() argument
81 struct amdgpu_fence_driver *drv = &ring->fence_drv; in amdgpu_fence_read()
94 af->fence_wptr_start = af->ring->wptr; in amdgpu_fence_save_fence_wptr_start()
99 af->fence_wptr_end = af->ring in amdgpu_fence_save_fence_wptr_end()
112 amdgpu_fence_emit(struct amdgpu_ring * ring,struct amdgpu_fence * af,unsigned int flags) amdgpu_fence_emit() argument
172 amdgpu_fence_emit_polling(struct amdgpu_ring * ring,uint32_t * s,uint32_t timeout) amdgpu_fence_emit_polling() argument
203 amdgpu_fence_schedule_fallback(struct amdgpu_ring * ring) amdgpu_fence_schedule_fallback() argument
220 amdgpu_fence_process(struct amdgpu_ring * ring) amdgpu_fence_process() argument
280 struct amdgpu_ring *ring = timer_container_of(ring, t, amdgpu_fence_fallback() local
297 amdgpu_fence_wait_empty(struct amdgpu_ring * ring) amdgpu_fence_wait_empty() argument
330 amdgpu_fence_wait_polling(struct amdgpu_ring * ring,uint32_t wait_seq,signed long timeout) amdgpu_fence_wait_polling() argument
350 amdgpu_fence_count_emitted(struct amdgpu_ring * ring) amdgpu_fence_count_emitted() argument
370 amdgpu_fence_last_unsignaled_time_us(struct amdgpu_ring * ring) amdgpu_fence_last_unsignaled_time_us() argument
401 amdgpu_fence_update_start_timestamp(struct amdgpu_ring * ring,uint32_t seq,ktime_t timestamp) amdgpu_fence_update_start_timestamp() argument
427 amdgpu_fence_driver_start_ring(struct amdgpu_ring * ring,struct amdgpu_irq_src * irq_src,unsigned int irq_type) amdgpu_fence_driver_start_ring() argument
463 amdgpu_fence_driver_init_ring(struct amdgpu_ring * ring) amdgpu_fence_driver_init_ring() argument
520 amdgpu_fence_need_ring_interrupt_restore(struct amdgpu_ring * ring) amdgpu_fence_need_ring_interrupt_restore() argument
558 struct amdgpu_ring *ring = adev->rings[i]; amdgpu_fence_driver_hw_fini() local
588 struct amdgpu_ring *ring = adev->rings[i]; amdgpu_fence_driver_isr_toggle() local
605 struct amdgpu_ring *ring = adev->rings[i]; amdgpu_fence_driver_sw_fini() local
644 struct amdgpu_ring *ring = adev->rings[i]; amdgpu_fence_driver_hw_init() local
664 amdgpu_fence_driver_set_error(struct amdgpu_ring * ring,int error) amdgpu_fence_driver_set_error() argument
687 amdgpu_fence_driver_force_completion(struct amdgpu_ring * ring) amdgpu_fence_driver_force_completion() argument
721 struct amdgpu_ring *ring = af->ring; amdgpu_fence_driver_guilty_force_completion() local
765 amdgpu_ring_backup_unprocessed_command(struct amdgpu_ring * ring,u64 start_wptr,u64 end_wptr) amdgpu_ring_backup_unprocessed_command() argument
777 amdgpu_ring_backup_unprocessed_commands(struct amdgpu_ring * ring,struct amdgpu_fence * guilty_fence) amdgpu_ring_backup_unprocessed_commands() argument
897 struct amdgpu_ring *ring = adev->rings[i]; amdgpu_debugfs_fence_info_show() local
[all...]
H A Damdgpu_ib.c124 int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned int num_ibs, in amdgpu_ib_schedule() argument
128 struct amdgpu_device *adev = ring->adev; in amdgpu_ib_schedule()
177 if (!ring->sched.ready) { in amdgpu_ib_schedule()
178 dev_err(adev->dev, "couldn't schedule ib on ring <%s>\n", ring->name); in amdgpu_ib_schedule()
190 (!ring->funcs->secure_submission_supported)) { in amdgpu_ib_schedule()
191 dev_err(adev->dev, "secure submissions not supported on ring <%s>\n", ring->name); in amdgpu_ib_schedule()
196 alloc_size = ring->funcs->emit_frame_size + num_ibs * in amdgpu_ib_schedule()
197 ring->funcs->emit_ib_size; in amdgpu_ib_schedule()
199 r = amdgpu_ring_alloc(ring, alloc_size); in amdgpu_ib_schedule()
205 need_ctx_switch = ring->current_ctx != fence_ctx; in amdgpu_ib_schedule()
[all …]
H A Damdgpu_ring_mux.c44 struct amdgpu_ring *ring) in amdgpu_ring_mux_sw_entry() argument
46 return ring->entry_index < mux->ring_entry_size ? in amdgpu_ring_mux_sw_entry()
47 &mux->ring_entry[ring->entry_index] : NULL; in amdgpu_ring_mux_sw_entry()
52 struct amdgpu_ring *ring, in amdgpu_ring_mux_copy_pkt_from_sw_ring() argument
58 start = s_start & ring->buf_mask; in amdgpu_ring_mux_copy_pkt_from_sw_ring()
59 end = s_end & ring->buf_mask; in amdgpu_ring_mux_copy_pkt_from_sw_ring()
66 amdgpu_ring_alloc(real_ring, (ring->ring_size >> 2) + end - start); in amdgpu_ring_mux_copy_pkt_from_sw_ring()
67 amdgpu_ring_write_multiple(real_ring, (void *)&ring->ring[start], in amdgpu_ring_mux_copy_pkt_from_sw_ring()
68 (ring->ring_size >> 2) - start); in amdgpu_ring_mux_copy_pkt_from_sw_ring()
69 amdgpu_ring_write_multiple(real_ring, (void *)&ring->ring[0], end); in amdgpu_ring_mux_copy_pkt_from_sw_ring()
[all …]
/linux/drivers/gpu/drm/radeon/
H A Dradeon_ring.c50 static void radeon_debugfs_ring_init(struct radeon_device *rdev, struct radeon_ring *ring);
63 struct radeon_ring *ring) in radeon_ring_supports_scratch_reg() argument
65 switch (ring->idx) { in radeon_ring_supports_scratch_reg()
83 void radeon_ring_free_size(struct radeon_device *rdev, struct radeon_ring *ring) in radeon_ring_free_size() argument
85 uint32_t rptr = radeon_ring_get_rptr(rdev, ring); in radeon_ring_free_size()
88 ring->ring_free_dw = rptr + (ring->ring_size / 4); in radeon_ring_free_size()
89 ring->ring_free_dw -= ring->wptr; in radeon_ring_free_size()
90 ring->ring_free_dw &= ring->ptr_mask; in radeon_ring_free_size()
91 if (!ring->ring_free_dw) { in radeon_ring_free_size()
93 ring->ring_free_dw = ring->ring_size / 4; in radeon_ring_free_size()
[all …]
H A Devergreen_dma.c43 struct radeon_ring *ring = &rdev->ring[fence->ring]; in evergreen_dma_fence_ring_emit() local
44 u64 addr = rdev->fence_drv[fence->ring].gpu_addr; in evergreen_dma_fence_ring_emit()
46 radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_FENCE, 0, 0)); in evergreen_dma_fence_ring_emit()
47 radeon_ring_write(ring, addr & 0xfffffffc); in evergreen_dma_fence_ring_emit()
48 radeon_ring_write(ring, (upper_32_bits(addr) & 0xff)); in evergreen_dma_fence_ring_emit()
49 radeon_ring_write(ring, fence->seq); in evergreen_dma_fence_ring_emit()
51 radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_TRAP, 0, 0)); in evergreen_dma_fence_ring_emit()
53 radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_SRBM_WRITE, 0, 0)); in evergreen_dma_fence_ring_emit()
54 radeon_ring_write(ring, (0xf << 16) | (HDP_MEM_COHERENCY_FLUSH_CNTL >> 2)); in evergreen_dma_fence_ring_emit()
55 radeon_ring_write(ring, 1); in evergreen_dma_fence_ring_emit()
[all …]
H A Dr600_dma.c51 struct radeon_ring *ring) in r600_dma_get_rptr() argument
56 rptr = rdev->wb.wb[ring->rptr_offs/4]; in r600_dma_get_rptr()
72 struct radeon_ring *ring) in r600_dma_get_wptr() argument
86 struct radeon_ring *ring) in r600_dma_set_wptr() argument
88 WREG32(DMA_RB_WPTR, (ring->wptr << 2) & 0x3fffc); in r600_dma_set_wptr()
108 rdev->ring[R600_RING_TYPE_DMA_INDEX].ready = false; in r600_dma_stop()
121 struct radeon_ring *ring = &rdev->ring[R600_RING_TYPE_DMA_INDEX]; in r600_dma_resume() local
130 rb_bufsz = order_base_2(ring->ring_size / 4); in r600_dma_resume()
150 WREG32(DMA_RB_BASE, ring->gpu_addr >> 8); in r600_dma_resume()
166 ring->wptr = 0; in r600_dma_resume()
[all …]
H A Dradeon_fence.c67 static void radeon_fence_write(struct radeon_device *rdev, u32 seq, int ring) in radeon_fence_write() argument
69 struct radeon_fence_driver *drv = &rdev->fence_drv[ring]; in radeon_fence_write()
88 static u32 radeon_fence_read(struct radeon_device *rdev, int ring) in radeon_fence_read() argument
90 struct radeon_fence_driver *drv = &rdev->fence_drv[ring]; in radeon_fence_read()
112 static void radeon_fence_schedule_check(struct radeon_device *rdev, int ring) in radeon_fence_schedule_check() argument
119 &rdev->fence_drv[ring].lockup_work, in radeon_fence_schedule_check()
135 int ring) in radeon_fence_emit() argument
145 (*fence)->seq = seq = ++rdev->fence_drv[ring].sync_seq[ring]; in radeon_fence_emit()
146 (*fence)->ring = ring; in radeon_fence_emit()
150 rdev->fence_context + ring, in radeon_fence_emit()
[all …]
/linux/drivers/net/wireless/broadcom/b43legacy/
H A Ddma.c32 struct b43legacy_dmadesc32 *op32_idx2desc(struct b43legacy_dmaring *ring, in op32_idx2desc() argument
38 *meta = &(ring->meta[slot]); in op32_idx2desc()
39 desc = ring->descbase; in op32_idx2desc()
45 static void op32_fill_descriptor(struct b43legacy_dmaring *ring, in op32_fill_descriptor() argument
50 struct b43legacy_dmadesc32 *descbase = ring->descbase; in op32_fill_descriptor()
57 B43legacy_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); in op32_fill_descriptor()
62 addr |= ring->dev->dma.translation; in op32_fill_descriptor()
63 ctl = (bufsize - ring->frameoffset) in op32_fill_descriptor()
65 if (slot == ring->nr_slots - 1) in op32_fill_descriptor()
80 static void op32_poke_tx(struct b43legacy_dmaring *ring, int slot) in op32_poke_tx() argument
[all …]
/linux/drivers/bus/mhi/ep/
H A Dring.c10 size_t mhi_ep_ring_addr2offset(struct mhi_ep_ring *ring, u64 ptr) in mhi_ep_ring_addr2offset() argument
12 return (ptr - ring->rbase) / sizeof(struct mhi_ring_element); in mhi_ep_ring_addr2offset()
15 static u32 mhi_ep_ring_num_elems(struct mhi_ep_ring *ring) in mhi_ep_ring_num_elems() argument
19 memcpy_fromio(&rlen, (void __iomem *) &ring->ring_ctx->generic.rlen, sizeof(u64)); in mhi_ep_ring_num_elems()
24 void mhi_ep_ring_inc_index(struct mhi_ep_ring *ring) in mhi_ep_ring_inc_index() argument
26 ring->rd_offset = (ring->rd_offset + 1) % ring->ring_size; in mhi_ep_ring_inc_index()
29 static int __mhi_ep_cache_ring(struct mhi_ep_ring *ring, size_t end) in __mhi_ep_cache_ring() argument
31 struct mhi_ep_cntrl *mhi_cntrl = ring->mhi_cntrl; in __mhi_ep_cache_ring()
38 if (ring->type == RING_TYPE_ER) in __mhi_ep_cache_ring()
42 if (ring->wr_offset == end) in __mhi_ep_cache_ring()
[all …]
/linux/drivers/soc/ti/
H A Dk3-ringacc.c114 int (*push_tail)(struct k3_ring *ring, void *elm);
115 int (*push_head)(struct k3_ring *ring, void *elm);
116 int (*pop_tail)(struct k3_ring *ring, void *elm);
117 int (*pop_head)(struct k3_ring *ring, void *elm);
240 static int k3_ringacc_ring_read_occ(struct k3_ring *ring) in k3_ringacc_ring_read_occ() argument
242 return readl(&ring->rt->occ) & K3_RINGACC_RT_OCC_MASK; in k3_ringacc_ring_read_occ()
245 static void k3_ringacc_ring_update_occ(struct k3_ring *ring) in k3_ringacc_ring_update_occ() argument
249 val = readl(&ring->rt->occ); in k3_ringacc_ring_update_occ()
251 ring->state.occ = val & K3_RINGACC_RT_OCC_MASK; in k3_ringacc_ring_update_occ()
252 ring->state.tdown_complete = !!(val & K3_DMARING_RT_OCC_TDOWN_COMPLETE); in k3_ringacc_ring_update_occ()
[all …]
/linux/drivers/net/wireless/broadcom/b43/
H A Ddma.c72 struct b43_dmadesc_generic *op32_idx2desc(struct b43_dmaring *ring, in op32_idx2desc() argument
78 *meta = &(ring->meta[slot]); in op32_idx2desc()
79 desc = ring->descbase; in op32_idx2desc()
85 static void op32_fill_descriptor(struct b43_dmaring *ring, in op32_fill_descriptor() argument
90 struct b43_dmadesc32 *descbase = ring->descbase; in op32_fill_descriptor()
97 B43_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); in op32_fill_descriptor()
99 addr = b43_dma_address(&ring->dev->dma, dmaaddr, B43_DMA_ADDR_LOW); in op32_fill_descriptor()
100 addrext = b43_dma_address(&ring->dev->dma, dmaaddr, B43_DMA_ADDR_EXT); in op32_fill_descriptor()
103 if (slot == ring->nr_slots - 1) in op32_fill_descriptor()
118 static void op32_poke_tx(struct b43_dmaring *ring, int slot) in op32_poke_tx() argument
[all …]
/linux/drivers/net/ethernet/apm/xgene/
H A Dxgene_enet_ring2.c12 static void xgene_enet_ring_init(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_init() argument
14 u32 *ring_cfg = ring->state; in xgene_enet_ring_init()
15 u64 addr = ring->dma; in xgene_enet_ring_init()
17 if (xgene_enet_ring_owner(ring->id) == RING_OWNER_CPU) { in xgene_enet_ring_init()
18 ring_cfg[0] |= SET_VAL(X2_INTLINE, ring->id & RING_BUFNUM_MASK); in xgene_enet_ring_init()
27 ring_cfg[3] |= SET_VAL(RINGSIZE, ring->cfgsize) in xgene_enet_ring_init()
34 static void xgene_enet_ring_set_type(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_type() argument
36 u32 *ring_cfg = ring->state; in xgene_enet_ring_set_type()
40 is_bufpool = xgene_enet_is_bufpool(ring->id); in xgene_enet_ring_set_type()
47 static void xgene_enet_ring_set_recombbuf(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_recombbuf() argument
[all …]
/linux/drivers/thunderbolt/
H A Dnhi.c29 #define RING_TYPE(ring) ((ring)->is_tx ? "TX ring" : "RX ring") argument
54 static int ring_interrupt_index(const struct tb_ring *ring) in ring_interrupt_index() argument
56 int bit = ring->hop; in ring_interrupt_index()
57 if (!ring->is_tx) in ring_interrupt_index()
58 bit += ring->nhi->hop_count; in ring_interrupt_index()
62 static void nhi_mask_interrupt(struct tb_nhi *nhi, int mask, int ring) in nhi_mask_interrupt() argument
67 val = ioread32(nhi->iobase + REG_RING_INTERRUPT_BASE + ring); in nhi_mask_interrupt()
68 iowrite32(val & ~mask, nhi->iobase + REG_RING_INTERRUPT_BASE + ring); in nhi_mask_interrupt()
70 iowrite32(mask, nhi->iobase + REG_RING_INTERRUPT_MASK_CLEAR_BASE + ring); in nhi_mask_interrupt()
74 static void nhi_clear_interrupt(struct tb_nhi *nhi, int ring) in nhi_clear_interrupt() argument
[all …]
/linux/net/rds/
H A Dib_ring.c66 void rds_ib_ring_init(struct rds_ib_work_ring *ring, u32 nr) in rds_ib_ring_init() argument
68 memset(ring, 0, sizeof(*ring)); in rds_ib_ring_init()
69 ring->w_nr = nr; in rds_ib_ring_init()
70 rdsdebug("ring %p nr %u\n", ring, ring->w_nr); in rds_ib_ring_init()
73 static inline u32 __rds_ib_ring_used(struct rds_ib_work_ring *ring) in __rds_ib_ring_used() argument
78 diff = ring->w_alloc_ctr - (u32) atomic_read(&ring->w_free_ctr); in __rds_ib_ring_used()
79 BUG_ON(diff > ring->w_nr); in __rds_ib_ring_used()
84 void rds_ib_ring_resize(struct rds_ib_work_ring *ring, u32 nr) in rds_ib_ring_resize() argument
88 BUG_ON(__rds_ib_ring_used(ring)); in rds_ib_ring_resize()
89 ring->w_nr = nr; in rds_ib_ring_resize()
[all …]
/linux/drivers/net/ethernet/marvell/octeon_ep_vf/
H A Doctep_vf_regs_cnxk.h34 #define CNXK_VF_SDP_R_ERR_TYPE(ring) \ argument
35 (CNXK_VF_SDP_R_ERR_TYPE_START + ((ring) * CNXK_VF_RING_OFFSET))
37 #define CNXK_VF_SDP_R_IN_CONTROL(ring) \ argument
38 (CNXK_VF_SDP_R_IN_CONTROL_START + ((ring) * CNXK_VF_RING_OFFSET))
40 #define CNXK_VF_SDP_R_IN_ENABLE(ring) \ argument
41 (CNXK_VF_SDP_R_IN_ENABLE_START + ((ring) * CNXK_VF_RING_OFFSET))
43 #define CNXK_VF_SDP_R_IN_INSTR_BADDR(ring) \ argument
44 (CNXK_VF_SDP_R_IN_INSTR_BADDR_START + ((ring) * CNXK_VF_RING_OFFSET))
46 #define CNXK_VF_SDP_R_IN_INSTR_RSIZE(ring) \ argument
47 (CNXK_VF_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CNXK_VF_RING_OFFSET))
[all …]
H A Doctep_vf_regs_cn9k.h33 #define CN93_VF_SDP_R_IN_CONTROL(ring) \ argument
34 (CN93_VF_SDP_R_IN_CONTROL_START + ((ring) * CN93_VF_RING_OFFSET))
36 #define CN93_VF_SDP_R_IN_ENABLE(ring) \ argument
37 (CN93_VF_SDP_R_IN_ENABLE_START + ((ring) * CN93_VF_RING_OFFSET))
39 #define CN93_VF_SDP_R_IN_INSTR_BADDR(ring) \ argument
40 (CN93_VF_SDP_R_IN_INSTR_BADDR_START + ((ring) * CN93_VF_RING_OFFSET))
42 #define CN93_VF_SDP_R_IN_INSTR_RSIZE(ring) \ argument
43 (CN93_VF_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CN93_VF_RING_OFFSET))
45 #define CN93_VF_SDP_R_IN_INSTR_DBELL(ring) \ argument
46 (CN93_VF_SDP_R_IN_INSTR_DBELL_START + ((ring) * CN93_VF_RING_OFFSET))
[all …]
/linux/drivers/net/ethernet/marvell/octeon_ep/
H A Doctep_regs_cnxk_pf.h73 #define CNXK_SDP_R_IN_CONTROL(ring) \ argument
74 (CNXK_SDP_R_IN_CONTROL_START + ((ring) * CNXK_RING_OFFSET))
76 #define CNXK_SDP_R_IN_ENABLE(ring) \ argument
77 (CNXK_SDP_R_IN_ENABLE_START + ((ring) * CNXK_RING_OFFSET))
79 #define CNXK_SDP_R_IN_INSTR_BADDR(ring) \ argument
80 (CNXK_SDP_R_IN_INSTR_BADDR_START + ((ring) * CNXK_RING_OFFSET))
82 #define CNXK_SDP_R_IN_INSTR_RSIZE(ring) \ argument
83 (CNXK_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CNXK_RING_OFFSET))
85 #define CNXK_SDP_R_IN_INSTR_DBELL(ring) \ argument
86 (CNXK_SDP_R_IN_INSTR_DBELL_START + ((ring) * CNXK_RING_OFFSE
88 CNXK_SDP_R_IN_CNTS(ring) global() argument
91 CNXK_SDP_R_IN_INT_LEVELS(ring) global() argument
94 CNXK_SDP_R_IN_PKT_CNT(ring) global() argument
97 CNXK_SDP_R_IN_BYTE_CNT(ring) global() argument
131 CNXK_SDP_R_OUT_CONTROL(ring) global() argument
134 CNXK_SDP_R_OUT_ENABLE(ring) global() argument
137 CNXK_SDP_R_OUT_SLIST_BADDR(ring) global() argument
140 CNXK_SDP_R_OUT_SLIST_RSIZE(ring) global() argument
143 CNXK_SDP_R_OUT_SLIST_DBELL(ring) global() argument
146 CNXK_SDP_R_OUT_WMARK(ring) global() argument
149 CNXK_SDP_R_OUT_CNTS(ring) global() argument
152 CNXK_SDP_R_OUT_INT_LEVELS(ring) global() argument
155 CNXK_SDP_R_OUT_PKT_CNT(ring) global() argument
158 CNXK_SDP_R_OUT_BYTE_CNT(ring) global() argument
190 CNXK_SDP_R_IN_INT_MDRT_CTL0(ring) global() argument
193 CNXK_SDP_R_IN_INT_MDRT_CTL1(ring) global() argument
196 CNXK_SDP_R_IN_INT_MDRT_DBG(ring) global() argument
199 CNXK_SDP_R_OUT_INT_MDRT_CTL0(ring) global() argument
202 CNXK_SDP_R_OUT_INT_MDRT_CTL1(ring) global() argument
205 CNXK_SDP_R_OUT_INT_MDRT_DBG(ring) global() argument
208 CNXK_SDP_R_MBOX_ISM(ring) global() argument
211 CNXK_SDP_R_OUT_CNTS_ISM(ring) global() argument
214 CNXK_SDP_R_IN_CNTS_ISM(ring) global() argument
232 CNXK_SDP_R_MBOX_PF_VF_DATA(ring) global() argument
235 CNXK_SDP_R_MBOX_PF_VF_INT(ring) global() argument
238 CNXK_SDP_R_MBOX_VF_PF_DATA(ring) global() argument
241 CNXK_SDP_MBOX_VF_PF_DATA(ring) global() argument
244 CNXK_SDP_MBOX_PF_VF_DATA(ring) global() argument
250 CNXK_SDP_R_ERR_TYPE(ring) global() argument
257 CNXK_SDP_R_MBOX_ISM(ring) global() argument
260 CNXK_SDP_R_OUT_CNTS_ISM(ring) global() argument
263 CNXK_SDP_R_IN_CNTS_ISM(ring) global() argument
379 CNXK_SDP_EPVF_RING(ring) global() argument
381 CNXK_SDP_IN_RING_TB_MAP(ring) global() argument
383 CNXK_SDP_IN_RATE_LIMIT(ring) global() argument
[all...]
H A Doctep_regs_cn9k_pf.h74 #define CN93_SDP_R_IN_CONTROL(ring) \
75 (CN93_SDP_R_IN_CONTROL_START + ((ring) * CN93_RING_OFFSET)) argument
77 #define CN93_SDP_R_IN_ENABLE(ring) \
78 (CN93_SDP_R_IN_ENABLE_START + ((ring) * CN93_RING_OFFSET)) argument
80 #define CN93_SDP_R_IN_INSTR_BADDR(ring) \
81 (CN93_SDP_R_IN_INSTR_BADDR_START + ((ring) * CN93_RING_OFFSET)) argument
83 #define CN93_SDP_R_IN_INSTR_RSIZE(ring) \
84 (CN93_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CN93_RING_OFFSET)) argument
86 #define CN93_SDP_R_IN_INSTR_DBELL(ring) \
87 (CN93_SDP_R_IN_INSTR_DBELL_START + ((ring) * CN93_RING_OFFSE argument
72 CN93_SDP_R_IN_CONTROL(ring) global() argument
90 CN93_SDP_R_IN_INT_LEVELS(ring) global() argument
93 CN93_SDP_R_IN_PKT_CNT(ring) global() argument
96 CN93_SDP_R_IN_BYTE_CNT(ring) global() argument
129 CN93_SDP_R_OUT_CONTROL(ring) global() argument
132 CN93_SDP_R_OUT_ENABLE(ring) global() argument
135 CN93_SDP_R_OUT_SLIST_BADDR(ring) global() argument
138 CN93_SDP_R_OUT_SLIST_RSIZE(ring) global() argument
141 CN93_SDP_R_OUT_SLIST_DBELL(ring) global() argument
144 CN93_SDP_R_OUT_CNTS(ring) global() argument
147 CN93_SDP_R_OUT_INT_LEVELS(ring) global() argument
150 CN93_SDP_R_OUT_PKT_CNT(ring) global() argument
153 CN93_SDP_R_OUT_BYTE_CNT(ring) global() argument
181 CN93_SDP_R_IN_INT_MDRT_CTL0(ring) global() argument
184 CN93_SDP_R_IN_INT_MDRT_CTL1(ring) global() argument
187 CN93_SDP_R_IN_INT_MDRT_DBG(ring) global() argument
190 CN93_SDP_R_OUT_INT_MDRT_CTL0(ring) global() argument
193 CN93_SDP_R_OUT_INT_MDRT_CTL1(ring) global() argument
196 CN93_SDP_R_OUT_INT_MDRT_DBG(ring) global() argument
214 CN93_SDP_R_MBOX_PF_VF_DATA(ring) global() argument
217 CN93_SDP_R_MBOX_PF_VF_INT(ring) global() argument
220 CN93_SDP_R_MBOX_VF_PF_DATA(ring) global() argument
223 CN93_SDP_MBOX_VF_PF_DATA(ring) global() argument
226 CN93_SDP_MBOX_PF_VF_DATA(ring) global() argument
232 CN93_SDP_R_ERR_TYPE(ring) global() argument
239 CN93_SDP_R_MBOX_ISM(ring) global() argument
242 CN93_SDP_R_OUT_CNTS_ISM(ring) global() argument
245 CN93_SDP_R_IN_CNTS_ISM(ring) global() argument
361 CN93_SDP_EPVF_RING(ring) global() argument
363 CN93_SDP_IN_RING_TB_MAP(ring) global() argument
365 CN93_SDP_IN_RATE_LIMIT(ring) global() argument
[all...]
/linux/drivers/gpu/drm/i915/gt/
H A Dintel_ring.c19 unsigned int intel_ring_update_space(struct intel_ring *ring) in intel_ring_update_space() argument
23 space = __intel_ring_space(ring->head, ring->emit, ring->size); in intel_ring_update_space()
25 ring->space = space; in intel_ring_update_space()
29 void __intel_ring_pin(struct intel_ring *ring) in __intel_ring_pin() argument
31 GEM_BUG_ON(!atomic_read(&ring->pin_count)); in __intel_ring_pin()
32 atomic_inc(&ring->pin_count); in __intel_ring_pin()
35 int intel_ring_pin(struct intel_ring *ring, struct i915_gem_ww_ctx *ww) in intel_ring_pin() argument
37 struct i915_vma *vma = ring->vma; in intel_ring_pin()
42 if (atomic_fetch_inc(&ring->pin_count)) in intel_ring_pin()
73 intel_ring_reset(ring, ring->emit); in intel_ring_pin()
[all …]
H A Dselftest_ring.c8 struct intel_ring *ring; in mock_ring() local
10 ring = kzalloc(sizeof(*ring) + sz, GFP_KERNEL); in mock_ring()
11 if (!ring) in mock_ring()
14 kref_init(&ring->ref); in mock_ring()
15 ring->size = sz; in mock_ring()
16 ring->wrap = BITS_PER_TYPE(ring->size) - ilog2(sz); in mock_ring()
17 ring->effective_size = sz; in mock_ring()
18 ring->vaddr = (void *)(ring + 1); in mock_ring()
19 atomic_set(&ring->pin_count, 1); in mock_ring()
21 intel_ring_update_space(ring); in mock_ring()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_tx.c56 struct mlx4_en_tx_ring *ring; in mlx4_en_create_tx_ring() local
60 ring = kzalloc_node(sizeof(*ring), GFP_KERNEL, node); in mlx4_en_create_tx_ring()
61 if (!ring) { in mlx4_en_create_tx_ring()
62 en_err(priv, "Failed allocating TX ring\n"); in mlx4_en_create_tx_ring()
66 ring->size = size; in mlx4_en_create_tx_ring()
67 ring->size_mask = size - 1; in mlx4_en_create_tx_ring()
68 ring->sp_stride = stride; in mlx4_en_create_tx_ring()
69 ring->full_size = ring in mlx4_en_create_tx_ring()
169 struct mlx4_en_tx_ring *ring = *pring; mlx4_en_destroy_tx_ring() local
187 mlx4_en_activate_tx_ring(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring,int cq,int user_prio) mlx4_en_activate_tx_ring() argument
222 mlx4_en_deactivate_tx_ring(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring) mlx4_en_deactivate_tx_ring() argument
230 mlx4_en_is_tx_ring_full(struct mlx4_en_tx_ring * ring) mlx4_en_is_tx_ring_full() argument
238 mlx4_en_stamp_wqe(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring,int index,u8 owner) mlx4_en_stamp_wqe() argument
277 mlx4_en_free_tx_desc(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring,int index,u64 timestamp,int napi_mode) mlx4_en_free_tx_desc() argument
349 mlx4_en_recycle_tx_desc(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring,int index,u64 timestamp,int napi_mode) mlx4_en_recycle_tx_desc() argument
362 mlx4_en_free_tx_buf(struct net_device * dev,struct mlx4_en_tx_ring * ring) mlx4_en_free_tx_buf() argument
396 mlx4_en_handle_err_cqe(struct mlx4_en_priv * priv,struct mlx4_err_cqe * err_cqe,u16 cqe_index,struct mlx4_en_tx_ring * ring) mlx4_en_handle_err_cqe() argument
429 struct mlx4_en_tx_ring *ring = priv->tx_ring[cq->type][cq->ring]; mlx4_en_process_tx_cq() local
568 mlx4_en_bounce_to_desc(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring,u32 index,unsigned int desc_size) mlx4_en_bounce_to_desc() argument
754 mlx4_en_xmit_doorbell(struct mlx4_en_tx_ring * ring) mlx4_en_xmit_doorbell() argument
770 mlx4_en_tx_write_desc(struct mlx4_en_tx_ring * ring,struct mlx4_en_tx_desc * tx_desc,union mlx4_wqe_qpn_vlan qpn_vlan,int desc_size,int bf_index,__be32 op_own,bool bf_ok,bool send_doorbell) mlx4_en_tx_write_desc() argument
877 struct mlx4_en_tx_ring *ring; mlx4_en_xmit() local
1144 mlx4_en_init_tx_xdp_ring_descs(struct mlx4_en_priv * priv,struct mlx4_en_tx_ring * ring) mlx4_en_init_tx_xdp_ring_descs() argument
1175 struct mlx4_en_tx_ring *ring; mlx4_en_xmit_frame() local
[all...]
/linux/drivers/crypto/inside-secure/
H A Dsafexcel_ring.c78 struct safexcel_desc_ring *ring, in safexcel_ring_next_cwptr() argument
82 void *ptr = ring->write; in safexcel_ring_next_cwptr()
85 *atoken = ring->shwrite; in safexcel_ring_next_cwptr()
87 if ((ring->write == ring->read - ring->offset) || in safexcel_ring_next_cwptr()
88 (ring->read == ring->base && ring->write == ring->base_end)) in safexcel_ring_next_cwptr()
91 if (ring->write == ring->base_end) { in safexcel_ring_next_cwptr()
92 ring->write = ring->base; in safexcel_ring_next_cwptr()
93 ring->shwrite = ring->shbase; in safexcel_ring_next_cwptr()
95 ring->write += ring->offset; in safexcel_ring_next_cwptr()
96 ring->shwrite += ring->shoffset; in safexcel_ring_next_cwptr()
[all …]
/linux/tools/testing/selftests/net/
H A Dpsock_tpacket.c66 struct ring { struct
71 void (*walk)(int sock, struct ring *ring); argument
220 static void walk_v1_v2_rx(int sock, struct ring *ring) in walk_v1_v2_rx() argument
227 bug_on(ring->type != PACKET_RX_RING); in walk_v1_v2_rx()
239 while (__v1_v2_rx_kernel_ready(ring->rd[frame_num].iov_base, in walk_v1_v2_rx()
240 ring->version)) { in walk_v1_v2_rx()
241 ppd.raw = ring->rd[frame_num].iov_base; in walk_v1_v2_rx()
243 switch (ring->version) { in walk_v1_v2_rx()
260 __v1_v2_rx_user_ready(ppd.raw, ring->version); in walk_v1_v2_rx()
262 frame_num = (frame_num + 1) % ring->rd_num; in walk_v1_v2_rx()
[all …]
/linux/drivers/crypto/intel/qat/qat_common/
H A Dadf_transport.c40 static int adf_reserve_ring(struct adf_etr_bank_data *bank, u32 ring) in adf_reserve_ring() argument
43 if (bank->ring_mask & (1 << ring)) { in adf_reserve_ring()
47 bank->ring_mask |= (1 << ring); in adf_reserve_ring()
52 static void adf_unreserve_ring(struct adf_etr_bank_data *bank, u32 ring) in adf_unreserve_ring() argument
55 bank->ring_mask &= ~(1 << ring); in adf_unreserve_ring()
59 static void adf_enable_ring_irq(struct adf_etr_bank_data *bank, u32 ring) in adf_enable_ring_irq() argument
64 bank->irq_mask |= (1 << ring); in adf_enable_ring_irq()
72 static void adf_disable_ring_irq(struct adf_etr_bank_data *bank, u32 ring) in adf_disable_ring_irq() argument
77 bank->irq_mask &= ~(1 << ring); in adf_disable_ring_irq()
83 bool adf_ring_nearly_full(struct adf_etr_ring_data *ring) in adf_ring_nearly_full() argument
[all …]

12345678910>>...29