ddrm->crtc_id = 0;
}
+int uterm_drm_display_set_dpms(struct uterm_display *disp, int state)
+{
+ int ret;
+ struct uterm_drm_display *ddrm = disp->data;
+ struct uterm_drm_video *vdrm;
+
+ if (!display_is_conn(disp) || !video_is_awake(disp->video))
+ return -EINVAL;
+
+ vdrm = disp->video->data;
+ log_info("setting DPMS of display %p to %s", disp,
+ uterm_dpms_to_name(state));
+
+ ret = uterm_drm_set_dpms(vdrm->fd, ddrm->conn_id, state);
+ if (ret < 0)
+ return ret;
+
+ disp->dpms = ret;
+ return 0;
+}
+
int uterm_drm_display_bind(struct uterm_video *video,
struct uterm_display *disp, drmModeRes *res,
drmModeConnector *conn, int fd)
struct uterm_display *disp, drmModeRes *res,
drmModeConnector *conn, int fd);
void uterm_drm_display_unbind(struct uterm_display *disp);
+int uterm_drm_display_set_dpms(struct uterm_display *disp, int state);
static inline void *uterm_drm_display_get_data(struct uterm_display *disp)
{
disp->flags &= ~(DISPLAY_ONLINE | DISPLAY_VSYNC);
}
-static int display_set_dpms(struct uterm_display *disp, int state)
-{
- int ret;
- struct uterm_drm_display *ddrm = disp->data;
- struct uterm_drm_video *vdrm;
-
- if (!display_is_conn(disp) || !video_is_awake(disp->video))
- return -EINVAL;
-
- vdrm = disp->video->data;
- log_info("setting DPMS of display %p to %s", disp,
- uterm_dpms_to_name(state));
-
- ret = uterm_drm_set_dpms(vdrm->fd, ddrm->conn_id, state);
- if (ret < 0)
- return ret;
-
- disp->dpms = ret;
- return 0;
-}
-
static int display_use(struct uterm_display *disp)
{
struct uterm_drm3d_display *d3d = uterm_drm_display_get_data(disp);
.destroy = display_destroy,
.activate = display_activate,
.deactivate = display_deactivate,
- .set_dpms = display_set_dpms,
+ .set_dpms = uterm_drm_display_set_dpms,
.use = display_use,
.swap = display_swap,
.blit = display_blit,
disp->flags &= ~(DISPLAY_ONLINE | DISPLAY_VSYNC);
}
-static int display_set_dpms(struct uterm_display *disp, int state)
-{
- int ret;
- struct uterm_drm_display *ddrm = disp->data;
- struct uterm_drm_video *vdrm;
-
- if (!display_is_conn(disp) || !video_is_awake(disp->video))
- return -EINVAL;
-
- vdrm = disp->video->data;
- log_info("setting DPMS of display %p to %s", disp,
- uterm_dpms_to_name(state));
-
- ret = uterm_drm_set_dpms(vdrm->fd, ddrm->conn_id, state);
- if (ret < 0)
- return ret;
-
- disp->dpms = ret;
- return 0;
-}
-
static int display_swap(struct uterm_display *disp)
{
int ret;
.destroy = display_destroy,
.activate = display_activate,
.deactivate = display_deactivate,
- .set_dpms = display_set_dpms,
+ .set_dpms = uterm_drm_display_set_dpms,
.use = NULL,
.swap = display_swap,
.blit = display_blit,
/*
* uterm - Linux User-Space Terminal
*
- * Copyright (c) 2011-2012 David Herrmann <dh.herrmann@googlemail.com>
+ * Copyright (c) 2011-2013 David Herrmann <dh.herrmann@googlemail.com>
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files