X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-terminal%2Fgrdev.c;h=feed579295e17206ee00889c7265559e3905772d;hb=e0952d9d021234e79f3a70f33a9e5d201872a417;hp=a700a7316bb2e3351839909e418d8b4248d512ac;hpb=51cff8bdedbc283b2403ab4a688903d8b1f2fab5;p=elogind.git
diff --git a/src/libsystemd-terminal/grdev.c b/src/libsystemd-terminal/grdev.c
index a700a7316..feed57929 100644
--- a/src/libsystemd-terminal/grdev.c
+++ b/src/libsystemd-terminal/grdev.c
@@ -19,19 +19,16 @@
along with systemd; If not, see .
***/
-#include
#include
#include
#include
#include
#include
-#include
#include "grdev.h"
#include "grdev-internal.h"
#include "hashmap.h"
#include "login-shared.h"
#include "macro.h"
-#include "udev-util.h"
#include "util.h"
static void pipe_enable(grdev_pipe *pipe);
@@ -393,28 +390,19 @@ const grdev_display_target *grdev_display_next_target(grdev_display *display, co
return NULL;
}
-void grdev_display_flip_target(grdev_display *display, const grdev_display_target *target, uint64_t age) {
+void grdev_display_flip_target(grdev_display *display, const grdev_display_target *target) {
grdev_display_cache *cache;
- size_t i;
assert(display);
assert(!display->modified);
assert(display->enabled);
assert(target);
- assert(target->back);
cache = container_of(target, grdev_display_cache, target);
assert(cache->pipe);
assert(cache->pipe->tile->display == display);
- /* reset age of all FB on overflow */
- if (age < target->back->age)
- for (i = 0; i < cache->pipe->max_fbs; ++i)
- if (cache->pipe->fbs[i])
- cache->pipe->fbs[i]->age = 0;
-
- ((grdev_fb*)target->back)->age = age;
cache->pipe->flip = true;
}
@@ -586,8 +574,8 @@ static bool display_cache(grdev_display *display) {
out:
if (r < 0)
- log_debug("grdev: %s/%s: cannot cache pipes: %s",
- display->session->name, display->name, strerror(-r));
+ log_debug_errno(r, "grdev: %s/%s: cannot cache pipes: %m",
+ display->session->name, display->name);
return true;
}
@@ -717,7 +705,7 @@ void grdev_pipe_ready(grdev_pipe *pipe, bool running) {
/* grdev_pipe_ready() is used by backends to notify about pipe state
* changed. If a pipe is ready, it can be fully used by us (available,
- * enabled and accessable). Backends can disable pipes at any time
+ * enabled and accessible). Backends can disable pipes at any time
* (like for async revocation), but can only enable them from parent
* context. Otherwise, we might call user-callbacks recursively. */
@@ -781,8 +769,8 @@ void grdev_pipe_schedule(grdev_pipe *pipe, uint64_t frames) {
return;
error:
- log_debug("grdev: %s/%s/%s: cannot schedule vsync timer: %s",
- pipe->card->session->name, pipe->card->name, pipe->name, strerror(-r));
+ log_debug_errno(r, "grdev: %s/%s/%s: cannot schedule vsync timer: %m",
+ pipe->card->session->name, pipe->card->name, pipe->name);
}
/*
@@ -1185,8 +1173,8 @@ void grdev_session_add_drm(grdev_session *session, struct udev_device *ud) {
r = grdev_drm_card_new(&card, session, ud);
if (r < 0) {
- log_debug("grdev: %s: cannot add DRM device for %s: %s",
- session->name, udev_device_get_syspath(ud), strerror(-r));
+ log_debug_errno(r, "grdev: %s: cannot add DRM device for %s: %m",
+ session->name, udev_device_get_syspath(ud));
return;
}
@@ -1278,8 +1266,8 @@ static void session_configure(grdev_session *session) {
} else if (!display) {
r = grdev_display_new(&display, session, pipe->name);
if (r < 0) {
- log_debug("grdev: %s/%s: cannot create display for pipe %s: %s",
- session->name, card->name, pipe->name, strerror(-r));
+ log_debug_errno(r, "grdev: %s/%s: cannot create display for pipe %s: %m",
+ session->name, card->name, pipe->name);
continue;
}
}