summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDawid Kurek <dawid.kurek@displaylink.com>2017-07-06 14:51:11 +0200
committerOlivier Fourdan <ofourdan@redhat.com>2017-10-02 10:44:58 +0200
commitd25a34faa4dda98d0fb5688d647be3ab65d9b2af (patch)
treec10dcf228992863467f37447e8c2204d79f99352
parentbccb959aa14e8692896bc9cbadd8a29d2cdd5685 (diff)
modesetting: Blacklist EVDI devices from PRIME syncserver-1.19-fixes
UDL (usb) devices are blacklisted because of they weird behaviour when it comes to vblank events. As EVDI uses very similar model of handling vblanks it should be treated similarly. When doing a page flip, EVDI does not wait for real vblank, but simulates it by adding constant delay. It also does not support DRM_IOCTL_WAIT_VBLANK. In contrast to UDL, EVDI uses platform devices, thus instead of 'usb' in path they all have 'platform'. It is possible to blacklist by 'platform', so without explicitly saying 'evdi', but it might be misleading when it comes to real reason for it. Signed-off-by: Dawid Kurek <dawid.kurek@displaylink.com> (cherry picked from commit fbd80b2c8ebe9fd41229dc5438524d107c071ff1)
-rw-r--r--hw/xfree86/drivers/modesetting/driver.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index 3da69a396..4d5c4e339 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -1202,6 +1202,11 @@ msEnableSharedPixmapFlipping(RRCrtcPtr crtc, PixmapPtr front, PixmapPtr back)
* vblank events */
if (syspath && strstr(syspath, "usb"))
return FALSE;
+
+ /* EVDI uses USB transport but is platform device, not usb.
+ * Blacklist it explicitly */
+ if (syspath && strstr(syspath, "evdi"))
+ return FALSE;
}
#endif