aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1495-drm-amd-powerplay-fix-byte-alignment-issue-of-smu11-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1495-drm-amd-powerplay-fix-byte-alignment-issue-of-smu11-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1495-drm-amd-powerplay-fix-byte-alignment-issue-of-smu11-.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1495-drm-amd-powerplay-fix-byte-alignment-issue-of-smu11-.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1495-drm-amd-powerplay-fix-byte-alignment-issue-of-smu11-.patch
new file mode 100644
index 00000000..1c7184d9
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1495-drm-amd-powerplay-fix-byte-alignment-issue-of-smu11-.patch
@@ -0,0 +1,51 @@
+From 6e7916955f9ee269325e867e793abefe322f8a86 Mon Sep 17 00:00:00 2001
+From: Huang Rui <ray.huang@amd.com>
+Date: Tue, 12 Feb 2019 15:39:44 +0800
+Subject: [PATCH 1495/2940] drm/amd/powerplay: fix byte alignment issue of
+ smu11 pptable
+
+The smu_11_0_powerplay_table, smu_11_0_power_saving_clock_table, and
+smu_11_0_overdrive_table need byte alignment. So we must add packed attribute
+in the definitions.
+
+Signed-off-by: Huang Rui <ray.huang@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_pptable.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_pptable.h b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_pptable.h
+index e8a654bfc6f7..92c65b80bde2 100644
+--- a/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_pptable.h
++++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v11_0_pptable.h
+@@ -91,7 +91,7 @@ struct smu_11_0_overdrive_table
+ uint8_t cap[SMU_11_0_MAX_ODFEATURE]; //OD feature support flags
+ uint32_t max[SMU_11_0_MAX_ODSETTING]; //default maximum settings
+ uint32_t min[SMU_11_0_MAX_ODSETTING]; //default minimum settings
+-};
++} __attribute__((packed));
+
+ enum SMU_11_0_PPCLOCK_ID {
+ SMU_11_0_PPCLOCK_GFXCLK = 0,
+@@ -115,7 +115,7 @@ struct smu_11_0_power_saving_clock_table
+ uint32_t count; //power_saving_clock_count = SMU_11_0_PPCLOCK_COUNT
+ uint32_t max[SMU_11_0_MAX_PPCLOCK]; //PowerSavingClock Mode Clock Maximum array In MHz
+ uint32_t min[SMU_11_0_MAX_PPCLOCK]; //PowerSavingClock Mode Clock Minimum array In MHz
+-};
++} __attribute__((packed));
+
+ struct smu_11_0_powerplay_table
+ {
+@@ -142,6 +142,6 @@ struct smu_11_0_powerplay_table
+ struct smu_11_0_overdrive_table overdrive_table;
+
+ PPTable_t smc_pptable; //PPTable_t in smu11_driver_if.h
+-};
++} __attribute__((packed));
+
+ #endif
+--
+2.17.1
+