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: [v4,09/13] typec: tcpm: add starting value for drp toggling From: Jun Li Message-Id: <1522253178-32414-10-git-send-email-jun.li@nxp.com> Date: Thu, 29 Mar 2018 00:06:14 +0800 To: robh+dt@kernel.org, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net Cc: a.hajda@samsung.com, shufan_lee@richtek.com, peter.chen@nxp.com, devicetree@vger.kernel.org, linux-usb@vger.kernel.org, linux-imx@nxp.com, jun.li@nxp.com, devel@driverdev.osuosl.org List-ID: QXMgRFJQIHBvcnQgYXV0b25vbW91c2x5IHRvZ2dsZXMgdGhlIFJwL1JkIG5lZWQgYSBzdGFydCB2 YWx1ZSB0bwpiZWdpbiB3aXRoLCBzbyBhZGQgb25lIHBhcmFtZXRlciBmb3IgaXQgaW4gdGNwbV9z dGFydF9kcnBfdG9nZ2xpbmcuCgpSZXZpZXdlZC1ieTogR3VlbnRlciBSb2VjayA8bGludXhAcm9l Y2stdXMubmV0PgpTaWduZWQtb2ZmLWJ5OiBMaSBKdW4gPGp1bi5saUBueHAuY29tPgotLS0KIGRy aXZlcnMvdXNiL3R5cGVjL3RjcG0uYyB8IDEwICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1 IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Iv dHlwZWMvdGNwbS5jIGIvZHJpdmVycy91c2IvdHlwZWMvdGNwbS5jCmluZGV4IDE3NDQwNDFiLi4y MThjMjMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi90eXBlYy90Y3BtLmMKKysrIGIvZHJpdmVy cy91c2IvdHlwZWMvdGNwbS5jCkBAIC0xOTY0LDE1ICsxOTY0LDE1IEBAIHN0YXRpYyBpbnQgdGNw bV9zZXRfY2hhcmdlKHN0cnVjdCB0Y3BtX3BvcnQgKnBvcnQsIGJvb2wgY2hhcmdlKQogCXJldHVy biAwOwogfQogCi1zdGF0aWMgYm9vbCB0Y3BtX3N0YXJ0X2RycF90b2dnbGluZyhzdHJ1Y3QgdGNw bV9wb3J0ICpwb3J0KQorc3RhdGljIGJvb2wgdGNwbV9zdGFydF9kcnBfdG9nZ2xpbmcoc3RydWN0 IHRjcG1fcG9ydCAqcG9ydCwKKwkJCQkgICAgZW51bSB0eXBlY19jY19zdGF0dXMgY2MpCiB7CiAJ aW50IHJldDsKIAogCWlmIChwb3J0LT50Y3BjLT5zdGFydF9kcnBfdG9nZ2xpbmcgJiYKIAkgICAg cG9ydC0+cG9ydF90eXBlID09IFRZUEVDX1BPUlRfRFJQKSB7CiAJCXRjcG1fbG9nX2ZvcmNlKHBv cnQsICJTdGFydCBEUlAgdG9nZ2xpbmciKTsKLQkJcmV0ID0gcG9ydC0+dGNwYy0+c3RhcnRfZHJw X3RvZ2dsaW5nKHBvcnQtPnRjcGMsCi0JCQkJCQkgICAgIHRjcG1fcnBfY2MocG9ydCkpOworCQly ZXQgPSBwb3J0LT50Y3BjLT5zdGFydF9kcnBfdG9nZ2xpbmcocG9ydC0+dGNwYywgY2MpOwogCQlp ZiAoIXJldCkKIAkJCXJldHVybiB0cnVlOwogCX0KQEAgLTIyODIsNyArMjI4Miw3IEBAIHN0YXRp YyB2b2lkIHJ1bl9zdGF0ZV9tYWNoaW5lKHN0cnVjdCB0Y3BtX3BvcnQgKnBvcnQpCiAJCWlmICgh cG9ydC0+bm9uX3BkX3JvbGVfc3dhcCkKIAkJCXRjcG1fc3dhcF9jb21wbGV0ZShwb3J0LCAtRU5P VENPTk4pOwogCQl0Y3BtX3NyY19kZXRhY2gocG9ydCk7Ci0JCWlmICh0Y3BtX3N0YXJ0X2RycF90 b2dnbGluZyhwb3J0KSkgeworCQlpZiAodGNwbV9zdGFydF9kcnBfdG9nZ2xpbmcocG9ydCwgdGNw bV9ycF9jYyhwb3J0KSkpIHsKIAkJCXRjcG1fc2V0X3N0YXRlKHBvcnQsIERSUF9UT0dHTElORywg MCk7CiAJCQlicmVhazsKIAkJfQpAQCAtMjQ1NCw3ICsyNDU0LDcgQEAgc3RhdGljIHZvaWQgcnVu X3N0YXRlX21hY2hpbmUoc3RydWN0IHRjcG1fcG9ydCAqcG9ydCkKIAkJaWYgKCFwb3J0LT5ub25f cGRfcm9sZV9zd2FwKQogCQkJdGNwbV9zd2FwX2NvbXBsZXRlKHBvcnQsIC1FTk9UQ09OTik7CiAJ CXRjcG1fc25rX2RldGFjaChwb3J0KTsKLQkJaWYgKHRjcG1fc3RhcnRfZHJwX3RvZ2dsaW5nKHBv cnQpKSB7CisJCWlmICh0Y3BtX3N0YXJ0X2RycF90b2dnbGluZyhwb3J0LCBUWVBFQ19DQ19SRCkp IHsKIAkJCXRjcG1fc2V0X3N0YXRlKHBvcnQsIERSUF9UT0dHTElORywgMCk7CiAJCQlicmVhazsK IAkJfQo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Li Jun Subject: [PATCH v4 09/13] typec: tcpm: add starting value for drp toggling Date: Thu, 29 Mar 2018 00:06:14 +0800 Message-ID: <1522253178-32414-10-git-send-email-jun.li@nxp.com> References: <1522253178-32414-1-git-send-email-jun.li@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1522253178-32414-1-git-send-email-jun.li@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: robh+dt@kernel.org, gregkh@linuxfoundation.org, heikki.krogerus@linux.intel.com, linux@roeck-us.net Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, peter.chen@nxp.com, linux-usb@vger.kernel.org, a.hajda@samsung.com, linux-imx@nxp.com, jun.li@nxp.com, shufan_lee@richtek.com List-Id: devicetree@vger.kernel.org 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 1744041b..218c230 100644 --- a/drivers/usb/typec/tcpm.c +++ b/drivers/usb/typec/tcpm.c @@ -1964,15 +1964,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; } @@ -2282,7 +2282,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; } @@ -2454,7 +2454,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; } -- 2.7.4