Hello,

It looks like line 1204 needs a break rather than a return, like in the
aborts from the other cases.

julia

---------- Forwarded message ----------
Date: Sat, 2 Mar 2019 14:36:31 +0800
From: kbuild test robot <l...@intel.com>
To: kbu...@01.org
Cc: Julia Lawall <julia.law...@lip6.fr>
Subject: [radeon-alex:drm-next-5.2-wip 214/226]
    drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c:1204:3-9: preceding
    lock on line 1065

CC: kbuild-...@01.org
CC: dri-devel@lists.freedesktop.org
TO: Likun Gao <likun....@amd.com>
CC: Alex Deucher <alexander.deuc...@amd.com>
CC: Gui Chengming <jack....@amd.com>

tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next-5.2-wip
head:   25752e1fc83e9f983b11d680fc7bfc129b4eaae6
commit: e85bae378020046f53f18a61ac6bd5cdb798a079 [214/226] drm/amd/powerplay: 
support sysfs to set/get pcie
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago

>> drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c:1204:3-9: preceding 
>> lock on line 1065

git remote add radeon-alex git://people.freedesktop.org/~agd5f/linux.git
git remote update radeon-alex
git checkout e85bae378020046f53f18a61ac6bd5cdb798a079
vim +1204 drivers/gpu/drm/amd/amdgpu/../powerplay/vega20_ppt.c

1d5da59b Likun Gao 2019-01-07  1050
7b0f60df Likun Gao 2019-01-07  1051  static int vega20_force_clk_levels(struct 
smu_context *smu,
7b0f60df Likun Gao 2019-01-07  1052                     enum pp_clock_type 
type, uint32_t mask)
7b0f60df Likun Gao 2019-01-07  1053  {
7b0f60df Likun Gao 2019-01-07  1054     struct vega20_dpm_table *dpm_table;
7b0f60df Likun Gao 2019-01-07  1055     struct vega20_single_dpm_table 
*single_dpm_table;
db129665 Likun Gao 2019-02-20  1056     uint32_t soft_min_level, 
soft_max_level, hard_min_level;
72ee8378 Likun Gao 2019-01-23  1057     struct smu_dpm_context *smu_dpm = 
&smu->smu_dpm;
72ee8378 Likun Gao 2019-01-23  1058     int ret = 0;
72ee8378 Likun Gao 2019-01-23  1059
72ee8378 Likun Gao 2019-01-23  1060     if (smu_dpm->dpm_level != 
AMD_DPM_FORCED_LEVEL_MANUAL) {
72ee8378 Likun Gao 2019-01-23  1061             pr_info("force clock level is 
for dpm manual mode only.\n");
72ee8378 Likun Gao 2019-01-23  1062             return -EINVAL;
72ee8378 Likun Gao 2019-01-23  1063     }
72ee8378 Likun Gao 2019-01-23  1064
72ee8378 Likun Gao 2019-01-23 @1065     mutex_lock(&(smu->mutex));
7b0f60df Likun Gao 2019-01-07  1066
7b0f60df Likun Gao 2019-01-07  1067     soft_min_level = mask ? (ffs(mask) - 1) 
: 0;
7b0f60df Likun Gao 2019-01-07  1068     soft_max_level = mask ? (fls(mask) - 1) 
: 0;
7b0f60df Likun Gao 2019-01-07  1069
7b0f60df Likun Gao 2019-01-07  1070     dpm_table = smu->smu_dpm.dpm_context;
7b0f60df Likun Gao 2019-01-07  1071
7b0f60df Likun Gao 2019-01-07  1072     switch (type) {
7b0f60df Likun Gao 2019-01-07  1073     case PP_SCLK:
7b0f60df Likun Gao 2019-01-07  1074             single_dpm_table = 
&(dpm_table->gfx_table);
7b0f60df Likun Gao 2019-01-07  1075
7b0f60df Likun Gao 2019-01-07  1076             if (soft_max_level >= 
single_dpm_table->count) {
7b0f60df Likun Gao 2019-01-07  1077                     pr_err("Clock level 
specified %d is over max allowed %d\n",
7b0f60df Likun Gao 2019-01-07  1078                                     
soft_max_level, single_dpm_table->count - 1);
72ee8378 Likun Gao 2019-01-23  1079                     ret = -EINVAL;
72ee8378 Likun Gao 2019-01-23  1080                     break;
7b0f60df Likun Gao 2019-01-07  1081             }
7b0f60df Likun Gao 2019-01-07  1082
7b0f60df Likun Gao 2019-01-07  1083             
single_dpm_table->dpm_state.soft_min_level =
7b0f60df Likun Gao 2019-01-07  1084                     
single_dpm_table->dpm_levels[soft_min_level].value;
7b0f60df Likun Gao 2019-01-07  1085             
single_dpm_table->dpm_state.soft_max_level =
7b0f60df Likun Gao 2019-01-07  1086                     
single_dpm_table->dpm_levels[soft_max_level].value;
7b0f60df Likun Gao 2019-01-07  1087
db129665 Likun Gao 2019-02-20  1088             ret = 
vega20_upload_dpm_level(smu, false, FEATURE_DPM_GFXCLK_MASK);
7b0f60df Likun Gao 2019-01-07  1089             if (ret) {
7b0f60df Likun Gao 2019-01-07  1090                     pr_err("Failed to 
upload boot level to lowest!\n");
72ee8378 Likun Gao 2019-01-23  1091                     break;
7b0f60df Likun Gao 2019-01-07  1092             }
7b0f60df Likun Gao 2019-01-07  1093
db129665 Likun Gao 2019-02-20  1094             ret = 
vega20_upload_dpm_level(smu, true, FEATURE_DPM_GFXCLK_MASK);
72ee8378 Likun Gao 2019-01-23  1095             if (ret)
7b0f60df Likun Gao 2019-01-07  1096                     pr_err("Failed to 
upload dpm max level to highest!\n");
7b0f60df Likun Gao 2019-01-07  1097
7b0f60df Likun Gao 2019-01-07  1098             break;
7b0f60df Likun Gao 2019-01-07  1099
7b0f60df Likun Gao 2019-01-07  1100     case PP_MCLK:
7b0f60df Likun Gao 2019-01-07  1101             single_dpm_table = 
&(dpm_table->mem_table);
7b0f60df Likun Gao 2019-01-07  1102
7b0f60df Likun Gao 2019-01-07  1103             if (soft_max_level >= 
single_dpm_table->count) {
7b0f60df Likun Gao 2019-01-07  1104                     pr_err("Clock level 
specified %d is over max allowed %d\n",
7b0f60df Likun Gao 2019-01-07  1105                                     
soft_max_level, single_dpm_table->count - 1);
72ee8378 Likun Gao 2019-01-23  1106                     ret = -EINVAL;
72ee8378 Likun Gao 2019-01-23  1107                     break;
7b0f60df Likun Gao 2019-01-07  1108             }
7b0f60df Likun Gao 2019-01-07  1109
7b0f60df Likun Gao 2019-01-07  1110             
single_dpm_table->dpm_state.soft_min_level =
7b0f60df Likun Gao 2019-01-07  1111                     
single_dpm_table->dpm_levels[soft_min_level].value;
7b0f60df Likun Gao 2019-01-07  1112             
single_dpm_table->dpm_state.soft_max_level =
7b0f60df Likun Gao 2019-01-07  1113                     
single_dpm_table->dpm_levels[soft_max_level].value;
7b0f60df Likun Gao 2019-01-07  1114
db129665 Likun Gao 2019-02-20  1115             ret = 
vega20_upload_dpm_level(smu, false, FEATURE_DPM_UCLK_MASK);
db129665 Likun Gao 2019-02-20  1116             if (ret) {
db129665 Likun Gao 2019-02-20  1117                     pr_err("Failed to 
upload boot level to lowest!\n");
db129665 Likun Gao 2019-02-20  1118                     break;
db129665 Likun Gao 2019-02-20  1119             }
db129665 Likun Gao 2019-02-20  1120
db129665 Likun Gao 2019-02-20  1121             ret = 
vega20_upload_dpm_level(smu, true, FEATURE_DPM_UCLK_MASK);
db129665 Likun Gao 2019-02-20  1122             if (ret)
db129665 Likun Gao 2019-02-20  1123                     pr_err("Failed to 
upload dpm max level to highest!\n");
db129665 Likun Gao 2019-02-20  1124
db129665 Likun Gao 2019-02-20  1125             break;
db129665 Likun Gao 2019-02-20  1126
db129665 Likun Gao 2019-02-20  1127     case PP_SOCCLK:
db129665 Likun Gao 2019-02-20  1128             single_dpm_table = 
&(dpm_table->soc_table);
db129665 Likun Gao 2019-02-20  1129
db129665 Likun Gao 2019-02-20  1130             if (soft_max_level >= 
single_dpm_table->count) {
db129665 Likun Gao 2019-02-20  1131                     pr_err("Clock level 
specified %d is over max allowed %d\n",
db129665 Likun Gao 2019-02-20  1132                                     
soft_max_level, single_dpm_table->count - 1);
db129665 Likun Gao 2019-02-20  1133                     ret = -EINVAL;
db129665 Likun Gao 2019-02-20  1134                     break;
db129665 Likun Gao 2019-02-20  1135             }
db129665 Likun Gao 2019-02-20  1136
db129665 Likun Gao 2019-02-20  1137             
single_dpm_table->dpm_state.soft_min_level =
db129665 Likun Gao 2019-02-20  1138                     
single_dpm_table->dpm_levels[soft_min_level].value;
db129665 Likun Gao 2019-02-20  1139             
single_dpm_table->dpm_state.soft_max_level =
db129665 Likun Gao 2019-02-20  1140                     
single_dpm_table->dpm_levels[soft_max_level].value;
db129665 Likun Gao 2019-02-20  1141
db129665 Likun Gao 2019-02-20  1142             ret = 
vega20_upload_dpm_level(smu, false, FEATURE_DPM_SOCCLK_MASK);
db129665 Likun Gao 2019-02-20  1143             if (ret) {
db129665 Likun Gao 2019-02-20  1144                     pr_err("Failed to 
upload boot level to lowest!\n");
db129665 Likun Gao 2019-02-20  1145                     break;
db129665 Likun Gao 2019-02-20  1146             }
db129665 Likun Gao 2019-02-20  1147
db129665 Likun Gao 2019-02-20  1148             ret = 
vega20_upload_dpm_level(smu, true, FEATURE_DPM_SOCCLK_MASK);
db129665 Likun Gao 2019-02-20  1149             if (ret)
db129665 Likun Gao 2019-02-20  1150                     pr_err("Failed to 
upload dpm max level to highest!\n");
db129665 Likun Gao 2019-02-20  1151
db129665 Likun Gao 2019-02-20  1152             break;
db129665 Likun Gao 2019-02-20  1153
db129665 Likun Gao 2019-02-20  1154     case PP_FCLK:
db129665 Likun Gao 2019-02-20  1155             single_dpm_table = 
&(dpm_table->fclk_table);
db129665 Likun Gao 2019-02-20  1156
db129665 Likun Gao 2019-02-20  1157             if (soft_max_level >= 
single_dpm_table->count) {
db129665 Likun Gao 2019-02-20  1158                     pr_err("Clock level 
specified %d is over max allowed %d\n",
db129665 Likun Gao 2019-02-20  1159                                     
soft_max_level, single_dpm_table->count - 1);
db129665 Likun Gao 2019-02-20  1160                     ret = -EINVAL;
db129665 Likun Gao 2019-02-20  1161                     break;
db129665 Likun Gao 2019-02-20  1162             }
db129665 Likun Gao 2019-02-20  1163
db129665 Likun Gao 2019-02-20  1164             
single_dpm_table->dpm_state.soft_min_level =
db129665 Likun Gao 2019-02-20  1165                     
single_dpm_table->dpm_levels[soft_min_level].value;
db129665 Likun Gao 2019-02-20  1166             
single_dpm_table->dpm_state.soft_max_level =
db129665 Likun Gao 2019-02-20  1167                     
single_dpm_table->dpm_levels[soft_max_level].value;
db129665 Likun Gao 2019-02-20  1168
db129665 Likun Gao 2019-02-20  1169             ret = 
vega20_upload_dpm_level(smu, false, FEATURE_DPM_FCLK_MASK);
7b0f60df Likun Gao 2019-01-07  1170             if (ret) {
7b0f60df Likun Gao 2019-01-07  1171                     pr_err("Failed to 
upload boot level to lowest!\n");
72ee8378 Likun Gao 2019-01-23  1172                     break;
7b0f60df Likun Gao 2019-01-07  1173             }
7b0f60df Likun Gao 2019-01-07  1174
db129665 Likun Gao 2019-02-20  1175             ret = 
vega20_upload_dpm_level(smu, true, FEATURE_DPM_FCLK_MASK);
72ee8378 Likun Gao 2019-01-23  1176             if (ret)
7b0f60df Likun Gao 2019-01-07  1177                     pr_err("Failed to 
upload dpm max level to highest!\n");
7b0f60df Likun Gao 2019-01-07  1178
7b0f60df Likun Gao 2019-01-07  1179             break;
7b0f60df Likun Gao 2019-01-07  1180
db129665 Likun Gao 2019-02-20  1181     case PP_DCEFCLK:
db129665 Likun Gao 2019-02-20  1182             hard_min_level = soft_min_level;
db129665 Likun Gao 2019-02-20  1183             single_dpm_table = 
&(dpm_table->dcef_table);
db129665 Likun Gao 2019-02-20  1184
db129665 Likun Gao 2019-02-20  1185             if (hard_min_level >= 
single_dpm_table->count) {
db129665 Likun Gao 2019-02-20  1186                     pr_err("Clock level 
specified %d is over max allowed %d\n",
db129665 Likun Gao 2019-02-20  1187                                     
hard_min_level, single_dpm_table->count - 1);
db129665 Likun Gao 2019-02-20  1188                     ret = -EINVAL;
db129665 Likun Gao 2019-02-20  1189                     break;
db129665 Likun Gao 2019-02-20  1190             }
db129665 Likun Gao 2019-02-20  1191
db129665 Likun Gao 2019-02-20  1192             
single_dpm_table->dpm_state.hard_min_level =
db129665 Likun Gao 2019-02-20  1193                     
single_dpm_table->dpm_levels[hard_min_level].value;
db129665 Likun Gao 2019-02-20  1194
db129665 Likun Gao 2019-02-20  1195             ret = 
vega20_upload_dpm_level(smu, false, FEATURE_DPM_DCEFCLK_MASK);
db129665 Likun Gao 2019-02-20  1196             if (ret)
db129665 Likun Gao 2019-02-20  1197                     pr_err("Failed to 
upload boot level to lowest!\n");
db129665 Likun Gao 2019-02-20  1198
db129665 Likun Gao 2019-02-20  1199             break;
db129665 Likun Gao 2019-02-20  1200
bfaf193a Likun Gao 2019-01-18  1201     case PP_PCIE:
e85bae37 Likun Gao 2019-02-21  1202             if (soft_min_level >= 
NUM_LINK_LEVELS ||
e85bae37 Likun Gao 2019-02-21  1203                 soft_max_level >= 
NUM_LINK_LEVELS)
e85bae37 Likun Gao 2019-02-21 @1204                     return -EINVAL;
e85bae37 Likun Gao 2019-02-21  1205
e85bae37 Likun Gao 2019-02-21  1206             ret = 
smu_send_smc_msg_with_param(smu,
e85bae37 Likun Gao 2019-02-21  1207                             
SMU_MSG_SetMinLinkDpmByIndex, soft_min_level);
e85bae37 Likun Gao 2019-02-21  1208             if (ret)
e85bae37 Likun Gao 2019-02-21  1209                     pr_err("Failed to set 
min link dpm level!\n");
e85bae37 Likun Gao 2019-02-21  1210
bfaf193a Likun Gao 2019-01-18  1211             break;
bfaf193a Likun Gao 2019-01-18  1212
7b0f60df Likun Gao 2019-01-07  1213     default:
7b0f60df Likun Gao 2019-01-07  1214             break;
7b0f60df Likun Gao 2019-01-07  1215     }
7b0f60df Likun Gao 2019-01-07  1216
72ee8378 Likun Gao 2019-01-23  1217     mutex_unlock(&(smu->mutex));
72ee8378 Likun Gao 2019-01-23  1218     return ret;
7b0f60df Likun Gao 2019-01-07  1219  }
7b0f60df Likun Gao 2019-01-07  1220

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to