On 09/25/2017 05:45 PM, Li Jun wrote:
As DRP port autonomously toggles the Rp/Rd need a start value to
begin with, so add one parameter for it in tcpm_start_drp_toggling.


It does have a starting value. The patch changes the starting value to 
TYPEC_CC_RD
(from currently one of the RP states) when entering the SNK_UNATTACHED state.
Please provide a matching description.

Signed-off-by: Li Jun <[email protected]>
---
  drivers/usb/typec/tcpm.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/typec/tcpm.c b/drivers/usb/typec/tcpm.c
index 8483d3e..38a6223 100644
--- a/drivers/usb/typec/tcpm.c
+++ b/drivers/usb/typec/tcpm.c
@@ -1839,15 +1839,15 @@ static int tcpm_set_charge(struct tcpm_port *port, bool 
charge)
        return 0;
  }
-static bool tcpm_start_drp_toggling(struct tcpm_port *port)
+static bool tcpm_start_drp_toggling(struct tcpm_port *port,
+                                   enum typec_cc_status cc)
  {
        int ret;
if (port->tcpc->start_drp_toggling &&
            port->port_type == TYPEC_PORT_DRP) {
                tcpm_log_force(port, "Start DRP toggling");
-               ret = port->tcpc->start_drp_toggling(port->tcpc,
-                                                    tcpm_rp_cc(port));
+               ret = port->tcpc->start_drp_toggling(port->tcpc, cc);
                if (!ret)
                        return true;
        }
@@ -2156,7 +2156,7 @@ static void run_state_machine(struct tcpm_port *port)
                if (!port->non_pd_role_swap)
                        tcpm_swap_complete(port, -ENOTCONN);
                tcpm_src_detach(port);
-               if (tcpm_start_drp_toggling(port)) {
+               if (tcpm_start_drp_toggling(port, tcpm_rp_cc(port))) {
                        tcpm_set_state(port, DRP_TOGGLING, 0);
                        break;
                }
@@ -2328,7 +2328,7 @@ static void run_state_machine(struct tcpm_port *port)
                if (!port->non_pd_role_swap)
                        tcpm_swap_complete(port, -ENOTCONN);
                tcpm_snk_detach(port);
-               if (tcpm_start_drp_toggling(port)) {
+               if (tcpm_start_drp_toggling(port, TYPEC_CC_RD)) {
                        tcpm_set_state(port, DRP_TOGGLING, 0);
                        break;
                }


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to