[PATCH] drm/amd/display: disable psr whenever applicable
Leo Li
sunpeng.li at amd.com
Wed Oct 5 23:03:55 UTC 2022
On 2022-10-03 11:26, S, Shirish wrote:
> Ping!
>
> Regards,
>
> Shirish S
>
> On 9/30/2022 7:17 PM, S, Shirish wrote:
>>
>>
>> On 9/30/2022 6:59 PM, Harry Wentland wrote:
>>> +Leo
>>>
>>> On 9/30/22 06:27, Shirish S wrote:
>>>> [Why]
>>>> psr feature continues to be enabled for non capable links.
>>>>
>>> Do you have more info on what issues you're seeing with this?
>>
>> Code wise without this change we end up setting
>> "vblank_disable_immediate" parameter to false for the failing links also.
>>
>> Issue wise there is a remote chance of this leading to eDP/connected
>> monitor not lighting up.
I'm surprised psr_settings.psr_feature_enabled can be 'true' before
amdgpu_dm_set_psr_caps() runs. it should default to 'false', and it's
set early on during amdgpu_dm_initialize_drm_device() before any other
psr-related code runs.
In other words, I don't expect psr_settings.psr_feature_enabled to be
'true' on early return of dm_set_psr_caps().
What are the sequence of events that causes an issue for you?
>>
>>>> [How]
>>>> disable the feature on links that are not capable of the same.
>>>>
>>>> Signed-off-by: Shirish S<shirish.s at amd.com>
>>>> ---
>>>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 10 ++++++++--
>>>> 1 file changed, 8 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c
>>>> index 8ca10ab3dfc1..f73af028f312 100644
>>>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c
>>>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c
>>>> @@ -60,11 +60,17 @@ static bool link_supports_psrsu(struct dc_link *link)
>>>> */
>>>> void amdgpu_dm_set_psr_caps(struct dc_link *link)
>>>> {
>>>> - if (!(link->connector_signal & SIGNAL_TYPE_EDP))
>>>> + if (!(link->connector_signal & SIGNAL_TYPE_EDP)) {
>>>> + DRM_ERROR("Disabling PSR as connector is not eDP\n")
>>> I don't think we should log an error here.
>>
>> My objective of logging an error was to inform user/developer that
>> this boot PSR enablement had issues.
It's not really an issue, PSR simply cannot be enabled on non-eDP or
disconnected links. However, it is concerning if we enter this function
with psr_feature_enabled == true.
Thanks,
Leo
>>
>> Am fine with moving it to INFO or remove it, if you insist.
>>
>> Thanks for your comments.
>>
>> Regards,
>>
>> Shirish S
>>
>>>> + link->psr_settings.psr_feature_enabled = false;
>>>> return;
>>>> + }
>>>>
>>>> - if (link->type == dc_connection_none)
>>>> + if (link->type == dc_connection_none) {
>>>> + DRM_ERROR("Disabling PSR as eDP connection type is invalid\n")
>>> Same here, this doesn't warrant an error log.
>>>
>>> Harry
>>>
>>>> + link->psr_settings.psr_feature_enabled = false;
>>>> return;
>>>> + }
>>>>
>>>> if (link->dpcd_caps.psr_info.psr_version == 0) {
>>>> link->psr_settings.psr_version = DC_PSR_VERSION_UNSUPPORTED;
More information about the amd-gfx
mailing list