Lines Matching refs:mec

40 int amdgpu_gfx_mec_queue_to_bit(struct amdgpu_device *adev, int mec,  in amdgpu_gfx_mec_queue_to_bit()  argument
45 bit += mec * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_mec_queue_to_bit()
46 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit()
47 bit += pipe * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit()
54 int *mec, int *pipe, int *queue) in amdgpu_queue_mask_bit_to_mec_queue() argument
56 *queue = bit % adev->gfx.mec.num_queue_per_pipe; in amdgpu_queue_mask_bit_to_mec_queue()
57 *pipe = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue()
58 % adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue()
59 *mec = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue()
60 / adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue()
65 int mec, int pipe, int queue) in amdgpu_gfx_is_mec_queue_enabled() argument
67 return test_bit(amdgpu_gfx_mec_queue_to_bit(adev, mec, pipe, queue), in amdgpu_gfx_is_mec_queue_enabled()
68 adev->gfx.mec.queue_bitmap); in amdgpu_gfx_is_mec_queue_enabled()
194 return adev->gfx.mec.num_mec > 1; in amdgpu_gfx_is_multipipe_capable()
214 int max_queues_per_mec = min(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()
221 pipe = i % adev->gfx.mec.num_pipe_per_mec; in amdgpu_gfx_compute_queue_acquire()
222 queue = (i / adev->gfx.mec.num_pipe_per_mec) % in amdgpu_gfx_compute_queue_acquire()
223 adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_compute_queue_acquire()
225 set_bit(pipe * adev->gfx.mec.num_queue_per_pipe + queue, in amdgpu_gfx_compute_queue_acquire()
226 adev->gfx.mec.queue_bitmap); in amdgpu_gfx_compute_queue_acquire()
231 set_bit(i, adev->gfx.mec.queue_bitmap); in amdgpu_gfx_compute_queue_acquire()
234 …dev_dbg(adev->dev, "mec queue bitmap weight=%d\n", bitmap_weight(adev->gfx.mec.queue_bitmap, AMDGP… in amdgpu_gfx_compute_queue_acquire()
263 int mec, pipe, queue; in amdgpu_gfx_kiq_acquire() local
265 queue_bit = adev->gfx.mec.num_mec in amdgpu_gfx_kiq_acquire()
266 * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_kiq_acquire()
267 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_kiq_acquire()
270 if (test_bit(queue_bit, adev->gfx.mec.queue_bitmap)) in amdgpu_gfx_kiq_acquire()
273 amdgpu_queue_mask_bit_to_mec_queue(adev, queue_bit, &mec, &pipe, &queue); in amdgpu_gfx_kiq_acquire()
280 if ((mec == 1 && pipe > 1) || queue != 0) in amdgpu_gfx_kiq_acquire()
283 ring->me = mec + 1; in amdgpu_gfx_kiq_acquire()
385 adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS] = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_mqd_sw_init()
386 if (!adev->gfx.mec.mqd_backup[AMDGPU_MAX_COMPUTE_RINGS]) in amdgpu_gfx_mqd_sw_init()
424 adev->gfx.mec.mqd_backup[i] = kmalloc(mqd_size, GFP_KERNEL); in amdgpu_gfx_mqd_sw_init()
425 if (!adev->gfx.mec.mqd_backup[i]) in amdgpu_gfx_mqd_sw_init()
450 kfree(adev->gfx.mec.mqd_backup[i]); in amdgpu_gfx_mqd_sw_fini()
457 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()