2017-08-27 06:52:16

by Badhri Jagan Sridharan

[permalink] [raw]
Subject: [PATCH 10/11] staging: typec: tcpm: Do not send PING msgs in TCPM

PING messages are used to monitor the connect/disconnect.
However, when PD is carried over CC, so this is not required.

Also, the spec does not clearly say if PD is possible when
Type-c is connected to Type-A/B. So, removing sending
PING messages altogether.

Signed-off-by: Badhri Jagan Sridharan <[email protected]>
---
drivers/staging/typec/tcpm.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/typec/tcpm.c b/drivers/staging/typec/tcpm.c
index a7da609006f5..9e0111dea7c4 100644
--- a/drivers/staging/typec/tcpm.c
+++ b/drivers/staging/typec/tcpm.c
@@ -2335,14 +2335,11 @@ static void run_state_machine(struct tcpm_port *port)
* - The system is not operating in PD mode
* or
* - Both partners are connected using a Type-C connector
- * XXX How do we know that ?
+ *
+ * There is no actual need to send PD messages since the local
+ * port type-c and the spec does not clearly say whether PD is
+ * possible when type-c is connected to Type-A/B
*/
- if (port->pwr_opmode == TYPEC_PWR_MODE_PD &&
- !port->op_vsafe5v) {
- tcpm_pd_send_control(port, PD_CTRL_PING);
- tcpm_set_state_cond(port, SRC_READY,
- PD_T_SOURCE_ACTIVITY);
- }
break;
case SRC_WAIT_NEW_CAPABILITIES:
/* Nothing to do... */
--
2.14.1.342.g6490525c54-goog


2017-08-27 17:27:22

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 10/11] staging: typec: tcpm: Do not send PING msgs in TCPM

On Sat, Aug 26, 2017 at 11:52:00PM -0700, Badhri Jagan Sridharan wrote:
> PING messages are used to monitor the connect/disconnect.
> However, when PD is carried over CC, so this is not required.
>
> Also, the spec does not clearly say if PD is possible when
> Type-c is connected to Type-A/B. So, removing sending
> PING messages altogether.
>
> Signed-off-by: Badhri Jagan Sridharan <[email protected]>

Reviewed-by: Guenter Roeck <[email protected]>

> ---
> drivers/staging/typec/tcpm.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/staging/typec/tcpm.c b/drivers/staging/typec/tcpm.c
> index a7da609006f5..9e0111dea7c4 100644
> --- a/drivers/staging/typec/tcpm.c
> +++ b/drivers/staging/typec/tcpm.c
> @@ -2335,14 +2335,11 @@ static void run_state_machine(struct tcpm_port *port)
> * - The system is not operating in PD mode
> * or
> * - Both partners are connected using a Type-C connector
> - * XXX How do we know that ?
> + *
> + * There is no actual need to send PD messages since the local
> + * port type-c and the spec does not clearly say whether PD is
> + * possible when type-c is connected to Type-A/B
> */
> - if (port->pwr_opmode == TYPEC_PWR_MODE_PD &&
> - !port->op_vsafe5v) {
> - tcpm_pd_send_control(port, PD_CTRL_PING);
> - tcpm_set_state_cond(port, SRC_READY,
> - PD_T_SOURCE_ACTIVITY);
> - }
> break;
> case SRC_WAIT_NEW_CAPABILITIES:
> /* Nothing to do... */
> --
> 2.14.1.342.g6490525c54-goog
>