Merge tag 'DISPLAY.LA.3.0.r1-10700-KAILUA.0' of https://git.codelinaro.org/clo/la/platform/hardware/qcom/display into HEAD

DISPLAY.LA.3.0.r1-10700-KAILUA.0

* tag 'DISPLAY.LA.3.0.r1-10700-KAILUA.0' of https://git.codelinaro.org/clo/la/platform/hardware/qcom/display:
  init: disable BG blur feature for Crow
  sdm: remove vsync enable as part of commit cycle
  init: update target version for crow as v5.
  display: update SetColorModeWithRenderIntent for virtual display
  init: update target version for crow as v5.
  init: disable BG blur feature for Crow
  sdm: remove vsync enable as part of commit cycle
  composer: Add 100ms delay upon releasing of large comp hint
  dal: handle blend mode setting for lut update case
  composer: add check for color metadata length
  gralloc: handle unknown dataspace
  sdm: add content type transition for detail enhancer
  composer: Fix corruption issue due to wrong index
  sdm: handle concurrency between PostCommit and SetPanelBrightness
  composer: Don't allow power mode switch during TUI end
  sdm: Check panel HDR capability when declaring HDR capabilities to SF
  Revert "hwc_layer: Validate metadata"
  init: enable qsync based idle fallback for crow
  sdm: Make first power on synchronous for all physical displays.
  composer: Fix HandlePluggableDisplays scope call
  sde-drm: Parse ddr version
  composer: validate layer before mapping it to buffer
  dal: teardown cwb on display flush
  composer: do not allow TUI if target display is not powered on
  init: Add new target crow
  config: Set debug.sf.auto_latch_unsignaled to 0.
  sdm: pass display interface to dpps creation
  sdm: limit mutex lock scope to update refresh variable
  init: Set property for Crow
  sdm: support for layer_stack output buffer as shared_ptr

Change-Id: Ibe803492625943260135ac8b42defe9089fdd779
diff --git a/.gitupstream b/.gitupstream
new file mode 100644
index 0000000..4c7783e
--- /dev/null
+++ b/.gitupstream
@@ -0,0 +1 @@
+https://git.codelinaro.org/clo/la/platform/hardware/qcom/display
diff --git a/Android.mk b/Android.mk
index 351d3ef..b856dc3 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,2 +1,6 @@
+ifeq ($(call my-dir),$(call project-path-for,qcom-display))
+
 LOCAL_PATH := $(call my-dir)
 include $(LOCAL_PATH)/qmcs.mk
+
+endif
diff --git a/composer/Android.bp b/composer/Android.bp
index 4dfa42d..fd0e02f 100644
--- a/composer/Android.bp
+++ b/composer/Android.bp
@@ -12,16 +12,14 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
 
     cflags: [
+        "-Wno-format",
         "-Wno-missing-field-initializers",
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDM\"",
     ],
-    clang: true,
 
     shared_libs: [
         "libbinder",
diff --git a/composer/hwc_layers.cpp b/composer/hwc_layers.cpp
index 497b219..32be96f 100644
--- a/composer/hwc_layers.cpp
+++ b/composer/hwc_layers.cpp
@@ -463,7 +463,7 @@
   }
   buffer_flipped_ = reinterpret_cast<uint64_t>(handle) != layer_buffer->buffer_id;
   layer_buffer->buffer_id = reinterpret_cast<uint64_t>(handle);
-  int64_t hd_id, hd_usage;
+  [[maybe_unused]] int64_t hd_id, hd_usage;
   err = gralloc::GetMetaDataValue(hnd, (int64_t)StandardMetadataType::BUFFER_ID,
                                   &layer_buffer->handle_id);
   if (err != gralloc::Error::NONE) {
diff --git a/composer/hwc_session.cpp b/composer/hwc_session.cpp
index b33216c..5d99958 100644
--- a/composer/hwc_session.cpp
+++ b/composer/hwc_session.cpp
@@ -3484,7 +3484,7 @@
     }
   }
   if (is_active_virtual_display) {
-    auto error = DestroyVirtualDisplay(client_id);
+    [[maybe_unused]] auto error = DestroyVirtualDisplay(client_id);
   }
 
   // If it is called during primary prepare/commit, we need to pause any ongoing commit on
@@ -4026,7 +4026,7 @@
             cached_retire_fence_) {
           Fence::Wait(cached_retire_fence_);
         }
-        cached_retire_fence_ == nullptr;
+        cached_retire_fence_ = nullptr;
       }
       {
         SCOPE_LOCK(locker_[display_id]);
diff --git a/composer/vendor.qti.hardware.display.composer-service.rc b/composer/vendor.qti.hardware.display.composer-service.rc
index 96e080d..55b0112 100644
--- a/composer/vendor.qti.hardware.display.composer-service.rc
+++ b/composer/vendor.qti.hardware.display.composer-service.rc
@@ -5,4 +5,4 @@
     capabilities SYS_NICE
     onrestart restart surfaceflinger
     socket pps stream 0660 system system
-    writepid /dev/cpuset/system-background/tasks
+    task_profiles ServiceCapacityLow
diff --git a/config/display-product.mk b/config/display-product.mk
index 9c59bbc..74f0db8 100644
--- a/config/display-product.mk
+++ b/config/display-product.mk
@@ -1,53 +1,55 @@
 # Display product definitions
-include hardware/qcom/display/config/display-modules.mk
+DISPLAY_HAL_DIR := hardware/qcom-caf/sm8550/display
+
+include $(DISPLAY_HAL_DIR)/config/display-modules.mk
 PRODUCT_PACKAGES += $(DISPLAY_MODULES_HARDWARE)
 
 ifneq ($(TARGET_HAS_LOW_RAM),true)
 #Multi-stc libraries config xml file
-PRODUCT_COPY_FILES += hardware/qcom/display/config/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/snapdragon_color_libs_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/snapdragon_color_libs_config.xml
 
 #Clstc library config xml file
-PRODUCT_COPY_FILES += hardware/qcom/display/config/clstc_config_library.xml:$(TARGET_COPY_OUT_VENDOR)/etc/clstc_config_library.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/clstc_config_library.xml:$(TARGET_COPY_OUT_VENDOR)/etc/clstc_config_library.xml
 endif
 
 #QDCM calibration json file for r66451 panel
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_with_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_without_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_without_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_without_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_without_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_without_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_cmd_mode_dsi_visionox_panel_without_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_without_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_r66451_amoled_video_mode_dsi_visionox_panel_without_DSC.json
 
 #QDCM calibration json file for Sharp panel
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_Sharp_4k_cmd_mode_dsc_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_4k_cmd_mode_dsc_dsi_panel.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_Sharp_4k_video_mode_dsc_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_4k_video_mode_dsc_dsi_panel.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_Sharp_2k_cmd_mode_qsync_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_2k_cmd_mode_qsync_dsi_panel.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_Sharp_2k_video_mode_qsync_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_2k_video_mode_qsync_dsi_panel.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_Sharp_qhd_cmd_mode_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_qhd_cmd_mode_dsi_panel.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_sharp_1080p_cmd_mode_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_sharp_1080p_cmd_mode_dsi_panel.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_Sharp_4k_cmd_mode_dsc_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_4k_cmd_mode_dsc_dsi_panel.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_Sharp_4k_video_mode_dsc_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_4k_video_mode_dsc_dsi_panel.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_Sharp_2k_cmd_mode_qsync_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_2k_cmd_mode_qsync_dsi_panel.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_Sharp_2k_video_mode_qsync_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_2k_video_mode_qsync_dsi_panel.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_Sharp_qhd_cmd_mode_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_Sharp_qhd_cmd_mode_dsi_panel.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_sharp_1080p_cmd_mode_dsi_panel.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_sharp_1080p_cmd_mode_dsi_panel.json
 
 #QDCM calibration JSON file for nt36672e LCD video mode single dsi with DSC panel.
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_with_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_without_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_without_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_without_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_nt36672e_lcd_video_mode_dsi_novatek_panel_without_DSC.json
 
 #Backlight calibration xml file for r66451 amoled panels
-PRODUCT_COPY_FILES += hardware/qcom/display/config/backlight_calib_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml
-PRODUCT_COPY_FILES += hardware/qcom/display/config/backlight_calib_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_r66451_amoled_video_mode_dsi_visionox_panel_with_DSC.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/backlight_calib_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/backlight_calib_r66451_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_r66451_amoled_video_mode_dsi_visionox_panel_with_DSC.xml
 
 #QDCM calibration json file for vtdr6130 panel
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_vtdr6130_amoled_video_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_video_mode_dsi_visionox_panel_with_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_vtdr6130_amoled_qsync_cmd_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_qsync_cmd_mode_dsi_visionox_panel_with_DSC.json
-PRODUCT_COPY_FILES += hardware/qcom/display/config/qdcm_calib_data_vtdr6130_amoled_qsync_video_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_qsync_video_mode_dsi_visionox_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_vtdr6130_amoled_video_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_video_mode_dsi_visionox_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_vtdr6130_amoled_qsync_cmd_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_qsync_cmd_mode_dsi_visionox_panel_with_DSC.json
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/qdcm_calib_data_vtdr6130_amoled_qsync_video_mode_dsi_visionox_panel_with_DSC.json:$(TARGET_COPY_OUT_VENDOR)/etc/display/qdcm_calib_data_vtdr6130_amoled_qsync_video_mode_dsi_visionox_panel_with_DSC.json
 
 #Backlight calibration xml file for vtdr6130 amoled panels
-PRODUCT_COPY_FILES += hardware/qcom/display/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml
-PRODUCT_COPY_FILES += hardware/qcom/display/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_video_mode_dsi_visionox_panel_with_DSC.xml
-PRODUCT_COPY_FILES += hardware/qcom/display/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_qsync_cmd_mode_dsi_visionox_panel_with_DSC.xml
-PRODUCT_COPY_FILES += hardware/qcom/display/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_qsync_video_mode_dsi_visionox_panel_with_DSC.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_video_mode_dsi_visionox_panel_with_DSC.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_qsync_cmd_mode_dsi_visionox_panel_with_DSC.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/backlight_calib_vtdr6130_amoled_cmd_mode_dsi_visionox_panel_with_DSC.xml:$(TARGET_COPY_OUT_VENDOR)/etc/display/backlight_calib_vtdr6130_amoled_qsync_video_mode_dsi_visionox_panel_with_DSC.xml
 
 #Smomo config xml file
-PRODUCT_COPY_FILES += hardware/qcom/display/config/smomo_setting.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smomo_setting.xml
+PRODUCT_COPY_FILES += $(DISPLAY_HAL_DIR)/config/smomo_setting.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smomo_setting.xml
 
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     persist.demo.hdmirotationlock=false \
     persist.sys.sf.color_saturation=1.0 \
     persist.sys.sf.color_mode=9 \
@@ -91,25 +93,25 @@
 
 # Enable offline rotator for Bengal.
 ifneq ($(TARGET_BOARD_PLATFORM),bengal)
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     vendor.display.disable_offline_rotator=1
 else
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     vendor.display.disable_rotator_ubwc=1 \
     vendor.display.disable_layer_stitch=0
 endif
 
 ifeq ($(TARGET_BOARD_PLATFORM),holi)
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     vendor.display.secure_preview_buffer_format=420_sp \
     vendor.gralloc.secure_preview_buffer_format=420_sp \
     vendor.gralloc.secure_preview_only=1
-    PRODUCT_PROPERTY_OVERRIDES += vendor.display.enable_rounded_corner=1
-    PRODUCT_PROPERTY_OVERRIDES += vendor.display.disable_rounded_corner_thread=0
+    PRODUCT_VENDOR_PROPERTIES += vendor.display.enable_rounded_corner=1
+    PRODUCT_VENDOR_PROPERTIES += vendor.display.disable_rounded_corner_thread=0
 endif
 
 ifneq ($(PLATFORM_VERSION), 10)
-    PRODUCT_PROPERTY_OVERRIDES +=  vendor.display.enable_async_powermode=0
+    PRODUCT_VENDOR_PROPERTIES +=  vendor.display.enable_async_powermode=0
 endif
 
 #Set WCG properties
@@ -133,13 +135,13 @@
 
 ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
 # Recovery is enabled, logging is enabled
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     vendor.display.disable_hw_recovery_dump=0
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     vendor.display.hw_recovery_threshold=5
 else
 # Recovery is enabled, logging is disabled
-PRODUCT_PROPERTY_OVERRIDES += \
+PRODUCT_VENDOR_PROPERTIES += \
     vendor.display.disable_hw_recovery_dump=1
 endif
 
@@ -176,7 +178,7 @@
 
 ifeq ($(TARGET_IS_HEADLESS), true)
     # TODO: QMAA prebuilts
-    PRODUCT_SOONG_NAMESPACES += hardware/qcom/display/qmaa
+    PRODUCT_SOONG_NAMESPACES += $(DISPLAY_HAL_DIR)/qmaa
     SOONG_CONFIG_qtidisplay_headless := true
     SOONG_CONFIG_qtidisplay_default := false
 else
@@ -185,7 +187,7 @@
     PRODUCT_PACKAGES += libsdedrm
     PRODUCT_PACKAGES += libgpu_tonemapper
     #Properties that should not be set in QMAA are enabled here.
-    PRODUCT_PROPERTY_OVERRIDES += \
+    PRODUCT_VENDOR_PROPERTIES += \
         vendor.display.enable_early_wakeup=1
     ifneq ($(BUILD_DISPLAY_TECHPACK_SOURCE), true)
         SOONG_CONFIG_qtidisplay_var1 := true
diff --git a/gralloc/Android.bp b/gralloc/Android.bp
index 4158475..53ebabf 100644
--- a/gralloc/Android.bp
+++ b/gralloc/Android.bp
@@ -10,8 +10,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
     shared_libs: [
         "libdl",
@@ -26,6 +24,7 @@
     cflags: [
         "-DLOG_TAG=\"qdgralloc\"",
         "-D__QTI_DISPLAY_GRALLOC__",
+        "-Wno-format",
         "-Wno-sign-conversion",
         "-Wno-unused-parameter",
         "-Wno-unused-variable",
@@ -48,9 +47,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
-        "libvmmem_headers",
     ],
     include_dirs: [
         "system/memory/libion/include",
@@ -64,7 +60,6 @@
         "libhidlbase",
         "libion",
         "libdmabufheap",
-        "libvmmem",
         "android.hardware.graphics.mapper@2.1",
         "android.hardware.graphics.mapper@3.0",
         "android.hardware.graphics.mapper@4.0",
@@ -72,6 +67,7 @@
     cflags: [
         "-DLOG_TAG=\"qdgralloc\"",
         "-D__QTI_DISPLAY_GRALLOC__",
+        "-Wno-format",
         "-Wno-sign-conversion",
         "-Wno-unused-parameter",
     ],
diff --git a/gralloc/QtiGralloc.cpp b/gralloc/QtiGralloc.cpp
index 212ca43..ea0762f 100644
--- a/gralloc/QtiGralloc.cpp
+++ b/gralloc/QtiGralloc.cpp
@@ -212,7 +212,6 @@
   if (!in.size() || !out) {
     return Error::BAD_VALUE;
   }
-  qti_ycbcr *p = reinterpret_cast<qti_ycbcr *>(in.data());
   memcpy(out, in.data(), (YCBCR_LAYOUT_ARRAY_SIZE * sizeof(qti_ycbcr)));
   return Error::NONE;
 }
@@ -230,7 +229,6 @@
   if (!in.size() || !out) {
     return Error::BAD_VALUE;
   }
-  BufferPermission *p = reinterpret_cast<BufferPermission *>(in.data());
   memcpy(out, in.data(), (BUFFER_CLIENT_MAX * sizeof(BufferPermission)));
   return Error::NONE;
 }
diff --git a/gralloc/gr_allocator.cpp b/gralloc/gr_allocator.cpp
index b9c3491..56822ac 100644
--- a/gralloc/gr_allocator.cpp
+++ b/gralloc/gr_allocator.cpp
@@ -62,7 +62,6 @@
 
 int Allocator::AllocateMem(AllocData *alloc_data, uint64_t usage, int format) {
   int ret;
-  bool is_secure = false;
   alloc_data->uncached = UseUncached(format, usage);
 
   AllocInterface *alloc_intf = AllocInterface::GetInstance();
@@ -161,7 +160,6 @@
   bool cur_uncached = false, prev_uncached = false;
   unsigned int alignedw, alignedh;
   unsigned int max_size = 0;
-  bool is_secure = false;
   unsigned int cur_size = 0, prev_size = 0;
 
   *max_index = -1;
diff --git a/gralloc/gr_buf_mgr.cpp b/gralloc/gr_buf_mgr.cpp
index 5c47884..b0d08fb 100644
--- a/gralloc/gr_buf_mgr.cpp
+++ b/gralloc/gr_buf_mgr.cpp
@@ -859,11 +859,9 @@
     return Error::BAD_BUFFER;
   }
 
-  auto metadata = reinterpret_cast<MetaData_t *>(handle->base_metadata);
   if (metadatatype_value == QTI_CUSTOM_CONTENT_METADATA) {
     Error error = Error::NONE;
     void *custom_content_md_region = buf->custom_content_md_region_ptr;
-    uint64_t custom_content_md_region_size = buf->custom_content_md_size;
 
       if (buf->custom_content_md_region_ptr == nullptr ||
           buf->custom_content_md_size != sizeof(CustomContentMetadata)) {
@@ -913,8 +911,7 @@
   auto metadata = reinterpret_cast<MetaData_t *>(handle->base_metadata);
 
   void *metadata_ptr = nullptr;
-  auto result = GetMetaDataByReference(handle, metadatatype_value, &metadata_ptr);
-  Error error = Error::NONE;
+  Error error = GetMetaDataByReference(handle, metadatatype_value, &metadata_ptr);
   switch (metadatatype_value) {
     case (int64_t)StandardMetadataType::BUFFER_ID:
       if (metadata_ptr != nullptr) {
diff --git a/gralloc/gr_dma_mgr.cpp b/gralloc/gr_dma_mgr.cpp
index 41ce6ef..7fe336d 100644
--- a/gralloc/gr_dma_mgr.cpp
+++ b/gralloc/gr_dma_mgr.cpp
@@ -56,6 +56,23 @@
 
 DmaManager *DmaManager::dma_manager_ = NULL;
 
+DmaManager::DmaManager() {
+  libvmmemPointer = dlopen("libvmmem.so", RTLD_LAZY);
+
+  if (libvmmemPointer) {
+    createVmMem = reinterpret_cast<std::unique_ptr<VmMem> (*)()>(dlsym(libvmmemPointer,
+                                                                 "CreateVmMem"));
+    const char* dlsym_error = dlerror();
+    if (dlsym_error) {
+      ALOGE("Cannot load symbol CreateVmMem: %s", dlsym_error);
+      return;
+    }
+  } else {
+    ALOGE("Could not load libvmmem: %s", dlerror());
+    return;
+  }
+}
+
 DmaManager *DmaManager::GetInstance() {
   if (!dma_manager_) {
     dma_manager_ = new DmaManager();
@@ -216,7 +233,7 @@
 
 int DmaManager::SecureMemPerms(AllocData *data) {
   int ret = 0;
-  std::unique_ptr<VmMem> vmmem = VmMem::CreateVmMem();
+  std::unique_ptr<VmMem> vmmem = createVmMem();
   if (!vmmem) {
     return -ENOMEM;
   }
diff --git a/gralloc/gr_dma_mgr.h b/gralloc/gr_dma_mgr.h
index 32c86e2..14636ed 100644
--- a/gralloc/gr_dma_mgr.h
+++ b/gralloc/gr_dma_mgr.h
@@ -33,13 +33,13 @@
 #define __GR_DMA_MGR_H__
 
 #include <BufferAllocator/BufferAllocator.h>
-#include <vmmem.h>
 #include <string>
 #include <vector>
 #include <bitset>
 
 #include "gr_alloc_interface.h"
 #include "membuf_wrapper.h"
+#include "vmmem.h"
 
 #define FD_INIT -1
 #define MEMBUF_CLIENT_LIB_NAME "libmemutils.so"
@@ -71,7 +71,7 @@
   static DmaManager *GetInstance();
 
  private:
-  DmaManager() {}
+  DmaManager();
   int UnmapBuffer(void *base, unsigned int size, unsigned int offset);
   void GetVMPermission(BufferPermission perm, std::bitset<kVmPermissionMax> *vm_perm);
   void InitMemUtils();
@@ -86,6 +86,9 @@
   void *mem_utils_lib_ = {};
   CreateMemBufInterface CreateMemBuf_ = nullptr;
   DestroyMemBufInterface DestroyMemBuf_ = nullptr;
+
+  void* libvmmemPointer;
+  std::unique_ptr<VmMem> (*createVmMem)();
 };
 
 }  // namespace gralloc
diff --git a/gralloc/gr_utils.cpp b/gralloc/gr_utils.cpp
index 9b9b019..f31e505 100644
--- a/gralloc/gr_utils.cpp
+++ b/gralloc/gr_utils.cpp
@@ -3173,12 +3173,11 @@
         auto error = GetColorSpaceFromColorMetaData(data->color, &colorspace);
         if (error == Error::NONE) {
           *(reinterpret_cast<uint32_t *>(in)) = colorspace;
-          break;
         } else {
           ret = Error::BAD_VALUE;
-          break;
         }
       }
+      break;
     }
     case QTI_YUV_PLANE_INFO: {
       if (copy) {
@@ -3204,10 +3203,8 @@
                 layout[0].chromaStep);
 
           memcpy(in, layout, YCBCR_LAYOUT_ARRAY_SIZE * sizeof(qti_ycbcr));
-          break;
         } else {
           ret = Error::BAD_BUFFER;
-          break;
         }
       }
       break;
@@ -3218,12 +3215,11 @@
         int32_t height;
         if (GetCustomDimensions(handle, &stride, &height) == 0) {
           *(reinterpret_cast<int32_t *>(in)) = stride;
-          break;
         } else {
           ret = Error::BAD_VALUE;
-          break;
         }
       }
+      break;
     }
     case QTI_CUSTOM_DIMENSIONS_HEIGHT: {
       if (copy) {
@@ -3231,24 +3227,22 @@
         int32_t height = handle->height;
         if (GetCustomDimensions(handle, &stride, &height) == 0) {
           *(reinterpret_cast<int32_t *>(in)) = height;
-          break;
         } else {
           ret = Error::BAD_VALUE;
-          break;
         }
       }
+      break;
     }
     case QTI_RGB_DATA_ADDRESS: {
       if (copy) {
         void *rgb_data = nullptr;
         if (GetRgbDataAddress(handle, &rgb_data) == 0) {
           *(reinterpret_cast<void **>(in)) = rgb_data;
-          break;
         } else {
           ret = Error::BAD_BUFFER;
-          break;
         }
       }
+      break;
     }
     case QTI_BUFFER_TYPE:
       if (copy) {
diff --git a/gralloc/vmmem.h b/gralloc/vmmem.h
new file mode 100644
index 0000000..43861c8
--- /dev/null
+++ b/gralloc/vmmem.h
@@ -0,0 +1,23 @@
+#ifndef __VMMEM_H__
+#define __VMMEM_H__
+
+#include <stdlib.h>
+#include <string>
+#include <vector>
+
+#define VMMEM_READ   4
+#define VMMEM_WRITE  2
+#define VMMEM_EXEC   1
+
+using VmHandle = int;
+using VmPerm = std::vector<std::pair<VmHandle, uint32_t>>;
+
+class VmMem {
+ public:
+  virtual ~VmMem() = 0;
+  static std::unique_ptr<VmMem> CreateVmMem();
+  virtual int FindVmByName(const std::string& vm_name);
+  virtual int LendDmabuf(int fd, const VmPerm& vm_perms);
+};
+
+#endif  // __VMMEM_H__
diff --git a/hdmi_cec/Android.bp b/hdmi_cec/Android.bp
index 9de8b63..8f589da 100644
--- a/hdmi_cec/Android.bp
+++ b/hdmi_cec/Android.bp
@@ -23,7 +23,6 @@
         "-DLOG_TAG=\"qdhdmi_cec\"",
         "-Wno-sign-conversion",
     ],
-    clang: true,
     srcs: [
         "qhdmi_cec.cpp",
         "QHDMIClient.cpp",
diff --git a/init/Android.bp b/init/Android.bp
index f933b23..560a347 100644
--- a/init/Android.bp
+++ b/init/Android.bp
@@ -1,10 +1,12 @@
-cc_prebuilt_binary {
-    name: "init.qti.display_boot.sh",
+prebuilt_etc {
+    name: "init.qti.display_boot.rc",
+    src: "init.qti.display_boot.rc",
+    sub_dir: "init",
     vendor: true,
-    strip: {
-        none: true,
-    },
-    device_supported: true,
-    srcs: ["init.qti.display_boot.sh"],
-    init_rc: ["init.qti.display_boot.rc"],
+}
+
+sh_binary {
+    name: "init.qti.display_boot.sh",
+    src: "init.qti.display_boot.sh",
+    vendor: true,
 }
diff --git a/libdebug/Android.bp b/libdebug/Android.bp
index 0fdf6d8..7a7e2c2 100644
--- a/libdebug/Android.bp
+++ b/libdebug/Android.bp
@@ -15,6 +15,5 @@
         "-fno-operator-names",
     ],
     export_include_dirs: ["."],
-    clang: true,
     srcs: ["debug_handler.cpp"],
 }
diff --git a/libdrmutils/Android.bp b/libdrmutils/Android.bp
index b034391..af99665 100644
--- a/libdrmutils/Android.bp
+++ b/libdrmutils/Android.bp
@@ -9,8 +9,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
     shared_libs: [
         "libdrm",
@@ -24,7 +22,6 @@
         "-Werror",
         "-fno-operator-names",
     ],
-    clang: true,
 
     srcs: [
         "drm_master.cpp",
diff --git a/libhistogram/Android.bp b/libhistogram/Android.bp
index 1d05e9c..1e672d4 100644
--- a/libhistogram/Android.bp
+++ b/libhistogram/Android.bp
@@ -27,8 +27,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
 
     cflags: [
@@ -39,7 +37,6 @@
         "-fno-operator-names",
         "-Wthread-safety",
     ],
-    clang: true,
     srcs: [
         "histogram_collector.cpp",
         "ringbuffer.cpp",
@@ -62,8 +59,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
 
     cflags: [
@@ -74,7 +69,6 @@
         "-fno-operator-names",
         "-Wthread-safety",
     ],
-    clang: true,
 
     vendor: true,
 
@@ -99,8 +93,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
 
     cflags: [
@@ -111,7 +103,6 @@
         "-fno-operator-names",
         "-Wthread-safety",
     ],
-    clang: true,
 
     vendor: true,
 
diff --git a/liblight/Android.bp b/liblight/Android.bp
index 9d92660..d2cb82a 100644
--- a/liblight/Android.bp
+++ b/liblight/Android.bp
@@ -6,7 +6,6 @@
     header_libs: ["libhardware_headers"],
     shared_libs: ["liblog"],
     cflags: ["-DLOG_TAG=\"qdlights\""],
-    clang: true,
     vendor: true,
 
 }
diff --git a/oem_services/Android.bp b/oem_services/Android.bp
index cae8e7b..de8d023 100644
--- a/oem_services/Android.bp
+++ b/oem_services/Android.bp
@@ -16,7 +16,6 @@
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDM\"",
     ],
-    clang: true,
     header_libs: ["display_headers"],
 
     shared_libs: [
@@ -52,7 +51,6 @@
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDM\"",
     ],
-    clang: true,
 
     header_libs: ["display_headers"],
 
diff --git a/qmaa/Android.bp b/qmaa/Android.bp
index 96b5023..957c5f0 100644
--- a/qmaa/Android.bp
+++ b/qmaa/Android.bp
@@ -1,9 +1,10 @@
 soong_namespace {
     imports: [
-        "hardware/qcom/display",
-        "hardware/qcom/display/libdebug",
+        "hardware/qcom-caf/sm8550/display",
+        "hardware/qcom-caf/sm8550/display/libdebug",
     ],
 }
+
 composer_srcs = ["*.cpp"]
 
 cc_binary {
@@ -18,8 +19,6 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
 
     cflags: [
@@ -27,7 +26,6 @@
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDM\"",
     ],
-    clang: true,
 
     shared_libs: [
         "libbinder",
diff --git a/qmaa/vendor.qti.hardware.display.composer-service.rc b/qmaa/vendor.qti.hardware.display.composer-service.rc
index 96e080d..55b0112 100644
--- a/qmaa/vendor.qti.hardware.display.composer-service.rc
+++ b/qmaa/vendor.qti.hardware.display.composer-service.rc
@@ -5,4 +5,4 @@
     capabilities SYS_NICE
     onrestart restart surfaceflinger
     socket pps stream 0660 system system
-    writepid /dev/cpuset/system-background/tasks
+    task_profiles ServiceCapacityLow
diff --git a/sde-drm/Android.bp b/sde-drm/Android.bp
index bc33c5e..a87a547 100644
--- a/sde-drm/Android.bp
+++ b/sde-drm/Android.bp
@@ -14,18 +14,16 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
     cflags: [
         "-Wno-missing-field-initializers",
         "-Wall",
         "-Werror",
         "-fno-operator-names",
+        "-Wno-format",
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDE_DRM\"",
     ],
-    clang: true,
     srcs: [
         "drm_manager.cpp",
         "drm_connector.cpp",
diff --git a/sde-drm/drm_connector.cpp b/sde-drm/drm_connector.cpp
index 2f6d229..557857f 100644
--- a/sde-drm/drm_connector.cpp
+++ b/sde-drm/drm_connector.cpp
@@ -656,7 +656,7 @@
   fmt_str[blob->length] = '\0';
   stringstream stream(fmt_str);
   DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(),
-           blob->data, blob->length);
+           static_cast<const char *>(blob->data), blob->length);
   string line = {};
   const string display_type = "display type=";
   const string panel_name = "panel name=";
@@ -764,7 +764,7 @@
   fmt_str[blob->length] = '\0';
   stringstream stream(fmt_str);
   DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(),
-           blob->data, blob->length);
+           static_cast<const char *>(blob->data), blob->length);
 
   string line = {};
   const string mode_name = "mode_name=";
diff --git a/sde-drm/drm_crtc.cpp b/sde-drm/drm_crtc.cpp
index 3b53532..dc4230f 100755
--- a/sde-drm/drm_crtc.cpp
+++ b/sde-drm/drm_crtc.cpp
@@ -410,7 +410,7 @@
   fmt_str[blob->length] = '\0';
   stringstream stream(fmt_str);
   DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(),
-           blob->data, blob->length);
+           static_cast<const char *>(blob->data), blob->length);
   string line = {};
   string max_blendstages = "max_blendstages=";
   string qseed_type = "qseed_type=";
diff --git a/sde-drm/drm_plane.cpp b/sde-drm/drm_plane.cpp
index a41f096..aa015ac 100644
--- a/sde-drm/drm_plane.cpp
+++ b/sde-drm/drm_plane.cpp
@@ -655,7 +655,7 @@
   // like formats etc
   stringstream stream(fmt_str);
   DRM_LOGI("stream str %s len %zu blob str %s len %d", stream.str().c_str(), stream.str().length(),
-           blob->data, blob->length);
+           static_cast<const char *>(blob->data), blob->length);
 
   string line = {};
   string pixel_formats = "pixel_formats=";
diff --git a/sdm/include/core/display_interface.h b/sdm/include/core/display_interface.h
index 7754541..0560e36 100644
--- a/sdm/include/core/display_interface.h
+++ b/sdm/include/core/display_interface.h
@@ -438,10 +438,10 @@
   virtual void MMRMEvent(bool restricted) = 0;
 
   /*! @brief Event handler for sending status of Qsync */
-  virtual DisplayError HandleQsyncState(const QsyncEventData &event_data) { return kErrorNone; }
+  virtual DisplayError HandleQsyncState(const QsyncEventData &) { return kErrorNone; }
 
   /*! @brief Event handler to notify CWB Done */
-  virtual void NotifyCwbDone(int32_t status, const LayerBuffer& buffer) { }
+  virtual void NotifyCwbDone(int32_t, const LayerBuffer&) { }
 
  protected:
   virtual ~DisplayEventHandler() { }
diff --git a/sdm/include/private/resource_interface.h b/sdm/include/private/resource_interface.h
index c68e77a..e95eb9a 100644
--- a/sdm/include/private/resource_interface.h
+++ b/sdm/include/private/resource_interface.h
@@ -143,7 +143,9 @@
   virtual uint32_t GetMixerCount() = 0;
   virtual void HandleTUITransition(Handle display_ctx, bool tui_active) = 0;
   virtual DisplayError SetBlendSpace(Handle display_ctx, const PrimariesTransfer &blend_space) = 0;
+#ifdef SDMCORE_HAS_IS_DISPLAY_HW_AVAILABLE_FUNC
   virtual bool IsDisplayHWAvailable() = 0;
+#endif
 };
 
 }  // namespace sdm
diff --git a/sdm/libs/core/Android.bp b/sdm/libs/core/Android.bp
index dc979b8..683066a 100644
--- a/sdm/libs/core/Android.bp
+++ b/sdm/libs/core/Android.bp
@@ -1,6 +1,9 @@
 cc_library_shared {
     name: "libsdmcore",
-    defaults: ["qtidisplay_defaults"],
+    defaults: [
+        "qtidisplay_defaults",
+        "sdmcore_has_is_display_hw_available_func_defaults",
+    ],
     sanitize: {
         integer_overflow: true,
     },
@@ -8,11 +11,10 @@
     header_libs: [
         "display_headers",
         "qti_kernel_headers",
-        "qti_display_kernel_headers",
-        "device_kernel_headers",
     ],
     cflags: [
         "-fno-operator-names",
+        "-Wno-format",
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDM\"",
     ],
diff --git a/sdm/libs/core/comp_manager.cpp b/sdm/libs/core/comp_manager.cpp
old mode 100755
new mode 100644
index b2812ee..7f14600
--- a/sdm/libs/core/comp_manager.cpp
+++ b/sdm/libs/core/comp_manager.cpp
@@ -811,12 +811,16 @@
 }
 
 bool CompManager::IsDisplayHWAvailable() {
+#ifdef SDMCORE_HAS_IS_DISPLAY_HW_AVAILABLE_FUNC
   std::lock_guard<std::recursive_mutex> obj(comp_mgr_mutex_);
   if (resource_intf_) {
     return resource_intf_->IsDisplayHWAvailable();
   }
 
   return false;
+#else
+  return true;
+#endif
 }
 
 
diff --git a/sdm/libs/dal/Android.bp b/sdm/libs/dal/Android.bp
index 21caf7f..c54cd0c 100644
--- a/sdm/libs/dal/Android.bp
+++ b/sdm/libs/dal/Android.bp
@@ -5,11 +5,9 @@
         integer_overflow: true,
     },
     vendor: true,
-    header_libs: [
-        "qti_display_kernel_headers",
-    ],
     cflags: [
         "-fno-operator-names",
+        "-Wno-format",
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"SDM\"",
     ],
diff --git a/services/config/src/Android.bp b/services/config/src/Android.bp
index 7ad0dbb..02a100a 100644
--- a/services/config/src/Android.bp
+++ b/services/config/src/Android.bp
@@ -2,6 +2,7 @@
     name: "libdisplayconfig.qti",
     vendor: true,
     cflags: [
+        "-Wno-format",
         "-Wno-sign-conversion",
         "-Wno-unused-parameter",
         "-DLOG_TAG=\"libdisplayconfigqti\"",