From: Guenter Roeck <linux@roeck-us.net>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Badhri Jagan Sridharan <Badhri@google.com>,
devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
Guenter Roeck <linux@roeck-us.net>
Subject: [PATCH 3/7] staging: typec: tcpm: Set default state after error recovery based on port type
Date: Thu, 10 Aug 2017 21:15:41 -0700 [thread overview]
Message-ID: <1502424945-19969-3-git-send-email-linux@roeck-us.net> (raw)
In-Reply-To: <1502424945-19969-1-git-send-email-linux@roeck-us.net>
From: Badhri Jagan Sridharan <Badhri@google.com>
While exiting ERROR_RECOVERY, choose default state based on the port
type instead of current power role.
Quoting from specification:
4.5.2.2.2 ErrorRecovery State
This state appears in Figure 4-12, Figure 4-13, Figure 4-14, Figure 4-15,
Figure 4-16 and Figure 4-17.
The ErrorRecovery state is where the port removes the terminations from
the CC1 and CC2 pins for tErrorRecovery followed by transitioning to the
appropriate Unattached.SNK or Unattached.SRC state based on port type.
This is the equivalent of forcing a detach event and looking for a new
attach.
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
drivers/staging/typec/tcpm.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/staging/typec/tcpm.c b/drivers/staging/typec/tcpm.c
index be2a91b52d69..e7873286b5ea 100644
--- a/drivers/staging/typec/tcpm.c
+++ b/drivers/staging/typec/tcpm.c
@@ -3038,10 +3038,7 @@ static void _tcpm_pd_vbus_off(struct tcpm_port *port)
break;
case ERROR_RECOVERY_WAIT_OFF:
- tcpm_set_state(port,
- port->pwr_role == TYPEC_SOURCE ?
- SRC_UNATTACHED : SNK_UNATTACHED,
- 0);
+ tcpm_set_state(port, tcpm_default_state(port), 0);
break;
default:
--
2.7.4
next prev parent reply other threads:[~2017-08-11 4:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-11 4:15 [PATCH 1/7] staging: typec: tcpm: Constify alternate modes Guenter Roeck
2017-08-11 4:15 ` [PATCH 2/7] staging: typec: tcpm: Report role swap complete after entering READY state Guenter Roeck
2017-08-11 4:15 ` Guenter Roeck [this message]
2017-08-11 4:15 ` [PATCH 4/7] staging: typec: tcpm: Select default state based on port type Guenter Roeck
2017-08-11 4:15 ` [PATCH 5/7] staging: typec: tcpm: Add timeout when waiting for role swap completion Guenter Roeck
2017-08-11 4:15 ` [PATCH 6/7] staging: typec: tcpm: Improve role swap with non PD capable partners Guenter Roeck
2017-08-11 4:15 ` [PATCH 7/7] staging: typec: tcpm: Check cc status before entering SRC_TRY_DEBOUCE Guenter Roeck
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=1502424945-19969-3-git-send-email-linux@roeck-us.net \
--to=linux@roeck-us.net \
--cc=Badhri@google.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
/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