aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0093-drm-amdgpu-add-sdma-clock-gating-support-for-Fiji.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0093-drm-amdgpu-add-sdma-clock-gating-support-for-Fiji.patch')
-rw-r--r--common/recipes-kernel/linux/files/0093-drm-amdgpu-add-sdma-clock-gating-support-for-Fiji.patch134
1 files changed, 0 insertions, 134 deletions
diff --git a/common/recipes-kernel/linux/files/0093-drm-amdgpu-add-sdma-clock-gating-support-for-Fiji.patch b/common/recipes-kernel/linux/files/0093-drm-amdgpu-add-sdma-clock-gating-support-for-Fiji.patch
deleted file mode 100644
index 28b52b94..00000000
--- a/common/recipes-kernel/linux/files/0093-drm-amdgpu-add-sdma-clock-gating-support-for-Fiji.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 855ffa6dbabe4cd79a9c5d90a819c0039e948016 Mon Sep 17 00:00:00 2001
-From: Eric Huang <JinHuiEric.Huang@amd.com>
-Date: Wed, 11 Nov 2015 11:49:11 -0500
-Subject: [PATCH 0093/1110] drm/amdgpu: add sdma clock gating support for Fiji.
-
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
-Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 105 +++++++++++++++++++++++++++++++++
- 1 file changed, 105 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
-index c741c09..ad54c46 100644
---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
-@@ -1429,9 +1429,114 @@ static int sdma_v3_0_process_illegal_inst_irq(struct amdgpu_device *adev,
- return 0;
- }
-
-+static void fiji_update_sdma_medium_grain_clock_gating(
-+ struct amdgpu_device *adev,
-+ bool enable)
-+{
-+ uint32_t temp, data;
-+
-+ if (enable) {
-+ temp = data = RREG32(mmSDMA0_CLK_CTRL);
-+ data &= ~(SDMA0_CLK_CTRL__SOFT_OVERRIDE7_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE6_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE5_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE4_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE3_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE2_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE1_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE0_MASK);
-+ if (data != temp)
-+ WREG32(mmSDMA0_CLK_CTRL, data);
-+
-+ temp = data = RREG32(mmSDMA1_CLK_CTRL);
-+ data &= ~(SDMA1_CLK_CTRL__SOFT_OVERRIDE7_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE6_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE5_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE4_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE3_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE2_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE1_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE0_MASK);
-+
-+ if (data != temp)
-+ WREG32(mmSDMA1_CLK_CTRL, data);
-+ } else {
-+ temp = data = RREG32(mmSDMA0_CLK_CTRL);
-+ data |= SDMA0_CLK_CTRL__SOFT_OVERRIDE7_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE6_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE5_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE4_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE3_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE2_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE1_MASK |
-+ SDMA0_CLK_CTRL__SOFT_OVERRIDE0_MASK;
-+
-+ if (data != temp)
-+ WREG32(mmSDMA0_CLK_CTRL, data);
-+
-+ temp = data = RREG32(mmSDMA1_CLK_CTRL);
-+ data |= SDMA1_CLK_CTRL__SOFT_OVERRIDE7_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE6_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE5_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE4_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE3_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE2_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE1_MASK |
-+ SDMA1_CLK_CTRL__SOFT_OVERRIDE0_MASK;
-+
-+ if (data != temp)
-+ WREG32(mmSDMA1_CLK_CTRL, data);
-+ }
-+}
-+
-+static void fiji_update_sdma_medium_grain_light_sleep(
-+ struct amdgpu_device *adev,
-+ bool enable)
-+{
-+ uint32_t temp, data;
-+
-+ if (enable) {
-+ temp = data = RREG32(mmSDMA0_POWER_CNTL);
-+ data |= SDMA0_POWER_CNTL__MEM_POWER_OVERRIDE_MASK;
-+
-+ if (temp != data)
-+ WREG32(mmSDMA0_POWER_CNTL, data);
-+
-+ temp = data = RREG32(mmSDMA1_POWER_CNTL);
-+ data |= SDMA1_POWER_CNTL__MEM_POWER_OVERRIDE_MASK;
-+
-+ if (temp != data)
-+ WREG32(mmSDMA1_POWER_CNTL, data);
-+ } else {
-+ temp = data = RREG32(mmSDMA0_POWER_CNTL);
-+ data &= ~SDMA0_POWER_CNTL__MEM_POWER_OVERRIDE_MASK;
-+
-+ if (temp != data)
-+ WREG32(mmSDMA0_POWER_CNTL, data);
-+
-+ temp = data = RREG32(mmSDMA1_POWER_CNTL);
-+ data &= ~SDMA1_POWER_CNTL__MEM_POWER_OVERRIDE_MASK;
-+
-+ if (temp != data)
-+ WREG32(mmSDMA1_POWER_CNTL, data);
-+ }
-+}
-+
- static int sdma_v3_0_set_clockgating_state(void *handle,
- enum amd_clockgating_state state)
- {
-+ struct amdgpu_device *adev = (struct amdgpu_device *)handle;
-+
-+ switch (adev->asic_type) {
-+ case CHIP_FIJI:
-+ fiji_update_sdma_medium_grain_clock_gating(adev,
-+ state == AMD_CG_STATE_GATE ? true : false);
-+ fiji_update_sdma_medium_grain_light_sleep(adev,
-+ state == AMD_CG_STATE_GATE ? true : false);
-+ break;
-+ default:
-+ break;
-+ }
- return 0;
- }
-
---
-2.7.4
-