From 32255b811edae510304389de4e30fe3e4aaa9ab7 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Fri, 20 Oct 2017 11:32:40 +0300 Subject: Card: add disable_all() --- kms++/inc/kms++/card.h | 2 ++ kms++/src/card.cpp | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'kms++') diff --git a/kms++/inc/kms++/card.h b/kms++/inc/kms++/card.h index 90ad1f6..c86278d 100644 --- a/kms++/inc/kms++/card.h +++ b/kms++/inc/kms++/card.h @@ -49,6 +49,8 @@ public: void call_page_flip_handlers(); + int disable_all(); + private: void restore_modes(); diff --git a/kms++/src/card.cpp b/kms++/src/card.cpp index d8d89b2..f7f1a5a 100644 --- a/kms++/src/card.cpp +++ b/kms++/src/card.cpp @@ -224,4 +224,24 @@ void Card::call_page_flip_handlers() drmHandleEvent(fd(), &ev); } +int Card::disable_all() +{ + AtomicReq req(*this); + + for (Crtc* c : m_crtcs) { + req.add(c, { + { "ACTIVE", 0 }, + }); + } + + for (Plane* p : m_planes) { + req.add(p, { + { "FB_ID", 0 }, + { "CRTC_ID", 0 }, + }); + } + + return req.commit_sync(true); +} + } -- cgit v1.2.3