mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 05:33:09 +00:00
USB: typec: tcpm: Add a 30ms room for tPSSourceOn in PR_SWAP
TCPM state machine needs 20-25ms to enter the ErrorRecovery state after tPSSourceOn timer timeouts. Change the timer from max 480ms to 450ms to ensure that the timer complies with the Spec. In order to keep the flexibility for other usecases using tPSSourceOn, add another timer only for PR_SWAP. Cc: Guenter Roeck <linux@roeck-us.net> Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: Badhri Jagan Sridharan <badhri@google.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Kyle Tso <kyletso@google.com> Signed-off-by: Will McVicker <willmcvicker@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20201210160521.3417426-5-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
301a633c1b
commit
fe79d5de77
@ -3738,7 +3738,7 @@ static void run_state_machine(struct tcpm_port *port)
|
||||
tcpm_set_state(port, ERROR_RECOVERY, 0);
|
||||
break;
|
||||
}
|
||||
tcpm_set_state(port, ERROR_RECOVERY, PD_T_PS_SOURCE_ON);
|
||||
tcpm_set_state(port, ERROR_RECOVERY, PD_T_PS_SOURCE_ON_PRS);
|
||||
break;
|
||||
case PR_SWAP_SRC_SNK_SINK_ON:
|
||||
/* Set the vbus disconnect threshold for implicit contract */
|
||||
|
@ -466,6 +466,7 @@ static inline unsigned int rdo_max_power(u32 rdo)
|
||||
#define PD_T_DRP_SRC 30
|
||||
#define PD_T_PS_SOURCE_OFF 920
|
||||
#define PD_T_PS_SOURCE_ON 480
|
||||
#define PD_T_PS_SOURCE_ON_PRS 450 /* 390 - 480ms */
|
||||
#define PD_T_PS_HARD_RESET 30
|
||||
#define PD_T_SRC_RECOVER 760
|
||||
#define PD_T_SRC_RECOVER_MAX 1000
|
||||
|
Loading…
Reference in New Issue
Block a user