aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0376-drm-amdgpu-Add-Fiji-support-to-the-SDMA-3.0-IP-modul.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0376-drm-amdgpu-Add-Fiji-support-to-the-SDMA-3.0-IP-modul.patch')
-rw-r--r--meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0376-drm-amdgpu-Add-Fiji-support-to-the-SDMA-3.0-IP-modul.patch102
1 files changed, 102 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0376-drm-amdgpu-Add-Fiji-support-to-the-SDMA-3.0-IP-modul.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0376-drm-amdgpu-Add-Fiji-support-to-the-SDMA-3.0-IP-modul.patch
new file mode 100644
index 00000000..b3baeb41
--- /dev/null
+++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0376-drm-amdgpu-Add-Fiji-support-to-the-SDMA-3.0-IP-modul.patch
@@ -0,0 +1,102 @@
+From 1a5bbb669597d7c47da2d7fd03ed7c33989257b8 Mon Sep 17 00:00:00 2001
+From: David Zhang <david1.zhang@amd.com>
+Date: Wed, 8 Jul 2015 17:29:27 +0800
+Subject: [PATCH 0376/1050] drm/amdgpu: Add Fiji support to the SDMA 3.0 IP
+ module
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: David Zhang <david1.zhang@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
+Reviewed-by: Christian König <christian.koenig@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 31 +++++++++++++++++++++++++++++++
+ drivers/gpu/drm/amd/amdgpu/vi.c | 7 +++++++
+ 2 files changed, 38 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+index 2b86569..8f4aac2 100644
+--- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c
+@@ -53,6 +53,8 @@ MODULE_FIRMWARE("amdgpu/tonga_sdma.bin");
+ MODULE_FIRMWARE("amdgpu/tonga_sdma1.bin");
+ MODULE_FIRMWARE("amdgpu/carrizo_sdma.bin");
+ MODULE_FIRMWARE("amdgpu/carrizo_sdma1.bin");
++MODULE_FIRMWARE("amdgpu/fiji_sdma.bin");
++MODULE_FIRMWARE("amdgpu/fiji_sdma1.bin");
+
+ static const u32 sdma_offsets[SDMA_MAX_INSTANCE] =
+ {
+@@ -80,6 +82,24 @@ static const u32 tonga_mgcg_cgcg_init[] =
+ mmSDMA1_CLK_CTRL, 0xff000ff0, 0x00000100
+ };
+
++static const u32 golden_settings_fiji_a10[] =
++{
++ mmSDMA0_CHICKEN_BITS, 0xfc910007, 0x00810007,
++ mmSDMA0_GFX_IB_CNTL, 0x800f0111, 0x00000100,
++ mmSDMA0_RLC0_IB_CNTL, 0x800f0111, 0x00000100,
++ mmSDMA0_RLC1_IB_CNTL, 0x800f0111, 0x00000100,
++ mmSDMA1_CHICKEN_BITS, 0xfc910007, 0x00810007,
++ mmSDMA1_GFX_IB_CNTL, 0x800f0111, 0x00000100,
++ mmSDMA1_RLC0_IB_CNTL, 0x800f0111, 0x00000100,
++ mmSDMA1_RLC1_IB_CNTL, 0x800f0111, 0x00000100,
++};
++
++static const u32 fiji_mgcg_cgcg_init[] =
++{
++ mmSDMA0_CLK_CTRL, 0xff000ff0, 0x00000100,
++ mmSDMA1_CLK_CTRL, 0xff000ff0, 0x00000100
++};
++
+ static const u32 cz_golden_settings_a11[] =
+ {
+ mmSDMA0_CHICKEN_BITS, 0xfc910007, 0x00810007,
+@@ -122,6 +142,14 @@ static const u32 cz_mgcg_cgcg_init[] =
+ static void sdma_v3_0_init_golden_registers(struct amdgpu_device *adev)
+ {
+ switch (adev->asic_type) {
++ case CHIP_FIJI:
++ amdgpu_program_register_sequence(adev,
++ fiji_mgcg_cgcg_init,
++ (const u32)ARRAY_SIZE(fiji_mgcg_cgcg_init));
++ amdgpu_program_register_sequence(adev,
++ golden_settings_fiji_a10,
++ (const u32)ARRAY_SIZE(golden_settings_fiji_a10));
++ break;
+ case CHIP_TONGA:
+ amdgpu_program_register_sequence(adev,
+ tonga_mgcg_cgcg_init,
+@@ -167,6 +195,9 @@ static int sdma_v3_0_init_microcode(struct amdgpu_device *adev)
+ case CHIP_TONGA:
+ chip_name = "tonga";
+ break;
++ case CHIP_FIJI:
++ chip_name = "fiji";
++ break;
+ case CHIP_CARRIZO:
+ chip_name = "carrizo";
+ break;
+diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c
+index 0cd248b..8881dd8 100644
+--- a/drivers/gpu/drm/amd/amdgpu/vi.c
++++ b/drivers/gpu/drm/amd/amdgpu/vi.c
+@@ -1209,6 +1209,13 @@ static const struct amdgpu_ip_block_version fiji_ip_blocks[] =
+ .rev = 0,
+ .funcs = &gfx_v8_0_ip_funcs,
+ },
++ {
++ .type = AMD_IP_BLOCK_TYPE_SDMA,
++ .major = 3,
++ .minor = 0,
++ .rev = 0,
++ .funcs = &sdma_v3_0_ip_funcs,
++ },
+ };
+
+ static const struct amdgpu_ip_block_version cz_ip_blocks[] =
+--
+1.9.1
+