From patchwork Sun Jun 26 07:28:25 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 9199201 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AC17860754 for ; Sun, 26 Jun 2016 07:33:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9F50C2853F for ; Sun, 26 Jun 2016 07:33:42 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 93E1828542; Sun, 26 Jun 2016 07:33:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4EB2F2853F for ; Sun, 26 Jun 2016 07:33:42 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bH4Wm-0003kh-2v; Sun, 26 Jun 2016 07:30:48 +0000 Received: from mail-pf0-x232.google.com ([2607:f8b0:400e:c00::232]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bH4VE-00012F-UT for linux-arm-kernel@lists.infradead.org; Sun, 26 Jun 2016 07:29:14 +0000 Received: by mail-pf0-x232.google.com with SMTP id i123so51901401pfg.0 for ; Sun, 26 Jun 2016 00:28:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=9V6xSt82IDG3W8RzPuhcWQ7rieB1TkdZjL4QkSMXEQg=; b=Rxx9+cDHi95g08e6V0VUFdYatNVF6IljEZ4RfYg9B0GOTgb3CtvtMGAEJ4GrTY/yOo ba2D8lOj+e8WSJB4tcYFEsIT/xMlda4I7r0VJrPuQRCAM93WcgFmjpXNPo6OuuFSlEgr jpAEo0mf/WpeDQMwCWtnQA369X+Lc3b2dQ8rg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=9V6xSt82IDG3W8RzPuhcWQ7rieB1TkdZjL4QkSMXEQg=; b=k+6rC1evsOxHQszdb+lnNLXpKY+rUyJC4sNedbLQq/roLkxTCTvTOElaZBa4lKMZkX 6gk4fNJW6bEUzMu/MVg8nKVYoT1E+Apc+Y/LtCrS0WE8KvasVw8W2yzEQuiA+AvT+EaU Zf879Tz8OKr/rkzZR/cozWOh3Pxzmz4bZfaPw9TjznsN+Q4Dw2qQvUrBekDXParviJQE AVQ8NL0AnfDEcKkd8iHn16HhW8lQNGMlyThqMBLfXQ/U2cBgiFKEh/kxCLT3cLzfBfna H8BS/kPsEQUrJ7On6QloAC6CIq3zVw0U7vMo098PhwPB2BjPWUVjlNaB1fj13UlZmM4U 5HPQ== X-Gm-Message-State: ALyK8tJ4t2IovtJmB8UeBj98zzQrq+lMH4Gm9zJNJr7WyFbNlUeUtZ+1LKmk8o9+Vrb54H2D X-Received: by 10.98.26.148 with SMTP id a142mr22099417pfa.46.1466926132142; Sun, 26 Jun 2016 00:28:52 -0700 (PDT) Received: from localhost.localdomain (ip68-101-172-78.sd.sd.cox.net. [68.101.172.78]) by smtp.gmail.com with ESMTPSA id f138sm3790495pfa.17.2016.06.26.00.28.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 26 Jun 2016 00:28:51 -0700 (PDT) From: Stephen Boyd To: linux-usb@vger.kernel.org Subject: [PATCH 08/21] usb: chipidea: Kick OTG state machine for AVVIS with vbus extcon Date: Sun, 26 Jun 2016 00:28:25 -0700 Message-Id: <20160626072838.28082-9-stephen.boyd@linaro.org> X-Mailer: git-send-email 2.9.0.rc2.8.ga28705d In-Reply-To: <20160626072838.28082-1-stephen.boyd@linaro.org> References: <20160626072838.28082-1-stephen.boyd@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160626_002913_078030_84FE0383 X-CRM114-Status: GOOD ( 12.32 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Felipe Balbi , Arnd Bergmann , Neil Armstrong , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson , Peter Chen , Greg Kroah-Hartman , Andy Gross , linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Force the OTG state machine to go forward when we're using an extcon for vbus detection. In this case, the controller may never raise an interrupt for AVVIS, so we need to simulate the event by toggling the appropriate OTG fsm bits and kicking the state machine again. Cc: Peter Chen Cc: Greg Kroah-Hartman Signed-off-by: Stephen Boyd --- drivers/usb/chipidea/otg_fsm.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/usb/chipidea/otg_fsm.c b/drivers/usb/chipidea/otg_fsm.c index de8e22ec3902..aab076fc4d82 100644 --- a/drivers/usb/chipidea/otg_fsm.c +++ b/drivers/usb/chipidea/otg_fsm.c @@ -475,6 +475,14 @@ static void ci_otg_drv_vbus(struct otg_fsm *fsm, int on) return; } } + /* + * Force state machine forward if we use extcon + * to detect vbus state (i.e. simulate AVVIS event) + */ + if (!IS_ERR(ci->platdata->vbus_extcon.edev)) { + fsm->a_vbus_vld = 1; + ci_otg_queue_work(ci); + } /* Disable data pulse irq */ hw_write_otgsc(ci, OTGSC_DPIE, 0); @@ -486,6 +494,15 @@ static void ci_otg_drv_vbus(struct otg_fsm *fsm, int on) fsm->a_bus_drop = 1; fsm->a_bus_req = 0; + /* + * Force state machine forward if we use extcon + * to detect vbus state (i.e. simulate AVVIS event) + */ + if (!IS_ERR(ci->platdata->vbus_extcon.edev)) { + fsm->a_vbus_vld = 0; + fsm->b_conn = 0; + ci_otg_queue_work(ci); + } } }