/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_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.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()
|
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_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_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_gfx.c | 46 int amdgpu_gfx_mec_queue_to_bit(struct amdgpu_device *adev, int mec, in amdgpu_gfx_mec_queue_to_bit() argument 51 bit += mec * adev->gfx.mec.num_pipe_per_mec in amdgpu_gfx_mec_queue_to_bit() 52 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit() 53 bit += pipe * adev->gfx.mec.num_queue_per_pipe; in amdgpu_gfx_mec_queue_to_bit() 60 int *mec, int *pipe, int *queue) in amdgpu_queue_mask_bit_to_mec_queue() argument 62 *queue = bit % adev->gfx.mec.num_queue_per_pipe; in amdgpu_queue_mask_bit_to_mec_queue() 63 *pipe = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue() 64 % adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue() 65 *mec = (bit / adev->gfx.mec.num_queue_per_pipe) in amdgpu_queue_mask_bit_to_mec_queue() 66 / adev->gfx.mec.num_pipe_per_mec; in amdgpu_queue_mask_bit_to_mec_queue() [all …]
|
H A D | gfx_v12_0.c | 736 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v12_0_mec_fini() 737 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v12_0_mec_fini() 738 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_data_obj, NULL, NULL); in gfx_v12_0_mec_fini() 763 &adev->gfx.mec.hpd_eop_obj, in gfx_v12_0_mec_init() 764 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v12_0_mec_init() 774 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v12_0_mec_init() 775 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v12_0_mec_init() 930 int mec, int pipe, int queue) in gfx_v12_0_compute_ring_init() argument 940 ring->me = mec + 1; in gfx_v12_0_compute_ring_init() 947 ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr in gfx_v12_0_compute_ring_init() [all …]
|
H A D | gfx_v9_4_3.c | 631 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v9_4_3_mec_fini() 632 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v9_4_3_mec_fini() 659 &adev->gfx.mec.hpd_eop_obj, in gfx_v9_4_3_mec_init() 660 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v9_4_3_mec_init() 678 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v9_4_3_mec_init() 679 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v9_4_3_mec_init() 691 &adev->gfx.mec.mec_fw_obj, in gfx_v9_4_3_mec_init() 692 &adev->gfx.mec.mec_fw_gpu_addr, in gfx_v9_4_3_mec_init() 702 amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj); in gfx_v9_4_3_mec_init() 703 amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj); in gfx_v9_4_3_mec_init() [all …]
|
H A D | gfx_v11_0.c | 915 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v11_0_mec_fini() 916 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v11_0_mec_fini() 917 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_data_obj, NULL, NULL); in gfx_v11_0_mec_fini() 942 &adev->gfx.mec.hpd_eop_obj, in gfx_v11_0_mec_init() 943 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v11_0_mec_init() 953 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v11_0_mec_init() 954 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v11_0_mec_init() 1135 int mec, int pipe, int queue) in gfx_v11_0_compute_ring_init() argument 1145 ring->me = mec + 1; in gfx_v11_0_compute_ring_init() 1152 ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr in gfx_v11_0_compute_ring_init() [all …]
|
H A D | amdgpu_gfx.h | 366 struct amdgpu_mec mec; member 535 int amdgpu_gfx_mec_queue_to_bit(struct amdgpu_device *adev, int mec, 538 int *mec, int *pipe, int *queue); 540 int mec, int pipe, int queue);
|
H A D | gfx_v9_0.c | 1863 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v9_0_mec_fini() 1864 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v9_0_mec_fini() 1887 &adev->gfx.mec.hpd_eop_obj, in gfx_v9_0_mec_init() 1888 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v9_0_mec_init() 1898 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v9_0_mec_init() 1899 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v9_0_mec_init() 1911 &adev->gfx.mec.mec_fw_obj, in gfx_v9_0_mec_init() 1912 &adev->gfx.mec.mec_fw_gpu_addr, in gfx_v9_0_mec_init() 1922 amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj); in gfx_v9_0_mec_init() 1923 amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj); in gfx_v9_0_mec_init() [all …]
|
H A D | gfx_v7_0.c | 2727 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v7_0_mec_fini() 2742 mec_hpd_size = adev->gfx.mec.num_mec * adev->gfx.mec.num_pipe_per_mec in gfx_v7_0_mec_init() 2748 &adev->gfx.mec.hpd_eop_obj, in gfx_v7_0_mec_init() 2749 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v7_0_mec_init() 2760 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v7_0_mec_init() 2761 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v7_0_mec_init() 2767 int mec, int pipe) in gfx_v7_0_compute_pipe_init() argument 2771 size_t eop_offset = (mec * adev->gfx.mec.num_pipe_per_mec + pipe) in gfx_v7_0_compute_pipe_init() 2775 eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr + eop_offset; in gfx_v7_0_compute_pipe_init() 2777 cik_srbm_select(adev, mec + 1, pipe, 0, 0); in gfx_v7_0_compute_pipe_init() [all …]
|
H A D | amdgpu_amdkfd.c | 180 .num_pipe_per_mec = adev->gfx.mec.num_pipe_per_mec, in amdgpu_amdkfd_device_init() 181 .num_queue_per_pipe = adev->gfx.mec.num_queue_per_pipe, in amdgpu_amdkfd_device_init() 201 * adev->gfx.mec.num_pipe_per_mec in amdgpu_amdkfd_device_init() 202 * adev->gfx.mec.num_queue_per_pipe; in amdgpu_amdkfd_device_init()
|
H A D | gfx_v10_0.c | 4350 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v10_0_mec_fini() 4351 amdgpu_bo_free_kernel(&adev->gfx.mec.mec_fw_obj, NULL, NULL); in gfx_v10_0_mec_fini() 4381 &adev->gfx.mec.hpd_eop_obj, in gfx_v10_0_mec_init() 4382 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v10_0_mec_init() 4392 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v10_0_mec_init() 4393 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v10_0_mec_init() 4405 &adev->gfx.mec.mec_fw_obj, in gfx_v10_0_mec_init() 4406 &adev->gfx.mec.mec_fw_gpu_addr, in gfx_v10_0_mec_init() 4416 amdgpu_bo_kunmap(adev->gfx.mec.mec_fw_obj); in gfx_v10_0_mec_init() 4417 amdgpu_bo_unreserve(adev->gfx.mec.mec_fw_obj); in gfx_v10_0_mec_init() [all …]
|
H A D | gfx_v8_0.c | 1311 amdgpu_bo_free_kernel(&adev->gfx.mec.hpd_eop_obj, NULL, NULL); in gfx_v8_0_mec_fini() 1330 &adev->gfx.mec.hpd_eop_obj, in gfx_v8_0_mec_init() 1331 &adev->gfx.mec.hpd_eop_gpu_addr, in gfx_v8_0_mec_init() 1340 amdgpu_bo_kunmap(adev->gfx.mec.hpd_eop_obj); in gfx_v8_0_mec_init() 1341 amdgpu_bo_unreserve(adev->gfx.mec.hpd_eop_obj); in gfx_v8_0_mec_init() 1874 int mec, int pipe, int queue) in gfx_v8_0_compute_ring_init() argument 1884 ring->me = mec + 1; in gfx_v8_0_compute_ring_init() 1891 ring->eop_gpu_addr = adev->gfx.mec.hpd_eop_gpu_addr in gfx_v8_0_compute_ring_init() 1896 + ((ring->me - 1) * adev->gfx.mec.num_pipe_per_mec) in gfx_v8_0_compute_ring_init() 1928 adev->gfx.mec.num_mec = 2; in gfx_v8_0_sw_init() [all …]
|
H A D | amdgpu_mes.c | 149 if (i >= adev->gfx.mec.num_pipe_per_mec) in amdgpu_mes_init()
|
/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/drivers/gpu/drm/radeon/ |
H A D | cik.c | 4362 if (rdev->mec.hpd_eop_obj) { in cik_mec_fini() 4363 r = radeon_bo_reserve(rdev->mec.hpd_eop_obj, false); in cik_mec_fini() 4366 radeon_bo_unpin(rdev->mec.hpd_eop_obj); in cik_mec_fini() 4367 radeon_bo_unreserve(rdev->mec.hpd_eop_obj); in cik_mec_fini() 4369 radeon_bo_unref(&rdev->mec.hpd_eop_obj); in cik_mec_fini() 4370 rdev->mec.hpd_eop_obj = NULL; in cik_mec_fini() 4386 rdev->mec.num_mec = 2; in cik_mec_init() 4388 rdev->mec.num_mec = 1; in cik_mec_init() 4389 rdev->mec.num_pipe = 4; in cik_mec_init() 4390 rdev->mec.num_queue = rdev->mec.num_mec * rdev->mec.num_pipe * 8; in cik_mec_init() [all …]
|
/linux/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_device_queue_manager.c | 79 static bool is_pipe_enabled(struct device_queue_manager *dqm, int mec, int pipe) in is_pipe_enabled() argument 82 int pipe_offset = (mec * dqm->dev->kfd->shared_resources.num_pipe_per_mec in is_pipe_enabled() 1704 int i, mec; in set_sched_resources() local 1712 mec = (i / dqm->dev->kfd->shared_resources.num_queue_per_pipe) in set_sched_resources() 1719 if (mec > 0) in set_sched_resources() 2174 uint32_t mec, pipe, queue; in detect_queue_hang() local 2177 mec = (i / dqm->dev->kfd->shared_resources.num_queue_per_pipe) in detect_queue_hang() 2180 if (mec || !test_bit(i, dqm->dev->kfd->shared_resources.cp_queue_bitmap)) in detect_queue_hang() 2183 amdgpu_queue_mask_bit_to_mec_queue(dqm->dev->adev, i, &mec, &pipe, &queue); in detect_queue_hang()
|
H A D | kfd_priv.h | 600 uint32_t mec; member
|
/linux/Documentation/translations/sp_SP/process/ |
H A D | magic-number.rst | 47 <mailto:mec@shout.net>
|
H A D | 1.Intro.rst | 24 de lanzamiento del kernel y la mecánica de la "ventana de combinación"
|