mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Angus Ainslie (Purism)" <angus@akkea.ca>
To: angus.ainslie@puri.sm
Cc: Guenter Roeck <linux@roeck-us.net>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Angus Ainslie (Purism)" <angus@akkea.ca>
Subject: [PATCH 3/3] usb: typec: tcpm: Clear the fault status register
Date: Mon,  6 May 2019 08:08:30 -0600	[thread overview]
Message-ID: <20190506140830.25376-4-angus@akkea.ca> (raw)
In-Reply-To: <20190506140830.25376-1-angus@akkea.ca>

If the fault status register doesn't get cleared then
the ptn5110 interrupt gets stuck on. As the fault register gets
set everytime the ptn5110 powers on the interrupt is always stuck.

Signed-off-by: Angus Ainslie (Purism) <angus@akkea.ca>
---
 drivers/usb/typec/tcpm/tcpci.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c
index c6e0e48b9a2a..17a0ffe818c0 100644
--- a/drivers/usb/typec/tcpm/tcpci.c
+++ b/drivers/usb/typec/tcpm/tcpci.c
@@ -507,6 +507,18 @@ irqreturn_t tcpci_irq(struct tcpci *tcpci)
 			tcpm_log(tcpci->port, "Invalid VBUS voltage %d", ret);
 	}
 
+	if (status & TCPC_ALERT_FAULT) {
+		u16 fault_status;
+
+		tcpci_read16(tcpci, TCPC_FAULT_STATUS, &fault_status);
+
+		tcpm_log(tcpci->port, "FAULT ALERT status 0x%x",
+				fault_status);
+
+		/* clear the fault status */
+		tcpci_write16(tcpci, TCPC_FAULT_STATUS, fault_status);
+	}
+
 	return IRQ_HANDLED;
 }
 EXPORT_SYMBOL_GPL(tcpci_irq);
-- 
2.17.1


  parent reply	other threads:[~2019-05-06 14:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-06 14:08 [PATCH 0/3] usb: typec: tcpm: Add some FAULT_STATUS processing Angus Ainslie (Purism)
2019-05-06 14:08 ` [PATCH 1/3] usb: typec: tcpm: Export the logging function so it can be used by tcpci Angus Ainslie (Purism)
2019-05-06 15:28   ` Guenter Roeck
2019-05-06 14:08 ` [PATCH 2/3] usb: typec: tcpm: Add functions to read the VBUS voltage Angus Ainslie (Purism)
2019-05-06 16:20   ` Guenter Roeck
2019-05-07 12:20     ` Angus Ainslie
2019-05-06 14:08 ` Angus Ainslie (Purism) [this message]
2019-05-06 15:11   ` [PATCH 3/3] usb: typec: tcpm: Clear the fault status register Fabio Estevam
2019-05-06 15:27     ` Guenter Roeck
2019-05-07 11:42       ` Angus Ainslie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190506140830.25376-4-angus@akkea.ca \
    --to=angus@akkea.ca \
    --cc=angus.ainslie@puri.sm \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux@roeck-us.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®