/linux-master/net/rds/ |
H A D | ib_ring.c | 66 void rds_ib_ring_init(struct rds_ib_work_ring *ring, u32 nr) argument 68 memset(ring, 0, sizeof(*ring)); 69 ring->w_nr = nr; 70 rdsdebug("ring %p nr %u\n", ring, ring->w_nr); 73 static inline u32 __rds_ib_ring_used(struct rds_ib_work_ring *ring) argument 78 diff = ring->w_alloc_ctr - (u32) atomic_read(&ring 84 rds_ib_ring_resize(struct rds_ib_work_ring *ring, u32 nr) argument 92 __rds_ib_ring_empty(struct rds_ib_work_ring *ring) argument 97 rds_ib_ring_alloc(struct rds_ib_work_ring *ring, u32 val, u32 *pos) argument 117 rds_ib_ring_free(struct rds_ib_work_ring *ring, u32 val) argument 127 rds_ib_ring_unalloc(struct rds_ib_work_ring *ring, u32 val) argument 133 rds_ib_ring_empty(struct rds_ib_work_ring *ring) argument 138 rds_ib_ring_low(struct rds_ib_work_ring *ring) argument 147 rds_ib_ring_oldest(struct rds_ib_work_ring *ring) argument 156 rds_ib_ring_completed(struct rds_ib_work_ring *ring, u32 wr_id, u32 oldest) argument [all...] |
/linux-master/drivers/gpu/drm/radeon/ |
H A D | radeon_ring.c | 37 * Most engines on the GPU are fed via ring buffers. Ring 43 * pointers are equal, the ring is idle. When the host 44 * writes commands to the ring buffer, it increments the 48 static void radeon_debugfs_ring_init(struct radeon_device *rdev, struct radeon_ring *ring); 51 * radeon_ring_supports_scratch_reg - check if the ring supports 55 * @ring: radeon_ring structure holding ring information 57 * Check if a specific ring supports writing to scratch registers (all asics). 58 * Returns true if the ring supports writing to scratch regs, false if not. 61 struct radeon_ring *ring) 60 radeon_ring_supports_scratch_reg(struct radeon_device *rdev, struct radeon_ring *ring) argument 81 radeon_ring_free_size(struct radeon_device *rdev, struct radeon_ring *ring) argument 107 radeon_ring_alloc(struct radeon_device *rdev, struct radeon_ring *ring, unsigned ndw) argument 143 radeon_ring_lock(struct radeon_device *rdev, struct radeon_ring *ring, unsigned ndw) argument 167 radeon_ring_commit(struct radeon_device *rdev, struct radeon_ring *ring, bool hdp_flush) argument 198 radeon_ring_unlock_commit(struct radeon_device *rdev, struct radeon_ring *ring, bool hdp_flush) argument 212 radeon_ring_undo(struct radeon_ring *ring) argument 225 radeon_ring_unlock_undo(struct radeon_device *rdev, struct radeon_ring *ring) argument 239 radeon_ring_lockup_update(struct radeon_device *rdev, struct radeon_ring *ring) argument 252 radeon_ring_test_lockup(struct radeon_device *rdev, struct radeon_ring *ring) argument 283 radeon_ring_backup(struct radeon_device *rdev, struct radeon_ring *ring, uint32_t **data) argument 347 radeon_ring_restore(struct radeon_device *rdev, struct radeon_ring *ring, unsigned size, uint32_t *data) argument 381 radeon_ring_init(struct radeon_device *rdev, struct radeon_ring *ring, unsigned ring_size, unsigned rptr_offs, u32 nop) argument 437 radeon_ring_fini(struct radeon_device *rdev, struct radeon_ring *ring) argument 467 struct radeon_ring *ring = m->private; local 547 radeon_debugfs_ring_init(struct radeon_device *rdev, struct radeon_ring *ring) argument [all...] |
H A D | uvd_v3_1.c | 33 * @ring: radeon_ring pointer 37 * Emit a semaphore command (either wait or signal) to the UVD ring. 40 struct radeon_ring *ring, 46 radeon_ring_write(ring, PACKET0(UVD_SEMA_ADDR_LOW, 0)); 47 radeon_ring_write(ring, (addr >> 3) & 0x000FFFFF); 49 radeon_ring_write(ring, PACKET0(UVD_SEMA_ADDR_HIGH, 0)); 50 radeon_ring_write(ring, (addr >> 23) & 0x000FFFFF); 52 radeon_ring_write(ring, PACKET0(UVD_SEMA_CMD, 0)); 53 radeon_ring_write(ring, 0x80 | (emit_wait ? 1 : 0)); 39 uvd_v3_1_semaphore_emit(struct radeon_device *rdev, struct radeon_ring *ring, struct radeon_semaphore *semaphore, bool emit_wait) argument
|
H A D | evergreen_dma.c | 31 * evergreen_dma_fence_ring_emit - emit a fence on the DMA ring 36 * Add a DMA fence packet to the ring to write 43 struct radeon_ring *ring = &rdev->ring[fence->ring]; local 44 u64 addr = rdev->fence_drv[fence->ring].gpu_addr; 46 radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_FENCE, 0, 0)); 47 radeon_ring_write(ring, addr & 0xfffffffc); 48 radeon_ring_write(ring, (upper_32_bits(addr) & 0xff)); 49 radeon_ring_write(ring, fenc 69 struct radeon_ring *ring = &rdev->ring[ib->ring]; local 115 struct radeon_ring *ring = &rdev->ring[ring_index]; local 170 evergreen_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) argument [all...] |
/linux-master/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_ring.c | 40 * Most engines on the GPU are fed via ring buffers. Ring 46 * pointers are equal, the ring is idle. When the host 47 * writes commands to the ring buffer, it increments the 55 * @type: ring type for which to return the limit. 73 * amdgpu_ring_alloc - allocate space on the ring buffer 75 * @ring: amdgpu_ring structure holding ring information 76 * @ndw: number of dwords to allocate in the ring buffer 78 * Allocate @ndw dwords in the ring buffer (all asics). 81 int amdgpu_ring_alloc(struct amdgpu_ring *ring, unsigne argument 109 amdgpu_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) argument 125 amdgpu_ring_generic_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) argument 140 amdgpu_ring_commit(struct amdgpu_ring *ring) argument 164 amdgpu_ring_undo(struct amdgpu_ring *ring) argument 196 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) argument 372 amdgpu_ring_fini(struct amdgpu_ring *ring) argument 416 amdgpu_ring_emit_reg_write_reg_wait_helper(struct amdgpu_ring *ring, uint32_t reg0, uint32_t reg1, uint32_t ref, uint32_t mask) argument 433 amdgpu_ring_soft_recovery(struct amdgpu_ring *ring, unsigned int vmid, struct dma_fence *fence) argument 475 struct amdgpu_ring *ring = file_inode(f)->i_private; local 525 struct amdgpu_ring *ring = file_inode(f)->i_private; local 589 struct amdgpu_ring *ring = data; local 600 amdgpu_debugfs_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring) argument 636 amdgpu_ring_test_helper(struct amdgpu_ring *ring) argument 654 amdgpu_ring_to_mqd_prop(struct amdgpu_ring *ring, struct amdgpu_mqd_prop *prop) argument 686 amdgpu_ring_init_mqd(struct amdgpu_ring *ring) argument 704 amdgpu_ring_ib_begin(struct amdgpu_ring *ring) argument 710 amdgpu_ring_ib_end(struct amdgpu_ring *ring) argument 716 amdgpu_ring_ib_on_emit_cntl(struct amdgpu_ring *ring) argument 722 amdgpu_ring_ib_on_emit_ce(struct amdgpu_ring *ring) argument 728 amdgpu_ring_ib_on_emit_de(struct amdgpu_ring *ring) argument 734 amdgpu_ring_sched_ready(struct amdgpu_ring *ring) argument [all...] |
H A D | vcn_sw_ring.c | 27 void vcn_dec_sw_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, argument 32 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_FENCE); 33 amdgpu_ring_write(ring, addr); 34 amdgpu_ring_write(ring, upper_32_bits(addr)); 35 amdgpu_ring_write(ring, seq); 36 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_TRAP); 39 void vcn_dec_sw_ring_insert_end(struct amdgpu_ring *ring) argument 41 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_END); 44 void vcn_dec_sw_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, argument 49 amdgpu_ring_write(ring, VCN_DEC_SW_CMD_I 56 vcn_dec_sw_ring_emit_reg_wait(struct amdgpu_ring *ring, uint32_t reg, uint32_t val, uint32_t mask) argument 65 vcn_dec_sw_ring_emit_vm_flush(struct amdgpu_ring *ring, uint32_t vmid, uint64_t pd_addr) argument 80 vcn_dec_sw_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) argument [all...] |
H A D | vcn_v1_0.h | 27 void vcn_v1_0_ring_end_use(struct amdgpu_ring *ring); 28 void vcn_v1_0_set_pg_for_begin_use(struct amdgpu_ring *ring, bool set_clocks);
|
H A D | jpeg_v1_0.c | 36 static void jpeg_v1_0_ring_begin_use(struct amdgpu_ring *ring); 38 static void jpeg_v1_0_decode_ring_patch_wreg(struct amdgpu_ring *ring, uint32_t *ptr, uint32_t reg_offset, uint32_t val) argument 40 struct amdgpu_device *adev = ring->adev; 41 ring->ring[(*ptr)++] = PACKETJ(SOC15_REG_OFFSET(JPEG, 0, mmUVD_JRBC_EXTERNAL_REG_BASE), 0, 0, PACKETJ_TYPE0); 44 ring->ring[(*ptr)++] = 0; 45 ring->ring[(*ptr)++] = PACKETJ((reg_offset >> 2), 0, 0, PACKETJ_TYPE0); 47 ring 53 jpeg_v1_0_decode_ring_set_patch_ring(struct amdgpu_ring *ring, uint32_t ptr) argument 136 jpeg_v1_0_decode_ring_get_rptr(struct amdgpu_ring *ring) argument 150 jpeg_v1_0_decode_ring_get_wptr(struct amdgpu_ring *ring) argument 164 jpeg_v1_0_decode_ring_set_wptr(struct amdgpu_ring *ring) argument 178 jpeg_v1_0_decode_ring_insert_start(struct amdgpu_ring *ring) argument 197 jpeg_v1_0_decode_ring_insert_end(struct amdgpu_ring *ring) argument 219 jpeg_v1_0_decode_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, unsigned flags) argument 293 jpeg_v1_0_decode_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, struct amdgpu_ib *ib, uint32_t flags) argument 346 jpeg_v1_0_decode_ring_emit_reg_wait(struct amdgpu_ring *ring, uint32_t reg, uint32_t val, uint32_t mask) argument 376 jpeg_v1_0_decode_ring_emit_vm_flush(struct amdgpu_ring *ring, unsigned vmid, uint64_t pd_addr) argument 391 jpeg_v1_0_decode_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) argument 412 jpeg_v1_0_decode_ring_nop(struct amdgpu_ring *ring, uint32_t count) argument 480 struct amdgpu_ring *ring; local 526 struct amdgpu_ring *ring = adev->jpeg.inst->ring_dec; local 597 jpeg_v1_0_ring_begin_use(struct amdgpu_ring *ring) argument [all...] |
H A D | amdgpu_ib.c | 45 * command ring and the hw will fetch the commands from the IB 48 * put in IBs for execution by the requested ring. 105 * amdgpu_ib_schedule - schedule an IB (Indirect Buffer) on the ring 107 * @ring: ring index the IB is associated with 113 * Schedule an IB on the associated ring (all asics). 116 * On SI, there are two parallel engines fed from the primary ring, 123 * a CONST_IB), it will be put on the ring prior to the DE IB. Prior 126 int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned int num_ibs, argument 130 struct amdgpu_device *adev = ring 405 struct amdgpu_ring *ring = adev->rings[i]; local [all...] |
H A D | vcn_v2_0.h | 27 extern void vcn_v2_0_dec_ring_insert_start(struct amdgpu_ring *ring); 28 extern void vcn_v2_0_dec_ring_insert_end(struct amdgpu_ring *ring); 29 extern void vcn_v2_0_dec_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count); 30 extern void vcn_v2_0_dec_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, 32 extern void vcn_v2_0_dec_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, 34 extern void vcn_v2_0_dec_ring_emit_reg_wait(struct amdgpu_ring *ring, uint32_t reg, 36 extern void vcn_v2_0_dec_ring_emit_vm_flush(struct amdgpu_ring *ring, 38 extern void vcn_v2_0_dec_ring_emit_wreg(struct amdgpu_ring *ring, 40 extern int vcn_v2_0_dec_ring_test_ring(struct amdgpu_ring *ring); 42 extern void vcn_v2_0_enc_ring_insert_end(struct amdgpu_ring *ring); [all...] |
H A D | amdgpu_fence.c | 48 * are no longer in use by the associated ring on the GPU and 56 struct amdgpu_ring *ring; member in struct:amdgpu_fence 94 * @ring: ring the fence is associated with 99 static void amdgpu_fence_write(struct amdgpu_ring *ring, u32 seq) argument 101 struct amdgpu_fence_driver *drv = &ring->fence_drv; 110 * @ring: ring the fence is associated with 115 static u32 amdgpu_fence_read(struct amdgpu_ring *ring) argument 117 struct amdgpu_fence_driver *drv = &ring 139 amdgpu_fence_emit(struct amdgpu_ring *ring, struct dma_fence **f, struct amdgpu_job *job, unsigned int flags) argument 224 amdgpu_fence_emit_polling(struct amdgpu_ring *ring, uint32_t *s, uint32_t timeout) argument 255 amdgpu_fence_schedule_fallback(struct amdgpu_ring *ring) argument 272 amdgpu_fence_process(struct amdgpu_ring *ring) argument 327 struct amdgpu_ring *ring = from_timer(ring, t, local 342 amdgpu_fence_wait_empty(struct amdgpu_ring *ring) argument 375 amdgpu_fence_wait_polling(struct amdgpu_ring *ring, uint32_t wait_seq, signed long timeout) argument 395 amdgpu_fence_count_emitted(struct amdgpu_ring *ring) argument 415 amdgpu_fence_last_unsignaled_time_us(struct amdgpu_ring *ring) argument 446 amdgpu_fence_update_start_timestamp(struct amdgpu_ring *ring, uint32_t seq, ktime_t timestamp) argument 472 amdgpu_fence_driver_start_ring(struct amdgpu_ring *ring, struct amdgpu_irq_src *irq_src, unsigned int irq_type) argument 508 amdgpu_fence_driver_init_ring(struct amdgpu_ring *ring) argument 565 amdgpu_fence_need_ring_interrupt_restore(struct amdgpu_ring *ring) argument 603 struct amdgpu_ring *ring = adev->rings[i]; local 633 struct amdgpu_ring *ring = adev->rings[i]; local 650 struct amdgpu_ring *ring = adev->rings[i]; local 689 struct amdgpu_ring *ring = adev->rings[i]; local 708 amdgpu_fence_driver_clear_job_fences(struct amdgpu_ring *ring) argument 739 amdgpu_fence_driver_set_error(struct amdgpu_ring *ring, int error) argument 762 amdgpu_fence_driver_force_completion(struct amdgpu_ring *ring) argument 903 struct amdgpu_ring *ring = adev->rings[i]; local [all...] |
/linux-master/drivers/net/ethernet/marvell/octeon_ep_vf/ |
H A D | octep_vf_regs_cn9k.h | 33 #define CN93_VF_SDP_R_IN_CONTROL(ring) \ 34 (CN93_VF_SDP_R_IN_CONTROL_START + ((ring) * CN93_VF_RING_OFFSET)) 36 #define CN93_VF_SDP_R_IN_ENABLE(ring) \ 37 (CN93_VF_SDP_R_IN_ENABLE_START + ((ring) * CN93_VF_RING_OFFSET)) 39 #define CN93_VF_SDP_R_IN_INSTR_BADDR(ring) \ 40 (CN93_VF_SDP_R_IN_INSTR_BADDR_START + ((ring) * CN93_VF_RING_OFFSET)) 42 #define CN93_VF_SDP_R_IN_INSTR_RSIZE(ring) \ 43 (CN93_VF_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CN93_VF_RING_OFFSET)) 45 #define CN93_VF_SDP_R_IN_INSTR_DBELL(ring) \ 46 (CN93_VF_SDP_R_IN_INSTR_DBELL_START + ((ring) * CN93_VF_RING_OFFSE [all...] |
H A D | octep_vf_regs_cnxk.h | 34 #define CNXK_VF_SDP_R_ERR_TYPE(ring) \ 35 (CNXK_VF_SDP_R_ERR_TYPE_START + ((ring) * CNXK_VF_RING_OFFSET)) 37 #define CNXK_VF_SDP_R_IN_CONTROL(ring) \ 38 (CNXK_VF_SDP_R_IN_CONTROL_START + ((ring) * CNXK_VF_RING_OFFSET)) 40 #define CNXK_VF_SDP_R_IN_ENABLE(ring) \ 41 (CNXK_VF_SDP_R_IN_ENABLE_START + ((ring) * CNXK_VF_RING_OFFSET)) 43 #define CNXK_VF_SDP_R_IN_INSTR_BADDR(ring) \ 44 (CNXK_VF_SDP_R_IN_INSTR_BADDR_START + ((ring) * CNXK_VF_RING_OFFSET)) 46 #define CNXK_VF_SDP_R_IN_INSTR_RSIZE(ring) \ 47 (CNXK_VF_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CNXK_VF_RING_OFFSE [all...] |
/linux-master/drivers/bus/mhi/ep/ |
H A D | ring.c | 10 size_t mhi_ep_ring_addr2offset(struct mhi_ep_ring *ring, u64 ptr) argument 12 return (ptr - ring->rbase) / sizeof(struct mhi_ring_element); 15 static u32 mhi_ep_ring_num_elems(struct mhi_ep_ring *ring) argument 19 memcpy_fromio(&rlen, (void __iomem *) &ring->ring_ctx->generic.rlen, sizeof(u64)); 24 void mhi_ep_ring_inc_index(struct mhi_ep_ring *ring) argument 26 ring->rd_offset = (ring->rd_offset + 1) % ring->ring_size; 29 static int __mhi_ep_cache_ring(struct mhi_ep_ring *ring, size_t end) argument 31 struct mhi_ep_cntrl *mhi_cntrl = ring 79 mhi_ep_cache_ring(struct mhi_ep_ring *ring, u64 wr_ptr) argument 96 mhi_ep_update_wr_offset(struct mhi_ep_ring *ring) argument 106 mhi_ep_ring_add_element(struct mhi_ep_ring *ring, struct mhi_ring_element *el) argument 149 mhi_ep_ring_init(struct mhi_ep_ring *ring, enum mhi_ep_ring_type type, u32 id) argument 167 struct mhi_ep_ring *ring = container_of(work, struct mhi_ep_ring, intmodt_work.work); local 174 mhi_ep_ring_start(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring, union mhi_ep_ring_ctx *ctx) argument 221 mhi_ep_ring_reset(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring) argument [all...] |
/linux-master/drivers/gpu/drm/i915/gt/ |
H A D | selftest_ring.c | 8 struct intel_ring *ring; local 10 ring = kzalloc(sizeof(*ring) + sz, GFP_KERNEL); 11 if (!ring) 14 kref_init(&ring->ref); 15 ring->size = sz; 16 ring->wrap = BITS_PER_TYPE(ring->size) - ilog2(sz); 17 ring->effective_size = sz; 18 ring 26 mock_ring_free(struct intel_ring *ring) argument 31 check_ring_direction(struct intel_ring *ring, u32 next, u32 prev, int expected) argument 52 check_ring_step(struct intel_ring *ring, u32 x, u32 step) argument 65 check_ring_offset(struct intel_ring *ring, u32 x, u32 step) argument 78 struct intel_ring *ring; local [all...] |
H A D | intel_ring.h | 21 unsigned int intel_ring_update_space(struct intel_ring *ring); 23 void __intel_ring_pin(struct intel_ring *ring); 24 int intel_ring_pin(struct intel_ring *ring, struct i915_gem_ww_ctx *ww); 25 void intel_ring_unpin(struct intel_ring *ring); 26 void intel_ring_reset(struct intel_ring *ring, u32 tail); 30 static inline struct intel_ring *intel_ring_get(struct intel_ring *ring) argument 32 kref_get(&ring->ref); 33 return ring; 36 static inline void intel_ring_put(struct intel_ring *ring) argument 38 kref_put(&ring 55 intel_ring_wrap(const struct intel_ring *ring, u32 pos) argument 60 intel_ring_direction(const struct intel_ring *ring, u32 next, u32 prev) argument 69 intel_ring_offset_valid(const struct intel_ring *ring, unsigned int pos) argument 91 assert_ring_tail_valid(const struct intel_ring *ring, unsigned int tail) argument [all...] |
/linux-master/drivers/soc/ti/ |
H A D | k3-ringacc.c | 114 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); 147 * @elm_size: Size of the ring element 192 * @num_rings: number of ring in RA 193 * @rings_inuse: bitfield for ring usage tracking 205 * @dma_rings: indicate DMA ring (dual ring within BCDMA/PKTDMA) 240 static int k3_ringacc_ring_read_occ(struct k3_ring *ring) argument 245 k3_ringacc_ring_update_occ(struct k3_ring *ring) argument 255 k3_ringacc_ring_get_fifo_pos(struct k3_ring *ring) argument 261 k3_ringacc_get_elm_addr(struct k3_ring *ring, u32 idx) argument 310 k3_ringacc_ring_dump(struct k3_ring *ring) argument 463 k3_ringacc_ring_reset_sci(struct k3_ring *ring) argument 480 k3_ringacc_ring_reset(struct k3_ring *ring) argument 491 k3_ringacc_ring_reconfig_qmode_sci(struct k3_ring *ring, enum k3_ring_mode mode) argument 509 k3_ringacc_ring_reset_dma(struct k3_ring *ring, u32 occ) argument 568 k3_ringacc_ring_free_sci(struct k3_ring *ring) argument 584 k3_ringacc_ring_free(struct k3_ring *ring) argument 640 k3_ringacc_get_ring_id(struct k3_ring *ring) argument 649 k3_ringacc_get_tisci_dev_id(struct k3_ring *ring) argument 658 k3_ringacc_get_ring_irq_num(struct k3_ring *ring) argument 672 k3_ringacc_ring_cfg_sci(struct k3_ring *ring) argument 699 k3_dmaring_cfg(struct k3_ring *ring, struct k3_ring_cfg *cfg) argument 783 k3_ringacc_ring_cfg(struct k3_ring *ring, struct k3_ring_cfg *cfg) argument 887 k3_ringacc_ring_get_size(struct k3_ring *ring) argument 896 k3_ringacc_ring_get_free(struct k3_ring *ring) argument 908 k3_ringacc_ring_get_occ(struct k3_ring *ring) argument 917 k3_ringacc_ring_is_full(struct k3_ring *ring) argument 934 k3_ringacc_ring_cfg_proxy(struct k3_ring *ring, enum k3_ringacc_proxy_access_mode mode) argument 946 k3_ringacc_ring_access_proxy(struct k3_ring *ring, void *elem, enum k3_ringacc_access_mode access_mode) argument 994 k3_ringacc_ring_push_head_proxy(struct k3_ring *ring, void *elem) argument 1000 k3_ringacc_ring_push_tail_proxy(struct k3_ring *ring, void *elem) argument 1006 k3_ringacc_ring_pop_head_proxy(struct k3_ring *ring, void *elem) argument 1012 k3_ringacc_ring_pop_tail_proxy(struct k3_ring *ring, void *elem) argument 1018 k3_ringacc_ring_access_io(struct k3_ring *ring, void *elem, enum k3_ringacc_access_mode access_mode) argument 1065 k3_ringacc_ring_push_head_io(struct k3_ring *ring, void *elem) argument 1071 k3_ringacc_ring_push_io(struct k3_ring *ring, void *elem) argument 1077 k3_ringacc_ring_pop_io(struct k3_ring *ring, void *elem) argument 1083 k3_ringacc_ring_pop_tail_io(struct k3_ring *ring, void *elem) argument 1099 k3_dmaring_fwd_pop(struct k3_ring *ring, void *elem) argument 1129 k3_dmaring_reverse_pop(struct k3_ring *ring, void *elem) argument 1155 k3_ringacc_ring_push_mem(struct k3_ring *ring, void *elem) argument 1178 k3_ringacc_ring_pop_mem(struct k3_ring *ring, void *elem) argument 1195 k3_ringacc_ring_push(struct k3_ring *ring, void *elem) argument 1215 k3_ringacc_ring_push_head(struct k3_ring *ring, void *elem) argument 1235 k3_ringacc_ring_pop(struct k3_ring *ring, void *elem) argument 1258 k3_ringacc_ring_pop_tail(struct k3_ring *ring, void *elem) argument 1498 struct k3_ring *ring = &ringacc->rings[i]; local [all...] |
/linux-master/drivers/net/ethernet/apm/xgene/ |
H A D | xgene_enet_ring2.c | 12 static void xgene_enet_ring_init(struct xgene_enet_desc_ring *ring) argument 14 u32 *ring_cfg = ring->state; 15 u64 addr = ring->dma; 17 if (xgene_enet_ring_owner(ring->id) == RING_OWNER_CPU) { 18 ring_cfg[0] |= SET_VAL(X2_INTLINE, ring->id & RING_BUFNUM_MASK); 27 ring_cfg[3] |= SET_VAL(RINGSIZE, ring->cfgsize) 34 static void xgene_enet_ring_set_type(struct xgene_enet_desc_ring *ring) argument 36 u32 *ring_cfg = ring->state; 40 is_bufpool = xgene_enet_is_bufpool(ring->id); 47 static void xgene_enet_ring_set_recombbuf(struct xgene_enet_desc_ring *ring) argument 55 xgene_enet_ring_wr32(struct xgene_enet_desc_ring *ring, u32 offset, u32 data) argument 63 xgene_enet_write_ring_state(struct xgene_enet_desc_ring *ring) argument 75 xgene_enet_clr_ring_state(struct xgene_enet_desc_ring *ring) argument 81 xgene_enet_set_ring_state(struct xgene_enet_desc_ring *ring) argument 95 xgene_enet_set_ring_id(struct xgene_enet_desc_ring *ring) argument 118 xgene_enet_clr_desc_ring_id(struct xgene_enet_desc_ring *ring) argument 127 xgene_enet_setup_ring( struct xgene_enet_desc_ring *ring) argument 152 xgene_enet_clear_ring(struct xgene_enet_desc_ring *ring) argument 158 xgene_enet_wr_cmd(struct xgene_enet_desc_ring *ring, int count) argument 171 xgene_enet_ring_len(struct xgene_enet_desc_ring *ring) argument 182 xgene_enet_setup_coalescing(struct xgene_enet_desc_ring *ring) argument [all...] |
/linux-master/drivers/crypto/inside-secure/ |
H A D | safexcel_ring.c | 21 /* Actual command descriptor ring */ 32 /* Command descriptor shadow ring for storing additional token data */ 78 struct safexcel_desc_ring *ring, 82 void *ptr = ring->write; 85 *atoken = ring->shwrite; 87 if ((ring->write == ring->read - ring->offset) || 88 (ring->read == ring 77 safexcel_ring_next_cwptr(struct safexcel_crypto_priv *priv, struct safexcel_desc_ring *ring, bool first, struct safexcel_token **atoken) argument 102 safexcel_ring_next_rwptr(struct safexcel_crypto_priv *priv, struct safexcel_desc_ring *ring, struct result_data_desc **rtoken) argument 123 safexcel_ring_next_rptr(struct safexcel_crypto_priv *priv, struct safexcel_desc_ring *ring) argument 139 safexcel_ring_curr_rptr(struct safexcel_crypto_priv *priv, int ring) argument 147 safexcel_ring_first_rdr_index(struct safexcel_crypto_priv *priv, int ring) argument 155 safexcel_ring_rdr_rdesc_index(struct safexcel_crypto_priv *priv, int ring, struct safexcel_result_desc *rdesc) argument 164 safexcel_ring_rollback_wptr(struct safexcel_crypto_priv *priv, struct safexcel_desc_ring *ring) argument [all...] |
/linux-master/drivers/net/wireless/broadcom/b43legacy/ |
H A D | dma.c | 32 struct b43legacy_dmadesc32 *op32_idx2desc(struct b43legacy_dmaring *ring, argument 38 *meta = &(ring->meta[slot]); 39 desc = ring->descbase; 45 static void op32_fill_descriptor(struct b43legacy_dmaring *ring, argument 50 struct b43legacy_dmadesc32 *descbase = ring->descbase; 57 B43legacy_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); 62 addr |= ring->dev->dma.translation; 63 ctl = (bufsize - ring->frameoffset) 65 if (slot == ring->nr_slots - 1) 80 static void op32_poke_tx(struct b43legacy_dmaring *ring, in argument 86 op32_tx_suspend(struct b43legacy_dmaring *ring) argument 93 op32_tx_resume(struct b43legacy_dmaring *ring) argument 100 op32_get_current_rxslot(struct b43legacy_dmaring *ring) argument 110 op32_set_current_rxslot(struct b43legacy_dmaring *ring, int slot) argument 117 free_slots(struct b43legacy_dmaring *ring) argument 122 next_slot(struct b43legacy_dmaring *ring, int slot) argument 131 update_max_used_slots(struct b43legacy_dmaring *ring, int current_used_slots) argument 146 update_max_used_slots(struct b43legacy_dmaring *ring, int current_used_slots) argument 153 request_slot(struct b43legacy_dmaring *ring) argument 175 struct b43legacy_dmaring *ring; local 226 map_descbuffer(struct b43legacy_dmaring *ring, unsigned char *buf, size_t len, int tx) argument 246 unmap_descbuffer(struct b43legacy_dmaring *ring, dma_addr_t addr, size_t len, int tx) argument 262 sync_descbuffer_for_cpu(struct b43legacy_dmaring *ring, dma_addr_t addr, size_t len) argument 273 sync_descbuffer_for_device(struct b43legacy_dmaring *ring, dma_addr_t addr, size_t len) argument 284 free_descriptor_buffer(struct b43legacy_dmaring *ring, struct b43legacy_dmadesc_meta *meta, int irq_context) argument 297 alloc_ringmemory(struct b43legacy_dmaring *ring) argument 309 free_ringmemory(struct b43legacy_dmaring *ring) argument 390 b43legacy_dma_mapping_error(struct b43legacy_dmaring *ring, dma_addr_t addr, size_t buffersize, bool dma_to_device) argument 419 setup_rx_descbuffer(struct b43legacy_dmaring *ring, struct b43legacy_dmadesc32 *desc, struct b43legacy_dmadesc_meta *meta, gfp_t gfp_flags) argument 469 alloc_initial_descbuffers(struct b43legacy_dmaring *ring) argument 506 dmacontroller_setup(struct b43legacy_dmaring *ring) argument 548 dmacontroller_cleanup(struct b43legacy_dmaring *ring) argument 561 free_all_descbuffers(struct b43legacy_dmaring *ring) argument 608 struct b43legacy_dmaring *ring; local 707 b43legacy_destroy_dmaring(struct b43legacy_dmaring *ring) argument 758 struct b43legacy_dmaring *ring; local 852 generate_cookie(struct b43legacy_dmaring *ring, int slot) argument 895 struct b43legacy_dmaring *ring = NULL; local 925 dma_tx_fragment(struct b43legacy_dmaring *ring, struct sk_buff **in_skb) argument 1026 should_inject_overflow(struct b43legacy_dmaring *ring) argument 1051 struct b43legacy_dmaring *ring; local 1104 struct b43legacy_dmaring *ring; local 1220 dma_rx(struct b43legacy_dmaring *ring, int *slot) argument 1318 b43legacy_dma_rx(struct b43legacy_dmaring *ring) argument 1338 b43legacy_dma_tx_suspend_ring(struct b43legacy_dmaring *ring) argument 1344 b43legacy_dma_tx_resume_ring(struct b43legacy_dmaring *ring) argument [all...] |
/linux-master/drivers/thunderbolt/ |
H A D | nhi.c | 28 #define RING_TYPE(ring) ((ring)->is_tx ? "TX ring" : "RX ring") 53 static int ring_interrupt_index(const struct tb_ring *ring) argument 55 int bit = ring->hop; 56 if (!ring->is_tx) 57 bit += ring->nhi->hop_count; 61 static void nhi_mask_interrupt(struct tb_nhi *nhi, int mask, int ring) argument 66 val = ioread32(nhi->iobase + REG_RING_INTERRUPT_BASE + ring); 73 nhi_clear_interrupt(struct tb_nhi *nhi, int ring) argument 86 ring_interrupt_active(struct tb_ring *ring, bool active) argument 176 ring_desc_base(struct tb_ring *ring) argument 184 ring_options_base(struct tb_ring *ring) argument 192 ring_iowrite_cons(struct tb_ring *ring, u16 cons) argument 202 ring_iowrite_prod(struct tb_ring *ring, u16 prod) argument 208 ring_iowrite32desc(struct tb_ring *ring, u32 value, u32 offset) argument 213 ring_iowrite64desc(struct tb_ring *ring, u64 value, u32 offset) argument 219 ring_iowrite32options(struct tb_ring *ring, u32 value, u32 offset) argument 224 ring_full(struct tb_ring *ring) argument 229 ring_empty(struct tb_ring *ring) argument 239 ring_write_descriptors(struct tb_ring *ring) argument 275 struct tb_ring *ring = container_of(work, typeof(*ring), work); local 323 __tb_ring_enqueue(struct tb_ring *ring, struct ring_frame *frame) argument 349 tb_ring_poll(struct tb_ring *ring) argument 381 __ring_interrupt_mask(struct tb_ring *ring, bool mask) argument 397 __ring_interrupt(struct tb_ring *ring) argument 417 tb_ring_poll_complete(struct tb_ring *ring) argument 430 ring_clear_msix(const struct tb_ring *ring) argument 447 struct tb_ring *ring = data; local 459 ring_request_msix(struct tb_ring *ring, bool no_suspend) argument 493 ring_release_msix(struct tb_ring *ring) argument 504 nhi_alloc_hop(struct tb_nhi *nhi, struct tb_ring *ring) argument 582 struct tb_ring *ring = NULL; local 680 tb_ring_start(struct tb_ring *ring) argument 764 tb_ring_stop(struct tb_ring *ring) argument 809 tb_ring_free(struct tb_ring *ring) argument 912 struct tb_ring *ring; local [all...] |
/linux-master/drivers/net/ethernet/marvell/octeon_ep/ |
H A D | octep_regs_cnxk_pf.h | 73 #define CNXK_SDP_R_IN_CONTROL(ring) \ 74 (CNXK_SDP_R_IN_CONTROL_START + ((ring) * CNXK_RING_OFFSET)) 76 #define CNXK_SDP_R_IN_ENABLE(ring) \ 77 (CNXK_SDP_R_IN_ENABLE_START + ((ring) * CNXK_RING_OFFSET)) 79 #define CNXK_SDP_R_IN_INSTR_BADDR(ring) \ 80 (CNXK_SDP_R_IN_INSTR_BADDR_START + ((ring) * CNXK_RING_OFFSET)) 82 #define CNXK_SDP_R_IN_INSTR_RSIZE(ring) \ 83 (CNXK_SDP_R_IN_INSTR_RSIZE_START + ((ring) * CNXK_RING_OFFSET)) 85 #define CNXK_SDP_R_IN_INSTR_DBELL(ring) \ 86 (CNXK_SDP_R_IN_INSTR_DBELL_START + ((ring) * CNXK_RING_OFFSE [all...] |
/linux-master/drivers/gpu/drm/msm/ |
H A D | msm_ringbuffer.c | 17 struct msm_fence_context *fctx = submit->ring->fctx; 36 /* TODO move submit path over to using a per-ring lock.. */ 62 struct msm_ringbuffer *ring; local 70 ring = kzalloc(sizeof(*ring), GFP_KERNEL); 71 if (!ring) { 76 ring->gpu = gpu; 77 ring->id = id; 79 ring->start = msm_gem_kernel_new(gpu->dev, MSM_GPU_RINGBUFFER_SZ, 81 gpu->aspace, &ring 124 msm_ringbuffer_destroy(struct msm_ringbuffer *ring) argument [all...] |
/linux-master/drivers/net/wireless/broadcom/b43/ |
H A D | dma.c | 72 struct b43_dmadesc_generic *op32_idx2desc(struct b43_dmaring *ring, argument 78 *meta = &(ring->meta[slot]); 79 desc = ring->descbase; 85 static void op32_fill_descriptor(struct b43_dmaring *ring, argument 90 struct b43_dmadesc32 *descbase = ring->descbase; 97 B43_WARN_ON(!(slot >= 0 && slot < ring->nr_slots)); 99 addr = b43_dma_address(&ring->dev->dma, dmaaddr, B43_DMA_ADDR_LOW); 100 addrext = b43_dma_address(&ring->dev->dma, dmaaddr, B43_DMA_ADDR_EXT); 103 if (slot == ring->nr_slots - 1) 118 static void op32_poke_tx(struct b43_dmaring *ring, in argument 124 op32_tx_suspend(struct b43_dmaring *ring) argument 130 op32_tx_resume(struct b43_dmaring *ring) argument 136 op32_get_current_rxslot(struct b43_dmaring *ring) argument 146 op32_set_current_rxslot(struct b43_dmaring *ring, int slot) argument 164 op64_idx2desc(struct b43_dmaring *ring, int slot, struct b43_dmadesc_meta **meta) argument 177 op64_fill_descriptor(struct b43_dmaring *ring, struct b43_dmadesc_generic *desc, dma_addr_t dmaaddr, u16 bufsize, int start, int end, int irq) argument 213 op64_poke_tx(struct b43_dmaring *ring, int slot) argument 219 op64_tx_suspend(struct b43_dmaring *ring) argument 225 op64_tx_resume(struct b43_dmaring *ring) argument 231 op64_get_current_rxslot(struct b43_dmaring *ring) argument 241 op64_set_current_rxslot(struct b43_dmaring *ring, int slot) argument 257 free_slots(struct b43_dmaring *ring) argument 262 next_slot(struct b43_dmaring *ring, int slot) argument 270 prev_slot(struct b43_dmaring *ring, int slot) argument 279 update_max_used_slots(struct b43_dmaring *ring, int current_used_slots) argument 294 update_max_used_slots(struct b43_dmaring *ring, int current_used_slots) argument 300 request_slot(struct b43_dmaring *ring) argument 347 map_descbuffer(struct b43_dmaring *ring, unsigned char *buf, size_t len, int tx) argument 364 unmap_descbuffer(struct b43_dmaring *ring, dma_addr_t addr, size_t len, int tx) argument 377 sync_descbuffer_for_cpu(struct b43_dmaring *ring, dma_addr_t addr, size_t len) argument 386 sync_descbuffer_for_device(struct b43_dmaring *ring, dma_addr_t addr, size_t len) argument 395 free_descriptor_buffer(struct b43_dmaring *ring, struct b43_dmadesc_meta *meta) argument 407 alloc_ringmemory(struct b43_dmaring *ring) argument 430 free_ringmemory(struct b43_dmaring *ring) argument 538 b43_dma_mapping_error(struct b43_dmaring *ring, dma_addr_t addr, size_t buffersize, bool dma_to_device) argument 570 b43_rx_buffer_is_poisoned(struct b43_dmaring *ring, struct sk_buff *skb) argument 577 b43_poison_rx_buffer(struct b43_dmaring *ring, struct sk_buff *skb) argument 592 setup_rx_descbuffer(struct b43_dmaring *ring, struct b43_dmadesc_generic *desc, struct b43_dmadesc_meta *meta, gfp_t gfp_flags) argument 636 alloc_initial_descbuffers(struct b43_dmaring *ring) argument 672 dmacontroller_setup(struct b43_dmaring *ring) argument 753 dmacontroller_cleanup(struct b43_dmaring *ring) argument 774 free_all_descbuffers(struct b43_dmaring *ring) argument 837 struct b43_dmaring *ring; local 966 b43_destroy_dmaring(struct b43_dmaring *ring, const char *ringname) argument 1136 generate_cookie(struct b43_dmaring *ring, int slot) argument 1160 struct b43_dmaring *ring = NULL; local 1189 dma_tx_fragment(struct b43_dmaring *ring, struct sk_buff *skb) argument 1288 should_inject_overflow(struct b43_dmaring *ring) argument 1313 struct b43_dmaring *ring; local 1342 struct b43_dmaring *ring; local 1418 struct b43_dmaring *ring; local 1582 dma_rx(struct b43_dmaring *ring, int *slot) argument 1668 b43_dma_handle_rx_overflow(struct b43_dmaring *ring) argument 1687 b43_dma_rx(struct b43_dmaring *ring) argument 1707 b43_dma_tx_suspend_ring(struct b43_dmaring *ring) argument 1713 b43_dma_tx_resume_ring(struct b43_dmaring *ring) argument [all...] |
/linux-master/virt/kvm/ |
H A D | dirty_ring.c | 3 * KVM dirty ring implementation 38 static u32 kvm_dirty_ring_used(struct kvm_dirty_ring *ring) argument 40 return READ_ONCE(ring->dirty_index) - READ_ONCE(ring->reset_index); 43 static bool kvm_dirty_ring_soft_full(struct kvm_dirty_ring *ring) argument 45 return kvm_dirty_ring_used(ring) >= ring->soft_limit; 48 static bool kvm_dirty_ring_full(struct kvm_dirty_ring *ring) argument 50 return kvm_dirty_ring_used(ring) >= ring 74 kvm_dirty_ring_alloc(struct kvm_dirty_ring *ring, int index, u32 size) argument 104 kvm_dirty_ring_reset(struct kvm *kvm, struct kvm_dirty_ring *ring) argument 171 struct kvm_dirty_ring *ring = &vcpu->dirty_ring; local 213 kvm_dirty_ring_get_page(struct kvm_dirty_ring *ring, u32 offset) argument 218 kvm_dirty_ring_free(struct kvm_dirty_ring *ring) argument [all...] |