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\"",