diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0860-drm-amdgpu-Call-doorbell-index-init-on-device-initia.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0860-drm-amdgpu-Call-doorbell-index-init-on-device-initia.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0860-drm-amdgpu-Call-doorbell-index-init-on-device-initia.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0860-drm-amdgpu-Call-doorbell-index-init-on-device-initia.patch new file mode 100644 index 00000000..ae13e9ff --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0860-drm-amdgpu-Call-doorbell-index-init-on-device-initia.patch @@ -0,0 +1,56 @@ +From d945d720a71858f3c65e4edd064b9ee63415d282 Mon Sep 17 00:00:00 2001 +From: Oak Zeng <ozeng@amd.com> +Date: Mon, 19 Nov 2018 14:36:09 -0600 +Subject: [PATCH 0860/2940] drm/amdgpu: Call doorbell index init on device + initialization + +Also call functioin amdgpu_device_doorbell_init after +amdgpu_device_ip_early_init because the former depends +on the later to set up asic-specific init_doorbell_index +function + +Signed-off-by: Oak Zeng <ozeng@amd.com> +Suggested-by: Felix Kuehling <Felix.Kuehling@amd.com> +Suggested-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +index 2e14c4e2686c..c323fd2b7d18 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +@@ -513,6 +513,8 @@ void amdgpu_device_pci_config_reset(struct amdgpu_device *adev) + */ + static int amdgpu_device_doorbell_init(struct amdgpu_device *adev) + { ++ amdgpu_asic_init_doorbell_index(adev); ++ + /* No doorbell on SI hardware generation */ + if (adev->asic_type < CHIP_BONAIRE) { + adev->doorbell.base = 0; +@@ -2513,9 +2515,6 @@ int amdgpu_device_init(struct amdgpu_device *adev, + DRM_INFO("register mmio base: 0x%08X\n", (uint32_t)adev->rmmio_base); + DRM_INFO("register mmio size: %u\n", (unsigned)adev->rmmio_size); + +- /* doorbell bar mapping */ +- amdgpu_device_doorbell_init(adev); +- + /* io port mapping */ + for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { + if (pci_resource_flags(adev->pdev, i) & IORESOURCE_IO) { +@@ -2534,6 +2533,9 @@ int amdgpu_device_init(struct amdgpu_device *adev, + if (r) + return r; + ++ /* doorbell bar mapping and doorbell index init*/ ++ amdgpu_device_doorbell_init(adev); ++ + /* if we have > 1 VGA cards, then disable the amdgpu VGA resources */ + /* this will fail for cards that aren't VGA class devices, just + * ignore it */ +-- +2.17.1 + |