aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0882-drm-amdgpu-move-hw-generation-check-into-amdgpu_door.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0882-drm-amdgpu-move-hw-generation-check-into-amdgpu_door.patch')
-rw-r--r--meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0882-drm-amdgpu-move-hw-generation-check-into-amdgpu_door.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0882-drm-amdgpu-move-hw-generation-check-into-amdgpu_door.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0882-drm-amdgpu-move-hw-generation-check-into-amdgpu_door.patch
new file mode 100644
index 00000000..3649f4b4
--- /dev/null
+++ b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0882-drm-amdgpu-move-hw-generation-check-into-amdgpu_door.patch
@@ -0,0 +1,64 @@
+From ed2ec5a62142dbe4e178ba782ce120fb6b111d96 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
+Date: Thu, 8 Jun 2017 11:15:16 +0200
+Subject: [PATCH 0882/4131] drm/amdgpu: move hw generation check into
+ amdgpu_doorbell_init v2
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This way we can safely call it on SI as well.
+
+v2: fix type in commit message
+
+Signed-off-by: Christian König <christian.koenig@amd.com>
+Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+index 4709fdc..2b083d7 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -404,6 +404,15 @@ void amdgpu_pci_config_reset(struct amdgpu_device *adev)
+ */
+ static int amdgpu_doorbell_init(struct amdgpu_device *adev)
+ {
++ /* No doorbell on SI hardware generation */
++ if (adev->asic_type < CHIP_BONAIRE) {
++ adev->doorbell.base = 0;
++ adev->doorbell.size = 0;
++ adev->doorbell.num_doorbells = 0;
++ adev->doorbell.ptr = NULL;
++ return 0;
++ }
++
+ /* doorbell bar mapping */
+ adev->doorbell.base = pci_resource_start(adev->pdev, 2);
+ adev->doorbell.size = pci_resource_len(adev->pdev, 2);
+@@ -2121,9 +2130,8 @@ 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);
+
+- if (adev->asic_type >= CHIP_BONAIRE)
+- /* doorbell bar mapping */
+- amdgpu_doorbell_init(adev);
++ /* doorbell bar mapping */
++ amdgpu_doorbell_init(adev);
+
+ /* io port mapping */
+ for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
+@@ -2350,8 +2358,7 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
+ adev->rio_mem = NULL;
+ iounmap(adev->rmmio);
+ adev->rmmio = NULL;
+- if (adev->asic_type >= CHIP_BONAIRE)
+- amdgpu_doorbell_fini(adev);
++ amdgpu_doorbell_fini(adev);
+ amdgpu_debugfs_regs_cleanup(adev);
+ }
+
+--
+2.7.4
+