overlay: Add support for pipe dumps.
Add support for pipe state dump useful in dumpsys.
Reduce debug log spam when mdp state changes.
Change-Id: Ie27ad00698085e2ffd6166ad2f7503fe16a571f8
diff --git a/liboverlay/overlay.cpp b/liboverlay/overlay.cpp
index 04deee5..441b822 100644
--- a/liboverlay/overlay.cpp
+++ b/liboverlay/overlay.cpp
@@ -202,10 +202,28 @@
void Overlay::dump() const {
if(strlen(mDumpStr)) { //dump only on state change
- ALOGD("%s\n", mDumpStr);
+ ALOGD_IF(PIPE_DEBUG, "%s\n", mDumpStr);
}
}
+void Overlay::getDump(char *buf, size_t len) {
+ int totalPipes = 0;
+ const char *str = "\nOverlay State\n==========================\n";
+ strncat(buf, str, strlen(str));
+ for(int i = 0; i < PipeBook::NUM_PIPES; i++) {
+ if(mPipeBook[i].valid()) {
+ mPipeBook[i].mPipe->getDump(buf, len);
+ char str[64] = {'\0'};
+ snprintf(str, 64, "Attached to dpy=%d\n\n", mPipeBook[i].mDisplay);
+ strncat(buf, str, strlen(str));
+ totalPipes++;
+ }
+ }
+ char str_pipes[64] = {'\0'};
+ snprintf(str_pipes, 64, "Pipes used=%d\n\n", totalPipes);
+ strncat(buf, str_pipes, strlen(str_pipes));
+}
+
void Overlay::PipeBook::init() {
mPipe = NULL;
mDisplay = DPY_UNUSED;