Commit graph

6 commits

Author SHA1 Message Date
Roy Luo
291642b702 usb: dump flag value in the constructor
Dump flag value in the construtor for easier debugging. Feature flags
are not expected to change in runtime, dumping the value once should
be enough.

Bug: 296119135
Test: manual test
Change-Id: Ie5aca2dff23e59704fb306833cde0e592b9f430d
(cherry picked from commit 9164eae7cdee032381d8bf045fbbed33f62b00bf)
2024-01-10 11:47:27 +00:00
Roy Luo
1376a71a65 usb: adjust heuristics for flaky connection warning
The state count requirement is very specific to the case where the
signal integrity is the culprit of flaky connection. However,
there could be other cases such as bad receptacles causing data pins
to disconnect randomly.
Remove the state count requirement to cover more cases.

Bug: 296119135
Test: manually trigger the warnings
Change-Id: Ic2ae376ad6062d9930614381503f44e4a5ac760f
(cherry picked from commit 5e14ba01be9acc31d3df0f506b4287eea0bf9583)
2023-12-26 22:33:58 +00:00
Roy Luo
350dc9f41a usb: implement heuristics to flag data compliance warnings
Support flagging enum failure and flaky connection in device mode,
flagging enum failure and missing data lines in host mode.
No warning would be flagged until 5 secs after the data session
starts to give ample time for the connection to stabilize, a timer
is added to support it.

Bug: 296119135
Test: manually trigger the warnings
Change-Id: I25f08657e328913946add192b5ecb9ee50c3a1a8
(cherry picked from commit 42020dc4585442bd7ca88f183ba29a18834af197)
2023-12-26 22:33:49 +00:00
Roy Luo
bedb8beca9 Revert^2 "usb: introduce UsbDataSessionMonitor class"
1aad6b6b31

Bug: 297224564
Bug: 296119135
Change-Id: I9ecf85f4e4b22d7d3bf2402c7f7299b38582bde9
2023-12-09 00:22:03 +00:00
Qian-Hao Huang
1aad6b6b31 Revert "usb: introduce UsbDataSessionMonitor class"
Revert submission 25524752-usbDataSessionMonitor

Reason for revert: Test for gs101/gs201 boot blocking issue (b/314904288)

Reverted changes: /q/submissionid:25524752-usbDataSessionMonitor

Change-Id: I6070b8bf441cc84e0744e2f0ecf454d4245cb686
2023-12-05 17:13:31 +00:00
Roy Luo
67556c182a usb: introduce UsbDataSessionMonitor class
Migrate the usb data session event functions to the class with the
following additional functionalities;
- Support detecting gadget soft pulldown (usually done during configfs
  function switch) and report usb data session correctly.
- Support reporting usb data compliance warnings to the class USB
  by providing getDataComplianceWarnings call.
- Use boot_clock instead of steady_clock to measure time correctly in
  the case of system suspend.

UsbDataSessionMonitor is self-contained and can be migrated to pixel usb
library after feature maturation.

Bug: 297224564
Bug: 296119135
Test: usb data session upload in device and host mode
Change-Id: Iba001933e193935d64cf5fd0a1257d02a4274fb1
(cherry picked from commit ea65ca11f6fbb6f13b89ef9ed03015f47ec1cedb)
2023-12-01 16:43:41 +00:00