diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 2fdbc7ff..a5e752d7 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -49,6 +49,11 @@ BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y
BOARD_KERNEL_CMDLINE += swiotlb=noforce
BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs
+# Enable KUnit for userdebug and eng builds
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+ BOARD_KERNEL_CMDLINE += kunit.enable=1
+endif
+
TARGET_NO_BOOTLOADER := true
TARGET_NO_RADIOIMAGE := true
BOARD_PREBUILT_BOOTIMAGE := $(wildcard $(TARGET_KERNEL_DIR)/boot.img)
@@ -185,8 +190,8 @@ BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
vendor \
vendor_dlkm
-# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
-BOARD_SUPER_PARTITION_ERROR_LIMIT := 8006926336
+# Set error limit to BOARD_SUPER_PARTITON_SIZE - 400MB
+BOARD_SUPER_PARTITION_ERROR_LIMIT := 8111783936
# Testing related defines
BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/r4o6-setup.sh
@@ -357,9 +362,8 @@ BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.m
BOARD_DO_NOT_STRIP_VENDOR_MODULES := true
# Prebuilt kernel modules that are *not* listed in vendor_boot.modules.load
-BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES = fips140/fips140.ko
+BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES = fips140.ko
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
-KERNEL_MODULES += $(addprefix $(KERNEL_MODULE_DIR)/, $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA))
# Kernel modules that are listed in vendor_boot.modules.load
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_FILE := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load))
diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc
index d0aaabe0..7185b2e1 100644
--- a/conf/init.gs101.rc
+++ b/conf/init.gs101.rc
@@ -829,10 +829,12 @@ on property:ro.build.fingerprint=*
write /sys/module/debug_kinfo/parameters/build_info ${ro.build.fingerprint}
# Bluetooth
-on post-fs-data
+on early-boot
chown bluetooth system /sys/devices/platform/175b0000.serial/serial0/serial0-0/bluetooth/hci0/rfkill0/state
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill0/state
chown bluetooth system /sys/devices/platform/odm/odm:btbcm/rfkill/rfkill2/state
+
+on post-fs-data
chown bluetooth system /proc/bluetooth/sleep/btwake
chown bluetooth system /proc/bluetooth/sleep/lpm
chown bluetooth system /proc/bluetooth/sleep/btwrite
diff --git a/default-permissions.xml b/default-permissions.xml
index fb5ed945..3ba60117 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -55,7 +55,6 @@
-
@@ -73,6 +72,8 @@
+
+
com.google.hardware.pixel.display
- 10
+ 12
IDisplay
default
diff --git a/manifest_media.xml b/manifest_media.xml
index 38e56ba2..52544290 100644
--- a/manifest_media.xml
+++ b/manifest_media.xml
@@ -1,20 +1,12 @@
-
+
android.hardware.media.c2
- hwbinder
- 1.0
-
- IComponentStore
- default1
-
+ 1
+ IComponentStore/default1
-
+
android.hardware.media.c2
- hwbinder
- 1.2
-
- IComponentStore
- default
-
+ 1
+ IComponentStore/default
diff --git a/manifest_media_aosp.xml b/manifest_media_aosp.xml
index 9a1a3dba..d92e4a28 100644
--- a/manifest_media_aosp.xml
+++ b/manifest_media_aosp.xml
@@ -8,4 +8,9 @@
default
+
+ android.hardware.media.c2
+ 1
+ IComponentStore/default
+
diff --git a/media_codecs_aosp_c2.xml b/media_codecs_aosp_c2.xml
index cddd6177..534c5f4a 100644
--- a/media_codecs_aosp_c2.xml
+++ b/media_codecs_aosp_c2.xml
@@ -100,7 +100,7 @@
-
+
@@ -113,7 +113,7 @@
-
+
@@ -126,7 +126,7 @@
-
+
@@ -203,7 +203,7 @@
-
+
@@ -218,7 +218,7 @@
-
+
diff --git a/media_codecs_bo_c2.xml b/media_codecs_bo_c2.xml
index 40c81ff1..7dd10432 100644
--- a/media_codecs_bo_c2.xml
+++ b/media_codecs_bo_c2.xml
@@ -19,7 +19,7 @@
-
+
@@ -34,7 +34,7 @@
-
+
diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml
index 49f131f8..04daa356 100644
--- a/media_codecs_performance_c2.xml
+++ b/media_codecs_performance_c2.xml
@@ -115,20 +115,20 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index a32fd947..964ebf6f 100644
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -237,8 +237,8 @@
true
-
- true
+
+ 6291456
20971520
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index d4b803aa..d8461466 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -73,18 +73,21 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
"/sys/class/power_supply/maxfg/gmsr",
"/sys/class/power_supply/maxfg_base/gmsr",
},
+ .FGModelLoadingPath = {
+ "/sys/class/power_supply/maxfg/m5_model_state"
+ },
+ .FGLogBufferPath = {
+ "/dev/logbuffer_maxfg_monitor",
+ "/dev/logbuffer_max77779fg_monitor",
+ "/dev/logbuffer_maxfg_base_monitor",
+ "/dev/logbuffer_maxfg_secondary_monitor"
+ }
};
const struct UeventListener::UeventPaths ueventPaths = {
.AudioUevent = "/devices/virtual/amcs/amcs",
.TypeCPartnerUevent = "PRODUCT_TYPE=",
- .FGLearningPath = {
- "/sys/class/power_supply/maxfg/fg_learning_events"
- },
- .FwUpdatePath = "",
- .FGModelLoadingPath = {
- "/sys/class/power_supply/maxfg/m5_model_state"
- }
+ .FwUpdatePath = ""
};
int main() {
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 454d7f89..bba7b86a 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -167,4 +167,10 @@
If equals to 0, it means there's no limit on the max number of channels to include per network.-->
3
+
+ true
+
diff --git a/telephony/pktrouter.mk b/telephony/pktrouter.mk
index dd923b59..7af34224 100644
--- a/telephony/pktrouter.mk
+++ b/telephony/pktrouter.mk
@@ -1,3 +1,5 @@
PRODUCT_PACKAGES += wfc-pkt-router
PRODUCT_PROPERTY_OVERRIDES += vendor.pktrouter=1
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs101-sepolicy/telephony/pktrouter
+PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
+ $(TARGET_COPY_OUT_SYSTEM)/bin/oem-iptables-init.sh
diff --git a/usb/usb/Android.bp b/usb/usb/Android.bp
index 5afdcc66..fa7a07f7 100644
--- a/usb/usb/Android.bp
+++ b/usb/usb/Android.bp
@@ -52,6 +52,7 @@ cc_binary {
"libbinder_ndk",
"libprotobuf-cpp-lite",
"server_configurable_flags",
+ "libaconfig_storage_read_api_cc",
],
static_libs: [
"libpixelusb",
diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp
index b8c5c8ea..0736f4c4 100644
--- a/usb/usb/Usb.cpp
+++ b/usb/usb/Usb.cpp
@@ -593,6 +593,11 @@ ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role
fp = fopen(filename.c_str(), "w");
if (fp != NULL) {
int ret = fputs(convertRoletoString(in_role).c_str(), fp);
+ if (ret == EAGAIN) {
+ ALOGI("role switch busy, retry in %d ms", ROLE_SWAP_RETRY_MS);
+ std::this_thread::sleep_for(std::chrono::milliseconds(ROLE_SWAP_RETRY_MS));
+ ret = fputs(convertRoletoString(in_role).c_str(), fp);
+ }
fclose(fp);
if ((ret != EOF) && ReadFileToString(filename, &written)) {
written = Trim(written);
diff --git a/usb/usb/Usb.h b/usb/usb/Usb.h
index facc328e..15348af0 100644
--- a/usb/usb/Usb.h
+++ b/usb/usb/Usb.h
@@ -55,6 +55,8 @@ constexpr char kGadgetName[] = "11110000.dwc3";
#define VBUS_PATH NEW_UDC_PATH "dwc3_exynos_otg_b_sess"
#define USB_DATA_PATH NEW_UDC_PATH "usb_data_enabled"
+#define ROLE_SWAP_RETRY_MS 700
+
struct Usb : public BnUsb {
Usb();