aboutsummaryrefslogtreecommitdiffstats
path: root/drmtools.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2019-06-14 10:05:50 +0200
committerGerd Hoffmann <kraxel@redhat.com>2019-06-14 10:05:50 +0200
commitac3a01bfe9520e61f44e7f9893145d82b53522ae (patch)
tree821b1f519438e1f486dfae5045070e7d7983e1c5 /drmtools.c
parente7580760b355347220993ae485d3e8962e14e77e (diff)
downloaddrminfo-ac3a01bfe9520e61f44e7f9893145d82b53522ae.tar.gz
add drm lease support to drmtest
Diffstat (limited to 'drmtools.c')
-rw-r--r--drmtools.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drmtools.c b/drmtools.c
index 865a022..7c029f6 100644
--- a/drmtools.c
+++ b/drmtools.c
@@ -715,7 +715,8 @@ drmVersion *version = NULL;
static drmModeCrtc *scrtc = NULL;
void drm_init_dev(int devnr, const char *output,
- const char *modename, bool need_dumb)
+ const char *modename, bool need_dumb,
+ int lease_fd)
{
drmModeRes *res;
char dev[64];
@@ -724,9 +725,13 @@ void drm_init_dev(int devnr, const char *output,
int i, rc;
uint64_t has_dumb;
- /* open device */
- snprintf(dev, sizeof(dev), DRM_DEV_NAME, DRM_DIR_NAME, devnr);
- drm_fd = device_open(dev);
+ if (lease_fd >= 0) {
+ drm_fd = lease_fd;
+ } else {
+ /* open device */
+ snprintf(dev, sizeof(dev), DRM_DEV_NAME, DRM_DIR_NAME, devnr);
+ drm_fd = device_open(dev);
+ }
version = drmGetVersion(drm_fd);
if (need_dumb) {