From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-eopbgr00071.outbound.protection.outlook.com ([40.107.0.71]:48480 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753149AbeE1DKQ (ORCPT ); Sun, 27 May 2018 23:10:16 -0400 From: Li Jun Subject: [PATCH v6 11/15] typec: tcpm: add starting value for drp toggling Date: Mon, 28 May 2018 10:52:43 +0800 Message-Id: <1527475967-15201-12-git-send-email-jun.li@nxp.com> In-Reply-To: <1527475967-15201-1-git-send-email-jun.li@nxp.com> References: <1527475967-15201-1-git-send-email-jun.li@nxp.com> MIME-Version: 1.0 Content-Type: text/plain Sender: devicetree-owner@vger.kernel.org To: robh+dt@kernel.org, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net Cc: cw00.choi@samsung.com, a.hajda@samsung.com, shufan_lee@richtek.com, peter.chen@nxp.com, garsilva@embeddedor.com, gsomlo@gmail.com, jun.li@nxp.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: 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. Reviewed-by: Guenter Roeck Signed-off-by: Li Jun --- 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 aa17cd5..d885bff 100644 --- a/drivers/usb/typec/tcpm.c +++ b/drivers/usb/typec/tcpm.c @@ -2436,15 +2436,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; } @@ -2752,7 +2752,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; } @@ -2927,7 +2927,7 @@ static void run_state_machine(struct tcpm_port *port) tcpm_swap_complete(port, -ENOTCONN); tcpm_pps_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; } -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v6,11/15] typec: tcpm: add starting value for drp toggling From: Jun Li Message-Id: <1527475967-15201-12-git-send-email-jun.li@nxp.com> Date: Mon, 28 May 2018 10:52:43 +0800 To: robh+dt@kernel.org, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net Cc: cw00.choi@samsung.com, a.hajda@samsung.com, shufan_lee@richtek.com, peter.chen@nxp.com, garsilva@embeddedor.com, gsomlo@gmail.com, jun.li@nxp.com, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-imx@nxp.com List-ID: QXMgRFJQIHBvcnQgYXV0b25vbW91c2x5IHRvZ2dsZXMgdGhlIFJwL1JkIG5lZWQgYSBzdGFydCB2 YWx1ZSB0bwpiZWdpbiB3aXRoLCBzbyBhZGQgb25lIHBhcmFtZXRlciBmb3IgaXQgaW4gdGNwbV9z dGFydF9kcnBfdG9nZ2xpbmcuCgpSZXZpZXdlZC1ieTogR3VlbnRlciBSb2VjayA8bGludXhAcm9l Y2stdXMubmV0PgpTaWduZWQtb2ZmLWJ5OiBMaSBKdW4gPGp1bi5saUBueHAuY29tPgotLS0KIGRy aXZlcnMvdXNiL3R5cGVjL3RjcG0uYyB8IDEwICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Iv dHlwZWMvdGNwbS5jIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS5jCmluZGV4IGFhMTdjZDUuLmQ4 ODViZmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0uYworKysgYi9kcml2ZXJz L3VzYi90eXBlYy90Y3BtLmMKQEAgLTI0MzYsMTUgKzI0MzYsMTUgQEAgc3RhdGljIGludCB0Y3Bt X3NldF9jaGFyZ2Uoc3RydWN0IHRjcG1fcG9ydCAqcG9ydCwgYm9vbCBjaGFyZ2UpCiAJcmV0dXJu IDA7CiB9CiAKLXN0YXRpYyBib29sIHRjcG1fc3RhcnRfZHJwX3RvZ2dsaW5nKHN0cnVjdCB0Y3Bt X3BvcnQgKnBvcnQpCitzdGF0aWMgYm9vbCB0Y3BtX3N0YXJ0X2RycF90b2dnbGluZyhzdHJ1Y3Qg dGNwbV9wb3J0ICpwb3J0LAorCQkJCSAgICBlbnVtIHR5cGVjX2NjX3N0YXR1cyBjYykKIHsKIAlp bnQgcmV0OwogCiAJaWYgKHBvcnQtPnRjcGMtPnN0YXJ0X2RycF90b2dnbGluZyAmJgogCSAgICBw b3J0LT5wb3J0X3R5cGUgPT0gVFlQRUNfUE9SVF9EUlApIHsKIAkJdGNwbV9sb2dfZm9yY2UocG9y dCwgIlN0YXJ0IERSUCB0b2dnbGluZyIpOwotCQlyZXQgPSBwb3J0LT50Y3BjLT5zdGFydF9kcnBf dG9nZ2xpbmcocG9ydC0+dGNwYywKLQkJCQkJCSAgICAgdGNwbV9ycF9jYyhwb3J0KSk7CisJCXJl dCA9IHBvcnQtPnRjcGMtPnN0YXJ0X2RycF90b2dnbGluZyhwb3J0LT50Y3BjLCBjYyk7CiAJCWlm ICghcmV0KQogCQkJcmV0dXJuIHRydWU7CiAJfQpAQCAtMjc1Miw3ICsyNzUyLDcgQEAgc3RhdGlj IHZvaWQgcnVuX3N0YXRlX21hY2hpbmUoc3RydWN0IHRjcG1fcG9ydCAqcG9ydCkKIAkJaWYgKCFw b3J0LT5ub25fcGRfcm9sZV9zd2FwKQogCQkJdGNwbV9zd2FwX2NvbXBsZXRlKHBvcnQsIC1FTk9U Q09OTik7CiAJCXRjcG1fc3JjX2RldGFjaChwb3J0KTsKLQkJaWYgKHRjcG1fc3RhcnRfZHJwX3Rv Z2dsaW5nKHBvcnQpKSB7CisJCWlmICh0Y3BtX3N0YXJ0X2RycF90b2dnbGluZyhwb3J0LCB0Y3Bt X3JwX2NjKHBvcnQpKSkgewogCQkJdGNwbV9zZXRfc3RhdGUocG9ydCwgRFJQX1RPR0dMSU5HLCAw KTsKIAkJCWJyZWFrOwogCQl9CkBAIC0yOTI3LDcgKzI5MjcsNyBAQCBzdGF0aWMgdm9pZCBydW5f c3RhdGVfbWFjaGluZShzdHJ1Y3QgdGNwbV9wb3J0ICpwb3J0KQogCQkJdGNwbV9zd2FwX2NvbXBs ZXRlKHBvcnQsIC1FTk9UQ09OTik7CiAJCXRjcG1fcHBzX2NvbXBsZXRlKHBvcnQsIC1FTk9UQ09O Tik7CiAJCXRjcG1fc25rX2RldGFjaChwb3J0KTsKLQkJaWYgKHRjcG1fc3RhcnRfZHJwX3RvZ2ds aW5nKHBvcnQpKSB7CisJCWlmICh0Y3BtX3N0YXJ0X2RycF90b2dnbGluZyhwb3J0LCBUWVBFQ19D Q19SRCkpIHsKIAkJCXRjcG1fc2V0X3N0YXRlKHBvcnQsIERSUF9UT0dHTElORywgMCk7CiAJCQli cmVhazsKIAkJfQo=