diff options
author | Kyle Tso <kyletso@google.com> | 2023-03-14 17:34:02 +0800 |
---|---|---|
committer | Kyle Tso <kyletso@google.com> | 2023-05-23 20:30:37 +0800 |
commit | bbf14cededa0b49da99d7c6eafebe4c5607d2b7e (patch) | |
tree | b7d3e1f0c3a6c567e6685db50636bc5ea094da4e | |
parent | a07eaf94726894b38872b36d04e3a8ce12c1f96c (diff) | |
download | tangorpro-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.c | 27 |
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: |