diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1178-drm-amdgpu-fix-the-incorrect-external-id-for-raven-s.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1178-drm-amdgpu-fix-the-incorrect-external-id-for-raven-s.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1178-drm-amdgpu-fix-the-incorrect-external-id-for-raven-s.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1178-drm-amdgpu-fix-the-incorrect-external-id-for-raven-s.patch new file mode 100644 index 00000000..42387477 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1178-drm-amdgpu-fix-the-incorrect-external-id-for-raven-s.patch @@ -0,0 +1,41 @@ +From e620090148194150b9b983fb7b79e0210d9e230f Mon Sep 17 00:00:00 2001 +From: Huang Rui <ray.huang@amd.com> +Date: Wed, 30 Jan 2019 19:50:04 +0800 +Subject: [PATCH 1178/2940] drm/amdgpu: fix the incorrect external id for raven + series + +This patch fixes the incorrect external id that kernel reports to user mode +driver. Raven2's rev_id is starts from 0x8, so its external id (0x81) should +start from rev_id + 0x79 (0x81 - 0x8). And Raven's rev_id should be 0x21 while +rev_id == 1. + +Reported-by: Crystal Jin <Crystal.Jin@amd.com> +Signed-off-by: Huang Rui <ray.huang@amd.com> +Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/soc15.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/soc15.c b/drivers/gpu/drm/amd/amdgpu/soc15.c +index 9b3b6bba8476..797408a4d8a5 100644 +--- a/drivers/gpu/drm/amd/amdgpu/soc15.c ++++ b/drivers/gpu/drm/amd/amdgpu/soc15.c +@@ -858,11 +858,13 @@ static int soc15_common_early_init(void *handle) + case CHIP_RAVEN: + adev->asic_funcs = &soc15_asic_funcs; + if (adev->rev_id >= 0x8) +- adev->external_rev_id = adev->rev_id + 0x81; ++ adev->external_rev_id = adev->rev_id + 0x79; + else if (adev->pdev->device == 0x15d8) + adev->external_rev_id = adev->rev_id + 0x41; ++ else if (adev->rev_id == 1) ++ adev->external_rev_id = adev->rev_id + 0x20; + else +- adev->external_rev_id = 0x1; ++ adev->external_rev_id = adev->rev_id + 0x01; + + if (adev->rev_id >= 0x8) { + adev->cg_flags = AMD_CG_SUPPORT_GFX_MGCG | +-- +2.17.1 + |