summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Tso <kyletso@google.com>2023-03-14 17:34:02 +0800
committerKyle Tso <kyletso@google.com>2023-05-23 20:30:37 +0800
commitbbf14cededa0b49da99d7c6eafebe4c5607d2b7e (patch)
treeb7d3e1f0c3a6c567e6685db50636bc5ea094da4e
parenta07eaf94726894b38872b36d04e3a8ce12c1f96c (diff)
downloadtangorpro-bbf14cededa0b49da99d7c6eafebe4c5607d2b7e.tar.gz
pogo_transport: Only enable acc detection in some states
Only enable the accessory detection if the device is not docking on the audio dock. Bug: 259305712 Change-Id: I7e9114c2307ef0e185f2e1499f98fb7bda0852d3 Signed-off-by: Kyle Tso <kyletso@google.com> (cherry picked from commit 405fd572add94faab2acf349d747efef6693eb40)
-rw-r--r--pogo/pogo_transport.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/pogo/pogo_transport.c b/pogo/pogo_transport.c
index 5a13cba..36a0af3 100644
--- a/pogo/pogo_transport.c
+++ b/pogo/pogo_transport.c
@@ -1531,15 +1531,26 @@ static void pogo_transport_hes_acc_detected(struct pogo_transport *pogo_transpor
!pogo_transport->pogo_ovp_en_active_state);
if (pogo_transport->accessory_detection_enabled == ENABLED) {
- if (!pogo_transport->acc_irq_enabled) {
- enable_irq(pogo_transport->pogo_acc_irq);
- pogo_transport->acc_irq_enabled = true;
- }
+ switch (pogo_transport->state) {
+ case STANDBY:
+ case DEVICE_HUB:
+ case DEVICE_DIRECT:
+ case AUDIO_DIRECT:
+ case AUDIO_HUB:
+ case HOST_DIRECT:
+ if (!pogo_transport->acc_irq_enabled) {
+ enable_irq(pogo_transport->pogo_acc_irq);
+ pogo_transport->acc_irq_enabled = true;
+ }
- ret = pogo_transport_acc_regulator(pogo_transport, true);
- if (ret)
- logbuffer_log(pogo_transport->log, "%s: Failed to enable acc_detect %d",
- __func__, ret);
+ ret = pogo_transport_acc_regulator(pogo_transport, true);
+ if (ret)
+ logbuffer_log(pogo_transport->log, "%s: Failed to enable acc_detect %d",
+ __func__, ret);
+ break;
+ default:
+ break;
+ }
} else if (pogo_transport->accessory_detection_enabled == HALL_ONLY) {
switch (pogo_transport->state) {
case STANDBY: