[PATCH xf86-video-amdgpu] Store FB for each CRTC in drmmode_flipdata_rec

Michel Dänzer michel at daenzer.net
Thu Aug 16 14:38:31 UTC 2018


On 2018-08-10 09:06 AM, Johannes Hirte wrote:
> On 2018 Jul 27, Michel Dänzer wrote:
>> From: Michel Dänzer <michel.daenzer at amd.com>
>>
>> We were only storing the FB provided by the client, but on CRTCs with
>> TearFree enabled, we use a separate FB. This could cause
>> drmmode_flip_handler to fail to clear drmmode_crtc->flip_pending, which
>> could result in a hang when waiting for the pending flip to complete. We
>> were trying to avoid that by always clearing drmmode_crtc->flip_pending
>> when TearFree is enabled, but that wasn't reliable, because
>> drmmode_crtc->tear_free can already be FALSE at this point when
>> disabling TearFree.
>>
>> Now that we're keeping track of each CRTC's flip FB separately,
>> drmmode_flip_handler can reliably clear flip_pending, and we no longer
>> need the TearFree hack.
>>
>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> 
> Since this change I get a black screen when login into KDE Plasma. I
> have to switch to linux console and back for getting the X11 screen.
> Additional the Xorg.log is spammed with:
> 
> [   189.744] (WW) AMDGPU(0): get vblank counter failed: Invalid argument
> [   189.828] (WW) AMDGPU(0): flip queue failed in amdgpu_scanout_flip: Device or resource busy, TearFree inactive until next modeset
> [   189.828] (WW) AMDGPU(0): drmmode_wait_vblank failed for scanout update: Invalid argument
> [   189.828] (WW) AMDGPU(0): drmmode_wait_vblank failed for scanout update: Invalid argument
> 
> The "flip queue failed" message appears only once, the other two are
> much more often.
> 
> System is a Carrizo A10-8700B, kernel 4.17.13 + this patch:
> https://bugzilla.kernel.org/attachment.cgi?id=276173

Does https://patchwork.freedesktop.org/patch/244860/ fix it?


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer




More information about the amd-gfx mailing list