Black screen patch for some HiSilicon devices (FBIOPAN_DISPLAY)
Change-Id: Ib114dcc7b48219142602a2fbc256e2a0258b26e0
diff --git a/minuitwrp/Android.mk b/minuitwrp/Android.mk
index 811685c..1894372 100644
--- a/minuitwrp/Android.mk
+++ b/minuitwrp/Android.mk
@@ -137,6 +137,9 @@
ifeq ($(TW_SCREEN_BLANK_ON_BOOT), true)
LOCAL_CFLAGS += -DTW_SCREEN_BLANK_ON_BOOT
endif
+ifeq ($(TW_FBIOPAN), true)
+ LOCAL_CFLAGS += -DTW_FBIOPAN
+endif
ifeq ($(BOARD_HAS_FLIPPED_SCREEN), true)
LOCAL_CFLAGS += -DBOARD_HAS_FLIPPED_SCREEN
diff --git a/minuitwrp/graphics_fbdev.cpp b/minuitwrp/graphics_fbdev.cpp
index 2126cf9..3402cba 100644
--- a/minuitwrp/graphics_fbdev.cpp
+++ b/minuitwrp/graphics_fbdev.cpp
@@ -103,6 +103,12 @@
vi.bits_per_pixel = gr_framebuffer[0].pixel_bytes * 8;
if (ioctl(fb_fd, FBIOPUT_VSCREENINFO, &vi) < 0) {
perror("active fb swap failed");
+#ifdef TW_FBIOPAN
+ } else {
+ if (ioctl(fb_fd, FBIOPAN_DISPLAY, &vi) < 0) {
+ perror("pan failed");
+ }
+#endif
}
displayed_buffer = n;
}