diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3784-drm-amdgpu-sdma4-use-num_instances-for-clock-powerga.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3784-drm-amdgpu-sdma4-use-num_instances-for-clock-powerga.patch | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3784-drm-amdgpu-sdma4-use-num_instances-for-clock-powerga.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3784-drm-amdgpu-sdma4-use-num_instances-for-clock-powerga.patch new file mode 100644 index 00000000..2862a40b --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3784-drm-amdgpu-sdma4-use-num_instances-for-clock-powerga.patch @@ -0,0 +1,62 @@ +From f9bd2ebeefdf184ea77d8358a75357dc9678ef25 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Fri, 1 Sep 2017 16:47:54 -0400 +Subject: [PATCH 3784/4131] drm/amdgpu/sdma4: use num_instances for + clock/powergating config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Rather then relying on the asic type for the second instance. +Makes it more consistent with the rest of the code. + +Reviewed-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Feifei Xu <Feifei.Xu@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +index 12f5385..391abb6 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +@@ -1409,7 +1409,7 @@ static void sdma_v4_0_update_medium_grain_clock_gating( + if (def != data) + WREG32(SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_CLK_CTRL), data); + +- if (adev->asic_type == CHIP_VEGA10) { ++ if (adev->sdma.num_instances > 1) { + def = data = RREG32(SOC15_REG_OFFSET(SDMA1, 0, mmSDMA1_CLK_CTRL)); + data &= ~(SDMA1_CLK_CTRL__SOFT_OVERRIDE7_MASK | + SDMA1_CLK_CTRL__SOFT_OVERRIDE6_MASK | +@@ -1437,7 +1437,7 @@ static void sdma_v4_0_update_medium_grain_clock_gating( + if (def != data) + WREG32(SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_CLK_CTRL), data); + +- if (adev->asic_type == CHIP_VEGA10) { ++ if (adev->sdma.num_instances > 1) { + def = data = RREG32(SOC15_REG_OFFSET(SDMA1, 0, mmSDMA1_CLK_CTRL)); + data |= (SDMA1_CLK_CTRL__SOFT_OVERRIDE7_MASK | + SDMA1_CLK_CTRL__SOFT_OVERRIDE6_MASK | +@@ -1468,7 +1468,7 @@ static void sdma_v4_0_update_medium_grain_light_sleep( + WREG32(SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_POWER_CNTL), data); + + /* 1-not override: enable sdma1 mem light sleep */ +- if (adev->asic_type == CHIP_VEGA10) { ++ if (adev->sdma.num_instances > 1) { + def = data = RREG32(SOC15_REG_OFFSET(SDMA1, 0, mmSDMA1_POWER_CNTL)); + data |= SDMA1_POWER_CNTL__MEM_POWER_OVERRIDE_MASK; + if (def != data) +@@ -1482,7 +1482,7 @@ static void sdma_v4_0_update_medium_grain_light_sleep( + WREG32(SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_POWER_CNTL), data); + + /* 0-override:disable sdma1 mem light sleep */ +- if (adev->asic_type == CHIP_VEGA10) { ++ if (adev->sdma.num_instances > 1) { + def = data = RREG32(SOC15_REG_OFFSET(SDMA1, 0, mmSDMA1_POWER_CNTL)); + data &= ~SDMA1_POWER_CNTL__MEM_POWER_OVERRIDE_MASK; + if (def != data) +-- +2.7.4 + |