|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From 1bfa594cf26a9880c489cdcb5911bfb3440aa566 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
From: David Herrmann <dh.herrmann@gmail.com>
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Date: Thu, 2 Oct 2014 18:51:29 +0200
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
Subject: [PATCH] terminal/drm: clear 'applied' flag when changing state
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
If a pipe is enabled/disabled, we have to clear crtc->applied of the
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
linked CRTC. Otherwise, we will not run a deep modeset, but leave the crtc
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
in the pre-configured state.
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
---
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
src/libsystemd-terminal/grdev-drm.c | 14 ++++++++++++++
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
1 file changed, 14 insertions(+)
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
diff --git a/src/libsystemd-terminal/grdev-drm.c b/src/libsystemd-terminal/grdev-drm.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
index f01df1dae2..232321c0e2 100644
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
--- a/src/libsystemd-terminal/grdev-drm.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+++ b/src/libsystemd-terminal/grdev-drm.c
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
@@ -1549,9 +1549,23 @@ static grdev_fb *grdrm_pipe_target(grdev_pipe *basepipe) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
return basepipe->back;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+static void grdrm_pipe_enable(grdev_pipe *basepipe) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ grdrm_pipe *pipe = grdrm_pipe_from_base(basepipe);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ pipe->crtc->applied = false;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+static void grdrm_pipe_disable(grdev_pipe *basepipe) {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ grdrm_pipe *pipe = grdrm_pipe_from_base(basepipe);
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ pipe->crtc->applied = false;
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+}
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
static const grdev_pipe_vtable grdrm_pipe_vtable = {
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
.free = grdrm_pipe_free,
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
.target = grdrm_pipe_target,
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ .enable = grdrm_pipe_enable,
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
+ .disable = grdrm_pipe_disable,
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
};
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
|
|
Zbigniew Jędrzejewski-Szmek |
62fe94 |
/*
|