From patchwork Thu Jul 7 22:21:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Boyd X-Patchwork-Id: 9219733 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 0197D607D9 for ; Thu, 7 Jul 2016 22:24:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E71BA26E33 for ; Thu, 7 Jul 2016 22:24:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DBBE528470; Thu, 7 Jul 2016 22:24:52 +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 63F1E26E33 for ; Thu, 7 Jul 2016 22:24:52 +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 1bLHhO-0000PX-Ql; Thu, 07 Jul 2016 22:23:10 +0000 Received: from mail-pa0-x229.google.com ([2607:f8b0:400e:c03::229]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bLHg7-0007fH-R5 for linux-arm-kernel@lists.infradead.org; Thu, 07 Jul 2016 22:21:53 +0000 Received: by mail-pa0-x229.google.com with SMTP id b13so9533221pat.0 for ; Thu, 07 Jul 2016 15:21:31 -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=43HfqOPXvyjWE+woEsGOWh12232+c6p/Leb/0Sr5UYI=; b=jHQIBEcw48nSNXoZKNvMew4lwD6AgS4OnyNFLEq4aC4uYr1yizPIReVALLHTtT2g/k SnAnolPVpma5poYx9JWryHWyzkPvA7qsKUV1AfBE5Uh5juW3AoS89o3iCHw9/0MI4lkB e/fIJVxlnnpRU9HnYXPcBdhA2+SvZtW0Pgko8= 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=43HfqOPXvyjWE+woEsGOWh12232+c6p/Leb/0Sr5UYI=; b=eVNxhR8Yd+bXq3z9aiz09soCQM6l7Jsgb3jGvnjR028ejEJBqr5FYO2biUs6YtY1w9 jXV2seuLZupKN/hA81fePC9KTuzteuWRc61cVrRhO2nq4px4sTtVItGojBxZUJ8ADaY+ mXLR66h6541LFqy8TfjzGx9fxGOOoDs8PsEbdfYChzwGRGr+4yYYHiezJyvYQ8cBFXAF bsO1j4JCbtz6ujEsVcHRRA94/1zwwlpKGSucK+bjEb6+HWHQjqLokhdhln/3nNTJgGcL z/OTcnhB1y1z9y35uaZ+8Yb9O96V+g3OWp294xBcITwLH1NlpuTePVKKV3zsXLEqUqbX Jl8Q== X-Gm-Message-State: ALyK8tIr7J1HXKt8byPAUmzG1rVAvxhF4U6Mre8/z9saUcY5tyckQubG9vNr5CTLhaAE+9oz X-Received: by 10.66.85.197 with SMTP id j5mr4226258paz.87.1467930091150; Thu, 07 Jul 2016 15:21:31 -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 j8sm6781807paj.22.2016.07.07.15.21.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 07 Jul 2016 15:21:30 -0700 (PDT) From: Stephen Boyd To: linux-usb@vger.kernel.org Subject: [PATCH v2 09/22] usb: chipidea: Kick OTG state machine for AVVIS with vbus extcon Date: Thu, 7 Jul 2016 15:21:00 -0700 Message-Id: <20160707222114.1673-10-stephen.boyd@linaro.org> X-Mailer: git-send-email 2.9.0.rc2.8.ga28705d In-Reply-To: <20160707222114.1673-1-stephen.boyd@linaro.org> References: <20160707222114.1673-1-stephen.boyd@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160707_152152_060322_DFB67BDA X-CRM114-Status: GOOD ( 14.63 ) 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 --- I think this was rejected last time around but I've kept it in the series to continue discussion on how we're supposed to be emulating vbus an id pin interrupts and the otgsc register. 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); + } } }