Lines Matching refs:mec

41 int amdgpu_gfx_mec_queue_to_bit(struct amdgpu_device *adev, int mec,  in amdgpu_gfx_mec_queue_to_bit()  argument
46 bit += mec * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_mec_queue_to_bit()
47 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit()
48 bit += pipe * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit()
55 int *mec, int *pipe, int *queue) in amdgpu_queue_mask_bit_to_mec_queue() argument
57 *queue = bit % adev->gfx.mec.num_queue_per_pipe; in amdgpu_queue_mask_bit_to_mec_queue()
58 *pipe = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue()
59 % adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue()
60 *mec = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue()
61 / adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue()
66 int mec, int pipe, int queue) in amdgpu_gfx_is_mec_queue_enabled() argument
68 return test_bit(amdgpu_gfx_mec_queue_to_bit(adev, mec, pipe, queue), in amdgpu_gfx_is_mec_queue_enabled()
69 adev->gfx.mec.queue_bitmap); in amdgpu_gfx_is_mec_queue_enabled()
164 return adev->gfx.mec.num_mec > 1; in amdgpu_gfx_is_compute_multipipe_capable()
206 int max_queues_per_mec = min(adev->gfx.mec.num_pipe_per_mec * in amdgpu_gfx_compute_queue_acquire()
207 adev->gfx.mec.num_queue_per_pipe, in amdgpu_gfx_compute_queue_acquire()
213 pipe = i % adev->gfx.mec.num_pipe_per_mec; in amdgpu_gfx_compute_queue_acquire()
214 queue = (i / adev->gfx.mec.num_pipe_per_mec) % in amdgpu_gfx_compute_queue_acquire()
215 adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_compute_queue_acquire()
217 set_bit(pipe * adev->gfx.mec.num_queue_per_pipe + queue, in amdgpu_gfx_compute_queue_acquire()
218 adev->gfx.mec.queue_bitmap); in amdgpu_gfx_compute_queue_acquire()
223 set_bit(i, adev->gfx.mec.queue_bitmap); in amdgpu_gfx_compute_queue_acquire()
226 …dev_dbg(adev->dev, "mec queue bitmap weight=%d\n", bitmap_weight(adev->gfx.mec.queue_bitmap, AMDGP… in amdgpu_gfx_compute_queue_acquire()
261 int mec, pipe, queue; in amdgpu_gfx_kiq_acquire() local
263 queue_bit = adev->gfx.mec.num_mec in amdgpu_gfx_kiq_acquire()
264 * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_kiq_acquire()
265 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_kiq_acquire()
268 if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap)) in amdgpu_gfx_kiq_acquire()
271 amdgpu_queue_mask_bit_to_mec_queue(adev, queue_bit, &mec, &pipe, &queue); in amdgpu_gfx_kiq_acquire()
278 if ((mec == 1 && pipe > 1) || queue != 0) in amdgpu_gfx_kiq_acquire()
281 ring->me = mec + 1; in amdgpu_gfx_kiq_acquire()
383 adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS] = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_mqd_sw_init()
384 if (!adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS]) in amdgpu_gfx_mqd_sw_init()
422 adev->gfx.mec.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_mqd_sw_init()
423 if (!adev->gfx.mec.mqd_backup[i]) in amdgpu_gfx_mqd_sw_init()
448 kfree(adev->gfx.mec.mqd_backup[i]); in amdgpu_gfx_mqd_sw_fini()
455 kfree(adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS]); in amdgpu_gfx_mqd_sw_fini()
491 int mec, pipe, queue; in amdgpu_queue_mask_bit_to_set_resource_bit() local
494 amdgpu_queue_mask_bit_to_mec_queue(adev, queue_bit, &mec, &pipe, &queue); in amdgpu_queue_mask_bit_to_set_resource_bit()
496 set_resource_bit = mec * 4 * 8 + pipe * 8 + queue; in amdgpu_queue_mask_bit_to_set_resource_bit()
512 if (!test_bit(i, adev->gfx.mec.queue_bitmap)) in amdgpu_gfx_enable_kcq()