/kernel/linux/linux-6.6/drivers/block/xen-blkback/ |
H A D | blkback.c | 73 * to fill the ring, but since this might become too high, specially with 109 * Maximum order of pages to be used for the shared ring between front and 114 MODULE_PARM_DESC(max_ring_page_order, "Maximum order of pages to be used for the shared ring"); 143 static int do_block_io_op(struct xen_blkif_ring *ring, unsigned int *eoi_flags); 144 static int dispatch_rw_block_io(struct xen_blkif_ring *ring, 147 static void make_response(struct xen_blkif_ring *ring, u64 id, 168 static int add_persistent_gnt(struct xen_blkif_ring *ring, in add_persistent_gnt() argument 173 struct xen_blkif *blkif = ring->blkif; in add_persistent_gnt() 175 if (ring->persistent_gnt_c >= max_pgrants) { in add_persistent_gnt() 181 new = &ring in add_persistent_gnt() 205 get_persistent_gnt(struct xen_blkif_ring *ring, grant_ref_t gref) get_persistent_gnt() argument 232 put_persistent_gnt(struct xen_blkif_ring *ring, struct persistent_gnt *persistent_gnt) put_persistent_gnt() argument 242 free_persistent_gnts(struct xen_blkif_ring *ring) free_persistent_gnts() argument 296 struct xen_blkif_ring *ring = container_of(work, typeof(*ring), persistent_purge_work); xen_blkbk_unmap_purged_grants() local 332 purge_persistent_gnt(struct xen_blkif_ring *ring) purge_persistent_gnt() argument 414 alloc_req(struct xen_blkif_ring *ring) alloc_req() argument 433 free_req(struct xen_blkif_ring *ring, struct pending_req *req) free_req() argument 523 blkif_notify_work(struct xen_blkif_ring *ring) blkif_notify_work() argument 539 print_stats(struct xen_blkif_ring *ring) print_stats() argument 556 struct xen_blkif_ring *ring = arg; xen_blkif_schedule() local 636 xen_blkbk_free_caches(struct xen_blkif_ring *ring) xen_blkbk_free_caches() argument 645 xen_blkbk_unmap_prepare( struct xen_blkif_ring *ring, struct grant_page **pages, unsigned int num, struct gnttab_unmap_grant_ref *unmap_ops, struct page **unmap_pages) xen_blkbk_unmap_prepare() argument 674 struct xen_blkif_ring *ring = pending_req->ring; xen_blkbk_unmap_and_respond_callback() local 706 struct xen_blkif_ring *ring = req->ring; xen_blkbk_unmap_and_respond() local 731 xen_blkbk_unmap(struct xen_blkif_ring *ring, struct grant_page *pages[], int num) xen_blkbk_unmap() argument 756 xen_blkbk_map(struct xen_blkif_ring *ring, struct grant_page *pages[], int num, bool ro) xen_blkbk_map() argument 919 struct xen_blkif_ring *ring = pending_req->ring; xen_blkbk_parse_indirect() local 966 dispatch_discard_io(struct xen_blkif_ring *ring, struct blkif_request *req) dispatch_discard_io() argument 1010 dispatch_other_io(struct xen_blkif_ring *ring, struct blkif_request *req, struct pending_req *pending_req) dispatch_other_io() argument 1020 xen_blk_drain_io(struct xen_blkif_ring *ring) xen_blk_drain_io() argument 1187 __do_block_io_op(struct xen_blkif_ring *ring, unsigned int *eoi_flags) __do_block_io_op() argument 1271 do_block_io_op(struct xen_blkif_ring *ring, unsigned int *eoi_flags) do_block_io_op() argument 1290 dispatch_rw_block_io(struct xen_blkif_ring *ring, struct blkif_request *req, struct pending_req *pending_req) dispatch_rw_block_io() argument 1489 make_response(struct xen_blkif_ring *ring, u64 id, unsigned short op, int st) make_response() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/freedreno/a4xx/ |
H A D | fd4_image.c | 154 static void emit_image_tex(struct fd_ringbuffer *ring, unsigned slot, in emit_image_tex() argument 157 OUT_PKT3(ring, CP_LOAD_STATE4, 2 + 8); in emit_image_tex() 158 OUT_RING(ring, CP_LOAD_STATE4_0_DST_OFF(slot) | in emit_image_tex() 162 OUT_RING(ring, CP_LOAD_STATE4_1_STATE_TYPE(ST4_CONSTANTS) | in emit_image_tex() 165 OUT_RING(ring, A4XX_TEX_CONST_0_FMT(img->texfmt) | in emit_image_tex() 170 OUT_RING(ring, A4XX_TEX_CONST_1_WIDTH(img->width) | in emit_image_tex() 172 OUT_RING(ring, A4XX_TEX_CONST_2_PITCHALIGN(img->pitchalign) | in emit_image_tex() 175 OUT_RING(ring, A4XX_TEX_CONST_3_DEPTH(img->depth) | in emit_image_tex() 178 OUT_RELOC(ring, img->bo, img->offset, img->texconst4, 0); in emit_image_tex() 180 OUT_RING(ring, in emit_image_tex() 200 emit_image_ssbo(struct fd_ringbuffer *ring, unsigned slot, struct fd4_image *img, enum pipe_shader_type shader) emit_image_ssbo() argument 234 fd4_emit_images(struct fd_context *ctx, struct fd_ringbuffer *ring, enum pipe_shader_type shader, const struct ir3_shader_variant *v) fd4_emit_images() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/qxl/ |
H A D | qxl_cmd.c | 26 /* QXL cmd/ring handling */ 37 struct ring { struct 43 struct ring *ring; member 51 void qxl_ring_free(struct qxl_ring *ring) in qxl_ring_free() argument 53 kfree(ring); in qxl_ring_free() 56 void qxl_ring_init_hdr(struct qxl_ring *ring) in qxl_ring_init_hdr() argument 58 ring->ring->header.notify_on_prod = ring in qxl_ring_init_hdr() 69 struct qxl_ring *ring; qxl_ring_create() local 86 qxl_check_header(struct qxl_ring *ring) qxl_check_header() argument 100 qxl_check_idle(struct qxl_ring *ring) qxl_check_idle() argument 112 qxl_ring_push(struct qxl_ring *ring, const void *new_elt, bool interruptible) qxl_ring_push() argument 159 qxl_ring_pop(struct qxl_ring *ring, void *element) qxl_ring_pop() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
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 | sdma_v2_4.c | 85 * and each one supports 1 ring buffer used for gfx 89 * (ring buffer, IBs, etc.), but sDMA has it's own 190 * @ring: amdgpu ring pointer 194 static uint64_t sdma_v2_4_ring_get_rptr(struct amdgpu_ring *ring) in sdma_v2_4_ring_get_rptr() argument 197 return ring->adev->wb.wb[ring->rptr_offs] >> 2; in sdma_v2_4_ring_get_rptr() 203 * @ring: amdgpu ring pointer 207 static uint64_t sdma_v2_4_ring_get_wptr(struct amdgpu_ring *ring) in sdma_v2_4_ring_get_wptr() argument 222 sdma_v2_4_ring_set_wptr(struct amdgpu_ring *ring) sdma_v2_4_ring_set_wptr() argument 229 sdma_v2_4_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) sdma_v2_4_ring_insert_nop() argument 250 sdma_v2_4_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, struct amdgpu_ib *ib, uint32_t flags) sdma_v2_4_ring_emit_ib() argument 278 sdma_v2_4_ring_emit_hdp_flush(struct amdgpu_ring *ring) sdma_v2_4_ring_emit_hdp_flush() argument 308 sdma_v2_4_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, unsigned flags) sdma_v2_4_ring_emit_fence() argument 410 struct amdgpu_ring *ring; sdma_v2_4_gfx_resume() local 545 sdma_v2_4_ring_test_ring(struct amdgpu_ring *ring) sdma_v2_4_ring_test_ring() argument 597 sdma_v2_4_ring_test_ib(struct amdgpu_ring *ring, long timeout) sdma_v2_4_ring_test_ib() argument 746 sdma_v2_4_ring_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) sdma_v2_4_ring_pad_ib() argument 770 sdma_v2_4_ring_emit_pipeline_sync(struct amdgpu_ring *ring) sdma_v2_4_ring_emit_pipeline_sync() argument 797 sdma_v2_4_ring_emit_vm_flush(struct amdgpu_ring *ring, unsigned vmid, uint64_t pd_addr) sdma_v2_4_ring_emit_vm_flush() argument 814 sdma_v2_4_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) sdma_v2_4_ring_emit_wreg() argument 839 struct amdgpu_ring *ring; sdma_v2_4_sw_init() local [all...] |
H A D | mes_v10_1.c | 44 static void mes_v10_1_ring_set_wptr(struct amdgpu_ring *ring) in mes_v10_1_ring_set_wptr() argument 46 struct amdgpu_device *adev = ring->adev; in mes_v10_1_ring_set_wptr() 48 if (ring->use_doorbell) { in mes_v10_1_ring_set_wptr() 49 atomic64_set((atomic64_t*)&adev->wb.wb[ring->wptr_offs], in mes_v10_1_ring_set_wptr() 50 ring->wptr); in mes_v10_1_ring_set_wptr() 51 WDOORBELL64(ring->doorbell_index, ring->wptr); in mes_v10_1_ring_set_wptr() 57 static u64 mes_v10_1_ring_get_rptr(struct amdgpu_ring *ring) in mes_v10_1_ring_get_rptr() argument 59 return ring->adev->wb.wb[ring in mes_v10_1_ring_get_rptr() 62 mes_v10_1_ring_get_wptr(struct amdgpu_ring *ring) mes_v10_1_ring_get_wptr() argument 92 struct amdgpu_ring *ring = &mes->ring; mes_v10_1_submit_pkt_and_poll_completion() local 594 mes_v10_1_mqd_init(struct amdgpu_ring *ring) mes_v10_1_mqd_init() argument 724 mes_v10_1_queue_init_register(struct amdgpu_ring *ring) mes_v10_1_queue_init_register() argument 834 struct amdgpu_ring *ring; mes_v10_1_ring_init() local 857 struct amdgpu_ring *ring = &adev->mes.ring; mes_v10_1_mqd_sw_init() local [all...] |
H A D | cik_sdma.c | 87 * and each one supports 1 ring buffer used for gfx 91 * (ring buffer, IBs, etc.), but sDMA has it's own 159 * @ring: amdgpu ring pointer 163 static uint64_t cik_sdma_ring_get_rptr(struct amdgpu_ring *ring) in cik_sdma_ring_get_rptr() argument 167 rptr = ring->adev->wb.wb[ring->rptr_offs]; in cik_sdma_ring_get_rptr() 175 * @ring: amdgpu ring pointer 179 static uint64_t cik_sdma_ring_get_wptr(struct amdgpu_ring *ring) in cik_sdma_ring_get_wptr() argument 193 cik_sdma_ring_set_wptr(struct amdgpu_ring *ring) cik_sdma_ring_set_wptr() argument 201 cik_sdma_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) cik_sdma_ring_insert_nop() argument 222 cik_sdma_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, struct amdgpu_ib *ib, uint32_t flags) cik_sdma_ring_emit_ib() argument 247 cik_sdma_ring_emit_hdp_flush(struct amdgpu_ring *ring) cik_sdma_ring_emit_hdp_flush() argument 276 cik_sdma_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, unsigned flags) cik_sdma_ring_emit_fence() argument 432 struct amdgpu_ring *ring; cik_sdma_gfx_resume() local 611 cik_sdma_ring_test_ring(struct amdgpu_ring *ring) cik_sdma_ring_test_ring() argument 662 cik_sdma_ring_test_ib(struct amdgpu_ring *ring, long timeout) cik_sdma_ring_test_ib() argument 807 cik_sdma_ring_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) cik_sdma_ring_pad_ib() argument 831 cik_sdma_ring_emit_pipeline_sync(struct amdgpu_ring *ring) cik_sdma_ring_emit_pipeline_sync() argument 857 cik_sdma_ring_emit_vm_flush(struct amdgpu_ring *ring, unsigned vmid, uint64_t pd_addr) cik_sdma_ring_emit_vm_flush() argument 873 cik_sdma_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) cik_sdma_ring_emit_wreg() argument 946 struct amdgpu_ring *ring; cik_sdma_sw_init() local [all...] |
H A D | amdgpu_gfx.c | 257 struct amdgpu_ring *ring) in amdgpu_gfx_kiq_acquire() 280 ring->me = mec + 1; in amdgpu_gfx_kiq_acquire() 281 ring->pipe = pipe; in amdgpu_gfx_kiq_acquire() 282 ring->queue = queue; in amdgpu_gfx_kiq_acquire() 292 struct amdgpu_ring *ring, in amdgpu_gfx_kiq_init_ring() 300 ring->adev = NULL; in amdgpu_gfx_kiq_init_ring() 301 ring->ring_obj = NULL; in amdgpu_gfx_kiq_init_ring() 302 ring->use_doorbell = true; in amdgpu_gfx_kiq_init_ring() 303 ring->doorbell_index = adev->doorbell_index.kiq; in amdgpu_gfx_kiq_init_ring() 305 r = amdgpu_gfx_kiq_acquire(adev, ring); in amdgpu_gfx_kiq_init_ring() 256 amdgpu_gfx_kiq_acquire(struct amdgpu_device *adev, struct amdgpu_ring *ring) amdgpu_gfx_kiq_acquire() argument 291 amdgpu_gfx_kiq_init_ring(struct amdgpu_device *adev, struct amdgpu_ring *ring, struct amdgpu_irq_src *irq) amdgpu_gfx_kiq_init_ring() argument 321 amdgpu_gfx_kiq_free_ring(struct amdgpu_ring *ring) amdgpu_gfx_kiq_free_ring() argument 363 struct amdgpu_ring *ring = NULL; amdgpu_gfx_mqd_sw_init() local 433 struct amdgpu_ring *ring = NULL; amdgpu_gfx_mqd_sw_fini() local 712 struct amdgpu_ring *ring = &kiq->ring; amdgpu_kiq_rreg() local 777 struct amdgpu_ring *ring = &kiq->ring; amdgpu_kiq_wreg() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
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 | sdma_v4_4_2.c | 151 * @ring: amdgpu ring pointer 155 static uint64_t sdma_v4_4_2_ring_get_rptr(struct amdgpu_ring *ring) in sdma_v4_4_2_ring_get_rptr() argument 160 rptr = ((u64 *)&ring->adev->wb.wb[ring->rptr_offs]); in sdma_v4_4_2_ring_get_rptr() 169 * @ring: amdgpu ring pointer 173 static uint64_t sdma_v4_4_2_ring_get_wptr(struct amdgpu_ring *ring) in sdma_v4_4_2_ring_get_wptr() argument 175 struct amdgpu_device *adev = ring->adev; in sdma_v4_4_2_ring_get_wptr() 178 if (ring in sdma_v4_4_2_ring_get_wptr() 200 sdma_v4_4_2_ring_set_wptr(struct amdgpu_ring *ring) sdma_v4_4_2_ring_set_wptr() argument 242 sdma_v4_4_2_page_ring_get_wptr(struct amdgpu_ring *ring) sdma_v4_4_2_page_ring_get_wptr() argument 266 sdma_v4_4_2_page_ring_set_wptr(struct amdgpu_ring *ring) sdma_v4_4_2_page_ring_set_wptr() argument 286 sdma_v4_4_2_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) sdma_v4_4_2_ring_insert_nop() argument 309 sdma_v4_4_2_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, struct amdgpu_ib *ib, uint32_t flags) sdma_v4_4_2_ring_emit_ib() argument 330 sdma_v4_4_2_wait_reg_mem(struct amdgpu_ring *ring, int mem_space, int hdp, uint32_t addr0, uint32_t addr1, uint32_t ref, uint32_t mask, uint32_t inv) sdma_v4_4_2_wait_reg_mem() argument 362 sdma_v4_4_2_ring_emit_hdp_flush(struct amdgpu_ring *ring) sdma_v4_4_2_ring_emit_hdp_flush() argument 388 sdma_v4_4_2_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, unsigned flags) sdma_v4_4_2_ring_emit_fence() argument 594 sdma_v4_4_2_rb_cntl(struct amdgpu_ring *ring, uint32_t rb_cntl) sdma_v4_4_2_rb_cntl() argument 620 struct amdgpu_ring *ring = &adev->sdma.instance[i].ring; sdma_v4_4_2_gfx_resume() local 708 struct amdgpu_ring *ring = &adev->sdma.instance[i].page; sdma_v4_4_2_page_resume() local 865 struct amdgpu_ring *ring; sdma_v4_4_2_inst_start() local 958 sdma_v4_4_2_ring_test_ring(struct amdgpu_ring *ring) sdma_v4_4_2_ring_test_ring() argument 1011 sdma_v4_4_2_ring_test_ib(struct amdgpu_ring *ring, long timeout) sdma_v4_4_2_ring_test_ib() argument 1163 sdma_v4_4_2_ring_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) sdma_v4_4_2_ring_pad_ib() argument 1188 sdma_v4_4_2_ring_emit_pipeline_sync(struct amdgpu_ring *ring) sdma_v4_4_2_ring_emit_pipeline_sync() argument 1211 sdma_v4_4_2_ring_emit_vm_flush(struct amdgpu_ring *ring, unsigned vmid, uint64_t pd_addr) sdma_v4_4_2_ring_emit_vm_flush() argument 1217 sdma_v4_4_2_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) sdma_v4_4_2_ring_emit_wreg() argument 1226 sdma_v4_4_2_ring_emit_reg_wait(struct amdgpu_ring *ring, uint32_t reg, uint32_t val, uint32_t mask) sdma_v4_4_2_ring_emit_reg_wait() argument 1291 struct amdgpu_ring *ring; sdma_v4_4_2_sw_init() local [all...] |
H A D | sdma_v2_4.c | 85 * and each one supports 1 ring buffer used for gfx 89 * (ring buffer, IBs, etc.), but sDMA has it's own 184 * @ring: amdgpu ring pointer 188 static uint64_t sdma_v2_4_ring_get_rptr(struct amdgpu_ring *ring) in sdma_v2_4_ring_get_rptr() argument 191 return *ring->rptr_cpu_addr >> 2; in sdma_v2_4_ring_get_rptr() 197 * @ring: amdgpu ring pointer 201 static uint64_t sdma_v2_4_ring_get_wptr(struct amdgpu_ring *ring) in sdma_v2_4_ring_get_wptr() argument 203 struct amdgpu_device *adev = ring in sdma_v2_4_ring_get_wptr() 216 sdma_v2_4_ring_set_wptr(struct amdgpu_ring *ring) sdma_v2_4_ring_set_wptr() argument 223 sdma_v2_4_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) sdma_v2_4_ring_insert_nop() argument 246 sdma_v2_4_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, struct amdgpu_ib *ib, uint32_t flags) sdma_v2_4_ring_emit_ib() argument 274 sdma_v2_4_ring_emit_hdp_flush(struct amdgpu_ring *ring) sdma_v2_4_ring_emit_hdp_flush() argument 306 sdma_v2_4_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, unsigned flags) sdma_v2_4_ring_emit_fence() argument 404 struct amdgpu_ring *ring; sdma_v2_4_gfx_resume() local 535 sdma_v2_4_ring_test_ring(struct amdgpu_ring *ring) sdma_v2_4_ring_test_ring() argument 588 sdma_v2_4_ring_test_ib(struct amdgpu_ring *ring, long timeout) sdma_v2_4_ring_test_ib() argument 738 sdma_v2_4_ring_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) sdma_v2_4_ring_pad_ib() argument 762 sdma_v2_4_ring_emit_pipeline_sync(struct amdgpu_ring *ring) sdma_v2_4_ring_emit_pipeline_sync() argument 790 sdma_v2_4_ring_emit_vm_flush(struct amdgpu_ring *ring, unsigned vmid, uint64_t pd_addr) sdma_v2_4_ring_emit_vm_flush() argument 807 sdma_v2_4_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) sdma_v2_4_ring_emit_wreg() argument 832 struct amdgpu_ring *ring; sdma_v2_4_sw_init() local [all...] |
H A D | mes_v10_1.c | 49 static void mes_v10_1_ring_set_wptr(struct amdgpu_ring *ring) in mes_v10_1_ring_set_wptr() argument 51 struct amdgpu_device *adev = ring->adev; in mes_v10_1_ring_set_wptr() 53 if (ring->use_doorbell) { in mes_v10_1_ring_set_wptr() 54 atomic64_set((atomic64_t *)ring->wptr_cpu_addr, in mes_v10_1_ring_set_wptr() 55 ring->wptr); in mes_v10_1_ring_set_wptr() 56 WDOORBELL64(ring->doorbell_index, ring->wptr); in mes_v10_1_ring_set_wptr() 62 static u64 mes_v10_1_ring_get_rptr(struct amdgpu_ring *ring) in mes_v10_1_ring_get_rptr() argument 64 return *ring->rptr_cpu_addr; in mes_v10_1_ring_get_rptr() 67 static u64 mes_v10_1_ring_get_wptr(struct amdgpu_ring *ring) in mes_v10_1_ring_get_wptr() argument 98 struct amdgpu_ring *ring = &mes->ring; mes_v10_1_submit_pkt_and_poll_completion() local 629 mes_v10_1_mqd_init(struct amdgpu_ring *ring) mes_v10_1_mqd_init() argument 838 struct amdgpu_ring *ring; mes_v10_1_ring_init() local 861 struct amdgpu_ring *ring; mes_v10_1_kiq_ring_init() local 888 struct amdgpu_ring *ring; mes_v10_1_mqd_sw_init() local 992 mes_v10_1_kiq_setting(struct amdgpu_ring *ring) mes_v10_1_kiq_setting() argument [all...] |
H A D | amdgpu_ring_mux.h | 35 * @ring: the pointer to the software ring. 36 * @start_ptr_in_hw_ring: last start location copied to in the hardware ring. 37 * @end_ptr_in_hw_ring: last end location copied to in the hardware ring. 38 * @sw_cptr: the position of the copy pointer in the sw ring. 39 * @sw_rptr: the read pointer in software ring. 40 * @sw_wptr: the write pointer in software ring. 44 struct amdgpu_ring *ring; member 88 * @start:- start location on the software ring. 89 * @end:- end location on the software ring [all...] |
H A D | cik_sdma.c | 86 * and each one supports 1 ring buffer used for gfx 90 * (ring buffer, IBs, etc.), but sDMA has it's own 155 * @ring: amdgpu ring pointer 159 static uint64_t cik_sdma_ring_get_rptr(struct amdgpu_ring *ring) in cik_sdma_ring_get_rptr() argument 163 rptr = *ring->rptr_cpu_addr; in cik_sdma_ring_get_rptr() 171 * @ring: amdgpu ring pointer 175 static uint64_t cik_sdma_ring_get_wptr(struct amdgpu_ring *ring) in cik_sdma_ring_get_wptr() argument 177 struct amdgpu_device *adev = ring in cik_sdma_ring_get_wptr() 189 cik_sdma_ring_set_wptr(struct amdgpu_ring *ring) cik_sdma_ring_set_wptr() argument 197 cik_sdma_ring_insert_nop(struct amdgpu_ring *ring, uint32_t count) cik_sdma_ring_insert_nop() argument 220 cik_sdma_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, struct amdgpu_ib *ib, uint32_t flags) cik_sdma_ring_emit_ib() argument 245 cik_sdma_ring_emit_hdp_flush(struct amdgpu_ring *ring) cik_sdma_ring_emit_hdp_flush() argument 276 cik_sdma_ring_emit_fence(struct amdgpu_ring *ring, u64 addr, u64 seq, unsigned flags) cik_sdma_ring_emit_fence() argument 428 struct amdgpu_ring *ring; cik_sdma_gfx_resume() local 603 cik_sdma_ring_test_ring(struct amdgpu_ring *ring) cik_sdma_ring_test_ring() argument 655 cik_sdma_ring_test_ib(struct amdgpu_ring *ring, long timeout) cik_sdma_ring_test_ib() argument 801 cik_sdma_ring_pad_ib(struct amdgpu_ring *ring, struct amdgpu_ib *ib) cik_sdma_ring_pad_ib() argument 825 cik_sdma_ring_emit_pipeline_sync(struct amdgpu_ring *ring) cik_sdma_ring_emit_pipeline_sync() argument 852 cik_sdma_ring_emit_vm_flush(struct amdgpu_ring *ring, unsigned vmid, uint64_t pd_addr) cik_sdma_ring_emit_vm_flush() argument 868 cik_sdma_ring_emit_wreg(struct amdgpu_ring *ring, uint32_t reg, uint32_t val) cik_sdma_ring_emit_wreg() argument 941 struct amdgpu_ring *ring; cik_sdma_sw_init() local [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/apm/xgene/ |
H A D | xgene_enet_hw.c | 13 static void xgene_enet_ring_init(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_init() argument 15 u32 *ring_cfg = ring->state; in xgene_enet_ring_init() 16 u64 addr = ring->dma; in xgene_enet_ring_init() 17 enum xgene_enet_ring_cfgsize cfgsize = ring->cfgsize; in xgene_enet_ring_init() 33 static void xgene_enet_ring_set_type(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_type() argument 35 u32 *ring_cfg = ring->state; in xgene_enet_ring_set_type() 39 is_bufpool = xgene_enet_is_bufpool(ring->id); in xgene_enet_ring_set_type() 50 static void xgene_enet_ring_set_recombbuf(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_recombbuf() argument 52 u32 *ring_cfg = ring->state; in xgene_enet_ring_set_recombbuf() 60 static void xgene_enet_ring_wr32(struct xgene_enet_desc_ring *ring, in xgene_enet_ring_wr32() argument 68 xgene_enet_ring_rd32(struct xgene_enet_desc_ring *ring, u32 offset, u32 *data) xgene_enet_ring_rd32() argument 76 xgene_enet_write_ring_state(struct xgene_enet_desc_ring *ring) xgene_enet_write_ring_state() argument 88 xgene_enet_clr_ring_state(struct xgene_enet_desc_ring *ring) xgene_enet_clr_ring_state() argument 94 xgene_enet_set_ring_state(struct xgene_enet_desc_ring *ring) xgene_enet_set_ring_state() argument 106 xgene_enet_set_ring_id(struct xgene_enet_desc_ring *ring) xgene_enet_set_ring_id() argument 125 xgene_enet_clr_desc_ring_id(struct xgene_enet_desc_ring *ring) xgene_enet_clr_desc_ring_id() argument 134 xgene_enet_setup_ring( struct xgene_enet_desc_ring *ring) xgene_enet_setup_ring() argument 161 xgene_enet_clear_ring(struct xgene_enet_desc_ring *ring) xgene_enet_clear_ring() argument 179 xgene_enet_wr_cmd(struct xgene_enet_desc_ring *ring, int count) xgene_enet_wr_cmd() argument 184 xgene_enet_ring_len(struct xgene_enet_desc_ring *ring) xgene_enet_ring_len() argument 195 xgene_enet_parse_error(struct xgene_enet_desc_ring *ring, enum xgene_enet_err_code status) xgene_enet_parse_error() argument 732 xgene_enet_clear(struct xgene_enet_pdata *pdata, struct xgene_enet_desc_ring *ring) xgene_enet_clear() argument [all...] |
H A D | xgene_enet_main.c | 390 static __le64 *xgene_enet_get_exp_bufs(struct xgene_enet_desc_ring *ring) in xgene_enet_get_exp_bufs() argument 394 exp_bufs = &ring->exp_bufs[ring->exp_buf_tail * MAX_EXP_BUFFS]; in xgene_enet_get_exp_bufs() 396 ring->exp_buf_tail = (ring->exp_buf_tail + 1) & ((ring->slots / 2) - 1); in xgene_enet_get_exp_bufs() 401 static dma_addr_t *xgene_get_frag_dma_array(struct xgene_enet_desc_ring *ring) in xgene_get_frag_dma_array() argument 403 return &ring->cp_ring->frag_dma_addr[ring->tail * MAX_SKB_FRAGS]; in xgene_get_frag_dma_array() 783 static int xgene_enet_process_ring(struct xgene_enet_desc_ring *ring, in xgene_enet_process_ring() argument 850 struct xgene_enet_desc_ring *ring; xgene_enet_napi() local 882 struct xgene_enet_desc_ring *ring; xgene_enet_set_irq_name() local 907 struct xgene_enet_desc_ring *ring; xgene_enet_register_irq() local 939 struct xgene_enet_desc_ring *ring; xgene_enet_free_irq() local 1048 xgene_enet_delete_ring(struct xgene_enet_desc_ring *ring) xgene_enet_delete_ring() argument 1063 struct xgene_enet_desc_ring *ring; xgene_enet_delete_desc_rings() local 1129 xgene_enet_free_desc_ring(struct xgene_enet_desc_ring *ring) xgene_enet_free_desc_ring() argument 1151 struct xgene_enet_desc_ring *ring; xgene_enet_free_desc_rings() local 1195 is_irq_mbox_required(struct xgene_enet_pdata *pdata, struct xgene_enet_desc_ring *ring) is_irq_mbox_required() argument 1206 xgene_enet_ring_cmd_base(struct xgene_enet_pdata *pdata, struct xgene_enet_desc_ring *ring) xgene_enet_ring_cmd_base() argument 1220 struct xgene_enet_desc_ring *ring; xgene_enet_create_desc_ring() local 1477 struct xgene_enet_desc_ring *ring; xgene_enet_get_stats64() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/apm/xgene/ |
H A D | xgene_enet_hw.c | 13 static void xgene_enet_ring_init(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_init() argument 15 u32 *ring_cfg = ring->state; in xgene_enet_ring_init() 16 u64 addr = ring->dma; in xgene_enet_ring_init() 17 enum xgene_enet_ring_cfgsize cfgsize = ring->cfgsize; in xgene_enet_ring_init() 33 static void xgene_enet_ring_set_type(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_type() argument 35 u32 *ring_cfg = ring->state; in xgene_enet_ring_set_type() 39 is_bufpool = xgene_enet_is_bufpool(ring->id); in xgene_enet_ring_set_type() 50 static void xgene_enet_ring_set_recombbuf(struct xgene_enet_desc_ring *ring) in xgene_enet_ring_set_recombbuf() argument 52 u32 *ring_cfg = ring->state; in xgene_enet_ring_set_recombbuf() 60 static void xgene_enet_ring_wr32(struct xgene_enet_desc_ring *ring, in xgene_enet_ring_wr32() argument 68 xgene_enet_ring_rd32(struct xgene_enet_desc_ring *ring, u32 offset, u32 *data) xgene_enet_ring_rd32() argument 76 xgene_enet_write_ring_state(struct xgene_enet_desc_ring *ring) xgene_enet_write_ring_state() argument 88 xgene_enet_clr_ring_state(struct xgene_enet_desc_ring *ring) xgene_enet_clr_ring_state() argument 94 xgene_enet_set_ring_state(struct xgene_enet_desc_ring *ring) xgene_enet_set_ring_state() argument 106 xgene_enet_set_ring_id(struct xgene_enet_desc_ring *ring) xgene_enet_set_ring_id() argument 125 xgene_enet_clr_desc_ring_id(struct xgene_enet_desc_ring *ring) xgene_enet_clr_desc_ring_id() argument 134 xgene_enet_setup_ring( struct xgene_enet_desc_ring *ring) xgene_enet_setup_ring() argument 161 xgene_enet_clear_ring(struct xgene_enet_desc_ring *ring) xgene_enet_clear_ring() argument 179 xgene_enet_wr_cmd(struct xgene_enet_desc_ring *ring, int count) xgene_enet_wr_cmd() argument 184 xgene_enet_ring_len(struct xgene_enet_desc_ring *ring) xgene_enet_ring_len() argument 195 xgene_enet_parse_error(struct xgene_enet_desc_ring *ring, enum xgene_enet_err_code status) xgene_enet_parse_error() argument 732 xgene_enet_clear(struct xgene_enet_pdata *pdata, struct xgene_enet_desc_ring *ring) xgene_enet_clear() argument [all...] |
/third_party/mesa3d/src/gallium/drivers/freedreno/a6xx/ |
H A D | fd6_emit.c | 221 emit_border_color(struct fd_context *ctx, struct fd_ringbuffer *ring) assert_dt 241 OUT_PKT4(ring, REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR, 2); 242 OUT_RELOC(ring, fd_resource(fd6_ctx->border_color_buf)->bo, off, 0, 0); 274 fd6_emit_textures(struct fd_context *ctx, struct fd_ringbuffer *ring, in fd6_emit_textures() argument 348 OUT_PKT7(ring, opcode, 3); in fd6_emit_textures() 349 OUT_RING(ring, CP_LOAD_STATE6_0_DST_OFF(0) | in fd6_emit_textures() 354 OUT_RB(ring, state); /* SRC_ADDR_LO/HI */ in fd6_emit_textures() 356 OUT_PKT4(ring, tex_samp_reg, 2); in fd6_emit_textures() 357 OUT_RB(ring, state); /* SRC_ADDR_LO/HI */ in fd6_emit_textures() 448 OUT_PKT7(ring, opcod in fd6_emit_textures() 565 struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( global() variable 712 struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( global() variable 734 struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( global() variable 766 struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( global() variable 816 struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( global() variable 842 struct fd_ringbuffer *ring = fd_submit_new_ringbuffer( global() variable 1013 fd6_emit_state(struct fd_ringbuffer *ring, struct fd6_emit *emit) fd6_emit_state() argument 1179 fd6_emit_cs_state(struct fd_context *ctx, struct fd_ringbuffer *ring, struct ir3_shader_variant *cp) fd6_emit_cs_state() argument 1238 fd6_emit_restore(struct fd_batch *batch, struct fd_ringbuffer *ring) fd6_emit_restore() argument 1381 fd6_mem_to_mem(struct fd_ringbuffer *ring, struct pipe_resource *dst, unsigned dst_off, struct pipe_resource *src, unsigned src_off, unsigned sizedwords) fd6_mem_to_mem() argument 1410 struct fd_ringbuffer *ring = batch->draw; global() variable [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
H A D | vce_v1_0.c | 55 * @ring: radeon_ring pointer 60 struct radeon_ring *ring) in vce_v1_0_get_rptr() 62 if (ring->idx == TN_RING_TYPE_VCE1_INDEX) in vce_v1_0_get_rptr() 72 * @ring: radeon_ring pointer 77 struct radeon_ring *ring) in vce_v1_0_get_wptr() 79 if (ring->idx == TN_RING_TYPE_VCE1_INDEX) in vce_v1_0_get_wptr() 89 * @ring: radeon_ring pointer 94 struct radeon_ring *ring) in vce_v1_0_set_wptr() 96 if (ring->idx == TN_RING_TYPE_VCE1_INDEX) in vce_v1_0_set_wptr() 97 WREG32(VCE_RB_WPTR, ring in vce_v1_0_set_wptr() 59 vce_v1_0_get_rptr(struct radeon_device *rdev, struct radeon_ring *ring) vce_v1_0_get_rptr() argument 76 vce_v1_0_get_wptr(struct radeon_device *rdev, struct radeon_ring *ring) vce_v1_0_get_wptr() argument 93 vce_v1_0_set_wptr(struct radeon_device *rdev, struct radeon_ring *ring) vce_v1_0_set_wptr() argument 290 struct radeon_ring *ring; vce_v1_0_start() local 357 struct radeon_ring *ring; vce_v1_0_init() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/radeon/ |
H A D | vce_v1_0.c | 56 * @ring: radeon_ring pointer 61 struct radeon_ring *ring) in vce_v1_0_get_rptr() 63 if (ring->idx == TN_RING_TYPE_VCE1_INDEX) in vce_v1_0_get_rptr() 73 * @ring: radeon_ring pointer 78 struct radeon_ring *ring) in vce_v1_0_get_wptr() 80 if (ring->idx == TN_RING_TYPE_VCE1_INDEX) in vce_v1_0_get_wptr() 90 * @ring: radeon_ring pointer 95 struct radeon_ring *ring) in vce_v1_0_set_wptr() 97 if (ring->idx == TN_RING_TYPE_VCE1_INDEX) in vce_v1_0_set_wptr() 98 WREG32(VCE_RB_WPTR, ring in vce_v1_0_set_wptr() 60 vce_v1_0_get_rptr(struct radeon_device *rdev, struct radeon_ring *ring) vce_v1_0_get_rptr() argument 77 vce_v1_0_get_wptr(struct radeon_device *rdev, struct radeon_ring *ring) vce_v1_0_get_wptr() argument 94 vce_v1_0_set_wptr(struct radeon_device *rdev, struct radeon_ring *ring) vce_v1_0_set_wptr() argument 291 struct radeon_ring *ring; vce_v1_0_start() local 358 struct radeon_ring *ring; vce_v1_0_init() local [all...] |
H A D | radeon_ib.c | 38 * command ring and the hw will fetch the commands from the IB 41 * put in IBs for execution by the requested ring. 49 * @ring: ring index the IB is associated with 58 int radeon_ib_get(struct radeon_device *rdev, int ring, in radeon_ib_get() argument 72 ib->ring = ring; in radeon_ib_get() 105 * radeon_ib_schedule - schedule an IB (Indirect Buffer) on the ring 112 * Schedule an IB on the associated ring (all asics). 115 * On SI, there are two parallel engines fed from the primary ring, 128 struct radeon_ring *ring = &rdev->ring[ib->ring]; radeon_ib_schedule() local 262 struct radeon_ring *ring = &rdev->ring[i]; radeon_ib_ring_tests() local [all...] |
/device/soc/rockchip/common/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd_wifi6/ |
H A D | dhd_dbg_ring.h | 3 * DHD debug ring header file 40 RING_STOP = 0, /* ring is not initialized */ 41 RING_ACTIVE, /* ring is live and logging */ 42 RING_SUSPEND /* ring is initialized but not logging */ 45 /* each entry in dbg ring has below header, to handle 46 * variable length records in ring 51 uint8 type; /* Per ring specific */ 67 int ring_id; /* unique integer representing the ring */ 80 int id; /* ring id */ 82 uint32 ring_size; /* numbers of item in ring */ [all...] |
/third_party/mesa3d/src/freedreno/drm/ |
H A D | freedreno_ringbuffer_sp_reloc.h | 34 static void X(emit_reloc_common)(struct fd_ringbuffer *ring, in emit_reloc_common() argument 37 (*ring->cur++) = (uint32_t)reloc->iova; in emit_reloc_common() 39 (*ring->cur++) = (uint32_t)(reloc->iova >> 32); in emit_reloc_common() 43 static void X(fd_ringbuffer_sp_emit_reloc_nonobj)(struct fd_ringbuffer *ring, in fd_ringbuffer_sp_emit_reloc_nonobj() argument 46 X(emit_reloc_common)(ring, reloc); in fd_ringbuffer_sp_emit_reloc_nonobj() 48 assert(!(ring->flags & _FD_RINGBUFFER_OBJECT)); in fd_ringbuffer_sp_emit_reloc_nonobj() 50 struct fd_ringbuffer_sp *fd_ring = to_fd_ringbuffer_sp(ring); in fd_ringbuffer_sp_emit_reloc_nonobj() 57 static void X(fd_ringbuffer_sp_emit_reloc_obj)(struct fd_ringbuffer *ring, in fd_ringbuffer_sp_emit_reloc_obj() argument 60 X(emit_reloc_common)(ring, reloc); in fd_ringbuffer_sp_emit_reloc_obj() 62 assert(ring in fd_ringbuffer_sp_emit_reloc_obj() 77 fd_ringbuffer_sp_emit_reloc_ring( struct fd_ringbuffer *ring, struct fd_ringbuffer *target, uint32_t cmd_idx) fd_ringbuffer_sp_emit_reloc_ring() argument [all...] |
/third_party/mesa3d/src/freedreno/drm/virtio/ |
H A D | virtio_ringbuffer.h | 38 static void X(emit_reloc_common)(struct fd_ringbuffer *ring, in emit_reloc_common() argument 41 (*ring->cur++) = (uint32_t)reloc->iova; in emit_reloc_common() 43 (*ring->cur++) = (uint32_t)(reloc->iova >> 32); in emit_reloc_common() 47 static void X(virtio_ringbuffer_emit_reloc_nonobj)(struct fd_ringbuffer *ring, in virtio_ringbuffer_emit_reloc_nonobj() argument 50 X(emit_reloc_common)(ring, reloc); in virtio_ringbuffer_emit_reloc_nonobj() 52 assert(!(ring->flags & _FD_RINGBUFFER_OBJECT)); in virtio_ringbuffer_emit_reloc_nonobj() 54 struct virtio_ringbuffer *virtio_ring = to_virtio_ringbuffer(ring); in virtio_ringbuffer_emit_reloc_nonobj() 61 static void X(virtio_ringbuffer_emit_reloc_obj)(struct fd_ringbuffer *ring, in virtio_ringbuffer_emit_reloc_obj() argument 64 X(emit_reloc_common)(ring, reloc); in virtio_ringbuffer_emit_reloc_obj() 66 assert(ring in virtio_ringbuffer_emit_reloc_obj() 81 virtio_ringbuffer_emit_reloc_ring( struct fd_ringbuffer *ring, struct fd_ringbuffer *target, uint32_t cmd_idx) virtio_ringbuffer_emit_reloc_ring() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/qxl/ |
H A D | qxl_cmd.c | 26 /* QXL cmd/ring handling */ 37 struct ring { struct 43 struct ring *ring; member 51 void qxl_ring_free(struct qxl_ring *ring) in qxl_ring_free() argument 53 kfree(ring); in qxl_ring_free() 63 struct qxl_ring *ring; in qxl_ring_create() local 65 ring = kmalloc(sizeof(*ring), GFP_KERNEL); in qxl_ring_create() 66 if (!ring) in qxl_ring_create() 78 qxl_check_header(struct qxl_ring *ring) qxl_check_header() argument 92 qxl_check_idle(struct qxl_ring *ring) qxl_check_idle() argument 104 qxl_ring_push(struct qxl_ring *ring, const void *new_elt, bool interruptible) qxl_ring_push() argument 151 qxl_ring_pop(struct qxl_ring *ring, void *element) qxl_ring_pop() argument [all...] |