summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-11 15:26:27 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-06-11 15:26:27 +0000
commit8fa7b50111aa3ba47398d81cce8d42ccd25979d9 (patch)
tree8a9e4f9f242424d431d3e148da4a9967903271ec
parentf09559ae5f8f4f88b2e3dd35ba50d02e1085a25a (diff)
parent137b1eee08c2469a9bf8f34473aad54f7394f9af (diff)
downloadsunfish-android13-frc-art-release.tar.gz
Snap for 8712302 from 137b1eee08c2469a9bf8f34473aad54f7394f9af to tm-frc-art-releaset_frc_art_330443060android13-frc-art-release
Change-Id: Ib511a733db7ef4fe188fb41570b286891a833d12
-rw-r--r--default-permissions.xml5
-rw-r--r--device.mk2
-rw-r--r--init.hardware.usb.rc63
-rw-r--r--ueventd.rc3
-rw-r--r--usb/gadget/android.hardware.usb.gadget-service.sunfish.rc4
-rw-r--r--usb/usb/Usb.cpp45
-rw-r--r--usb/usb/Usb.h2
7 files changed, 97 insertions, 27 deletions
diff --git a/default-permissions.xml b/default-permissions.xml
index 356b20d9..1e50e5f1 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -143,4 +143,9 @@
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="true"/>
</exception>
+ <exception
+ package="com.google.android.apps.turbo">
+ <!-- Notifications -->
+ <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+ </exception>
</exceptions>
diff --git a/device.mk b/device.mk
index 367a16a8..2b69a830 100644
--- a/device.mk
+++ b/device.mk
@@ -886,7 +886,7 @@ PRODUCT_PACKAGES += $(HIDL_WRAPPER)
# Increment the SVN for any official public releases
PRODUCT_PROPERTY_OVERRIDES += \
- ro.vendor.build.svn=45
+ ro.vendor.build.svn=47
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
diff --git a/init.hardware.usb.rc b/init.hardware.usb.rc
index 0c542407..3551c32d 100644
--- a/init.hardware.usb.rc
+++ b/init.hardware.usb.rc
@@ -55,6 +55,69 @@ on early-boot
write /sys/module/libcomposite/parameters/disable_l1_for_hs "y"
write /config/usb_gadget/g1/functions/gsi.rndis/rndis_class_id 1
+ # chown file/folder permission
+ chown system system /config/usb_gadget/
+ chown system system /config/usb_gadget/g1
+ chown system system /config/usb_gadget/g1/UDC
+ chown system system /config/usb_gadget/g1/bDeviceClass
+ chown system system /config/usb_gadget/g1/bDeviceProtocol
+ chown system system /config/usb_gadget/g1/bDeviceSubClass
+ chown system system /config/usb_gadget/g1/bMaxPacketSize0
+ chown system system /config/usb_gadget/g1/bcdDevice
+ chown system system /config/usb_gadget/g1/bcdUSB
+ chown system system /config/usb_gadget/g1/configs
+ chown system system /config/usb_gadget/g1/configs/b.1
+ chown system system /config/usb_gadget/g1/configs/b.1/MaxPower
+ chown system system /config/usb_gadget/g1/configs/b.1/bmAttributes
+ chown system system /config/usb_gadget/g1/configs/b.1/strings
+ chown system system /config/usb_gadget/g1/functions
+ chown system system /config/usb_gadget/g1/functions/accessory.gs2
+ chown system system /config/usb_gadget/g1/functions/audio_source.gs3
+ chown system system /config/usb_gadget/g1/functions/cser.dun.0
+ chown system system /config/usb_gadget/g1/functions/cser.dun.0/status
+ chown system system /config/usb_gadget/g1/functions/cser.nmea.1
+ chown system system /config/usb_gadget/g1/functions/cser.nmea.1/status
+ chown system system /config/usb_gadget/g1/functions/diag.diag
+ chown system system /config/usb_gadget/g1/functions/diag.diag_mdm
+ chown system system /config/usb_gadget/g1/functions/ffs.adb
+ chown system system /config/usb_gadget/g1/functions/ffs.mtp
+ chown system system /config/usb_gadget/g1/functions/ffs.ptp
+ chown system system /config/usb_gadget/g1/functions/gsi.dpl
+ chown system system /config/usb_gadget/g1/functions/gsi.dpl/info
+ chown system system /config/usb_gadget/g1/functions/gsi.rmnet
+ chown system system /config/usb_gadget/g1/functions/gsi.rmnet/info
+ chown system system /config/usb_gadget/g1/functions/gsi.rndis
+ chown system system /config/usb_gadget/g1/functions/gsi.rndis/info
+ chown system system /config/usb_gadget/g1/functions/gsi.rndis/rndis_class_id
+ chown system system /config/usb_gadget/g1/functions/midi.gs5
+ chown system system /config/usb_gadget/g1/functions/midi.gs5/buflen
+ chown system system /config/usb_gadget/g1/functions/midi.gs5/id
+ chown system system /config/usb_gadget/g1/functions/midi.gs5/in_ports
+ chown system system /config/usb_gadget/g1/functions/midi.gs5/index
+ chown system system /config/usb_gadget/g1/functions/midi.gs5/out_ports
+ chown system system /config/usb_gadget/g1/functions/midi.gs5/qlen
+ chown system system /config/usb_gadget/g1/functions/qdss.qdss
+ chown system system /config/usb_gadget/g1/functions/qdss.qdss/enable_debug_inface
+ chown system system /config/usb_gadget/g1/functions/qdss.qdss_mdm
+ chown system system /config/usb_gadget/g1/functions/qdss.qdss_mdm/enable_debug_inface
+ chown system system /config/usb_gadget/g1/idProduct
+ chown system system /config/usb_gadget/g1/idVendor
+ chown system system /config/usb_gadget/g1/os_desc
+ chown system system /config/usb_gadget/g1/os_desc/b.1
+ chown system system /config/usb_gadget/g1/os_desc/b.1/MaxPower
+ chown system system /config/usb_gadget/g1/os_desc/b.1/bmAttributes
+ chown system system /config/usb_gadget/g1/os_desc/b.1/strings
+ chown system system /config/usb_gadget/g1/os_desc/b.1/strings/0x409
+ chown system system /config/usb_gadget/g1/os_desc/b.1/strings/0x409/configuration
+ chown system system /config/usb_gadget/g1/os_desc/b_vendor_code
+ chown system system /config/usb_gadget/g1/os_desc/qw_sign
+ chown system system /config/usb_gadget/g1/os_desc/use
+ chown system system /config/usb_gadget/g1/strings
+ chown system system /config/usb_gadget/g1/strings/0x409
+ chown system system /config/usb_gadget/g1/strings/0x409/manufacturer
+ chown system system /config/usb_gadget/g1/strings/0x409/product
+ chown system system /config/usb_gadget/g1/strings/0x409/serialnumber
+
on property:init.svc.console=running
write /sys/class/power_supply/usb/moisture_detection_enabled 0
diff --git a/ueventd.rc b/ueventd.rc
index ad1f023d..a02687c8 100644
--- a/ueventd.rc
+++ b/ueventd.rc
@@ -140,3 +140,6 @@ firmware_directories /vendor/firmware_mnt/image/
# pixelstats
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm6150@0:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/id_header 0444 system system
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm6150@0:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/product 0444 system system
+
+#KGSL
+/sys/class/kgsl/kgsl-3d0 perfcounter 0660 root shell
diff --git a/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc b/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc
index 7e4c4697..4b85a8b5 100644
--- a/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc
+++ b/usb/gadget/android.hardware.usb.gadget-service.sunfish.rc
@@ -1,7 +1,7 @@
service vendor.usb-gadget-hal-1-1 /vendor/bin/hw/android.hardware.usb.gadget-service.sunfish
class hal
- user root
- group root system shell mtp
+ user system
+ group system shell mtp
on boot
chown root system /sys/class/typec/port0/power_role
diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp
index b8163d1d..ed358cdb 100644
--- a/usb/usb/Usb.cpp
+++ b/usb/usb/Usb.cpp
@@ -61,40 +61,41 @@ ScopedAStatus Usb::enableUsbData(const string& in_portName, bool in_enable,
int64_t in_transactionId) {
bool result = true;
std::vector<PortStatus> currentPortStatus;
+ string pullup;
ALOGI("Userspace turn %s USB data signaling. opID:%ld", in_enable ? "on" : "off",
in_transactionId);
if (in_enable) {
- if (!WriteStringToFile("1", USB_DATA_PATH)) {
- ALOGE("Not able to turn on usb connection notification");
- result = false;
+ if (ReadFileToString(PULLUP_PATH, &pullup)) {
+ pullup = Trim(pullup);
+ if (pullup != kGadgetName) {
+ if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) {
+ ALOGE("Gadget cannot be pulled up");
+ result = false;
+ }
+ }
}
- if (!WriteStringToFile(kGadgetName, PULLUP_PATH)) {
- ALOGE("Gadget cannot be pulled up");
+ if (!WriteStringToFile("1", USB_DATA_PATH)) {
+ ALOGE("Not able to turn on usb connection notification");
result = false;
}
} else {
- if (!WriteStringToFile("1", ID_PATH)) {
- ALOGE("Not able to turn off host mode");
- result = false;
- }
-
- if (!WriteStringToFile("0", VBUS_PATH)) {
- ALOGE("Not able to set Vbus state");
- result = false;
+ if (ReadFileToString(PULLUP_PATH, &pullup)) {
+ pullup = Trim(pullup);
+ if (pullup == kGadgetName) {
+ if (!WriteStringToFile("none", PULLUP_PATH)) {
+ ALOGE("Gadget cannot be pulled down");
+ result = false;
+ }
+ }
}
if (!WriteStringToFile("0", USB_DATA_PATH)) {
ALOGE("Not able to turn on usb connection notification");
result = false;
}
-
- if (!WriteStringToFile("none", PULLUP_PATH)) {
- ALOGE("Gadget cannot be pulled down");
- result = false;
- }
}
if (result) {
@@ -367,7 +368,8 @@ Usb::Usb()
: mLock(PTHREAD_MUTEX_INITIALIZER),
mRoleSwitchLock(PTHREAD_MUTEX_INITIALIZER),
mPartnerLock(PTHREAD_MUTEX_INITIALIZER),
- mPartnerUp(false) {
+ mPartnerUp(false),
+ mUsbDataEnabled(true) {
pthread_condattr_t attr;
if (pthread_condattr_init(&attr)) {
ALOGE("pthread_condattr_init failed: %s", strerror(errno));
@@ -612,7 +614,7 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb,
} else {
(*currentPortStatus)[i].usbDataStatus.push_back(UsbDataStatus::ENABLED);
}
- (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::UNKNOWN;
+ (*currentPortStatus)[i].powerBrickStatus = PowerBrickStatus::UNKNOWN;
ALOGI("%d:%s connected:%d canChangeMode:%d canChagedata:%d canChangePower:%d "
"usbDataEnabled:%d",
@@ -627,6 +629,7 @@ Status getPortStatusHelper(android::hardware::usb::Usb *usb,
done:
return Status::ERROR;
}
+
Status queryPowerTransferStatus(std::vector<PortStatus> *currentPortStatus) {
string enabled;
@@ -731,8 +734,6 @@ static void uevent_event(uint32_t /*epevents*/, struct data *payload) {
pthread_cond_signal(&payload->usb->mPartnerCV);
pthread_mutex_unlock(&payload->usb->mPartnerLock);
} else if (!strncmp(cp, "DEVTYPE=typec_", strlen("DEVTYPE=typec_")) ||
- !strncmp(cp, "DRIVER=max77759tcpc",
- strlen("DRIVER=max77759tcpc")) ||
!strncmp(cp, "POWER_SUPPLY_MOISTURE_DETECTED",
strlen("POWER_SUPPLY_MOISTURE_DETECTED"))) {
std::vector<PortStatus> currentPortStatus;
diff --git a/usb/usb/Usb.h b/usb/usb/Usb.h
index 6cb19562..89f1bade 100644
--- a/usb/usb/Usb.h
+++ b/usb/usb/Usb.h
@@ -43,11 +43,9 @@ using ::std::shared_ptr;
using ::std::string;
constexpr char kGadgetName[] = "a600000.dwc3";
-#define ID_PATH SOC_PATH "id"
#define PULLUP_PATH "/config/usb_gadget/g1/UDC"
#define SOC_PATH "/sys/devices/platform/soc/a600000.ssusb/"
#define USB_DATA_PATH SOC_PATH "usb_data_enabled"
-#define VBUS_PATH SOC_PATH "b_sess"
#define USB_POWER_LIMIT_PATH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pm6150@0:qcom,usb-pdphy@1700/usbpd0/"
#define SINK_CURRENT_LIMIT_PATH USB_POWER_LIMIT_PATH "usb_limit_sink_current"