On 2019-02-28 1:05 p.m., Michel Dänzer wrote: > On 2019-02-28 3:52 a.m., Aaron Liu wrote: >> >> @@ -900,7 +900,12 @@ CARD32 amdgpu_dri2_deferred_event(OsTimerPtr timer, CARD32 now, pointer data) >> delta_seq = delta_t * drmmode_crtc->dpms_last_fps; >> delta_seq /= 1000000; >> frame = (CARD64) drmmode_crtc->dpms_last_seq + delta_seq; >> - if (event_info->drm_queue_seq) >> + /* >> + * If CRTC is in DPMS off state, it can't use vblank_handler. >> + * Because drmmode_wait_vblank is not excuted in such as >> + * amdgpu_dri2_schedule_swap/amdgpu_dri2_schedule_wait_msc. >> + */ >> + if (event_info->drm_queue_seq && amdgpu_crtc_is_enabled(crtc)) >> drmmode_crtc->drmmode->event_context. >> vblank_handler(pAMDGPUEnt->fd, frame, drm_now / 1000000, >> drm_now % 1000000, >> > > This isn't a good solution I'm afraid, as it'll leave the struct > amdgpu_drm_queue_entry memory associated with event_info->drm_queue_seq > linked into the amdgpu_drm_queue list, which would gradually slow down > processing of that list. > > > I think I know what the issue is, I'll work on a fix in the afternoon. Please test https://gitlab.freedesktop.org/xorg/driver/xf86-video-amdgpu/merge_requests/29 . -- Earthling Michel Dänzer | https://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx