summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author RD Babiera <rdbabiera@google.com> 2023-09-14 14:22:21 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2023-09-14 14:22:21 +0000
commitcfd80298f863fe07e6144329b7421ecb07e54b73 (patch)
tree5840bcf14bded327b1d1202169fe873a01b5d5a4
parentae399926349492d5bbd82b60209914059ce814dc (diff)
parentb8b2ad02b3c6354f3e222705901ee8b341e4e9c3 (diff)
Merge changes from topic "usb-dp-dumpsys" into udc-qpr-dev am: 25bd066f01 am: b8b2ad02b3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23860976 Change-Id: I5bec1931525dd049d620127391c75ba4740fed3f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--core/java/android/hardware/usb/DisplayPortAltModeInfo.java38
-rw-r--r--core/java/com/android/internal/usb/DumpUtils.java12
-rw-r--r--core/proto/android/service/usb.proto6
3 files changed, 49 insertions, 7 deletions
diff --git a/core/java/android/hardware/usb/DisplayPortAltModeInfo.java b/core/java/android/hardware/usb/DisplayPortAltModeInfo.java
index 9da2f4c12977..36c4a2ac09e4 100644
--- a/core/java/android/hardware/usb/DisplayPortAltModeInfo.java
+++ b/core/java/android/hardware/usb/DisplayPortAltModeInfo.java
@@ -200,19 +200,43 @@ public final class DisplayPortAltModeInfo implements Parcelable {
dest.writeInt(mLinkTrainingStatus);
}
+ private String displayPortAltModeStatusToString(@DisplayPortAltModeStatus int status) {
+ switch (status) {
+ case DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE:
+ return "not capable";
+ case DISPLAYPORT_ALT_MODE_STATUS_CAPABLE_DISABLED:
+ return "capable disabled";
+ case DISPLAYPORT_ALT_MODE_STATUS_ENABLED:
+ return "enabled";
+ default:
+ return "unknown";
+ }
+ }
+
+ private String linkTrainingStatusToString(@LinkTrainingStatus int status) {
+ switch (status) {
+ case LINK_TRAINING_STATUS_SUCCESS:
+ return "success";
+ case LINK_TRAINING_STATUS_FAILURE:
+ return "failure";
+ default:
+ return "unknown";
+ }
+ }
+
@NonNull
@Override
public String toString() {
return "DisplayPortAltModeInfo{partnerSink="
- + mPartnerSinkStatus
- + " cable="
- + mCableStatus
- + " numLanes="
+ + displayPortAltModeStatusToString(mPartnerSinkStatus)
+ + ", cable="
+ + displayPortAltModeStatusToString(mCableStatus)
+ + ", numLanes="
+ mNumLanes
- + " hotPlugDetect="
+ + ", hotPlugDetect="
+ mHotPlugDetect
- + " linkTrainingStatus="
- + mLinkTrainingStatus
+ + ", linkTrainingStatus="
+ + linkTrainingStatusToString(mLinkTrainingStatus)
+ "}";
}
diff --git a/core/java/com/android/internal/usb/DumpUtils.java b/core/java/com/android/internal/usb/DumpUtils.java
index f974d9d10efd..21c3e7b5c6b8 100644
--- a/core/java/com/android/internal/usb/DumpUtils.java
+++ b/core/java/com/android/internal/usb/DumpUtils.java
@@ -16,6 +16,7 @@
package com.android.internal.usb;
+import static android.hardware.usb.UsbPort.FLAG_ALT_MODE_TYPE_DISPLAYPORT;
import static android.hardware.usb.UsbPortStatus.MODE_AUDIO_ACCESSORY;
import static android.hardware.usb.UsbPortStatus.MODE_DEBUG_ACCESSORY;
import static android.hardware.usb.UsbPortStatus.MODE_DFP;
@@ -26,6 +27,7 @@ import static android.hardware.usb.UsbPortStatus.MODE_UFP;
import static com.android.internal.util.dump.DumpUtils.writeStringIfNotNull;
import android.annotation.NonNull;
+import android.hardware.usb.DisplayPortAltModeInfo;
import android.hardware.usb.UsbAccessory;
import android.hardware.usb.UsbConfiguration;
import android.hardware.usb.UsbDevice;
@@ -177,6 +179,10 @@ public class DumpUtils {
dump.write("supports_compliance_warnings",
UsbPortProto.SUPPORTS_COMPLIANCE_WARNINGS,
port.supportsComplianceWarnings());
+ if (port.isAltModeSupported(FLAG_ALT_MODE_TYPE_DISPLAYPORT)) {
+ dump.write("supported_alt_modes", UsbPortProto.SUPPORTED_ALT_MODES,
+ FLAG_ALT_MODE_TYPE_DISPLAYPORT);
+ }
dump.end(token);
}
@@ -255,6 +261,12 @@ public class DumpUtils {
UsbPort.powerBrickConnectionStatusToString(status.getPowerBrickConnectionStatus()));
dump.write("compliance_warning_status", UsbPortStatusProto.COMPLIANCE_WARNINGS_STRING,
UsbPort.complianceWarningsToString(status.getComplianceWarnings()));
+ DisplayPortAltModeInfo displayPortAltModeInfo = status.getDisplayPortAltModeInfo();
+ if (displayPortAltModeInfo != null) {
+ dump.write("displayport_alt_mode_status",
+ UsbPortStatusProto.DISPLAYPORT_ALT_MODE_STATUS,
+ status.getDisplayPortAltModeInfo().toString());
+ }
dump.end(token);
}
}
diff --git a/core/proto/android/service/usb.proto b/core/proto/android/service/usb.proto
index 88893205c79e..49b8450fcc67 100644
--- a/core/proto/android/service/usb.proto
+++ b/core/proto/android/service/usb.proto
@@ -238,10 +238,15 @@ message UsbPortProto {
MODE_DEBUG_ACCESSORY = 8;
}
+ enum AltMode {
+ ALT_MODE_DISPLAYPORT = 1;
+ }
+
// ID of the port. A device (eg: Chromebooks) might have multiple ports.
optional string id = 1;
repeated Mode supported_modes = 2;
optional bool supports_compliance_warnings = 3;
+ repeated AltMode supported_alt_modes = 4;
}
message UsbPortStatusProto {
@@ -271,6 +276,7 @@ message UsbPortStatusProto {
optional bool is_power_transfer_limited = 8;
optional string usb_power_brick_status = 9;
optional string compliance_warnings_string = 10;
+ optional string displayport_alt_mode_status = 11;
}
message UsbPortStatusRoleCombinationProto {