Lines Matching refs:gfx

45 	i = ffs(adev->gfx.scratch.free_mask);  in amdgpu_gfx_scratch_get()
46 if (i != 0 && i <= adev->gfx.scratch.num_reg) { in amdgpu_gfx_scratch_get()
48 adev->gfx.scratch.free_mask &= ~(1u << i); in amdgpu_gfx_scratch_get()
49 *reg = adev->gfx.scratch.reg_base + i; in amdgpu_gfx_scratch_get()
65 adev->gfx.scratch.free_mask |= 1u << (reg - adev->gfx.scratch.reg_base); in amdgpu_gfx_scratch_free()
125 return adev->gfx.mec.num_mec > 1; in amdgpu_gfx_is_multipipe_capable()
135 queue = i % adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_compute_queue_acquire()
136 pipe = (i / adev->gfx.mec.num_queue_per_pipe) in amdgpu_gfx_compute_queue_acquire()
137 % adev->gfx.mec.num_pipe_per_mec; in amdgpu_gfx_compute_queue_acquire()
138 mec = (i / adev->gfx.mec.num_queue_per_pipe) in amdgpu_gfx_compute_queue_acquire()
139 / adev->gfx.mec.num_pipe_per_mec; in amdgpu_gfx_compute_queue_acquire()
142 if (mec >= adev->gfx.mec.num_mec) in amdgpu_gfx_compute_queue_acquire()
148 set_bit(i, adev->gfx.mec.queue_bitmap); in amdgpu_gfx_compute_queue_acquire()
152 set_bit(i, adev->gfx.mec.queue_bitmap); in amdgpu_gfx_compute_queue_acquire()
157 adev->gfx.num_compute_rings = in amdgpu_gfx_compute_queue_acquire()
158 bitmap_weight(adev->gfx.mec.queue_bitmap, AMDGPU_MAX_COMPUTE_QUEUES); in amdgpu_gfx_compute_queue_acquire()
162 if (WARN_ON(adev->gfx.num_compute_rings > AMDGPU_MAX_COMPUTE_RINGS)) in amdgpu_gfx_compute_queue_acquire()
163 adev->gfx.num_compute_rings = AMDGPU_MAX_COMPUTE_RINGS; in amdgpu_gfx_compute_queue_acquire()
172 queue_bit = adev->gfx.mec.num_mec in amdgpu_gfx_kiq_acquire()
173 * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_kiq_acquire()
174 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_kiq_acquire()
177 if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap)) in amdgpu_gfx_kiq_acquire()
205 struct amdgpu_kiq *kiq = &adev->gfx.kiq; in amdgpu_gfx_kiq_init_ring()
242 struct amdgpu_kiq *kiq = &adev->gfx.kiq; in amdgpu_gfx_kiq_fini()
252 struct amdgpu_kiq *kiq = &adev->gfx.kiq; in amdgpu_gfx_kiq_init()
281 ring = &adev->gfx.kiq.ring; in amdgpu_gfx_compute_mqd_sw_init()
297 adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS] = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_compute_mqd_sw_init()
298 if (!adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS]) in amdgpu_gfx_compute_mqd_sw_init()
303 for (i = 0; i < adev->gfx.num_compute_rings; i++) { in amdgpu_gfx_compute_mqd_sw_init()
304 ring = &adev->gfx.compute_ring[i]; in amdgpu_gfx_compute_mqd_sw_init()
315 adev->gfx.mec.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_compute_mqd_sw_init()
316 if (!adev->gfx.mec.mqd_backup[i]) in amdgpu_gfx_compute_mqd_sw_init()
329 for (i = 0; i < adev->gfx.num_compute_rings; i++) { in amdgpu_gfx_compute_mqd_sw_fini()
330 ring = &adev->gfx.compute_ring[i]; in amdgpu_gfx_compute_mqd_sw_fini()
331 kfree(adev->gfx.mec.mqd_backup[i]); in amdgpu_gfx_compute_mqd_sw_fini()
337 ring = &adev->gfx.kiq.ring; in amdgpu_gfx_compute_mqd_sw_fini()
338 kfree(adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS]); in amdgpu_gfx_compute_mqd_sw_fini()