drm/amdgpu/powerplay: provide the interface to disable uclk switch for DAL
provide the interface for DAL to disable uclk switch on navi10. in this case, the uclk will be fixed to maximum. this is a workaround when display configuration causes underflow issue. Signed-off-by: Kenneth Feng <kenneth.feng@amd.com> Reviewed-by: Kevin Wang <kevin1.wang@amd.com> Reviewed-by: Evan Quan <evan.quan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:

committed by
Alex Deucher

parent
c74dbe44ea
commit
6e92e156aa
@@ -801,6 +801,19 @@ enum pp_smu_status pp_nv_set_hard_min_uclk_by_freq(struct pp_smu *pp, int mhz)
|
||||
return PP_SMU_RESULT_OK;
|
||||
}
|
||||
|
||||
enum pp_smu_status pp_nv_set_pstate_handshake_support(
|
||||
struct pp_smu *pp, BOOLEAN pstate_handshake_supported)
|
||||
{
|
||||
const struct dc_context *ctx = pp->dm;
|
||||
struct amdgpu_device *adev = ctx->driver_context;
|
||||
struct smu_context *smu = &adev->smu;
|
||||
|
||||
if (smu_display_disable_memory_clock_switch(smu, !pstate_handshake_supported))
|
||||
return PP_SMU_RESULT_FAIL;
|
||||
|
||||
return PP_SMU_RESULT_OK;
|
||||
}
|
||||
|
||||
enum pp_smu_status pp_nv_set_voltage_by_freq(struct pp_smu *pp,
|
||||
enum pp_smu_nv_clock_id clock_id, int mhz)
|
||||
{
|
||||
@@ -916,6 +929,7 @@ void dm_pp_get_funcs(
|
||||
funcs->nv_funcs.get_maximum_sustainable_clocks = pp_nv_get_maximum_sustainable_clocks;
|
||||
/*todo compare data with window driver */
|
||||
funcs->nv_funcs.get_uclk_dpm_states = pp_nv_get_uclk_dpm_states;
|
||||
funcs->nv_funcs.set_pstate_handshake_support = pp_nv_set_pstate_handshake_support;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
|
Reference in New Issue
Block a user