From: Xiaomeng Hou Date: Mon, 8 Mar 2021 23:19:39 +0000 (+0800) Subject: drm/amd/pm: initialize feature_enabled/feature_support bitmap for yellow carp X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=0b8b1c4d1a422b6f89918a15d9586de8d5795f46;p=kernel.git drm/amd/pm: initialize feature_enabled/feature_support bitmap for yellow carp Initialize the feature_enabled and feature_supported bitmap for yellow carp. Acked-by: Huang Rui Signed-off-by: Xiaomeng Hou Reviewed-by: Kevin Wang Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c b/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c index 935754e0de952..feef77c31d567 100644 --- a/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c +++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/yellow_carp_ppt.c @@ -177,6 +177,30 @@ err0_out: return -ENOMEM; } +static int yellow_carp_system_features_control(struct smu_context *smu, bool en) +{ + struct smu_feature *feature = &smu->smu_feature; + uint32_t feature_mask[2]; + int ret = 0; + + bitmap_zero(feature->enabled, feature->feature_num); + bitmap_zero(feature->supported, feature->feature_num); + + if (!en) + return ret; + + ret = smu_cmn_get_enabled_32_bits_mask(smu, feature_mask, 2); + if (ret) + return ret; + + bitmap_copy(feature->enabled, (unsigned long *)&feature_mask, + feature->feature_num); + bitmap_copy(feature->supported, (unsigned long *)&feature_mask, + feature->feature_num); + + return 0; +} + static int yellow_carp_dpm_set_vcn_enable(struct smu_context *smu, bool enable) { int ret = 0; @@ -679,6 +703,7 @@ static const struct pptable_funcs yellow_carp_ppt_funcs = { .check_fw_version = smu_v13_0_1_check_fw_version, .init_smc_tables = yellow_carp_init_smc_tables, .fini_smc_tables = smu_v13_0_1_fini_smc_tables, + .system_features_control = yellow_carp_system_features_control, .send_smc_msg_with_param = smu_cmn_send_smc_msg_with_param, .send_smc_msg = smu_cmn_send_smc_msg, .dpm_set_vcn_enable = yellow_carp_dpm_set_vcn_enable,