@@ -347,7 +347,6 @@ navi10_get_allowed_feature_mask(struct smu_context *smu,
347
347
| FEATURE_MASK (FEATURE_DS_DCEFCLK_BIT )
348
348
| FEATURE_MASK (FEATURE_FW_DSTATE_BIT )
349
349
| FEATURE_MASK (FEATURE_BACO_BIT )
350
- | FEATURE_MASK (FEATURE_ACDC_BIT )
351
350
| FEATURE_MASK (FEATURE_GFX_SS_BIT )
352
351
| FEATURE_MASK (FEATURE_APCC_DFLL_BIT )
353
352
| FEATURE_MASK (FEATURE_FW_CTF_BIT )
@@ -391,6 +390,9 @@ navi10_get_allowed_feature_mask(struct smu_context *smu,
391
390
if (smu -> adev -> pg_flags & AMD_PG_SUPPORT_JPEG )
392
391
* (uint64_t * )feature_mask |= FEATURE_MASK (FEATURE_JPEG_PG_BIT );
393
392
393
+ if (smu -> dc_controlled_by_gpio )
394
+ * (uint64_t * )feature_mask |= FEATURE_MASK (FEATURE_ACDC_BIT );
395
+
394
396
/* disable DPM UCLK and DS SOCCLK on navi10 A0 secure board */
395
397
if (is_asic_secure (smu )) {
396
398
/* only for navi10 A0 */
@@ -525,6 +527,9 @@ static int navi10_store_powerplay_table(struct smu_context *smu)
525
527
526
528
table_context -> thermal_controller_type = powerplay_table -> thermal_controller_type ;
527
529
530
+ if (powerplay_table -> platform_caps & SMU_11_0_PP_PLATFORM_CAP_HARDWAREDC )
531
+ smu -> dc_controlled_by_gpio = true;
532
+
528
533
mutex_lock (& smu_baco -> mutex );
529
534
if (powerplay_table -> platform_caps & SMU_11_0_PP_PLATFORM_CAP_BACO ||
530
535
powerplay_table -> platform_caps & SMU_11_0_PP_PLATFORM_CAP_MACO )
0 commit comments