From 12f2e5525734df0d4acb9856335d1ed5b9ed5f2b Mon Sep 17 00:00:00 2001 From: Roy Luo Date: Wed, 26 Jun 2024 22:55:52 +0000 Subject: [PATCH 1/5] Use absolute path for udc device Avoid search in /sys/class/udc directory Bug: 339241080 Test: tested on Shiba Flag: EXEMPT bugfix Change-Id: Iad74cae0d6ad6887d79d705dc8478f1b44532503 --- usb/gadget/UsbGadget.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usb/gadget/UsbGadget.h b/usb/gadget/UsbGadget.h index 7f2d18b5..90e5bece 100644 --- a/usb/gadget/UsbGadget.h +++ b/usb/gadget/UsbGadget.h @@ -74,7 +74,7 @@ constexpr char kProcInterruptsPath[] = "/proc/interrupts"; constexpr char kProcIrqPath[] = "/proc/irq/"; constexpr char kSmpAffinityList[] = "/smp_affinity_list"; #ifndef UDC_PATH -#define UDC_PATH "/sys/class/udc/11210000.dwc3/" +#define UDC_PATH "/sys/devices/platform/11210000.usb/11210000.dwc3/udc/11210000.dwc3/" #endif static MonitorFfs monitorFfs(kGadgetName); From f1eb38d1698bb282e676302e2530fcbdbc3d6ea7 Mon Sep 17 00:00:00 2001 From: Jeremy Kemp Date: Wed, 22 May 2024 09:54:58 +0100 Subject: [PATCH 2/5] Add Mali OpenCL ICD to PRODUCT_PACKAGES Bug: 324057328 Test: clpeak Change-Id: I4ca9b0d9854d6b94e128d40eba0910a1303a0a96 --- device.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/device.mk b/device.mk index de9d31c1..1380cac6 100644 --- a/device.mk +++ b/device.mk @@ -269,9 +269,18 @@ PRODUCT_PACKAGES += \ csffw_image_prebuilt__firmware_prebuilt_ttux_mali_csffw.bin \ libGLES_mali \ vulkan.mali \ - libOpenCL \ libgpudataproducer +# Install the OpenCL ICD Loader +PRODUCT_SOONG_NAMESPACES += external/OpenCL-ICD-Loader +PRODUCT_PACKAGES += \ + libOpenCL \ + mali_icd__customer_pixel_opencl-icd_ARM.icd +ifeq ($(DEVICE_IS_64BIT_ONLY),false) +PRODUCT_PACKAGES += \ + mali_icd__customer_pixel_opencl-icd_ARM32.icd +endif + ifeq ($(USE_SWIFTSHADER),true) PRODUCT_PACKAGES += \ libEGL_angle \ From 044dead5b6a89094a6872240de5a3e605f6d959c Mon Sep 17 00:00:00 2001 From: Daniel Rosenberg Date: Thu, 27 Jun 2024 18:14:28 -0700 Subject: [PATCH 3/5] Run fsck in CopyEfsTest We're copying from a live r/w image, so the picture we get may be a bit distorted. Running fsck over the image first should help with reliability, but f2fs does some fixes on mount as well, so we mount and unmount the image before running dump.f2fs. Change-Id: Ibb15388c55b6f909a1d1b849f9760f248644d9e9 Signed-off-by: Daniel Rosenberg Bug: 349120101 Test: atest CopyEfsTest Flag: TEST_ONLY --- .../src/com/android/test/CopyEfsTest.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/CopyEfsTest/src/com/android/test/CopyEfsTest.java b/CopyEfsTest/src/com/android/test/CopyEfsTest.java index 290ac24e..23152fc3 100644 --- a/CopyEfsTest/src/com/android/test/CopyEfsTest.java +++ b/CopyEfsTest/src/com/android/test/CopyEfsTest.java @@ -59,26 +59,39 @@ public class CopyEfsTest extends BaseHostJUnit4Test { } private void testDumpF2FS(String name) throws Exception { - getDevice().executeShellV2Command(String.format("cp /dev/block/by-name/%s /data/local/tmp/efs_test/%s.img", name, name)); - CommandResult r = getDevice().executeShellV2Command(String.format("dump.f2fs -rfPo /data/local/tmp/efs_test/dump /data/local/tmp/efs_test/%s.img", name)); + getDevice().executeShellCommand(String.format("cp /dev/block/by-name/%s /data/local/tmp/efs_test/%s.img", name, name)); + + // The device was mounted r/w. To get a clean image, we run fsck, and then mount to allow mount time fixes to happen. + // We can then dump and mount read only to ensure the contents should be the same. + getDevice().executeShellCommand(String.format("fsck.f2fs -f /data/local/tmp/efs_test/%s.img", name, name)); + CommandResult r = getDevice().executeShellV2Command(String.format("mount /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name)); + assertEquals(r.getExitCode().intValue(), 0); + r = getDevice().executeShellV2Command("umount /data/local/tmp/efs_test/mnt"); + assertEquals(r.getExitCode().intValue(), 0); + + r = getDevice().executeShellV2Command(String.format("dump.f2fs -rfPo /data/local/tmp/efs_test/dump /data/local/tmp/efs_test/%s.img", name)); assertEquals(r.getExitCode().intValue(), 0); r = getDevice().executeShellV2Command(String.format("mount -r /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name)); assertEquals(r.getExitCode().intValue(), 0); + assertEquals("", getDevice().executeShellCommand("diff -rq /data/local/tmp/efs_test/mnt /data/local/tmp/efs_test/dump")); // Remove timestamps at positions 6 and 7, because ls on device does not support --time-style // Remove totals because on disk block usage may change depending on filesystem - String ls_cmd = "ls -alLnR /data/local/tmp/efs_test/%s | awk {\'$6=\"\";$7=\"\";if ($1 != \"total\"){print $0'}"; + String ls_cmd = "cd /data/local/tmp/efs_test/%s;ls -AlLnR . | awk {'$6=\"\";$7=\"\";if ($1 != \"total\"){print $0}'}"; String mnt_ls = getDevice().executeShellCommand(String.format(ls_cmd, "mnt")); + assertEquals(getDevice().executeShellCommand("echo $?"), "0\n"); String dump_ls = getDevice().executeShellCommand(String.format(ls_cmd, "dump")); + assertEquals(getDevice().executeShellCommand("echo $?"), "0\n"); assertEquals(mnt_ls, dump_ls); - getDevice().executeShellCommand("umount -r /data/local/tmp/efs_test/mnt"); + + getDevice().executeShellCommand("umount /data/local/tmp/efs_test/mnt"); getDevice().executeShellCommand("rm -rf /data/local/tmp/efs_test/dump/*"); getDevice().executeShellCommand("rm /data/local/tmp/efs_test/" + name + ".img"); } @After public void tearDown() throws Exception { - getDevice().executeShellCommand("umount -r /data/local/tmp/efs_test/mnt"); + getDevice().executeShellCommand("umount /data/local/tmp/efs_test/mnt"); getDevice().executeShellCommand("rm -rf /data/local/tmp/efs_test"); } } From 4caa08f2cc04a8a64574a7efaaf1dd8667dd1201 Mon Sep 17 00:00:00 2001 From: Dmitry Skiba Date: Fri, 28 Jun 2024 21:12:06 +0000 Subject: [PATCH 4/5] Reland "Restrict kcompactd thread to middle/little cores." This reverts commit 721a8358c65e1c884364ac2a8b3d8cca84a82c18. Reason for revert: 24Q3 has been cut, relanding the original commit ef68e9b578e27a07f57b5df1890cf949bbc20eec. Change-Id: I7882ebafd66d126df9ccbe2124617fbf4ed73eb5 Bug: 347272991 --- conf/init.zuma.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conf/init.zuma.rc b/conf/init.zuma.rc index 3e0a2e76..e30abdab 100644 --- a/conf/init.zuma.rc +++ b/conf/init.zuma.rc @@ -735,6 +735,9 @@ on property:sys.boot_completed=1 # Set kswapd affinity write /sys/kernel/vendor_mm/kswapd_cpu_affinity ff + # Set kcompactd affinity + write /sys/kernel/vendor_mm/kcompactd_cpu_affinity ff + # Adjust watermark level write /proc/sys/vm/watermark_scale_factor 200 From 354b984c0d59d9bf1751b61189d8b7bf3eeb5580 Mon Sep 17 00:00:00 2001 From: Vilas Bhat Date: Mon, 1 Jul 2024 22:01:54 +0000 Subject: [PATCH 5/5] 16k: Move logic from device/google/shusky/BoardConfig-shusky-common.mk to zuma/BoardConfig-16k-common.mk The makefile logic in device/google/shusky/BoardConfig-shusky-common.mk is identical to the logic required for akita. Hence, this logic is moved to device/google/zuma/BoardConfig-16k-common.mk to avoid duplicating the file for akita. Bug: 349877551 Test: $ lunch shiba-trunk_staging-userdebug $ get_build_var TARGET_KERNEL_DIR_16K device/google/shusky-kernels/5.15/trunk-12022168/16kb $ get_build_var BOARD_KERNEL_PATH_16K device/google/shusky-kernels/5.15/trunk-12022168/16kb/Image.lz4 $ get_build_var BOARD_16K_OTA_USE_INCREMENTAL true $ get_build_var BOARD_16K_OTA_MOVE_VENDOR true Flag: EXEMPT bugfix Change-Id: Ibd060eae8f4e97ae8ff800f765e2310c984e5796 --- BoardConfig-16k-common.mk | 38 ++++++++++++++++++++++++++++++++++++++ BoardConfig-common.mk | 3 +++ 2 files changed, 41 insertions(+) create mode 100644 BoardConfig-16k-common.mk diff --git a/BoardConfig-16k-common.mk b/BoardConfig-16k-common.mk new file mode 100644 index 00000000..f7bee9d1 --- /dev/null +++ b/BoardConfig-16k-common.mk @@ -0,0 +1,38 @@ +# +# Copyright (C) 2024 The Android Open-Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +ifeq ($(TARGET_BOOTS_16K),true) +# Configures the 16kb kernel directory. +TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb + +else ifeq ($(PRODUCT_16K_DEVELOPER_OPTION),true) +# Configures the 16kb kernel and modules for OTA updates. +TARGET_KERNEL_DIR_16K := $(TARGET_KERNEL_DIR)/16kb +BOARD_KERNEL_PATH_16K := $(TARGET_KERNEL_DIR_16K)/Image.lz4 + +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_kernel_boot.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/system_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(TARGET_KERNEL_DIR_16K)/$(notdir $(module))) +BOARD_PREBUILT_DTBOIMAGE_16KB := $(TARGET_KERNEL_DIR_16K)/dtbo.img + +# Zuma targets use exynos-bcm_dbg.ko module instead of bcm_dbg.ko. +BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module))) + +BOARD_16K_OTA_USE_INCREMENTAL := true +BOARD_16K_OTA_MOVE_VENDOR := true +endif diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 692d2c62..2ebd3197 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -16,6 +16,9 @@ include build/make/target/board/BoardConfigMainlineCommon.mk include build/make/target/board/BoardConfigPixelCommon.mk +# Include settings for 16k developer option, if enabled +include device/google/zuma/BoardConfig-16k-common.mk + # Should be uncommented after fixing vndk-sp violation is fixed. PRODUCT_FULL_TREBLE_OVERRIDE := true