[PATCH 03/10] drm/amdgpu: handle runtime pm in fbcon
Alex Deucher
alexdeucher at gmail.com
Thu Sep 1 20:44:17 UTC 2016
On Wed, Aug 31, 2016 at 9:04 PM, Michel Dänzer <michel at daenzer.net> wrote:
> On 01/09/16 07:08 AM, Alex Deucher wrote:
>> Ported from nouveau.
>>
>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
>
> [...]
>
>> +static int
>> +amdgpufb_open(struct fb_info *info, int user)
>> +{
>> + struct amdgpu_fbdev *rfbdev = info->par;
>> + struct amdgpu_device *adev = rfbdev->adev;
>> + int ret = pm_runtime_get_sync(adev->ddev->dev);
>> + if (ret < 0 && ret != -EACCES)
>> + return ret;
>> + return 0;
>> +}
>> +
>> +static int
>> +amdgpufb_release(struct fb_info *info, int user)
>> +{
>> + struct amdgpu_fbdev *rfbdev = info->par;
>> + struct amdgpu_device *adev = rfbdev->adev;
>> +
>> + pm_runtime_mark_last_busy(adev->ddev->dev);
>> + pm_runtime_put_autosuspend(adev->ddev->dev);
>> + return 0;
>> +}
>
> If pm_runtime_get_sync returns -EACCES, won't there be an imbalance with
> the pm_runtime_put_autosuspend call, which might result in the GPU
> powering off even when there's something else which is supposed to keep
> it on?
>
> Same for patch 8.
pm_runtime_get_sync only returns -EACCES when runtime pm has been
disabled in which case the GPU is on and pm_runtime_put_autosuspend
won't do anything.
Alex
>
>
> --
> Earthling Michel Dänzer | http://www.amd.com
> Libre software enthusiast | Mesa and X developer
More information about the amd-gfx
mailing list