/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_amdkfd_gfx_v10_3.c | 280 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[0].ring; in hiq_mqd_load_v10_3() local 296 r = amdgpu_ring_alloc(kiq_ring, 7); in hiq_mqd_load_v10_3() 302 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_MAP_QUEUES, 5)); in hiq_mqd_load_v10_3() 303 amdgpu_ring_write(kiq_ring, in hiq_mqd_load_v10_3() 313 amdgpu_ring_write(kiq_ring, in hiq_mqd_load_v10_3() 315 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_lo); in hiq_mqd_load_v10_3() 316 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_hi); in hiq_mqd_load_v10_3() 317 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_lo); in hiq_mqd_load_v10_3() 318 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_hi); in hiq_mqd_load_v10_3() 319 amdgpu_ring_commit(kiq_ring); in hiq_mqd_load_v10_3()
|
H A D | amdgpu_gfx.c | 511 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_disable_kcq() local 529 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size * in amdgpu_gfx_disable_kcq() 537 kiq->pmf->kiq_unmap_queues(kiq_ring, in amdgpu_gfx_disable_kcq() 553 if (kiq_ring->sched.ready && !adev->job_hang) in amdgpu_gfx_disable_kcq() 554 r = amdgpu_ring_test_helper(kiq_ring); in amdgpu_gfx_disable_kcq() 563 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_disable_kgq() local 584 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size * in amdgpu_gfx_disable_kgq() 592 kiq->pmf->kiq_unmap_queues(kiq_ring, in amdgpu_gfx_disable_kgq() 599 r = amdgpu_ring_test_helper(kiq_ring); in amdgpu_gfx_disable_kgq() 621 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_gfx_mes_enable_kcq() local [all …]
|
H A D | amdgpu_amdkfd_gfx_v11.c | 265 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[0].ring; in hiq_mqd_load_v11() local 281 r = amdgpu_ring_alloc(kiq_ring, 7); in hiq_mqd_load_v11() 287 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_MAP_QUEUES, 5)); in hiq_mqd_load_v11() 288 amdgpu_ring_write(kiq_ring, in hiq_mqd_load_v11() 298 amdgpu_ring_write(kiq_ring, in hiq_mqd_load_v11() 300 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_lo); in hiq_mqd_load_v11() 301 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_hi); in hiq_mqd_load_v11() 302 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_lo); in hiq_mqd_load_v11() 303 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_hi); in hiq_mqd_load_v11() 304 amdgpu_ring_commit(kiq_ring); in hiq_mqd_load_v11()
|
H A D | amdgpu_amdkfd_gfx_v10.c | 294 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[0].ring; in kgd_hiq_mqd_load() local 310 r = amdgpu_ring_alloc(kiq_ring, 7); in kgd_hiq_mqd_load() 316 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_MAP_QUEUES, 5)); in kgd_hiq_mqd_load() 317 amdgpu_ring_write(kiq_ring, in kgd_hiq_mqd_load() 327 amdgpu_ring_write(kiq_ring, in kgd_hiq_mqd_load() 329 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_lo); in kgd_hiq_mqd_load() 330 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_hi); in kgd_hiq_mqd_load() 331 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_lo); in kgd_hiq_mqd_load() 332 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_hi); in kgd_hiq_mqd_load() 333 amdgpu_ring_commit(kiq_ring); in kgd_hiq_mqd_load()
|
H A D | gfx_v9_4_3.c | 170 static void gfx_v9_4_3_kiq_set_resources(struct amdgpu_ring *kiq_ring, in gfx_v9_4_3_kiq_set_resources() argument 173 struct amdgpu_device *adev = kiq_ring->adev; in gfx_v9_4_3_kiq_set_resources() 179 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6)); in gfx_v9_4_3_kiq_set_resources() 180 amdgpu_ring_write(kiq_ring, in gfx_v9_4_3_kiq_set_resources() 184 amdgpu_ring_write(kiq_ring, in gfx_v9_4_3_kiq_set_resources() 186 amdgpu_ring_write(kiq_ring, in gfx_v9_4_3_kiq_set_resources() 188 amdgpu_ring_write(kiq_ring, lower_32_bits(shader_mc_addr)); /* cleaner shader addr lo */ in gfx_v9_4_3_kiq_set_resources() 189 amdgpu_ring_write(kiq_ring, upper_32_bits(shader_mc_addr)); /* cleaner shader addr hi */ in gfx_v9_4_3_kiq_set_resources() 190 amdgpu_ring_write(kiq_ring, 0); /* oac mask */ in gfx_v9_4_3_kiq_set_resources() 191 amdgpu_ring_write(kiq_ring, 0); /* gds heap base:0, gds heap size:0 */ in gfx_v9_4_3_kiq_set_resources() [all …]
|
H A D | amdgpu_gfx.h | 127 void (*kiq_set_resources)(struct amdgpu_ring *kiq_ring, 129 void (*kiq_map_queues)(struct amdgpu_ring *kiq_ring, 131 void (*kiq_unmap_queues)(struct amdgpu_ring *kiq_ring, 135 void (*kiq_query_status)(struct amdgpu_ring *kiq_ring, 139 void (*kiq_invalidate_tlbs)(struct amdgpu_ring *kiq_ring, 142 void (*kiq_reset_hw_queue)(struct amdgpu_ring *kiq_ring,
|
H A D | amdgpu_amdkfd_gfx_v9.c | 305 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[inst].ring; in kgd_gfx_v9_hiq_mqd_load() local 321 r = amdgpu_ring_alloc(kiq_ring, 7); in kgd_gfx_v9_hiq_mqd_load() 327 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_MAP_QUEUES, 5)); in kgd_gfx_v9_hiq_mqd_load() 328 amdgpu_ring_write(kiq_ring, in kgd_gfx_v9_hiq_mqd_load() 338 amdgpu_ring_write(kiq_ring, in kgd_gfx_v9_hiq_mqd_load() 340 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_lo); in kgd_gfx_v9_hiq_mqd_load() 341 amdgpu_ring_write(kiq_ring, m->cp_mqd_base_addr_hi); in kgd_gfx_v9_hiq_mqd_load() 342 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_lo); in kgd_gfx_v9_hiq_mqd_load() 343 amdgpu_ring_write(kiq_ring, m->cp_hqd_pq_wptr_poll_addr_hi); in kgd_gfx_v9_hiq_mqd_load() 344 amdgpu_ring_commit(kiq_ring); in kgd_gfx_v9_hiq_mqd_load()
|
H A D | gfx_v9_0.c | 900 static void gfx_v9_0_kiq_set_resources(struct amdgpu_ring *kiq_ring, in gfx_v9_0_kiq_set_resources() argument 903 struct amdgpu_device *adev = kiq_ring->adev; in gfx_v9_0_kiq_set_resources() 909 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6)); in gfx_v9_0_kiq_set_resources() 910 amdgpu_ring_write(kiq_ring, in gfx_v9_0_kiq_set_resources() 914 amdgpu_ring_write(kiq_ring, in gfx_v9_0_kiq_set_resources() 916 amdgpu_ring_write(kiq_ring, in gfx_v9_0_kiq_set_resources() 918 amdgpu_ring_write(kiq_ring, lower_32_bits(shader_mc_addr)); /* cleaner shader addr lo */ in gfx_v9_0_kiq_set_resources() 919 amdgpu_ring_write(kiq_ring, upper_32_bits(shader_mc_addr)); /* cleaner shader addr hi */ in gfx_v9_0_kiq_set_resources() 920 amdgpu_ring_write(kiq_ring, 0); /* oac mask */ in gfx_v9_0_kiq_set_resources() 921 amdgpu_ring_write(kiq_ring, 0); /* gds heap base:0, gds heap size:0 */ in gfx_v9_0_kiq_set_resources() [all …]
|
H A D | gfx_v12_0.c | 245 static void gfx_v12_0_kiq_set_resources(struct amdgpu_ring *kiq_ring, in gfx_v12_0_kiq_set_resources() argument 248 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6)); in gfx_v12_0_kiq_set_resources() 249 amdgpu_ring_write(kiq_ring, PACKET3_SET_RESOURCES_VMID_MASK(0) | in gfx_v12_0_kiq_set_resources() 251 amdgpu_ring_write(kiq_ring, lower_32_bits(queue_mask)); /* queue mask lo */ in gfx_v12_0_kiq_set_resources() 252 amdgpu_ring_write(kiq_ring, upper_32_bits(queue_mask)); /* queue mask hi */ in gfx_v12_0_kiq_set_resources() 253 amdgpu_ring_write(kiq_ring, 0); /* gws mask lo */ in gfx_v12_0_kiq_set_resources() 254 amdgpu_ring_write(kiq_ring, 0); /* gws mask hi */ in gfx_v12_0_kiq_set_resources() 255 amdgpu_ring_write(kiq_ring, 0); /* oac mask */ in gfx_v12_0_kiq_set_resources() 256 amdgpu_ring_write(kiq_ring, 0); in gfx_v12_0_kiq_set_resources() 259 static void gfx_v12_0_kiq_map_queues(struct amdgpu_ring *kiq_ring, in gfx_v12_0_kiq_map_queues() argument [all …]
|
H A D | amdgpu_amdkfd.c | 829 struct amdgpu_ring *kiq_ring = &kiq->ring; in amdgpu_amdkfd_unmap_hiq() local 853 if (amdgpu_ring_alloc(kiq_ring, kiq->pmf->unmap_queues_size)) { in amdgpu_amdkfd_unmap_hiq() 859 kiq->pmf->kiq_unmap_queues(kiq_ring, ring, RESET_QUEUES, 0, 0); in amdgpu_amdkfd_unmap_hiq() 861 if (kiq_ring->sched.ready && !adev->job_hang) in amdgpu_amdkfd_unmap_hiq() 862 r = amdgpu_ring_test_helper(kiq_ring); in amdgpu_amdkfd_unmap_hiq()
|
H A D | gfx_v11_0.c | 294 static void gfx11_kiq_set_resources(struct amdgpu_ring *kiq_ring, uint64_t queue_mask) in gfx11_kiq_set_resources() argument 296 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6)); in gfx11_kiq_set_resources() 297 amdgpu_ring_write(kiq_ring, PACKET3_SET_RESOURCES_VMID_MASK(0) | in gfx11_kiq_set_resources() 300 amdgpu_ring_write(kiq_ring, lower_32_bits(queue_mask)); /* queue mask lo */ in gfx11_kiq_set_resources() 301 amdgpu_ring_write(kiq_ring, upper_32_bits(queue_mask)); /* queue mask hi */ in gfx11_kiq_set_resources() 302 amdgpu_ring_write(kiq_ring, 0); /* gws mask lo */ in gfx11_kiq_set_resources() 303 amdgpu_ring_write(kiq_ring, 0); /* gws mask hi */ in gfx11_kiq_set_resources() 304 amdgpu_ring_write(kiq_ring, 0); /* oac mask */ in gfx11_kiq_set_resources() 305 amdgpu_ring_write(kiq_ring, 0); /* gds heap base:0, gds heap size:0 */ in gfx11_kiq_set_resources() 308 static void gfx11_kiq_map_queues(struct amdgpu_ring *kiq_ring, in gfx11_kiq_map_queues() argument [all …]
|
H A D | gfx_v10_0.c | 3678 static void gfx10_kiq_set_resources(struct amdgpu_ring *kiq_ring, uint64_t queue_mask) in gfx10_kiq_set_resources() argument 3680 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6)); in gfx10_kiq_set_resources() 3681 amdgpu_ring_write(kiq_ring, PACKET3_SET_RESOURCES_VMID_MASK(0) | in gfx10_kiq_set_resources() 3683 amdgpu_ring_write(kiq_ring, lower_32_bits(queue_mask)); /* queue mask lo */ in gfx10_kiq_set_resources() 3684 amdgpu_ring_write(kiq_ring, upper_32_bits(queue_mask)); /* queue mask hi */ in gfx10_kiq_set_resources() 3685 amdgpu_ring_write(kiq_ring, 0); /* gws mask lo */ in gfx10_kiq_set_resources() 3686 amdgpu_ring_write(kiq_ring, 0); /* gws mask hi */ in gfx10_kiq_set_resources() 3687 amdgpu_ring_write(kiq_ring, 0); /* oac mask */ in gfx10_kiq_set_resources() 3688 amdgpu_ring_write(kiq_ring, 0); /* gds heap base:0, gds heap size:0 */ in gfx10_kiq_set_resources() 3691 static void gfx10_kiq_map_queues(struct amdgpu_ring *kiq_ring, in gfx10_kiq_map_queues() argument [all …]
|
H A D | gfx_v8_0.c | 4314 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[0].ring; in gfx_v8_0_kiq_kcq_enable() local 4333 r = amdgpu_ring_alloc(kiq_ring, (8 * adev->gfx.num_compute_rings) + 8); in gfx_v8_0_kiq_kcq_enable() 4339 amdgpu_ring_write(kiq_ring, PACKET3(PACKET3_SET_RESOURCES, 6)); in gfx_v8_0_kiq_kcq_enable() 4340 amdgpu_ring_write(kiq_ring, 0); /* vmid_mask:0 queue_type:0 (KIQ) */ in gfx_v8_0_kiq_kcq_enable() 4341 amdgpu_ring_write(kiq_ring, lower_32_bits(queue_mask)); /* queue mask lo */ in gfx_v8_0_kiq_kcq_enable() 4342 amdgpu_ring_write(kiq_ring, upper_32_bits(queue_mask)); /* queue mask hi */ in gfx_v8_0_kiq_kcq_enable() 4343 amdgpu_ring_write(kiq_ring, 0); /* gws mask lo */ in gfx_v8_0_kiq_kcq_enable() 4344 amdgpu_ring_write(kiq_ring, 0); /* gws mask hi */ in gfx_v8_0_kiq_kcq_enable() 4345 amdgpu_ring_write(kiq_ring, 0); /* oac mask */ in gfx_v8_0_kiq_kcq_enable() 4346 amdgpu_ring_write(kiq_ring, 0); /* gds heap base:0, gds heap size:0 */ in gfx_v8_0_kiq_kcq_enable() [all …]
|
H A D | mes_v12_0.c | 1173 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[0].ring; in mes_v12_0_kiq_enable_queue() local 1179 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->map_queues_size); in mes_v12_0_kiq_enable_queue() 1185 kiq->pmf->kiq_map_queues(kiq_ring, &adev->mes.ring[0]); in mes_v12_0_kiq_enable_queue() 1187 r = amdgpu_ring_test_ring(kiq_ring); in mes_v12_0_kiq_enable_queue() 1190 kiq_ring->sched.ready = false; in mes_v12_0_kiq_enable_queue()
|
H A D | mes_v11_0.c | 1200 struct amdgpu_ring *kiq_ring = &adev->gfx.kiq[0].ring; in mes_v11_0_kiq_enable_queue() local 1206 r = amdgpu_ring_alloc(kiq_ring, kiq->pmf->map_queues_size); in mes_v11_0_kiq_enable_queue() 1212 kiq->pmf->kiq_map_queues(kiq_ring, &adev->mes.ring[0]); in mes_v11_0_kiq_enable_queue() 1214 return amdgpu_ring_test_helper(kiq_ring); in mes_v11_0_kiq_enable_queue()
|
H A D | gfx_v7_0.c | 4959 struct amdgpu_ring *kiq_ring = &kiq->ring; in gfx_v7_0_reset_kgq() local 4972 if (amdgpu_ring_alloc(kiq_ring, 5)) { in gfx_v7_0_reset_kgq() 4978 gfx_v7_0_ring_emit_wreg(kiq_ring, mmCP_VMID_RESET, tmp); in gfx_v7_0_reset_kgq() 4979 amdgpu_ring_commit(kiq_ring); in gfx_v7_0_reset_kgq() 4983 r = amdgpu_ring_test_ring(kiq_ring); in gfx_v7_0_reset_kgq()
|