From 8d0a51e5911d50cf7ef41bbc0f19661b9e6ee5f4 Mon Sep 17 00:00:00 2001 From: Roy Luo Date: Fri, 23 Aug 2024 18:10:22 +0000 Subject: [PATCH 1/6] usb: correct sys.usb.controller sysprop system/core/init/init.cpp SetUsbController picks the first udc device if there're multiple udc devices present on the system to populate sys.usb.controller system property. CONFIG_USB_DUMMY_HCD enabled in kernel-5.10 GKI would introduce a dummy udc device named "dummy_udc.0". Depends on timing, the dummy device might be picked up by the init process and incorrectly populate sys.usb.controller. This issue only applies to devices on kernel-5.10 GKI, the WAR is to overwrite the sysprop if it's incorrectly populated by the dummy udc. Bug: 333778731 Test: tested on Cheetah Flag: EXEMPT bugfix Change-Id: Idefd1a5d8154a51792c6cb52ee6d11cbb7f6df78 --- conf/init.gs101.usb.rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/init.gs101.usb.rc b/conf/init.gs101.usb.rc index 69bbf493..0243d0f1 100644 --- a/conf/init.gs101.usb.rc +++ b/conf/init.gs101.usb.rc @@ -414,3 +414,7 @@ on property:vendor.usb.contaminantdisable=true on property:ro.bootmode=usbuwb setprop persist.vendor.usb.usbradio.config uwb_acm + +# WAR for kernel 5.10 with CONFIG_USB_DUMMY_HCD enabled +on property:sys.usb.controller=dummy_udc.0 + setprop sys.usb.controller "11110000.dwc3" From dc56b4d57bcd4adf880b41f05896d6bbe0ba5948 Mon Sep 17 00:00:00 2001 From: Masha Chizhova Date: Thu, 29 Aug 2024 10:11:54 +0000 Subject: [PATCH 2/6] Define use_hwc2 variable Bug: 340865092 Change-Id: I5e55034c5e5d03089453c843753af3419026d3cb Flag: TEST_ONLY --- device.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/device.mk b/device.mk index 8992a82c..0f430f1c 100644 --- a/device.mk +++ b/device.mk @@ -213,6 +213,8 @@ PRODUCT_SOONG_NAMESPACES += \ vendor/arm/mali/valhall $(call soong_config_set,pixel_mali,soc,$(TARGET_BOARD_PLATFORM)) +# Used in gfx_tools when defining tests with composer2 interface for gs101 devices +$(call soong_config_set,gfx_tools,use_hwc2,true) include device/google/gs-common/gpu/gpu.mk PRODUCT_PACKAGES += \ From c38c1cc1a9815a620f78f54fadb6f886095df88c Mon Sep 17 00:00:00 2001 From: Ankit Goyal Date: Wed, 28 Aug 2024 22:53:32 -0700 Subject: [PATCH 3/6] Delete mapper4 manifest Bug: 362183626 Flag: EXEMPT manifest update Test: Boot to home on shiba Change-Id: Iec298886a796f49145cf4400ef2e086a6312d572 --- manifest.xml | 9 --------- manifest_64.xml | 9 --------- 2 files changed, 18 deletions(-) diff --git a/manifest.xml b/manifest.xml index 02a3b593..05b09ddc 100644 --- a/manifest.xml +++ b/manifest.xml @@ -12,15 +12,6 @@ default - - android.hardware.graphics.mapper - passthrough - 4.0 - - IMapper - default - - android.hardware.graphics.composer hwbinder diff --git a/manifest_64.xml b/manifest_64.xml index d8d7b111..73d3d924 100644 --- a/manifest_64.xml +++ b/manifest_64.xml @@ -1,13 +1,4 @@ - - android.hardware.graphics.mapper - passthrough - 4.0 - - IMapper - default - - android.hardware.graphics.composer hwbinder From 0c84b40b0024c524277f270bd7048d1d32102fec Mon Sep 17 00:00:00 2001 From: carmenyip Date: Tue, 27 Aug 2024 08:20:31 +0000 Subject: [PATCH 4/6] extended_log: update directory permissions for gs101 Bug: 336638376 Test: $ cd data/vendor/radio $ ls -la Flag: NONE changing directory permissions only Change-Id: Id6a76769e84f778e730cfcdffcd6779b5d8c89ce --- conf/init.gs101.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index 54832adc..ee643b1b 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -379,7 +379,7 @@ on post-fs-data mkdir /data/vendor/radio/logs/always-on 777 system radio # Modem extended log folder - mkdir /data/vendor/radio/extended_logs 0770 radio system + mkdir /data/vendor/radio/extended_logs 0771 radio system # Modem MDS log folder mkdir /data/vendor/radio/mds 0771 radio system From e7603cd7a950f90b33f26da44bddf60593a96283 Mon Sep 17 00:00:00 2001 From: samou Date: Wed, 4 Sep 2024 16:22:39 +0000 Subject: [PATCH 5/6] bcl: remove charging debugfs data logging Flag: EXEMPT refactor Bug: 362671589 Signed-off-by: samou Change-Id: I389f4318f9fc62039d422e5c909576c0e6d5daf9 --- dumpstate/dump_power.cpp | 49 ---------------------------------------- 1 file changed, 49 deletions(-) diff --git a/dumpstate/dump_power.cpp b/dumpstate/dump_power.cpp index cdbfe648..ba96a0cc 100644 --- a/dumpstate/dump_power.cpp +++ b/dumpstate/dump_power.cpp @@ -118,7 +118,6 @@ void dumpAcpmStats() { void dumpPowerSupplyStats() { const char* dumpList[][2] = { {"CPU PM stats", "/sys/devices/system/cpu/cpupm/cpupm/time_in_state"}, - {"GENPD summary", "/d/pm_genpd/pm_genpd_summary"}, {"Power supply property battery", "/sys/class/power_supply/battery/uevent"}, {"Power supply property dc", "/sys/class/power_supply/dc/uevent"}, {"Power supply property gcpm", "/sys/class/power_supply/gcpm/uevent"}, @@ -293,53 +292,6 @@ void dumpBatteryDefend() { files.clear(); } } -void dumpChgUserDebug() { - std::vector files; - struct dirent *entry; - std::string content; - const char *chgUserDebug [][2] { - {"DC_registers dump", "/sys/class/power_supply/dc-mains/device/registers_dump"}, - {"max77759_chg registers dump", "/d/max77759_chg/registers"}, - {"max77729_pmic registers dump", "/d/max77729_pmic/registers"}, - {"Charging table dump", "/d/google_battery/chg_raw_profile"}, - }; - const std::string debugfs = "/d/"; - const char *maxFgStrMatch = "maxfg"; - const char *fgInfo [][2] { - {"fg_model", "fg_model"}, - {"fg_alo_ver", "algo_ver"}, - {"fg_model_ok", "model_ok"}, - {"fg registers", "registers"}, - {"Maxim FG NV RAM", "nv_registers"}, - }; - if (!isUserBuild()) - return; - for (auto &row : chgUserDebug) { - dumpFileContent(row[0], row[1]); - } - for (auto &info : fgInfo) { - DIR *dir = opendir(debugfs.c_str()); - if (dir == NULL) - return; - printTitle(info[0]); - while ((entry = readdir(dir)) != NULL) - if (std::string(entry->d_name).find(maxFgStrMatch) != std::string::npos) - files.push_back(entry->d_name); - closedir(dir); - sort(files.begin(), files.end()); - for (auto &file : files) { - std::string fileDirectory = debugfs + file; - std::string fileLocation = fileDirectory + "/" + std::string(info[1]); - if (!android::base::ReadFileToString(fileLocation, &content)) { - content = "\n"; - } - printf("%s:\n%s", fileDirectory.c_str(), content.c_str()); - if (content.back() != '\n') - printf("\n"); - } - files.clear(); - } -} void dumpBatteryEeprom() { const char *title = "Battery EEPROM"; const char *files[] { @@ -711,7 +663,6 @@ int main() { dumpLn8411(); dumpBatteryHealth(); dumpBatteryDefend(); - dumpChgUserDebug(); dumpBatteryEeprom(); dumpChargerStats(); dumpWlcLogs(); From 5c249e52ce38d8926269b58d98a455ecb0d34759 Mon Sep 17 00:00:00 2001 From: Ocean Chen Date: Wed, 4 Sep 2024 13:26:21 +0800 Subject: [PATCH 6/6] Switch from the BFQ to the mq-deadline I/O scheduler The mq-deadline I/O scheduler is more stable than BFQ. Additionally, the boot time is shorter with the mq-deadline I/O scheduler. It only changes the scheduler on new kernel. Bug: 186902601 Test: forrest build Change-Id: I9433d73e7ed4bfd5e72a0f8318e959373e76202e Signed-off-by: Ocean Chen --- conf/init.gs101.rc | 5 +---- device.mk | 8 ++++++++ storage/5.10/init.gs101.storage.rc | 3 +++ storage/6.1/init.gs101.storage.rc | 2 ++ 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 storage/5.10/init.gs101.storage.rc create mode 100644 storage/6.1/init.gs101.storage.rc diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index ee643b1b..a3a7156b 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -1,3 +1,4 @@ +import /vendor/etc/init/hw/init.gs101.storage.rc import /vendor/etc/init/hw/init.gs101.usb.rc import android.hardware.drm@1.2-service.widevine.rc import init.exynos.sensorhub.rc @@ -15,10 +16,6 @@ on init # Disable util-awareness write /proc/vendor_sched/teo_util_threshold "1024 1024 1024" - # Boot time fs tuning - write /sys/block/sda/queue/scheduler bfq - write /sys/block/sda/queue/iosched/slice_idle 0 - chown system system /proc/vendor_sched/groups/bg/set_task_group chown system system /proc/vendor_sched/groups/cam/set_task_group chown system system /proc/vendor_sched/groups/fg/set_task_group diff --git a/device.mk b/device.mk index 0f430f1c..b0cd0662 100644 --- a/device.mk +++ b/device.mk @@ -327,6 +327,14 @@ PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.debug.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.debug.rc endif +ifneq (,$(filter 5.%, $(TARGET_LINUX_KERNEL_VERSION))) +PRODUCT_COPY_FILES += \ + device/google/gs101/storage/5.10/init.gs101.storage.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs101.storage.rc +else +PRODUCT_COPY_FILES += \ + device/google/gs101/storage/6.1/init.gs101.storage.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.gs101.storage.rc +endif + # Recovery files PRODUCT_COPY_FILES += \ device/google/gs101/conf/init.recovery.device.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.gs101.rc diff --git a/storage/5.10/init.gs101.storage.rc b/storage/5.10/init.gs101.storage.rc new file mode 100644 index 00000000..7df260de --- /dev/null +++ b/storage/5.10/init.gs101.storage.rc @@ -0,0 +1,3 @@ +on init + write /sys/block/sda/queue/scheduler bfq + write /sys/block/sda/queue/iosched/slice_idle 0 \ No newline at end of file diff --git a/storage/6.1/init.gs101.storage.rc b/storage/6.1/init.gs101.storage.rc new file mode 100644 index 00000000..3d88bb69 --- /dev/null +++ b/storage/6.1/init.gs101.storage.rc @@ -0,0 +1,2 @@ +on init + write /sys/block/sda/queue/scheduler mq-deadline \ No newline at end of file