From 05ac33ebcc8104638ed3bd0662e16c4022c43492 Mon Sep 17 00:00:00 2001 From: Klines Jiang Date: Tue, 22 Aug 2023 03:11:36 +0000 Subject: [PATCH 1/5] [SELinux] Add gyotaku_app doamin to Pixel 2023. Bug: 296836878 Test: Local build and tested pass. Change-Id: I58d9fb298477cc67ec2cd4a308be679e2e75c98d Merged-In: I58d9fb298477cc67ec2cd4a308be679e2e75c98d --- device.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device.mk b/device.mk index d222ebc0..caaa4925 100644 --- a/device.mk +++ b/device.mk @@ -38,6 +38,7 @@ include device/google/gs-common/umfw_stat/umfw_stat.mk include device/google/gs-common/widevine/widevine.mk include device/google/gs-common/sota_app/factoryota.mk include device/google/gs-common/misc_writer/misc_writer.mk +include device/google/gs-common/gyotaku_app/gyotaku.mk include device/google/zuma/dumpstate/item.mk From 1a3925509e7212385ae86bb58d321fb40c376ad6 Mon Sep 17 00:00:00 2001 From: Jyun LuoLai Date: Tue, 19 Sep 2023 09:30:10 +0800 Subject: [PATCH 2/5] Remove READ_PHONE_STATE for dcservice We'll rerun the review to use READ_PRIVILEGED_PHONE_STATE in QPR2 instead Bug: 293811206 TESTED=Manual Change-Id: I71bc67b102f5c7f021d774c5c505e0a8713f36e6 --- default-permissions.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/default-permissions.xml b/default-permissions.xml index a2189c4e..9175507b 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -145,9 +145,5 @@ - - - - From e70b0f0b2509adc713053c349610293396a014ac Mon Sep 17 00:00:00 2001 From: Richard Chang Date: Tue, 19 Sep 2023 04:36:04 +0000 Subject: [PATCH 3/5] Add p23 perf setup script Bug: 295218781 Test: Build Change-Id: I0d708db94f38da16103140b978f8429c8bb9aa7c --- BoardConfig-common.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index b16ea57b..b95275d0 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -228,6 +228,9 @@ BOARD_USES_SYSTEM_DLKMIMAGE := true BOARD_SYSTEM_DLKMIMAGE_FILE_SYSTEM_TYPE := ext4 TARGET_COPY_OUT_SYSTEM_DLKM := system_dlkm +# Testing related defines +BOARD_PERFSETUP_SCRIPT := platform_testing/scripts/perf-setup/p23-setup.sh + # # AUDIO & VOICE # From e683802386785b956ad618d1820f7976e36be302 Mon Sep 17 00:00:00 2001 From: Amit Sunil Dhamne Date: Thu, 7 Sep 2023 17:09:31 -0700 Subject: [PATCH 4/5] UsbGadget: Update SDP enum timeout when gadget is pulled up Indicate to the kernel that the usb gadget is pulled up by writing to `update_sdp_enum_timeout` sysfs node. Write to this node will inform the kernel that it can lower the SDP timeout alarm value which is used to detect an SDP port vs a DCP. (ported from c5c5b127a7ed0db559d286284fe77b656bef6945) Bug:275687235 Test: Check `update_sdp_enum_timeout` is written into after usb gadget is pulled up. Verify that the alarm timeout lowers. Change-Id: Id3ae7e7a20b236cec6604414a7f81860e868bdd0 Signed-off-by: Amit Sunil Dhamne --- usb/gadget/UsbGadget.cpp | 65 ++++++++++++++++--------- usb/gadget/UsbGadget.h | 4 ++ usb/usb/android.hardware.usb-service.rc | 20 ++++++++ 3 files changed, 66 insertions(+), 23 deletions(-) diff --git a/usb/gadget/UsbGadget.cpp b/usb/gadget/UsbGadget.cpp index c96c6c4d..7331a894 100644 --- a/usb/gadget/UsbGadget.cpp +++ b/usb/gadget/UsbGadget.cpp @@ -44,6 +44,30 @@ constexpr char kHsi2cPath[] = "/sys/devices/platform/10cb0000.hsi2c"; constexpr char kI2CPath[] = "/sys/devices/platform/10cb0000.hsi2c/i2c-"; constexpr char kAccessoryLimitCurrent[] = "-0025/usb_limit_accessory_current"; constexpr char kAccessoryLimitCurrentEnable[] = "-0025/usb_limit_accessory_enable"; +constexpr char kUpdateSdpEnumTimeout[] = "-0025/update_sdp_enum_timeout"; + +Status getI2cBusHelper(string *name) { + DIR *dp; + + dp = opendir(kHsi2cPath); + if (dp != NULL) { + struct dirent *ep; + + while ((ep = readdir(dp))) { + if (ep->d_type == DT_DIR) { + if (string::npos != string(ep->d_name).find("i2c-")) { + std::strtok(ep->d_name, "-"); + *name = std::strtok(NULL, "-"); + } + } + } + closedir(dp); + return Status::SUCCESS; + } + + ALOGE("Failed to open %s", kHsi2cPath); + return Status::ERROR; +} UsbGadget::UsbGadget() : mGadgetIrqPath("") { if (access(OS_DESC_PATH, R_OK) != 0) { @@ -97,6 +121,7 @@ Status UsbGadget::getUsbGadgetIrqPath() { void currentFunctionsAppliedCallback(bool functionsApplied, void *payload) { UsbGadget *gadget = (UsbGadget *)payload; gadget->mCurrentUsbFunctionsApplied = functionsApplied; + gadget->updateSdpEnumTimeout(); } ScopedAStatus UsbGadget::getCurrentUsbFunctions(const shared_ptr &callback, @@ -363,6 +388,22 @@ ScopedAStatus UsbGadget::reset(const shared_ptr &callback, return ScopedAStatus::ok(); } +void UsbGadget::updateSdpEnumTimeout() { + string i2c_node, update_sdp_enum_timeout_path; + + Status status = getI2cBusHelper(&i2c_node); + if (status != Status::SUCCESS) { + ALOGE("%s: Unable to locate i2c bus node", __func__); + } + + update_sdp_enum_timeout_path = kI2CPath + i2c_node + "/" + i2c_node + kUpdateSdpEnumTimeout; + if (!WriteStringToFile("1", update_sdp_enum_timeout_path)) { + ALOGE("%s: Unable to write to %s.", __func__, update_sdp_enum_timeout_path.c_str()); + } else { + ALOGI("%s: Updated SDP enumeration timeout value.", __func__); + } +} + Status UsbGadget::setupFunctions(long functions, const shared_ptr &callback, uint64_t timeout, int64_t in_transactionId) { @@ -421,6 +462,7 @@ Status UsbGadget::setupFunctions(long functions, mCurrentUsbFunctionsApplied = true; if (callback) callback->setCurrentUsbFunctionsCb(functions, Status::SUCCESS, in_transactionId); + updateSdpEnumTimeout(); return Status::SUCCESS; } @@ -445,29 +487,6 @@ Status UsbGadget::setupFunctions(long functions, return Status::SUCCESS; } -Status getI2cBusHelper(string *name) { - DIR *dp; - - dp = opendir(kHsi2cPath); - if (dp != NULL) { - struct dirent *ep; - - while ((ep = readdir(dp))) { - if (ep->d_type == DT_DIR) { - if (string::npos != string(ep->d_name).find("i2c-")) { - std::strtok(ep->d_name, "-"); - *name = std::strtok(NULL, "-"); - } - } - } - closedir(dp); - return Status::SUCCESS; - } - - ALOGE("Failed to open %s", kHsi2cPath); - return Status::ERROR; -} - ScopedAStatus UsbGadget::setCurrentUsbFunctions(long functions, const shared_ptr &callback, int64_t timeout, diff --git a/usb/gadget/UsbGadget.h b/usb/gadget/UsbGadget.h index 4079b017..7f2d18b5 100644 --- a/usb/gadget/UsbGadget.h +++ b/usb/gadget/UsbGadget.h @@ -115,6 +115,10 @@ struct UsbGadget : public BnUsbGadget { ScopedAStatus setVidPid(const char *vid,const char *pid); + // Indicates to the kernel that the gadget service is ready and the kernel can + // set SDP timeout to a lower value. + void updateSdpEnumTimeout(); + private: Status tearDownGadget(); Status getUsbGadgetIrqPath(); diff --git a/usb/usb/android.hardware.usb-service.rc b/usb/usb/android.hardware.usb-service.rc index e764ad88..072c85b8 100644 --- a/usb/usb/android.hardware.usb-service.rc +++ b/usb/usb/android.hardware.usb-service.rc @@ -68,6 +68,16 @@ on post-fs chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-7/7-0025/usb_limit_source_enable chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-8/8-0025/usb_limit_source_enable chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-9/9-0025/usb_limit_source_enable + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-0/0-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-1/1-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-2/2-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-3/3-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-4/4-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-5/5-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-6/6-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-7/7-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-8/8-0025/update_sdp_enum_timeout + chown root system /sys/devices/platform/10cb0000.hsi2c/i2c-9/9-0025/update_sdp_enum_timeout chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/hpd chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/irq_hpd chown root system /sys/devices/platform/110f0000.drmdp/drm-displayport/orientation @@ -143,6 +153,16 @@ on post-fs chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-7/7-0025/usb_limit_source_enable chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-8/8-0025/usb_limit_source_enable chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-9/9-0025/usb_limit_source_enable + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-0/0-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-1/1-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-2/2-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-3/3-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-4/4-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-5/5-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-6/6-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-7/7-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-8/8-0025/update_sdp_enum_timeout + chmod 664 /sys/devices/platform/10cb0000.hsi2c/i2c-9/9-0025/update_sdp_enum_timeout chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/hpd chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/irq_hpd chmod 664 /sys/devices/platform/110f0000.drmdp/drm-displayport/orientation From e97fc75c92ed5c278baa3cc914c0ee09d5ed486b Mon Sep 17 00:00:00 2001 From: Amit Sunil Dhamne Date: Mon, 11 Sep 2023 15:12:23 -0700 Subject: [PATCH 5/5] usb: Modify sdp enumeration timeout value in charger mode Write to /sys/class/typec/port<...>/device/update_sdp_enum_timeout to reduce SDP enumeration timeout value when device is in charger mode. This will enable faster detection of a DCP port. ported from 6710e31a629f81cf308e1099f75a01c82db6d006 Test: Validate (in charger mode) that the sysfs attribute is 1 (meaning lower sdp timeout value is being used). Read dmesg to see print showing timeout value is 5000ms. Bug: 275687235 Change-Id: I1bc872911d7f1eab26e62fe6f12fba05608e0f83 Signed-off-by: Amit Sunil Dhamne --- conf/init.zuma.usb.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/init.zuma.usb.rc b/conf/init.zuma.usb.rc index 8ff97433..37285e03 100644 --- a/conf/init.zuma.usb.rc +++ b/conf/init.zuma.usb.rc @@ -349,6 +349,7 @@ on property:sys.usb.config=charger && property:sys.usb.configfs=1 write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi" symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1 write /config/usb_gadget/g1/UDC ${sys.usb.controller} + write /sys/class/typec/port0/device/update_sdp_enum_timeout 0x1 setprop sys.usb.state ${sys.usb.config} on property:ro.bootmode=usbuwb