|
Thomas Zimmermann |
ebf85e |
From 14b284832e7dea6f54f0adfd7bed105548b94e57 Mon Sep 17 00:00:00 2001
|
|
Thomas Zimmermann |
ebf85e |
From: Colin Ian King <colin.king@canonical.com>
|
|
Thomas Zimmermann |
ebf85e |
Date: Mon, 8 Oct 2018 17:22:28 +0100
|
|
Thomas Zimmermann |
ebf85e |
Subject: drm/amdgpu/powerplay: fix missing break in switch statements
|
|
Thomas Zimmermann |
ebf85e |
Git-commit: 14b284832e7dea6f54f0adfd7bed105548b94e57
|
|
Thomas Zimmermann |
ebf85e |
Patch-mainline: v4.20-rc1
|
|
Thomas Zimmermann |
ebf85e |
References: bsc#1113722
|
|
Thomas Zimmermann |
ebf85e |
|
|
Thomas Zimmermann |
ebf85e |
There are several switch statements that are missing break statements.
|
|
Thomas Zimmermann |
ebf85e |
Add missing breaks to handle any fall-throughs corner cases.
|
|
Thomas Zimmermann |
ebf85e |
|
|
Thomas Zimmermann |
ebf85e |
Detected by CoverityScan, CID#1457175 ("Missing break in switch")
|
|
Thomas Zimmermann |
ebf85e |
|
|
Thomas Zimmermann |
ebf85e |
Backporting notes:
|
|
Thomas Zimmermann |
ebf85e |
|
|
Thomas Zimmermann |
ebf85e |
* applied patch in {fiji,iceland,tonga}_smc.c files
|
|
Thomas Zimmermann |
ebf85e |
* fixed similar bug in polaris10_smc.c
|
|
Thomas Zimmermann |
ebf85e |
|
|
Thomas Zimmermann |
ebf85e |
Fixes: 18aafc59b106 ("drm/amd/powerplay: implement fw related smu interface for iceland.")
|
|
Thomas Zimmermann |
ebf85e |
Acked-by: Huang Rui <ray.huang@amd.com>
|
|
Thomas Zimmermann |
ebf85e |
Signed-off-by: Colin Ian King <colin.king@canonical.com>
|
|
Thomas Zimmermann |
ebf85e |
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
|
|
Thomas Zimmermann |
ebf85e |
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Thomas Zimmermann |
ebf85e |
---
|
|
Thomas Zimmermann |
ebf85e |
drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c | 2 ++
|
|
Thomas Zimmermann |
ebf85e |
drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c | 2 ++
|
|
Thomas Zimmermann |
ebf85e |
drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c | 2 ++
|
|
Thomas Zimmermann |
ebf85e |
drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c | 2 ++
|
|
Thomas Zimmermann |
ebf85e |
4 files changed, 8 insertions(+)
|
|
Thomas Zimmermann |
ebf85e |
|
|
Thomas Zimmermann |
ebf85e |
--- a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c
|
|
Thomas Zimmermann |
ebf85e |
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c
|
|
Thomas Zimmermann |
ebf85e |
@@ -2193,6 +2193,7 @@ uint32_t fiji_get_offsetof(uint32_t type
|
|
Thomas Zimmermann |
ebf85e |
case UcodeLoadStatus:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU73_SoftRegisters, UcodeLoadStatus);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
case SMU_Discrete_DpmTable:
|
|
Thomas Zimmermann |
ebf85e |
switch (member) {
|
|
Thomas Zimmermann |
ebf85e |
case UvdBootLevel:
|
|
Thomas Zimmermann |
ebf85e |
@@ -2204,6 +2205,7 @@ uint32_t fiji_get_offsetof(uint32_t type
|
|
Thomas Zimmermann |
ebf85e |
case LowSclkInterruptThreshold:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU73_Discrete_DpmTable, LowSclkInterruptThreshold);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
pr_warn("can't get the offset of type %x member %x\n", type, member);
|
|
Thomas Zimmermann |
ebf85e |
return 0;
|
|
Thomas Zimmermann |
ebf85e |
--- a/drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c
|
|
Thomas Zimmermann |
ebf85e |
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/iceland_smc.c
|
|
Thomas Zimmermann |
ebf85e |
@@ -2140,11 +2140,13 @@ uint32_t iceland_get_offsetof(uint32_t t
|
|
Thomas Zimmermann |
ebf85e |
case UcodeLoadStatus:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU71_SoftRegisters, UcodeLoadStatus);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
case SMU_Discrete_DpmTable:
|
|
Thomas Zimmermann |
ebf85e |
switch (member) {
|
|
Thomas Zimmermann |
ebf85e |
case LowSclkInterruptThreshold:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU71_Discrete_DpmTable, LowSclkInterruptThreshold);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
pr_warn("can't get the offset of type %x member %x\n", type, member);
|
|
Thomas Zimmermann |
ebf85e |
return 0;
|
|
Thomas Zimmermann |
ebf85e |
--- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c
|
|
Thomas Zimmermann |
ebf85e |
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smc.c
|
|
Thomas Zimmermann |
ebf85e |
@@ -2211,6 +2211,7 @@ uint32_t polaris10_get_offsetof(uint32_t
|
|
Thomas Zimmermann |
ebf85e |
case UcodeLoadStatus:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU74_SoftRegisters, UcodeLoadStatus);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
case SMU_Discrete_DpmTable:
|
|
Thomas Zimmermann |
ebf85e |
switch (member) {
|
|
Thomas Zimmermann |
ebf85e |
case UvdBootLevel:
|
|
Thomas Zimmermann |
ebf85e |
@@ -2222,6 +2223,7 @@ uint32_t polaris10_get_offsetof(uint32_t
|
|
Thomas Zimmermann |
ebf85e |
case LowSclkInterruptThreshold:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU74_Discrete_DpmTable, LowSclkInterruptThreshold);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
pr_warn("can't get the offset of type %x member %x\n", type, member);
|
|
Thomas Zimmermann |
ebf85e |
return 0;
|
|
Thomas Zimmermann |
ebf85e |
--- a/drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c
|
|
Thomas Zimmermann |
ebf85e |
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/tonga_smc.c
|
|
Thomas Zimmermann |
ebf85e |
@@ -2683,6 +2683,7 @@ uint32_t tonga_get_offsetof(uint32_t typ
|
|
Thomas Zimmermann |
ebf85e |
case UcodeLoadStatus:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU72_SoftRegisters, UcodeLoadStatus);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
case SMU_Discrete_DpmTable:
|
|
Thomas Zimmermann |
ebf85e |
switch (member) {
|
|
Thomas Zimmermann |
ebf85e |
case UvdBootLevel:
|
|
Thomas Zimmermann |
ebf85e |
@@ -2694,6 +2695,7 @@ uint32_t tonga_get_offsetof(uint32_t typ
|
|
Thomas Zimmermann |
ebf85e |
case LowSclkInterruptThreshold:
|
|
Thomas Zimmermann |
ebf85e |
return offsetof(SMU72_Discrete_DpmTable, LowSclkInterruptThreshold);
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
+ break;
|
|
Thomas Zimmermann |
ebf85e |
}
|
|
Thomas Zimmermann |
ebf85e |
pr_warn("can't get the offset of type %x member %x\n", type, member);
|
|
Thomas Zimmermann |
ebf85e |
return 0;
|