Merge tag 'LA.QSSI.14.0.r1-15700-qssi.0' into staging/lineage-21.0_merge-LA.QSSI.14.0.r1-15700-qssi.0

LA.QSSI.14.0.r1-15700-qssi.0

# By Avdhesh Singh Chauhan (1) and Ray Zhang (1)
# Via Linux Build Service Account (2) and others
* tag 'LA.QSSI.14.0.r1-15700-qssi.0':
  gralloc: Add flags for ubwc lossy 8 to 5 and 2 to 1.
  display: add interface to support content fps

Change-Id: Ib3da841fd59c281b977e8cea5d749eb66dd5867c
diff --git a/.gitupstream b/.gitupstream
new file mode 100644
index 0000000..911f20b
--- /dev/null
+++ b/.gitupstream
@@ -0,0 +1 @@
+https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/display-commonsys-intf
diff --git a/Android.bp b/Android.bp
index 408e904..6bd3fb3 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,6 +1,14 @@
+soong_namespace {
+}
+
 cc_library_headers {
     name: "display_intf_headers",
     vendor_available: true,
+    defaults: [
+        "gralloc_handle_has_custom_content_md_reserved_size_defaults",
+        "gralloc_handle_has_reserved_size_defaults",
+        "gralloc_handle_has_ubwcp_format_defaults",
+    ],
     export_include_dirs: [
         "gralloc",
         "include",
diff --git a/gralloc/QtiGrallocPriv.h b/gralloc/QtiGrallocPriv.h
index 2882413..40549e2 100644
--- a/gralloc/QtiGrallocPriv.h
+++ b/gralloc/QtiGrallocPriv.h
@@ -149,12 +149,18 @@
   uint64_t base;
   uint64_t base_metadata;
   uint64_t gpuaddr;
+#ifdef GRALLOC_HANDLE_HAS_RESERVED_SIZE
   unsigned int reserved_size;
+#endif
+#ifdef GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE
   unsigned int custom_content_md_reserved_size;
+#endif
   static const int kNumFds = 2;
   static const int kMagic = 'gmsm';
+#ifdef GRALLOC_HANDLE_HAS_UBWCP_FORMAT
   unsigned int linear_size;
   int ubwcp_format;
+#endif
 
   static inline int NumInts() {
     return ((sizeof(private_handle_t) - sizeof(native_handle_t)) / sizeof(int)) - kNumFds;
@@ -180,11 +186,18 @@
         offset_metadata(0),
         base(0),
         base_metadata(0),
-        gpuaddr(0),
-        reserved_size(0),
-        custom_content_md_reserved_size(0),
-        linear_size(0),
-        ubwcp_format(format) {
+        gpuaddr(0)
+#ifdef GRALLOC_HANDLE_HAS_RESERVED_SIZE
+        ,reserved_size(0)
+#endif
+#ifdef GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE
+        ,custom_content_md_reserved_size(0)
+#endif
+#ifdef GRALLOC_HANDLE_HAS_UBWCP_FORMAT
+        ,linear_size(0)
+        ,ubwcp_format(format)
+#endif
+  {
     version = static_cast<int>(sizeof(native_handle));
     numInts = NumInts();
     numFds = kNumFds;
@@ -218,11 +231,9 @@
   static void Dump(const private_handle_t *hnd) {
     ALOGD("handle id:%" PRIu64
           " wxh:%dx%d uwxuh:%dx%d size: %d fd:%d fd_meta:%d flags:0x%x "
-          "usage:0x%" PRIx64 "  format:0x%x layer_count: %d reserved_size = %d "
-          "custom_content_md_reserved_size = %u",
+          "usage:0x%" PRIx64 "  format:0x%x layer_count: %d",
           hnd->id, hnd->width, hnd->height, hnd->unaligned_width, hnd->unaligned_height, hnd->size,
-          hnd->fd, hnd->fd_metadata, hnd->flags, hnd->usage, hnd->format, hnd->layer_count,
-          hnd->reserved_size, hnd->custom_content_md_reserved_size);
+          hnd->fd, hnd->fd_metadata, hnd->flags, hnd->usage, hnd->format, hnd->layer_count);
   }
 };
 #pragma pack(pop)
diff --git a/gralloc/gr_priv_handle.h b/gralloc/gr_priv_handle.h
index d2c7dda..0f7151a 100644
--- a/gralloc/gr_priv_handle.h
+++ b/gralloc/gr_priv_handle.h
@@ -98,13 +98,19 @@
   uint64_t base;
   uint64_t base_metadata;
   uint64_t gpuaddr;
+#ifdef GRALLOC_HANDLE_HAS_RESERVED_SIZE
   unsigned int reserved_size;
+#endif
+#ifdef GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE
   unsigned int custom_content_md_reserved_size;
+#endif
 #ifdef __cplusplus
   static const int kNumFds = 2;
   static const int kMagic = 'gmsm';
+#ifdef GRALLOC_HANDLE_HAS_UBWCP_FORMAT
   unsigned int linear_size;
   int ubwcp_format;
+#endif
 
   static inline int NumInts() {
     return ((sizeof(private_handle_t) - sizeof(native_handle_t)) / sizeof(int)) - kNumFds;
@@ -130,11 +136,18 @@
         offset_metadata(0),
         base(0),
         base_metadata(0),
-        gpuaddr(0),
-        reserved_size(0),
-        custom_content_md_reserved_size(0),
-        linear_size(0),
-        ubwcp_format(format) {
+        gpuaddr(0)
+#ifdef GRALLOC_HANDLE_HAS_RESERVED_SIZE
+        ,reserved_size(0)
+#endif
+#ifdef GRALLOC_HANDLE_HAS_CUSTOM_CONTENT_MD_RESERVED_SIZE
+        ,custom_content_md_reserved_size(0)
+#endif
+#ifdef GRALLOC_HANDLE_HAS_UBWCP_FORMAT
+        ,linear_size(0)
+        ,ubwcp_format(format)
+#endif
+  {
     version = static_cast<int>(sizeof(native_handle));
     numInts = NumInts();
     numFds = kNumFds;
@@ -175,11 +188,9 @@
   static void Dump(const private_handle_t *hnd) {
     ALOGD("handle id:%" PRIu64
           " wxh:%dx%d uwxuh:%dx%d size: %d fd:%d fd_meta:%d flags:0x%x "
-          "usage:0x%" PRIx64 "  format:0x%x layer_count: %d reserved_size = %d "
-          "custom_content_md_reserved_size = %u",
+          "usage:0x%" PRIx64 "  format:0x%x layer_count: %d",
           hnd->id, hnd->width, hnd->height, hnd->unaligned_width, hnd->unaligned_height, hnd->size,
-          hnd->fd, hnd->fd_metadata, hnd->flags, hnd->usage, hnd->format, hnd->layer_count,
-          hnd->reserved_size, hnd->custom_content_md_reserved_size);
+          hnd->fd, hnd->fd_metadata, hnd->flags, hnd->usage, hnd->format, hnd->layer_count);
   }
 
   int GetUnalignedWidth() const { return unaligned_width; }