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

Johannes Hirte johannes.hirte at datenkhaos.de
Fri Aug 17 12:22:37 UTC 2018


On 2018 Aug 16, Michel Dänzer wrote:
> 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?
> 
Yes, this fixed it.

-- 
Regards,
  Johannes



More information about the amd-gfx mailing list