Commit f54b30d7 authored by Christian König's avatar Christian König Committed by Alex Deucher

drm/amdgpu: make function pointers mandatory

We always want those to be setup correctly.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarHuang Rui <ray.huang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0dd1e5bb
...@@ -468,7 +468,6 @@ static const struct amdgpu_ih_funcs cik_ih_funcs = { ...@@ -468,7 +468,6 @@ static const struct amdgpu_ih_funcs cik_ih_funcs = {
static void cik_ih_set_interrupt_funcs(struct amdgpu_device *adev) static void cik_ih_set_interrupt_funcs(struct amdgpu_device *adev)
{ {
if (adev->irq.ih_funcs == NULL)
adev->irq.ih_funcs = &cik_ih_funcs; adev->irq.ih_funcs = &cik_ih_funcs;
} }
......
...@@ -1370,10 +1370,8 @@ static const struct amdgpu_buffer_funcs cik_sdma_buffer_funcs = { ...@@ -1370,10 +1370,8 @@ static const struct amdgpu_buffer_funcs cik_sdma_buffer_funcs = {
static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev) static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev)
{ {
if (adev->mman.buffer_funcs == NULL) {
adev->mman.buffer_funcs = &cik_sdma_buffer_funcs; adev->mman.buffer_funcs = &cik_sdma_buffer_funcs;
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
}
} }
static const struct amdgpu_vm_pte_funcs cik_sdma_vm_pte_funcs = { static const struct amdgpu_vm_pte_funcs cik_sdma_vm_pte_funcs = {
...@@ -1389,7 +1387,6 @@ static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1389,7 +1387,6 @@ static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev)
struct drm_gpu_scheduler *sched; struct drm_gpu_scheduler *sched;
unsigned i; unsigned i;
if (adev->vm_manager.vm_pte_funcs == NULL) {
adev->vm_manager.vm_pte_funcs = &cik_sdma_vm_pte_funcs; adev->vm_manager.vm_pte_funcs = &cik_sdma_vm_pte_funcs;
for (i = 0; i < adev->sdma.num_instances; i++) { for (i = 0; i < adev->sdma.num_instances; i++) {
sched = &adev->sdma.instance[i].ring.sched; sched = &adev->sdma.instance[i].ring.sched;
...@@ -1397,7 +1394,6 @@ static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1397,7 +1394,6 @@ static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev)
&sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
} }
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
}
} }
const struct amdgpu_ip_block_version cik_sdma_ip_block = const struct amdgpu_ip_block_version cik_sdma_ip_block =
......
...@@ -449,7 +449,6 @@ static const struct amdgpu_ih_funcs cz_ih_funcs = { ...@@ -449,7 +449,6 @@ static const struct amdgpu_ih_funcs cz_ih_funcs = {
static void cz_ih_set_interrupt_funcs(struct amdgpu_device *adev) static void cz_ih_set_interrupt_funcs(struct amdgpu_device *adev)
{ {
if (adev->irq.ih_funcs == NULL)
adev->irq.ih_funcs = &cz_ih_funcs; adev->irq.ih_funcs = &cz_ih_funcs;
} }
......
...@@ -3570,7 +3570,6 @@ static const struct amdgpu_display_funcs dce_v10_0_display_funcs = { ...@@ -3570,7 +3570,6 @@ static const struct amdgpu_display_funcs dce_v10_0_display_funcs = {
static void dce_v10_0_set_display_funcs(struct amdgpu_device *adev) static void dce_v10_0_set_display_funcs(struct amdgpu_device *adev)
{ {
if (adev->mode_info.funcs == NULL)
adev->mode_info.funcs = &dce_v10_0_display_funcs; adev->mode_info.funcs = &dce_v10_0_display_funcs;
} }
......
...@@ -3702,7 +3702,6 @@ static const struct amdgpu_display_funcs dce_v11_0_display_funcs = { ...@@ -3702,7 +3702,6 @@ static const struct amdgpu_display_funcs dce_v11_0_display_funcs = {
static void dce_v11_0_set_display_funcs(struct amdgpu_device *adev) static void dce_v11_0_set_display_funcs(struct amdgpu_device *adev)
{ {
if (adev->mode_info.funcs == NULL)
adev->mode_info.funcs = &dce_v11_0_display_funcs; adev->mode_info.funcs = &dce_v11_0_display_funcs;
} }
......
...@@ -3376,7 +3376,6 @@ static const struct amdgpu_display_funcs dce_v6_0_display_funcs = { ...@@ -3376,7 +3376,6 @@ static const struct amdgpu_display_funcs dce_v6_0_display_funcs = {
static void dce_v6_0_set_display_funcs(struct amdgpu_device *adev) static void dce_v6_0_set_display_funcs(struct amdgpu_device *adev)
{ {
if (adev->mode_info.funcs == NULL)
adev->mode_info.funcs = &dce_v6_0_display_funcs; adev->mode_info.funcs = &dce_v6_0_display_funcs;
} }
......
...@@ -3458,7 +3458,6 @@ static const struct amdgpu_display_funcs dce_v8_0_display_funcs = { ...@@ -3458,7 +3458,6 @@ static const struct amdgpu_display_funcs dce_v8_0_display_funcs = {
static void dce_v8_0_set_display_funcs(struct amdgpu_device *adev) static void dce_v8_0_set_display_funcs(struct amdgpu_device *adev)
{ {
if (adev->mode_info.funcs == NULL)
adev->mode_info.funcs = &dce_v8_0_display_funcs; adev->mode_info.funcs = &dce_v8_0_display_funcs;
} }
......
...@@ -649,7 +649,6 @@ static const struct amdgpu_display_funcs dce_virtual_display_funcs = { ...@@ -649,7 +649,6 @@ static const struct amdgpu_display_funcs dce_virtual_display_funcs = {
static void dce_virtual_set_display_funcs(struct amdgpu_device *adev) static void dce_virtual_set_display_funcs(struct amdgpu_device *adev)
{ {
if (adev->mode_info.funcs == NULL)
adev->mode_info.funcs = &dce_virtual_display_funcs; adev->mode_info.funcs = &dce_virtual_display_funcs;
} }
......
...@@ -1180,7 +1180,6 @@ static const struct amdgpu_irq_src_funcs gmc_v6_0_irq_funcs = { ...@@ -1180,7 +1180,6 @@ static const struct amdgpu_irq_src_funcs gmc_v6_0_irq_funcs = {
static void gmc_v6_0_set_gmc_funcs(struct amdgpu_device *adev) static void gmc_v6_0_set_gmc_funcs(struct amdgpu_device *adev)
{ {
if (adev->gmc.gmc_funcs == NULL)
adev->gmc.gmc_funcs = &gmc_v6_0_gmc_funcs; adev->gmc.gmc_funcs = &gmc_v6_0_gmc_funcs;
} }
......
...@@ -1388,7 +1388,6 @@ static const struct amdgpu_irq_src_funcs gmc_v7_0_irq_funcs = { ...@@ -1388,7 +1388,6 @@ static const struct amdgpu_irq_src_funcs gmc_v7_0_irq_funcs = {
static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev) static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev)
{ {
if (adev->gmc.gmc_funcs == NULL)
adev->gmc.gmc_funcs = &gmc_v7_0_gmc_funcs; adev->gmc.gmc_funcs = &gmc_v7_0_gmc_funcs;
} }
......
...@@ -1733,7 +1733,6 @@ static const struct amdgpu_irq_src_funcs gmc_v8_0_irq_funcs = { ...@@ -1733,7 +1733,6 @@ static const struct amdgpu_irq_src_funcs gmc_v8_0_irq_funcs = {
static void gmc_v8_0_set_gmc_funcs(struct amdgpu_device *adev) static void gmc_v8_0_set_gmc_funcs(struct amdgpu_device *adev)
{ {
if (adev->gmc.gmc_funcs == NULL)
adev->gmc.gmc_funcs = &gmc_v8_0_gmc_funcs; adev->gmc.gmc_funcs = &gmc_v8_0_gmc_funcs;
} }
......
...@@ -593,7 +593,6 @@ static const struct amdgpu_gmc_funcs gmc_v9_0_gmc_funcs = { ...@@ -593,7 +593,6 @@ static const struct amdgpu_gmc_funcs gmc_v9_0_gmc_funcs = {
static void gmc_v9_0_set_gmc_funcs(struct amdgpu_device *adev) static void gmc_v9_0_set_gmc_funcs(struct amdgpu_device *adev)
{ {
if (adev->gmc.gmc_funcs == NULL)
adev->gmc.gmc_funcs = &gmc_v9_0_gmc_funcs; adev->gmc.gmc_funcs = &gmc_v9_0_gmc_funcs;
} }
......
...@@ -447,7 +447,6 @@ static const struct amdgpu_ih_funcs iceland_ih_funcs = { ...@@ -447,7 +447,6 @@ static const struct amdgpu_ih_funcs iceland_ih_funcs = {
static void iceland_ih_set_interrupt_funcs(struct amdgpu_device *adev) static void iceland_ih_set_interrupt_funcs(struct amdgpu_device *adev)
{ {
if (adev->irq.ih_funcs == NULL)
adev->irq.ih_funcs = &iceland_ih_funcs; adev->irq.ih_funcs = &iceland_ih_funcs;
} }
......
...@@ -1296,10 +1296,8 @@ static const struct amdgpu_buffer_funcs sdma_v2_4_buffer_funcs = { ...@@ -1296,10 +1296,8 @@ static const struct amdgpu_buffer_funcs sdma_v2_4_buffer_funcs = {
static void sdma_v2_4_set_buffer_funcs(struct amdgpu_device *adev) static void sdma_v2_4_set_buffer_funcs(struct amdgpu_device *adev)
{ {
if (adev->mman.buffer_funcs == NULL) {
adev->mman.buffer_funcs = &sdma_v2_4_buffer_funcs; adev->mman.buffer_funcs = &sdma_v2_4_buffer_funcs;
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
}
} }
static const struct amdgpu_vm_pte_funcs sdma_v2_4_vm_pte_funcs = { static const struct amdgpu_vm_pte_funcs sdma_v2_4_vm_pte_funcs = {
...@@ -1315,7 +1313,6 @@ static void sdma_v2_4_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1315,7 +1313,6 @@ static void sdma_v2_4_set_vm_pte_funcs(struct amdgpu_device *adev)
struct drm_gpu_scheduler *sched; struct drm_gpu_scheduler *sched;
unsigned i; unsigned i;
if (adev->vm_manager.vm_pte_funcs == NULL) {
adev->vm_manager.vm_pte_funcs = &sdma_v2_4_vm_pte_funcs; adev->vm_manager.vm_pte_funcs = &sdma_v2_4_vm_pte_funcs;
for (i = 0; i < adev->sdma.num_instances; i++) { for (i = 0; i < adev->sdma.num_instances; i++) {
sched = &adev->sdma.instance[i].ring.sched; sched = &adev->sdma.instance[i].ring.sched;
...@@ -1323,7 +1320,6 @@ static void sdma_v2_4_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1323,7 +1320,6 @@ static void sdma_v2_4_set_vm_pte_funcs(struct amdgpu_device *adev)
&sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
} }
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
}
} }
const struct amdgpu_ip_block_version sdma_v2_4_ip_block = const struct amdgpu_ip_block_version sdma_v2_4_ip_block =
......
...@@ -1736,10 +1736,8 @@ static const struct amdgpu_buffer_funcs sdma_v3_0_buffer_funcs = { ...@@ -1736,10 +1736,8 @@ static const struct amdgpu_buffer_funcs sdma_v3_0_buffer_funcs = {
static void sdma_v3_0_set_buffer_funcs(struct amdgpu_device *adev) static void sdma_v3_0_set_buffer_funcs(struct amdgpu_device *adev)
{ {
if (adev->mman.buffer_funcs == NULL) {
adev->mman.buffer_funcs = &sdma_v3_0_buffer_funcs; adev->mman.buffer_funcs = &sdma_v3_0_buffer_funcs;
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
}
} }
static const struct amdgpu_vm_pte_funcs sdma_v3_0_vm_pte_funcs = { static const struct amdgpu_vm_pte_funcs sdma_v3_0_vm_pte_funcs = {
...@@ -1755,7 +1753,6 @@ static void sdma_v3_0_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1755,7 +1753,6 @@ static void sdma_v3_0_set_vm_pte_funcs(struct amdgpu_device *adev)
struct drm_gpu_scheduler *sched; struct drm_gpu_scheduler *sched;
unsigned i; unsigned i;
if (adev->vm_manager.vm_pte_funcs == NULL) {
adev->vm_manager.vm_pte_funcs = &sdma_v3_0_vm_pte_funcs; adev->vm_manager.vm_pte_funcs = &sdma_v3_0_vm_pte_funcs;
for (i = 0; i < adev->sdma.num_instances; i++) { for (i = 0; i < adev->sdma.num_instances; i++) {
sched = &adev->sdma.instance[i].ring.sched; sched = &adev->sdma.instance[i].ring.sched;
...@@ -1763,7 +1760,6 @@ static void sdma_v3_0_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1763,7 +1760,6 @@ static void sdma_v3_0_set_vm_pte_funcs(struct amdgpu_device *adev)
&sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
} }
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
}
} }
const struct amdgpu_ip_block_version sdma_v3_0_ip_block = const struct amdgpu_ip_block_version sdma_v3_0_ip_block =
......
...@@ -1807,10 +1807,8 @@ static const struct amdgpu_buffer_funcs sdma_v4_0_buffer_funcs = { ...@@ -1807,10 +1807,8 @@ static const struct amdgpu_buffer_funcs sdma_v4_0_buffer_funcs = {
static void sdma_v4_0_set_buffer_funcs(struct amdgpu_device *adev) static void sdma_v4_0_set_buffer_funcs(struct amdgpu_device *adev)
{ {
if (adev->mman.buffer_funcs == NULL) {
adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs; adev->mman.buffer_funcs = &sdma_v4_0_buffer_funcs;
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
}
} }
static const struct amdgpu_vm_pte_funcs sdma_v4_0_vm_pte_funcs = { static const struct amdgpu_vm_pte_funcs sdma_v4_0_vm_pte_funcs = {
...@@ -1826,7 +1824,6 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1826,7 +1824,6 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev)
struct drm_gpu_scheduler *sched; struct drm_gpu_scheduler *sched;
unsigned i; unsigned i;
if (adev->vm_manager.vm_pte_funcs == NULL) {
adev->vm_manager.vm_pte_funcs = &sdma_v4_0_vm_pte_funcs; adev->vm_manager.vm_pte_funcs = &sdma_v4_0_vm_pte_funcs;
for (i = 0; i < adev->sdma.num_instances; i++) { for (i = 0; i < adev->sdma.num_instances; i++) {
sched = &adev->sdma.instance[i].ring.sched; sched = &adev->sdma.instance[i].ring.sched;
...@@ -1834,7 +1831,6 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -1834,7 +1831,6 @@ static void sdma_v4_0_set_vm_pte_funcs(struct amdgpu_device *adev)
&sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
} }
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
}
} }
const struct amdgpu_ip_block_version sdma_v4_0_ip_block = { const struct amdgpu_ip_block_version sdma_v4_0_ip_block = {
......
...@@ -863,10 +863,8 @@ static const struct amdgpu_buffer_funcs si_dma_buffer_funcs = { ...@@ -863,10 +863,8 @@ static const struct amdgpu_buffer_funcs si_dma_buffer_funcs = {
static void si_dma_set_buffer_funcs(struct amdgpu_device *adev) static void si_dma_set_buffer_funcs(struct amdgpu_device *adev)
{ {
if (adev->mman.buffer_funcs == NULL) {
adev->mman.buffer_funcs = &si_dma_buffer_funcs; adev->mman.buffer_funcs = &si_dma_buffer_funcs;
adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring; adev->mman.buffer_funcs_ring = &adev->sdma.instance[0].ring;
}
} }
static const struct amdgpu_vm_pte_funcs si_dma_vm_pte_funcs = { static const struct amdgpu_vm_pte_funcs si_dma_vm_pte_funcs = {
...@@ -882,7 +880,6 @@ static void si_dma_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -882,7 +880,6 @@ static void si_dma_set_vm_pte_funcs(struct amdgpu_device *adev)
struct drm_gpu_scheduler *sched; struct drm_gpu_scheduler *sched;
unsigned i; unsigned i;
if (adev->vm_manager.vm_pte_funcs == NULL) {
adev->vm_manager.vm_pte_funcs = &si_dma_vm_pte_funcs; adev->vm_manager.vm_pte_funcs = &si_dma_vm_pte_funcs;
for (i = 0; i < adev->sdma.num_instances; i++) { for (i = 0; i < adev->sdma.num_instances; i++) {
sched = &adev->sdma.instance[i].ring.sched; sched = &adev->sdma.instance[i].ring.sched;
...@@ -890,7 +887,6 @@ static void si_dma_set_vm_pte_funcs(struct amdgpu_device *adev) ...@@ -890,7 +887,6 @@ static void si_dma_set_vm_pte_funcs(struct amdgpu_device *adev)
&sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL]; &sched->sched_rq[DRM_SCHED_PRIORITY_KERNEL];
} }
adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances; adev->vm_manager.vm_pte_num_rqs = adev->sdma.num_instances;
}
} }
const struct amdgpu_ip_block_version si_dma_ip_block = const struct amdgpu_ip_block_version si_dma_ip_block =
......
...@@ -308,7 +308,6 @@ static const struct amdgpu_ih_funcs si_ih_funcs = { ...@@ -308,7 +308,6 @@ static const struct amdgpu_ih_funcs si_ih_funcs = {
static void si_ih_set_interrupt_funcs(struct amdgpu_device *adev) static void si_ih_set_interrupt_funcs(struct amdgpu_device *adev)
{ {
if (adev->irq.ih_funcs == NULL)
adev->irq.ih_funcs = &si_ih_funcs; adev->irq.ih_funcs = &si_ih_funcs;
} }
......
...@@ -513,7 +513,6 @@ static const struct amdgpu_ih_funcs tonga_ih_funcs = { ...@@ -513,7 +513,6 @@ static const struct amdgpu_ih_funcs tonga_ih_funcs = {
static void tonga_ih_set_interrupt_funcs(struct amdgpu_device *adev) static void tonga_ih_set_interrupt_funcs(struct amdgpu_device *adev)
{ {
if (adev->irq.ih_funcs == NULL)
adev->irq.ih_funcs = &tonga_ih_funcs; adev->irq.ih_funcs = &tonga_ih_funcs;
} }
......
...@@ -494,7 +494,6 @@ static const struct amdgpu_ih_funcs vega10_ih_funcs = { ...@@ -494,7 +494,6 @@ static const struct amdgpu_ih_funcs vega10_ih_funcs = {
static void vega10_ih_set_interrupt_funcs(struct amdgpu_device *adev) static void vega10_ih_set_interrupt_funcs(struct amdgpu_device *adev)
{ {
if (adev->irq.ih_funcs == NULL)
adev->irq.ih_funcs = &vega10_ih_funcs; adev->irq.ih_funcs = &vega10_ih_funcs;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment