| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_amdkfd_gfx_v10_3.c | 44 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 48 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 60 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 61 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 63 lock_srbm(adev, mec, pipe, queue_id, 0); in acquire_queue() 69 unsigned int bit = pipe_id * adev->gfx.mec.num_queue_per_pipe + in get_queue_mask() 112 uint32_t mec; in init_interrupts_v10_3() local 115 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in init_interrupts_v10_3() 116 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in init_interrupts_v10_3() 118 lock_srbm(adev, mec, pipe, 0, 0); in init_interrupts_v10_3() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v11.c | 42 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 46 soc21_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 58 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 59 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 61 lock_srbm(adev, mec, pipe, queue_id, 0); in acquire_queue() 67 unsigned int bit = pipe_id * adev->gfx.mec.num_queue_per_pipe + in get_queue_mask() 108 uint32_t mec; in init_interrupts_v11() local 111 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in init_interrupts_v11() 112 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in init_interrupts_v11() 114 lock_srbm(adev, mec, pipe, 0, 0); in init_interrupts_v11() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v12.c | 30 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 34 soc24_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 46 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 47 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 49 lock_srbm(adev, mec, pipe, queue_id, 0); in acquire_queue() 59 uint32_t mec; in init_interrupts_v12() local 62 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in init_interrupts_v12() 63 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in init_interrupts_v12() 65 lock_srbm(adev, mec, pipe, 0, 0); in init_interrupts_v12() 406 pipe_idx = queue_idx / adev->gfx.mec.num_queue_per_pipe; in get_wave_count() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v8.c | 42 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 45 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm() 60 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 61 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 63 lock_srbm(adev, mec, pipe, queue_id, 0); in acquire_queue() 115 uint32_t mec; in kgd_init_interrupts() local 118 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in kgd_init_interrupts() 119 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in kgd_init_interrupts() 121 lock_srbm(adev, mec, pipe, 0, 0); in kgd_init_interrupts() 170 uint32_t value, mec, pipe; in kgd_hqd_load() local [all …]
|
| H A D | amdgpu_amdkfd_gfx_v12_1.c | 30 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 34 amdgpu_gfx_select_me_pipe_q(adev, mec, pipe, queue, vmid, inst); in lock_srbm() 46 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 47 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 49 lock_srbm(adev, mec, pipe, queue_id, 0, inst); in acquire_queue() 59 uint32_t mec; in init_interrupts_v12_1() local 62 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in init_interrupts_v12_1() 63 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in init_interrupts_v12_1() 65 lock_srbm(adev, mec, pipe, 0, 0, inst); in init_interrupts_v12_1() 409 pipe_idx = queue_idx / adev->gfx.mec.num_queue_per_pipe; in get_wave_count() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v9.c | 50 static void kgd_gfx_v9_lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in kgd_gfx_v9_lock_srbm() argument 54 soc15_grbm_select(adev, mec, pipe, queue, vmid, GET_INST(GC, inst)); in kgd_gfx_v9_lock_srbm() 66 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in kgd_gfx_v9_acquire_queue() local 67 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in kgd_gfx_v9_acquire_queue() 69 kgd_gfx_v9_lock_srbm(adev, mec, pipe, queue_id, 0, inst); in kgd_gfx_v9_acquire_queue() 75 unsigned int bit = pipe_id * adev->gfx.mec.num_queue_per_pipe + in kgd_gfx_v9_get_queue_mask() 163 uint32_t mec; in kgd_gfx_v9_init_interrupts() local 166 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in kgd_gfx_v9_init_interrupts() 167 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in kgd_gfx_v9_init_interrupts() 169 kgd_gfx_v9_lock_srbm(adev, mec, pipe, 0, 0, inst); in kgd_gfx_v9_init_interrupts() [all …]
|
| H A D | amdgpu_amdkfd_gfx_v7.c | 48 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 51 uint32_t value = PIPEID(pipe) | MEID(mec) | VMID(vmid) | QUEUEID(queue); in lock_srbm() 66 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 67 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 69 lock_srbm(adev, mec, pipe, queue_id, 0); in acquire_queue() 120 uint32_t mec; in kgd_init_interrupts() local 123 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in kgd_init_interrupts() 124 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in kgd_init_interrupts() 126 lock_srbm(adev, mec, pipe, 0, 0); in kgd_init_interrupts()
|
| H A D | amdgpu_amdkfd_gfx_v10.c | 44 static void lock_srbm(struct amdgpu_device *adev, uint32_t mec, uint32_t pipe, in lock_srbm() argument 48 nv_grbm_select(adev, mec, pipe, queue, vmid); in lock_srbm() 60 uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in acquire_queue() local 61 uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in acquire_queue() 63 lock_srbm(adev, mec, pipe, queue_id, 0); in acquire_queue() 69 unsigned int bit = pipe_id * adev->gfx.mec.num_queue_per_pipe + in get_queue_mask() 143 uint32_t mec; in kgd_init_interrupts() local 146 mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; in kgd_init_interrupts() 147 pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); in kgd_init_interrupts() 149 lock_srbm(adev, mec, pipe, 0, 0); in kgd_init_interrupts() [all …]
|
| H A D | amdgpu_gfx.c | 50 int amdgpu_gfx_mec_queue_to_bit(struct amdgpu_device *adev, int mec, in amdgpu_gfx_mec_queue_to_bit() argument 55 bit += mec * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_mec_queue_to_bit() 56 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit() 57 bit += pipe * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit() 64 int *mec, int *pipe, int *queue) in amdgpu_queue_mask_bit_to_mec_queue() argument 66 *queue = bit % adev->gfx.mec.num_queue_per_pipe; in amdgpu_queue_mask_bit_to_mec_queue() 67 *pipe = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue() 68 % adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue() 69 *mec = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue() 70 / adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue() [all …]
|
| H A D | gfx_v12_1.c | 708 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v12_1_mec_fini() 709 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v12_1_mec_fini() 710 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_data_obj, NULL, NULL); in gfx_v12_1_mec_fini() 734 &adev->gfx.mec.hpd_eop_obj, in gfx_v12_1_mec_init() 735 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v12_1_mec_init() 745 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v12_1_mec_init() 746 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v12_1_mec_init() 903 int xcc_id, int mec, int pipe, int queue) in gfx_v12_1_compute_ring_init() argument 916 ring->me = mec + 1; in gfx_v12_1_compute_ring_init() 925 ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr + in gfx_v12_1_compute_ring_init() [all …]
|
| H A D | gfx_v9_4_3.c | 611 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v9_4_3_mec_fini() 612 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v9_4_3_mec_fini() 639 &adev->gfx.mec.hpd_eop_obj, in gfx_v9_4_3_mec_init() 640 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v9_4_3_mec_init() 658 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v9_4_3_mec_init() 659 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v9_4_3_mec_init() 671 &adev->gfx.mec.mec_fw_obj, in gfx_v9_4_3_mec_init() 672 &adev->gfx.mec.mec_fw_gpu_addr, in gfx_v9_4_3_mec_init() 682 amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj); in gfx_v9_4_3_mec_init() 683 amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj); in gfx_v9_4_3_mec_init() [all …]
|
| H A D | gfx_v12_0.c | 779 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v12_0_mec_fini() 780 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v12_0_mec_fini() 781 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_data_obj, NULL, NULL); in gfx_v12_0_mec_fini() 806 &adev->gfx.mec.hpd_eop_obj, in gfx_v12_0_mec_init() 807 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v12_0_mec_init() 817 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v12_0_mec_init() 818 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v12_0_mec_init() 1008 int mec, int pipe, int queue) in gfx_v12_0_compute_ring_init() argument 1018 ring->me = mec + 1; in gfx_v12_0_compute_ring_init() 1025 ring->eop_gpu_addr = adev->gfx.mec in gfx_v12_0_compute_ring_init() [all...] |
| H A D | gfx_v11_0.c | 950 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v11_0_mec_fini() 951 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v11_0_mec_fini() 952 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_data_obj, NULL, NULL); in gfx_v11_0_mec_fini() 977 &adev->gfx.mec.hpd_eop_obj, in gfx_v11_0_mec_init() 978 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v11_0_mec_init() 988 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v11_0_mec_init() 989 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v11_0_mec_init() 1192 int mec, int pipe, int queue) in gfx_v11_0_compute_ring_init() argument 1202 ring->me = mec + 1; in gfx_v11_0_compute_ring_init() 1209 ring->eop_gpu_addr = adev->gfx.mec in gfx_v11_0_compute_ring_init() [all...] |
| H A D | amdgpu_mes.c | 112 u32 compute_hqd_mask = amdgpu_mes_get_hqd_mask(adev->gfx.mec.num_pipe_per_mec, in amdgpu_mes_init() 113 adev->gfx.mec.num_queue_per_pipe, in amdgpu_mes_init() 144 num_pipes = adev->gfx.mec.num_pipe_per_mec * adev->gfx.mec.num_mec; in amdgpu_mes_init() 156 if (i >= adev->gfx.mec.num_pipe_per_mec) in amdgpu_mes_init() 254 adev->gfx.mec.mes_hung_db_array = in amdgpu_mes_init() 258 if (!adev->gfx.mec.mes_hung_db_array) { in amdgpu_mes_init() 291 kfree(adev->gfx.mec.mes_hung_db_array); in amdgpu_mes_fini()
|
| H A D | gfx_v9_0.c | 1865 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v9_0_mec_fini() 1866 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v9_0_mec_fini() 1889 &adev->gfx.mec.hpd_eop_obj, in gfx_v9_0_mec_init() 1890 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v9_0_mec_init() 1900 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v9_0_mec_init() 1901 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v9_0_mec_init() 1913 &adev->gfx.mec.mec_fw_obj, in gfx_v9_0_mec_init() 1914 &adev->gfx.mec.mec_fw_gpu_addr, in gfx_v9_0_mec_init() 1924 amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj); in gfx_v9_0_mec_init() 1925 amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj); in gfx_v9_0_mec_init() [all …]
|
| H A D | amdgpu_amdkfd.c | 184 .num_pipe_per_mec = adev->gfx.mec.num_pipe_per_mec, in amdgpu_amdkfd_device_init() 185 .num_queue_per_pipe = adev->gfx.mec.num_queue_per_pipe, in amdgpu_amdkfd_device_init() 205 * adev->gfx.mec.num_pipe_per_mec in amdgpu_amdkfd_device_init() 206 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_amdkfd_device_init()
|
| H A D | gfx_v10_0.c | 4404 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v10_0_mec_fini() 4405 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v10_0_mec_fini() 4435 &adev->gfx.mec.hpd_eop_obj, in gfx_v10_0_mec_init() 4436 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v10_0_mec_init() 4446 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v10_0_mec_init() 4447 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v10_0_mec_init() 4459 &adev->gfx.mec.mec_fw_obj, in gfx_v10_0_mec_init() 4460 &adev->gfx.mec.mec_fw_gpu_addr, in gfx_v10_0_mec_init() 4470 amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj); in gfx_v10_0_mec_init() 4471 amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj); in gfx_v10_0_mec_init() [all …]
|
| H A D | gfx_v8_0.c | 1285 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v8_0_mec_fini() 1304 &adev->gfx.mec.hpd_eop_obj, in gfx_v8_0_mec_init() 1305 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v8_0_mec_init() 1314 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v8_0_mec_init() 1315 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v8_0_mec_init() 1855 int mec, int pipe, int queue) in gfx_v8_0_compute_ring_init() argument 1865 ring->me = mec + 1; in gfx_v8_0_compute_ring_init() 1872 ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr in gfx_v8_0_compute_ring_init() 1877 + ((ring->me - 1) * adev->gfx.mec.num_pipe_per_mec) in gfx_v8_0_compute_ring_init() 1909 adev->gfx.mec.num_mec = 2; in gfx_v8_0_sw_init() [all …]
|
| H A D | mes_userqueue.c | 240 bool use_mmio = adev->gfx.mec.use_mmio_for_reset; in mes_userq_reset_queue()
|
| /linux/Documentation/translations/zh_CN/process/ |
| H A D | magic-number.rst | 43 <mailto:mec@shout.net>
|
| /linux/Documentation/translations/zh_TW/process/ |
| H A D | magic-number.rst | 39 <mailto:mec@shout.net>
|
| /linux/Documentation/translations/it_IT/staging/ |
| H A D | magic-number.rst | 46 <mailto:mec@shout.net>
|
| /linux/Documentation/staging/ |
| H A D | magic-number.rst | 41 <mailto:mec@shout.net>
|
| /linux/Documentation/translations/sp_SP/process/ |
| H A D | magic-number.rst | 47 <mailto:mec@shout.net>
|
| /linux/drivers/gpu/drm/amd/amdkfd/ |
| H A D | kfd_device_queue_manager.c | 89 static bool is_pipe_enabled(struct device_queue_manager *dqm, int mec, int pipe) in is_pipe_enabled() argument 92 int pipe_offset = (mec * dqm->dev->kfd->shared_resources.num_pipe_per_mec in is_pipe_enabled() 419 bool use_mmio = adev->gfx.mec.use_mmio_for_reset; in reset_queue_mes() 1966 int i, mec; in set_sched_resources() 1974 mec = (i / dqm->dev->kfd->shared_resources.num_queue_per_pipe) in set_sched_resources() 1981 if (mec > 0) in set_sched_resources() 2439 uint32_t mec, pipe, queue; in detect_queue_hang() 2442 mec = (i / dqm->dev->kfd->shared_resources.num_queue_per_pipe) in detect_queue_hang() 2445 if (mec || !test_bit(i, dqm->dev->kfd->shared_resources.cp_queue_bitmap)) in detect_queue_hang() 2448 amdgpu_queue_mask_bit_to_mec_queue(dqm->dev->adev, i, &mec, in detect_queue_hang() 1946 int i, mec; set_sched_resources() local 2419 uint32_t mec, pipe, queue; detect_queue_hang() local [all...] |