From 84e9206b3a140a96f824b9bb9f362b7b64456cbd Mon Sep 17 00:00:00 2001 From: Jake Weinstein Date: Sat, 10 Jul 2021 14:52:09 +0800 Subject: [PATCH] sm7250-common: Enable color mode & set display calibration on color mode settings * sRGB on Natural and Boosted Unmanaged on Saturated P3 on Automatic * Set color mode to Natural by default * Adjust display composition color spaces Change-Id: If73eafa82395e80acf84445fcab2f1ce25a33e23 Signed-off-by: aswin7469 --- .../base/core/res/res/values/config.xml | 37 ++++++++++++++++--- rootdir/Android.mk | 8 ++++ rootdir/etc/init.color.rc | 18 +++++++++ sepolicy/vendor/file.te | 1 + sepolicy/vendor/genfs_contexts | 2 + sepolicy/vendor/hal_display_default.te | 2 + 6 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 rootdir/etc/init.color.rc diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 90dd68a..f9848ee 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -310,12 +310,37 @@ 0:2:15 - + - 0 - 256 - 257 - 258 - 259 + 0 + 1 + 2 + 3 + + + + 0 + 1 + 2 + 3 + + + + 0 + 0 + 0 + 9 + + diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 3b2d524..78a79dd 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -120,6 +120,14 @@ LOCAL_SRC_FILES := etc/init.oem.rc LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.color.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.color.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.factory.rc LOCAL_MODULE_TAGS := optional diff --git a/rootdir/etc/init.color.rc b/rootdir/etc/init.color.rc new file mode 100644 index 0000000..c2e7ea0 --- /dev/null +++ b/rootdir/etc/init.color.rc @@ -0,0 +1,18 @@ +on boot + chown system system /sys/class/drm/card0-DSI-1/native_display_p3_mode + chown system system /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode + +# Set sRGB calibration on Natural and Boosted Mode. +on property:persist.sys.sf.native_mode=0 + write /sys/class/drm/card0-DSI-1/native_display_p3_mode 0 + write /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode 1 + +# Set unmanaged calibration on Saturated Mode. +on property:persist.sys.sf.native_mode=1 + write /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode 0 + write /sys/class/drm/card0-DSI-1/native_display_p3_mode 0 + +# Set P3 calibration on Adaptive/Automatic Mode. +on property:persist.sys.sf.native_mode=2 + write /sys/class/drm/card0-DSI-1/native_display_srgb_color_mode 0 + write /sys/class/drm/card0-DSI-1/native_display_p3_mode 1 diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te index 9e59a72..822555a 100644 --- a/sepolicy/vendor/file.te +++ b/sepolicy/vendor/file.te @@ -22,3 +22,4 @@ type sysfs_tpd, fs_type, sysfs_type; type sysfs_tri_state_key, sysfs_type, fs_type; type sysfs_vl53l1, fs_type, sysfs_type; type vendor_sysfs_video_call_on, fs_type, sysfs_type; +type sysfs_color, fs_type, sysfs_type; diff --git a/sepolicy/vendor/genfs_contexts b/sepolicy/vendor/genfs_contexts index 28783bb..b03ef72 100644 --- a/sepolicy/vendor/genfs_contexts +++ b/sepolicy/vendor/genfs_contexts @@ -17,6 +17,8 @@ genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/hbm u:object_r:sysfs_livedisplay_tuneable:s0 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/notify_dim u:object_r:sysfs_fod:s0 genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/notify_fppress u:object_r:sysfs_fod:s0 +genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/native_display_p3_mode u:object_r:sysfs_color:s0 +genfscon sysfs /devices/platform/soc/ae00000.qcom,mdss_mdp/drm/card0/card0-DSI-1/native_display_srgb_color_mode u:object_r:sysfs_color:s0 genfscon sysfs /devices/platform/soc/soc:tri_state_key/hall_data_calib u:object_r:sysfs_tri_state_key:s0 genfscon sysfs /module/memplus_core/parameters u:object_r:sysfs_memplus:s0 genfscon sysfs /module/qpnp_smb5/parameters/call_on u:object_r:sysfs_dash_charger:s0 diff --git a/sepolicy/vendor/hal_display_default.te b/sepolicy/vendor/hal_display_default.te index 1dc242b..d285068 100644 --- a/sepolicy/vendor/hal_display_default.te +++ b/sepolicy/vendor/hal_display_default.te @@ -12,6 +12,8 @@ binder_call(hal_display_default, vendor_hal_display_color) allow hal_display_default vendor_hal_display_postproc_hwservice:hwservice_manager find; +allow hal_display_default sysfs_color:file rw_file_perms; + allow hal_display_default sysfs:file rw_file_perms; allow hal_display_default sysfs_fod:file rw_file_perms;