Lines Matching refs:adev
49 static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring);
303 int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, in amdgpu_ring_init() argument
311 if (ring->adev == NULL) { in amdgpu_ring_init()
312 if (adev->num_rings >= AMDGPU_MAX_RINGS) in amdgpu_ring_init()
315 ring->adev = adev; in amdgpu_ring_init()
316 ring->idx = adev->num_rings++; in amdgpu_ring_init()
317 adev->rings[ring->idx] = ring; in amdgpu_ring_init()
323 r = amdgpu_wb_get(adev, &ring->rptr_offs); in amdgpu_ring_init()
325 dev_err(adev->dev, "(%d) ring rptr_offs wb alloc failed\n", r); in amdgpu_ring_init()
329 r = amdgpu_wb_get(adev, &ring->wptr_offs); in amdgpu_ring_init()
331 dev_err(adev->dev, "(%d) ring wptr_offs wb alloc failed\n", r); in amdgpu_ring_init()
335 r = amdgpu_wb_get(adev, &ring->fence_offs); in amdgpu_ring_init()
337 dev_err(adev->dev, "(%d) ring fence_offs wb alloc failed\n", r); in amdgpu_ring_init()
341 r = amdgpu_wb_get(adev, &ring->next_rptr_offs); in amdgpu_ring_init()
343 dev_err(adev->dev, "(%d) ring next_rptr wb alloc failed\n", r); in amdgpu_ring_init()
346 ring->next_rptr_gpu_addr = adev->wb.gpu_addr + (ring->next_rptr_offs * 4); in amdgpu_ring_init()
347 ring->next_rptr_cpu_addr = &adev->wb.wb[ring->next_rptr_offs]; in amdgpu_ring_init()
351 dev_err(adev->dev, "failed initializing fences (%d).\n", r); in amdgpu_ring_init()
355 ring->ring_lock = &adev->ring_lock; in amdgpu_ring_init()
366 r = amdgpu_bo_create(adev, ring->ring_size, PAGE_SIZE, true, in amdgpu_ring_init()
370 dev_err(adev->dev, "(%d) ring create failed\n", r); in amdgpu_ring_init()
380 dev_err(adev->dev, "(%d) ring pin failed\n", r); in amdgpu_ring_init()
387 dev_err(adev->dev, "(%d) ring map failed\n", r); in amdgpu_ring_init()
394 if (amdgpu_debugfs_ring_init(adev, ring)) { in amdgpu_ring_init()
423 amdgpu_wb_free(ring->adev, ring->fence_offs); in amdgpu_ring_fini()
424 amdgpu_wb_free(ring->adev, ring->rptr_offs); in amdgpu_ring_fini()
425 amdgpu_wb_free(ring->adev, ring->wptr_offs); in amdgpu_ring_fini()
426 amdgpu_wb_free(ring->adev, ring->next_rptr_offs); in amdgpu_ring_fini()
472 struct amdgpu_device *adev = dev->dev_private; in amdgpu_debugfs_ring_info() local
474 struct amdgpu_ring *ring = (void *)(((uint8_t*)adev) + roffset); in amdgpu_debugfs_ring_info()
543 static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring) in amdgpu_debugfs_ring_init() argument
550 struct amdgpu_ring *other = (void *)(((uint8_t*)adev) + roffset); in amdgpu_debugfs_ring_init()
556 r = amdgpu_debugfs_add_files(adev, info, 1); in amdgpu_debugfs_ring_init()