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;
 }