diff options
author | Christian König <christian.koenig@amd.com> | 2018-09-17 09:41:45 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-09-26 22:09:21 -0400 |
commit | f54b30d70bc606f7a154edba5883c7fa23838e9f (patch) | |
tree | 23cb75c552eae7e36939f580296d43ca1f1ada66 /drivers/gpu | |
parent | 0dd1e5bbecd75b6977d47be39f85af1bda524006 (diff) |
drm/amdgpu: make function pointers mandatory
We always want those to be setup correctly.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik_ih.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cz_ih.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/si_dma.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/si_ih.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 3 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 3 |
20 files changed, 55 insertions, 90 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/cik_ih.c b/drivers/gpu/drm/amd/amdgpu/cik_ih.c index 44d10c2172f6..e75183e09820 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/cik_ih.c | |||
@@ -468,8 +468,7 @@ static const struct amdgpu_ih_funcs cik_ih_funcs = { | |||
468 | 468 | ||
469 | static void cik_ih_set_interrupt_funcs(struct amdgpu_device *adev) | 469 | static void cik_ih_set_interrupt_funcs(struct amdgpu_device *adev) |
470 | { | 470 | { |
471 | if (adev->irq.ih_funcs == NULL) | 471 | adev->irq.ih_funcs = &cik_ih_funcs; |
472 | adev->irq.ih_funcs = &cik_ih_funcs; | ||
473 | } | 472 | } |
474 | 473 | ||
475 | const struct amdgpu_ip_block_version cik_ih_ip_block = | 474 | const struct amdgpu_ip_block_version cik_ih_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c index 154b1499b07e..ee9d5c92edb1 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c | |||
@@ -1370,10 +1370,8 @@ static const struct amdgpu_buffer_funcs cik_sdma_buffer_funcs = { | |||
1370 | 1370 | ||
1371 | static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev) | 1371 | static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev) |
1372 | { | 1372 | { |
1373 | if (adev->mman.buffer_funcs == NULL) { | 1373 | adev->mman.buffer_funcs = &cik_sdma_buffer_funcs; |
1374 | adev->mman.buffer_funcs = &cik_sdma_buffer_funcs; | 1374 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; |
1375 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; | ||
1376 | } | ||
1377 | } | 1375 | } |
1378 | 1376 | ||
1379 | static const struct amdgpu_vm_pte_funcs cik_sdma_vm_pte_funcs = { | 1377 | static const struct amdgpu_vm_pte_funcs cik_sdma_vm_pte_funcs = { |
@@ -1389,15 +1387,13 @@ static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev) | |||
1389 | struct drm_gpu_scheduler *sched; | 1387 | struct drm_gpu_scheduler *sched; |
1390 | unsigned i; | 1388 | unsigned i; |
1391 | 1389 | ||
1392 | if (adev->vm_manager.vm_pte_funcs == NULL) { | 1390 | adev->vm_manager.vm_pte_funcs = &cik_sdma_vm_pte_funcs; |
1393 | adev->vm_manager.vm_pte_funcs = &cik_sdma_vm_pte_funcs; | 1391 | for (i = 0; i < adev->sdma.num_instances; i++) { |
1394 | for (i = 0; i < adev->sdma.num_instances; i++) { | 1392 | sched = &adev->sdma.instance[i].ring.sched; |
1395 | sched = &adev->sdma.instance[i].ring.sched; | 1393 | adev->vm_manager.vm_pte_rqs[i] = |
1396 | adev->vm_manager.vm_pte_rqs[i] = | 1394 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; |
1397 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; | ||
1398 | } | ||
1399 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1400 | } | 1395 | } |
1396 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1401 | } | 1397 | } |
1402 | 1398 | ||
1403 | const struct amdgpu_ip_block_version cik_sdma_ip_block = | 1399 | const struct amdgpu_ip_block_version cik_sdma_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/cz_ih.c b/drivers/gpu/drm/amd/amdgpu/cz_ih.c index 960c29e17da6..9385da1e1e40 100644 --- a/drivers/gpu/drm/amd/amdgpu/cz_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/cz_ih.c | |||
@@ -449,8 +449,7 @@ static const struct amdgpu_ih_funcs cz_ih_funcs = { | |||
449 | 449 | ||
450 | static void cz_ih_set_interrupt_funcs(struct amdgpu_device *adev) | 450 | static void cz_ih_set_interrupt_funcs(struct amdgpu_device *adev) |
451 | { | 451 | { |
452 | if (adev->irq.ih_funcs == NULL) | 452 | adev->irq.ih_funcs = &cz_ih_funcs; |
453 | adev->irq.ih_funcs = &cz_ih_funcs; | ||
454 | } | 453 | } |
455 | 454 | ||
456 | const struct amdgpu_ip_block_version cz_ih_ip_block = | 455 | const struct amdgpu_ip_block_version cz_ih_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c index 3916aa6cc4ec..89c09c396fe6 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | |||
@@ -3570,8 +3570,7 @@ static const struct amdgpu_display_funcs dce_v10_0_display_funcs = { | |||
3570 | 3570 | ||
3571 | static void dce_v10_0_set_display_funcs(struct amdgpu_device *adev) | 3571 | static void dce_v10_0_set_display_funcs(struct amdgpu_device *adev) |
3572 | { | 3572 | { |
3573 | if (adev->mode_info.funcs == NULL) | 3573 | adev->mode_info.funcs = &dce_v10_0_display_funcs; |
3574 | adev->mode_info.funcs = &dce_v10_0_display_funcs; | ||
3575 | } | 3574 | } |
3576 | 3575 | ||
3577 | static const struct amdgpu_irq_src_funcs dce_v10_0_crtc_irq_funcs = { | 3576 | static const struct amdgpu_irq_src_funcs dce_v10_0_crtc_irq_funcs = { |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c index 4ffb612a4e53..cf6faaa05dbb 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | |||
@@ -3702,8 +3702,7 @@ static const struct amdgpu_display_funcs dce_v11_0_display_funcs = { | |||
3702 | 3702 | ||
3703 | static void dce_v11_0_set_display_funcs(struct amdgpu_device *adev) | 3703 | static void dce_v11_0_set_display_funcs(struct amdgpu_device *adev) |
3704 | { | 3704 | { |
3705 | if (adev->mode_info.funcs == NULL) | 3705 | adev->mode_info.funcs = &dce_v11_0_display_funcs; |
3706 | adev->mode_info.funcs = &dce_v11_0_display_funcs; | ||
3707 | } | 3706 | } |
3708 | 3707 | ||
3709 | static const struct amdgpu_irq_src_funcs dce_v11_0_crtc_irq_funcs = { | 3708 | static const struct amdgpu_irq_src_funcs dce_v11_0_crtc_irq_funcs = { |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c index 480c5348a14f..371aa05bf537 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | |||
@@ -3376,8 +3376,7 @@ static const struct amdgpu_display_funcs dce_v6_0_display_funcs = { | |||
3376 | 3376 | ||
3377 | static void dce_v6_0_set_display_funcs(struct amdgpu_device *adev) | 3377 | static void dce_v6_0_set_display_funcs(struct amdgpu_device *adev) |
3378 | { | 3378 | { |
3379 | if (adev->mode_info.funcs == NULL) | 3379 | adev->mode_info.funcs = &dce_v6_0_display_funcs; |
3380 | adev->mode_info.funcs = &dce_v6_0_display_funcs; | ||
3381 | } | 3380 | } |
3382 | 3381 | ||
3383 | static const struct amdgpu_irq_src_funcs dce_v6_0_crtc_irq_funcs = { | 3382 | static const struct amdgpu_irq_src_funcs dce_v6_0_crtc_irq_funcs = { |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c index 797196476c94..30e76f2407c2 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | |||
@@ -3458,8 +3458,7 @@ static const struct amdgpu_display_funcs dce_v8_0_display_funcs = { | |||
3458 | 3458 | ||
3459 | static void dce_v8_0_set_display_funcs(struct amdgpu_device *adev) | 3459 | static void dce_v8_0_set_display_funcs(struct amdgpu_device *adev) |
3460 | { | 3460 | { |
3461 | if (adev->mode_info.funcs == NULL) | 3461 | adev->mode_info.funcs = &dce_v8_0_display_funcs; |
3462 | adev->mode_info.funcs = &dce_v8_0_display_funcs; | ||
3463 | } | 3462 | } |
3464 | 3463 | ||
3465 | static const struct amdgpu_irq_src_funcs dce_v8_0_crtc_irq_funcs = { | 3464 | static const struct amdgpu_irq_src_funcs dce_v8_0_crtc_irq_funcs = { |
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c index 15257634a53a..2cc480d65394 100644 --- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c +++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c | |||
@@ -649,8 +649,7 @@ static const struct amdgpu_display_funcs dce_virtual_display_funcs = { | |||
649 | 649 | ||
650 | static void dce_virtual_set_display_funcs(struct amdgpu_device *adev) | 650 | static void dce_virtual_set_display_funcs(struct amdgpu_device *adev) |
651 | { | 651 | { |
652 | if (adev->mode_info.funcs == NULL) | 652 | adev->mode_info.funcs = &dce_virtual_display_funcs; |
653 | adev->mode_info.funcs = &dce_virtual_display_funcs; | ||
654 | } | 653 | } |
655 | 654 | ||
656 | static int dce_virtual_pageflip(struct amdgpu_device *adev, | 655 | static int dce_virtual_pageflip(struct amdgpu_device *adev, |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c index 4411463ca719..3b8ac4442f06 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | |||
@@ -1180,8 +1180,7 @@ static const struct amdgpu_irq_src_funcs gmc_v6_0_irq_funcs = { | |||
1180 | 1180 | ||
1181 | static void gmc_v6_0_set_gmc_funcs(struct amdgpu_device *adev) | 1181 | static void gmc_v6_0_set_gmc_funcs(struct amdgpu_device *adev) |
1182 | { | 1182 | { |
1183 | if (adev->gmc.gmc_funcs == NULL) | 1183 | adev->gmc.gmc_funcs = &gmc_v6_0_gmc_funcs; |
1184 | adev->gmc.gmc_funcs = &gmc_v6_0_gmc_funcs; | ||
1185 | } | 1184 | } |
1186 | 1185 | ||
1187 | static void gmc_v6_0_set_irq_funcs(struct amdgpu_device *adev) | 1186 | static void gmc_v6_0_set_irq_funcs(struct amdgpu_device *adev) |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c index ae776ce9a415..899634ce4238 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | |||
@@ -1388,8 +1388,7 @@ static const struct amdgpu_irq_src_funcs gmc_v7_0_irq_funcs = { | |||
1388 | 1388 | ||
1389 | static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev) | 1389 | static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev) |
1390 | { | 1390 | { |
1391 | if (adev->gmc.gmc_funcs == NULL) | 1391 | adev->gmc.gmc_funcs = &gmc_v7_0_gmc_funcs; |
1392 | adev->gmc.gmc_funcs = &gmc_v7_0_gmc_funcs; | ||
1393 | } | 1392 | } |
1394 | 1393 | ||
1395 | static void gmc_v7_0_set_irq_funcs(struct amdgpu_device *adev) | 1394 | static void gmc_v7_0_set_irq_funcs(struct amdgpu_device *adev) |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c index 53ae49b8bde8..79143ca7cfac 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | |||
@@ -1733,8 +1733,7 @@ static const struct amdgpu_irq_src_funcs gmc_v8_0_irq_funcs = { | |||
1733 | 1733 | ||
1734 | static void gmc_v8_0_set_gmc_funcs(struct amdgpu_device *adev) | 1734 | static void gmc_v8_0_set_gmc_funcs(struct amdgpu_device *adev) |
1735 | { | 1735 | { |
1736 | if (adev->gmc.gmc_funcs == NULL) | 1736 | adev->gmc.gmc_funcs = &gmc_v8_0_gmc_funcs; |
1737 | adev->gmc.gmc_funcs = &gmc_v8_0_gmc_funcs; | ||
1738 | } | 1737 | } |
1739 | 1738 | ||
1740 | static void gmc_v8_0_set_irq_funcs(struct amdgpu_device *adev) | 1739 | static void gmc_v8_0_set_irq_funcs(struct amdgpu_device *adev) |
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c index aad3c7c5fb3a..f35d7a554ad5 100644 --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | |||
@@ -593,8 +593,7 @@ static const struct amdgpu_gmc_funcs gmc_v9_0_gmc_funcs = { | |||
593 | 593 | ||
594 | static void gmc_v9_0_set_gmc_funcs(struct amdgpu_device *adev) | 594 | static void gmc_v9_0_set_gmc_funcs(struct amdgpu_device *adev) |
595 | { | 595 | { |
596 | if (adev->gmc.gmc_funcs == NULL) | 596 | adev->gmc.gmc_funcs = &gmc_v9_0_gmc_funcs; |
597 | adev->gmc.gmc_funcs = &gmc_v9_0_gmc_funcs; | ||
598 | } | 597 | } |
599 | 598 | ||
600 | static int gmc_v9_0_early_init(void *handle) | 599 | static int gmc_v9_0_early_init(void *handle) |
diff --git a/drivers/gpu/drm/amd/amdgpu/iceland_ih.c b/drivers/gpu/drm/amd/amdgpu/iceland_ih.c index 842c4b677b4d..45ef0a818e11 100644 --- a/drivers/gpu/drm/amd/amdgpu/iceland_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/iceland_ih.c | |||
@@ -447,8 +447,7 @@ static const struct amdgpu_ih_funcs iceland_ih_funcs = { | |||
447 | 447 | ||
448 | static void iceland_ih_set_interrupt_funcs(struct amdgpu_device *adev) | 448 | static void iceland_ih_set_interrupt_funcs(struct amdgpu_device *adev) |
449 | { | 449 | { |
450 | if (adev->irq.ih_funcs == NULL) | 450 | adev->irq.ih_funcs = &iceland_ih_funcs; |
451 | adev->irq.ih_funcs = &iceland_ih_funcs; | ||
452 | } | 451 | } |
453 | 452 | ||
454 | const struct amdgpu_ip_block_version iceland_ih_ip_block = | 453 | const struct amdgpu_ip_block_version iceland_ih_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c index c403bdf8ad70..0c5a576dee13 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | |||
@@ -1296,10 +1296,8 @@ static const struct amdgpu_buffer_funcs sdma_v2_4_buffer_funcs = { | |||
1296 | 1296 | ||
1297 | static void sdma_v2_4_set_buffer_funcs(struct amdgpu_device *adev) | 1297 | static void sdma_v2_4_set_buffer_funcs(struct amdgpu_device *adev) |
1298 | { | 1298 | { |
1299 | if (adev->mman.buffer_funcs == NULL) { | 1299 | adev->mman.buffer_funcs = &sdma_v2_4_buffer_funcs; |
1300 | adev->mman.buffer_funcs = &sdma_v2_4_buffer_funcs; | 1300 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; |
1301 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; | ||
1302 | } | ||
1303 | } | 1301 | } |
1304 | 1302 | ||
1305 | static const struct amdgpu_vm_pte_funcs sdma_v2_4_vm_pte_funcs = { | 1303 | static const struct amdgpu_vm_pte_funcs sdma_v2_4_vm_pte_funcs = { |
@@ -1315,15 +1313,13 @@ static void sdma_v2_4_set_vm_pte_funcs(struct amdgpu_device *adev) | |||
1315 | struct drm_gpu_scheduler *sched; | 1313 | struct drm_gpu_scheduler *sched; |
1316 | unsigned i; | 1314 | unsigned i; |
1317 | 1315 | ||
1318 | if (adev->vm_manager.vm_pte_funcs == NULL) { | 1316 | adev->vm_manager.vm_pte_funcs = &sdma_v2_4_vm_pte_funcs; |
1319 | adev->vm_manager.vm_pte_funcs = &sdma_v2_4_vm_pte_funcs; | 1317 | for (i = 0; i < adev->sdma.num_instances; i++) { |
1320 | for (i = 0; i < adev->sdma.num_instances; i++) { | 1318 | sched = &adev->sdma.instance[i].ring.sched; |
1321 | sched = &adev->sdma.instance[i].ring.sched; | 1319 | adev->vm_manager.vm_pte_rqs[i] = |
1322 | adev->vm_manager.vm_pte_rqs[i] = | 1320 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; |
1323 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; | ||
1324 | } | ||
1325 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1326 | } | 1321 | } |
1322 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1327 | } | 1323 | } |
1328 | 1324 | ||
1329 | const struct amdgpu_ip_block_version sdma_v2_4_ip_block = | 1325 | const struct amdgpu_ip_block_version sdma_v2_4_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c index 2677d6a1bf42..2587b8de918a 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | |||
@@ -1736,10 +1736,8 @@ static const struct amdgpu_buffer_funcs sdma_v3_0_buffer_funcs = { | |||
1736 | 1736 | ||
1737 | static void sdma_v3_0_set_buffer_funcs(struct amdgpu_device *adev) | 1737 | static void sdma_v3_0_set_buffer_funcs(struct amdgpu_device *adev) |
1738 | { | 1738 | { |
1739 | if (adev->mman.buffer_funcs == NULL) { | 1739 | adev->mman.buffer_funcs = &sdma_v3_0_buffer_funcs; |
1740 | adev->mman.buffer_funcs = &sdma_v3_0_buffer_funcs; | 1740 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; |
1741 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; | ||
1742 | } | ||
1743 | } | 1741 | } |
1744 | 1742 | ||
1745 | static const struct amdgpu_vm_pte_funcs sdma_v3_0_vm_pte_funcs = { | 1743 | static const struct amdgpu_vm_pte_funcs sdma_v3_0_vm_pte_funcs = { |
@@ -1755,15 +1753,13 @@ static void sdma_v3_0_set_vm_pte_funcs(struct amdgpu_device *adev) | |||
1755 | struct drm_gpu_scheduler *sched; | 1753 | struct drm_gpu_scheduler *sched; |
1756 | unsigned i; | 1754 | unsigned i; |
1757 | 1755 | ||
1758 | if (adev->vm_manager.vm_pte_funcs == NULL) { | 1756 | adev->vm_manager.vm_pte_funcs = &sdma_v3_0_vm_pte_funcs; |
1759 | adev->vm_manager.vm_pte_funcs = &sdma_v3_0_vm_pte_funcs; | 1757 | for (i = 0; i < adev->sdma.num_instances; i++) { |
1760 | for (i = 0; i < adev->sdma.num_instances; i++) { | 1758 | sched = &adev->sdma.instance[i].ring.sched; |
1761 | sched = &adev->sdma.instance[i].ring.sched; | 1759 | adev->vm_manager.vm_pte_rqs[i] = |
1762 | adev->vm_manager.vm_pte_rqs[i] = | 1760 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; |
1763 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; | ||
1764 | } | ||
1765 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1766 | } | 1761 | } |
1762 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1767 | } | 1763 | } |
1768 | 1764 | ||
1769 | const struct amdgpu_ip_block_version sdma_v3_0_ip_block = | 1765 | const struct amdgpu_ip_block_version sdma_v3_0_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c index 9da4a1bff5c5..a3e2ed15fff2 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | |||
@@ -1807,10 +1807,8 @@ static const struct amdgpu_buffer_funcs sdma_v4_0_buffer_funcs = { | |||
1807 | 1807 | ||
1808 | static void sdma_v4_0_set_buffer_funcs(struct amdgpu_device *adev) | 1808 | static void sdma_v4_0_set_buffer_funcs(struct amdgpu_device *adev) |
1809 | { | 1809 | { |
1810 | if (adev->mman.buffer_funcs == NULL) { | 1810 | adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs; |
1811 | adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs; | 1811 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; |
1812 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; | ||
1813 | } | ||
1814 | } | 1812 | } |
1815 | 1813 | ||
1816 | static const struct amdgpu_vm_pte_funcs sdma_v4_0_vm_pte_funcs = { | 1814 | static const struct amdgpu_vm_pte_funcs sdma_v4_0_vm_pte_funcs = { |
@@ -1826,15 +1824,13 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev) | |||
1826 | struct drm_gpu_scheduler *sched; | 1824 | struct drm_gpu_scheduler *sched; |
1827 | unsigned i; | 1825 | unsigned i; |
1828 | 1826 | ||
1829 | if (adev->vm_manager.vm_pte_funcs == NULL) { | 1827 | adev->vm_manager.vm_pte_funcs = &sdma_v4_0_vm_pte_funcs; |
1830 | adev->vm_manager.vm_pte_funcs = &sdma_v4_0_vm_pte_funcs; | 1828 | for (i = 0; i < adev->sdma.num_instances; i++) { |
1831 | for (i = 0; i < adev->sdma.num_instances; i++) { | 1829 | sched = &adev->sdma.instance[i].ring.sched; |
1832 | sched = &adev->sdma.instance[i].ring.sched; | 1830 | adev->vm_manager.vm_pte_rqs[i] = |
1833 | adev->vm_manager.vm_pte_rqs[i] = | 1831 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; |
1834 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; | ||
1835 | } | ||
1836 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1837 | } | 1832 | } |
1833 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
1838 | } | 1834 | } |
1839 | 1835 | ||
1840 | const struct amdgpu_ip_block_version sdma_v4_0_ip_block = { | 1836 | const struct amdgpu_ip_block_version sdma_v4_0_ip_block = { |
diff --git a/drivers/gpu/drm/amd/amdgpu/si_dma.c b/drivers/gpu/drm/amd/amdgpu/si_dma.c index fafaf259b17b..c3510a703f9f 100644 --- a/drivers/gpu/drm/amd/amdgpu/si_dma.c +++ b/drivers/gpu/drm/amd/amdgpu/si_dma.c | |||
@@ -863,10 +863,8 @@ static const struct amdgpu_buffer_funcs si_dma_buffer_funcs = { | |||
863 | 863 | ||
864 | static void si_dma_set_buffer_funcs(struct amdgpu_device *adev) | 864 | static void si_dma_set_buffer_funcs(struct amdgpu_device *adev) |
865 | { | 865 | { |
866 | if (adev->mman.buffer_funcs == NULL) { | 866 | adev->mman.buffer_funcs = &si_dma_buffer_funcs; |
867 | adev->mman.buffer_funcs = &si_dma_buffer_funcs; | 867 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; |
868 | adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; | ||
869 | } | ||
870 | } | 868 | } |
871 | 869 | ||
872 | static const struct amdgpu_vm_pte_funcs si_dma_vm_pte_funcs = { | 870 | static const struct amdgpu_vm_pte_funcs si_dma_vm_pte_funcs = { |
@@ -882,15 +880,13 @@ static void si_dma_set_vm_pte_funcs(struct amdgpu_device *adev) | |||
882 | struct drm_gpu_scheduler *sched; | 880 | struct drm_gpu_scheduler *sched; |
883 | unsigned i; | 881 | unsigned i; |
884 | 882 | ||
885 | if (adev->vm_manager.vm_pte_funcs == NULL) { | 883 | adev->vm_manager.vm_pte_funcs = &si_dma_vm_pte_funcs; |
886 | adev->vm_manager.vm_pte_funcs = &si_dma_vm_pte_funcs; | 884 | for (i = 0; i < adev->sdma.num_instances; i++) { |
887 | for (i = 0; i < adev->sdma.num_instances; i++) { | 885 | sched = &adev->sdma.instance[i].ring.sched; |
888 | sched = &adev->sdma.instance[i].ring.sched; | 886 | adev->vm_manager.vm_pte_rqs[i] = |
889 | adev->vm_manager.vm_pte_rqs[i] = | 887 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; |
890 | &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; | ||
891 | } | ||
892 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
893 | } | 888 | } |
889 | adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; | ||
894 | } | 890 | } |
895 | 891 | ||
896 | const struct amdgpu_ip_block_version si_dma_ip_block = | 892 | const struct amdgpu_ip_block_version si_dma_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/si_ih.c b/drivers/gpu/drm/amd/amdgpu/si_ih.c index 60dad63098a2..97711d327527 100644 --- a/drivers/gpu/drm/amd/amdgpu/si_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/si_ih.c | |||
@@ -308,8 +308,7 @@ static const struct amdgpu_ih_funcs si_ih_funcs = { | |||
308 | 308 | ||
309 | static void si_ih_set_interrupt_funcs(struct amdgpu_device *adev) | 309 | static void si_ih_set_interrupt_funcs(struct amdgpu_device *adev) |
310 | { | 310 | { |
311 | if (adev->irq.ih_funcs == NULL) | 311 | adev->irq.ih_funcs = &si_ih_funcs; |
312 | adev->irq.ih_funcs = &si_ih_funcs; | ||
313 | } | 312 | } |
314 | 313 | ||
315 | const struct amdgpu_ip_block_version si_ih_ip_block = | 314 | const struct amdgpu_ip_block_version si_ih_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/tonga_ih.c b/drivers/gpu/drm/amd/amdgpu/tonga_ih.c index 52853d8a8fdd..a79a3776888a 100644 --- a/drivers/gpu/drm/amd/amdgpu/tonga_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/tonga_ih.c | |||
@@ -513,8 +513,7 @@ static const struct amdgpu_ih_funcs tonga_ih_funcs = { | |||
513 | 513 | ||
514 | static void tonga_ih_set_interrupt_funcs(struct amdgpu_device *adev) | 514 | static void tonga_ih_set_interrupt_funcs(struct amdgpu_device *adev) |
515 | { | 515 | { |
516 | if (adev->irq.ih_funcs == NULL) | 516 | adev->irq.ih_funcs = &tonga_ih_funcs; |
517 | adev->irq.ih_funcs = &tonga_ih_funcs; | ||
518 | } | 517 | } |
519 | 518 | ||
520 | const struct amdgpu_ip_block_version tonga_ih_ip_block = | 519 | const struct amdgpu_ip_block_version tonga_ih_ip_block = |
diff --git a/drivers/gpu/drm/amd/amdgpu/vega10_ih.c b/drivers/gpu/drm/amd/amdgpu/vega10_ih.c index acbe5a770207..37487b4cbd6e 100644 --- a/drivers/gpu/drm/amd/amdgpu/vega10_ih.c +++ b/drivers/gpu/drm/amd/amdgpu/vega10_ih.c | |||
@@ -494,8 +494,7 @@ static const struct amdgpu_ih_funcs vega10_ih_funcs = { | |||
494 | 494 | ||
495 | static void vega10_ih_set_interrupt_funcs(struct amdgpu_device *adev) | 495 | static void vega10_ih_set_interrupt_funcs(struct amdgpu_device *adev) |
496 | { | 496 | { |
497 | if (adev->irq.ih_funcs == NULL) | 497 | adev->irq.ih_funcs = &vega10_ih_funcs; |
498 | adev->irq.ih_funcs = &vega10_ih_funcs; | ||
499 | } | 498 | } |
500 | 499 | ||
501 | const struct amdgpu_ip_block_version vega10_ih_ip_block = | 500 | const struct amdgpu_ip_block_version vega10_ih_ip_block = |