Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/powerplay: avoid calling Vega20 specific SMU message implemention

Prepare for coming lock protection for SMU message issuing.

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Evan Quan and committed by
Alex Deucher
5964f3fe 81bf835e

+24 -24
+24 -24
drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
··· 175 175 PP_ASSERT_WITH_CODE(priv->smu_tables.entry[table_id].size != 0, 176 176 "Invalid SMU Table Length!", return -EINVAL); 177 177 178 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 178 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 179 179 PPSMC_MSG_SetDriverDramAddrHigh, 180 180 upper_32_bits(priv->smu_tables.entry[table_id].mc_addr))) == 0, 181 181 "[CopyTableFromSMC] Attempt to Set Dram Addr High Failed!", 182 182 return ret); 183 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 183 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 184 184 PPSMC_MSG_SetDriverDramAddrLow, 185 185 lower_32_bits(priv->smu_tables.entry[table_id].mc_addr))) == 0, 186 186 "[CopyTableFromSMC] Attempt to Set Dram Addr Low Failed!", 187 187 return ret); 188 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 188 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 189 189 PPSMC_MSG_TransferTableSmu2Dram, table_id)) == 0, 190 190 "[CopyTableFromSMC] Attempt to Transfer Table From SMU Failed!", 191 191 return ret); ··· 224 224 225 225 amdgpu_asic_flush_hdp(adev, NULL); 226 226 227 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 227 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 228 228 PPSMC_MSG_SetDriverDramAddrHigh, 229 229 upper_32_bits(priv->smu_tables.entry[table_id].mc_addr))) == 0, 230 230 "[CopyTableToSMC] Attempt to Set Dram Addr High Failed!", 231 231 return ret); 232 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 232 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 233 233 PPSMC_MSG_SetDriverDramAddrLow, 234 234 lower_32_bits(priv->smu_tables.entry[table_id].mc_addr))) == 0, 235 235 "[CopyTableToSMC] Attempt to Set Dram Addr Low Failed!", 236 236 return ret); 237 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 237 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 238 238 PPSMC_MSG_TransferTableDram2Smu, table_id)) == 0, 239 239 "[CopyTableToSMC] Attempt to Transfer Table To SMU Failed!", 240 240 return ret); ··· 255 255 256 256 amdgpu_asic_flush_hdp(adev, NULL); 257 257 258 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 258 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 259 259 PPSMC_MSG_SetDriverDramAddrHigh, 260 260 upper_32_bits(priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].mc_addr))) == 0, 261 261 "[SetActivityMonitor] Attempt to Set Dram Addr High Failed!", 262 262 return ret); 263 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 263 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 264 264 PPSMC_MSG_SetDriverDramAddrLow, 265 265 lower_32_bits(priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].mc_addr))) == 0, 266 266 "[SetActivityMonitor] Attempt to Set Dram Addr Low Failed!", 267 267 return ret); 268 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 268 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 269 269 PPSMC_MSG_TransferTableDram2Smu, TABLE_ACTIVITY_MONITOR_COEFF | (workload_type << 16))) == 0, 270 270 "[SetActivityMonitor] Attempt to Transfer Table To SMU Failed!", 271 271 return ret); ··· 281 281 struct amdgpu_device *adev = hwmgr->adev; 282 282 int ret = 0; 283 283 284 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 284 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 285 285 PPSMC_MSG_SetDriverDramAddrHigh, 286 286 upper_32_bits(priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].mc_addr))) == 0, 287 287 "[GetActivityMonitor] Attempt to Set Dram Addr High Failed!", 288 288 return ret); 289 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 289 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 290 290 PPSMC_MSG_SetDriverDramAddrLow, 291 291 lower_32_bits(priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].mc_addr))) == 0, 292 292 "[GetActivityMonitor] Attempt to Set Dram Addr Low Failed!", 293 293 return ret); 294 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 294 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 295 295 PPSMC_MSG_TransferTableSmu2Dram, 296 296 TABLE_ACTIVITY_MONITOR_COEFF | (workload_type << 16))) == 0, 297 297 "[GetActivityMonitor] Attempt to Transfer Table From SMU Failed!", ··· 316 316 smu_features_high = (uint32_t)((feature_mask & SMU_FEATURES_HIGH_MASK) >> SMU_FEATURES_HIGH_SHIFT); 317 317 318 318 if (enable) { 319 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 319 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 320 320 PPSMC_MSG_EnableSmuFeaturesLow, smu_features_low)) == 0, 321 321 "[EnableDisableSMCFeatures] Attempt to enable SMU features Low failed!", 322 322 return ret); 323 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 323 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 324 324 PPSMC_MSG_EnableSmuFeaturesHigh, smu_features_high)) == 0, 325 325 "[EnableDisableSMCFeatures] Attempt to enable SMU features High failed!", 326 326 return ret); 327 327 } else { 328 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 328 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 329 329 PPSMC_MSG_DisableSmuFeaturesLow, smu_features_low)) == 0, 330 330 "[EnableDisableSMCFeatures] Attempt to disable SMU features Low failed!", 331 331 return ret); 332 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 332 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 333 333 PPSMC_MSG_DisableSmuFeaturesHigh, smu_features_high)) == 0, 334 334 "[EnableDisableSMCFeatures] Attempt to disable SMU features High failed!", 335 335 return ret); ··· 347 347 if (features_enabled == NULL) 348 348 return -EINVAL; 349 349 350 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc(hwmgr, 350 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc(hwmgr, 351 351 PPSMC_MSG_GetEnabledSmuFeaturesLow)) == 0, 352 352 "[GetEnabledSMCFeatures] Attempt to get SMU features Low failed!", 353 353 return ret); 354 - smc_features_low = vega20_get_argument(hwmgr); 355 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc(hwmgr, 354 + smc_features_low = smum_get_argument(hwmgr); 355 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc(hwmgr, 356 356 PPSMC_MSG_GetEnabledSmuFeaturesHigh)) == 0, 357 357 "[GetEnabledSMCFeatures] Attempt to get SMU features High failed!", 358 358 return ret); 359 - smc_features_high = vega20_get_argument(hwmgr); 359 + smc_features_high = smum_get_argument(hwmgr); 360 360 361 361 *features_enabled = ((((uint64_t)smc_features_low << SMU_FEATURES_LOW_SHIFT) & SMU_FEATURES_LOW_MASK) | 362 362 (((uint64_t)smc_features_high << SMU_FEATURES_HIGH_SHIFT) & SMU_FEATURES_HIGH_MASK)); ··· 371 371 int ret = 0; 372 372 373 373 if (priv->smu_tables.entry[TABLE_PMSTATUSLOG].mc_addr) { 374 - ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 374 + ret = smum_send_msg_to_smc_with_parameter(hwmgr, 375 375 PPSMC_MSG_SetToolsDramAddrHigh, 376 376 upper_32_bits(priv->smu_tables.entry[TABLE_PMSTATUSLOG].mc_addr)); 377 377 if (!ret) 378 - ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 378 + ret = smum_send_msg_to_smc_with_parameter(hwmgr, 379 379 PPSMC_MSG_SetToolsDramAddrLow, 380 380 lower_32_bits(priv->smu_tables.entry[TABLE_PMSTATUSLOG].mc_addr)); 381 381 } ··· 389 389 (struct vega20_smumgr *)(hwmgr->smu_backend); 390 390 int ret = 0; 391 391 392 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 392 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 393 393 PPSMC_MSG_SetDriverDramAddrHigh, 394 394 upper_32_bits(priv->smu_tables.entry[TABLE_PPTABLE].mc_addr))) == 0, 395 395 "[SetPPtabeDriverAddress] Attempt to Set Dram Addr High Failed!", 396 396 return ret); 397 - PP_ASSERT_WITH_CODE((ret = vega20_send_msg_to_smc_with_parameter(hwmgr, 397 + PP_ASSERT_WITH_CODE((ret = smum_send_msg_to_smc_with_parameter(hwmgr, 398 398 PPSMC_MSG_SetDriverDramAddrLow, 399 399 lower_32_bits(priv->smu_tables.entry[TABLE_PPTABLE].mc_addr))) == 0, 400 400 "[SetPPtabeDriverAddress] Attempt to Set Dram Addr Low Failed!",