From patchwork Tue Aug 26 20:41:37 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felipe Balbi X-Patchwork-Id: 36051 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pa0-f72.google.com (mail-pa0-f72.google.com [209.85.220.72]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 42B2220551 for ; Tue, 26 Aug 2014 20:42:27 +0000 (UTC) Received: by mail-pa0-f72.google.com with SMTP id eu11sf127063313pac.11 for ; Tue, 26 Aug 2014 13:42:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:date:from:to:cc:subject:message-id :reply-to:references:mime-version:content-type:content-disposition :in-reply-to:user-agent:sender:precedence:list-id:x-original-sender :x-original-authentication-results:mailing-list:list-post:list-help :list-archive:list-unsubscribe; bh=HEsqgGqoFxIUdVFnNQpOj2a1TakWOxsXXoB+ZIBWUgQ=; b=FZcn8+flMhwkvHEjSZ+Qf8kFi/VEA+byH/8tiahrVHJK+aR/tCm4GSiBtrnVymkoJQ KpegiThaOJ4vWAiqx5Sdz1vDXwH2GrJgHiZZZHn1ri7hti9Bweu3s3U3PI/V2ul7HGuW 6v/7AKHKWfFkDZYSSSUJGBm0gT+kUo53CR5c/O0kHhRnbTWm3Bv7NMqKdAQXZ7z0N77l SA+dM9OZEr6ucdjHI40BysuYflHet44tdDquQ8YaxXA2lXG8T/4KaHld4VU7gbW5t//V 17zeqNGINVdOR/V8ORc9AceuYY6rHV+xF3ZE8NLbrW0uA47DSBehj7+rKX/haFLd0QFY us4g== X-Gm-Message-State: ALoCoQnaX9P3xROglcBv7cujkLhznAZJGlpD8iopUM4OiT+7fPDrSo2ZMk18gcsTYOrWlMwo+MSp X-Received: by 10.69.31.75 with SMTP id kk11mr19347404pbd.8.1409085746475; Tue, 26 Aug 2014 13:42:26 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.33.246 with SMTP id j109ls2738459qgj.83.gmail; Tue, 26 Aug 2014 13:42:26 -0700 (PDT) X-Received: by 10.236.45.10 with SMTP id o10mr44992171yhb.49.1409085746240; Tue, 26 Aug 2014 13:42:26 -0700 (PDT) Received: from mail-yh0-f53.google.com (mail-yh0-f53.google.com [209.85.213.53]) by mx.google.com with ESMTPS id g73si3486729yhb.59.2014.08.26.13.42.26 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 26 Aug 2014 13:42:26 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.213.53 as permitted sender) client-ip=209.85.213.53; Received: by mail-yh0-f53.google.com with SMTP id c41so12460713yho.40 for ; Tue, 26 Aug 2014 13:42:26 -0700 (PDT) X-Received: by 10.52.156.100 with SMTP id wd4mr11259070vdb.39.1409085745988; Tue, 26 Aug 2014 13:42:25 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.221.45.67 with SMTP id uj3csp2528vcb; Tue, 26 Aug 2014 13:42:23 -0700 (PDT) X-Received: by 10.66.248.199 with SMTP id yo7mr39687928pac.107.1409085742427; Tue, 26 Aug 2014 13:42:22 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ef7si6127897pac.71.2014.08.26.13.42.21 for ; Tue, 26 Aug 2014 13:42:22 -0700 (PDT) Received-SPF: none (google.com: linux-usb-owner@vger.kernel.org does not designate permitted sender hosts) client-ip=209.132.180.67; Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754998AbaHZUmM (ORCPT + 2 others); Tue, 26 Aug 2014 16:42:12 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:58261 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754941AbaHZUmI (ORCPT ); Tue, 26 Aug 2014 16:42:08 -0400 Received: from dflxv15.itg.ti.com ([128.247.5.124]) by arroyo.ext.ti.com (8.13.7/8.13.7) with ESMTP id s7QKfmZU004328; Tue, 26 Aug 2014 15:41:48 -0500 Received: from DFLE72.ent.ti.com (dfle72.ent.ti.com [128.247.5.109]) by dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id s7QKfm8T007029; Tue, 26 Aug 2014 15:41:48 -0500 Received: from dlep33.itg.ti.com (157.170.170.75) by DFLE72.ent.ti.com (128.247.5.109) with Microsoft SMTP Server id 14.3.174.1; Tue, 26 Aug 2014 15:41:48 -0500 Received: from localhost (ileax41-snat.itg.ti.com [10.172.224.153]) by dlep33.itg.ti.com (8.14.3/8.13.8) with ESMTP id s7QKflYi017669; Tue, 26 Aug 2014 15:41:47 -0500 Date: Tue, 26 Aug 2014 15:41:37 -0500 From: Felipe Balbi To: Felipe Balbi CC: Paul Zimmerman , Linux USB Mailing List , Greg KH , David Cohen , Heikki Krogerus , Sebastian Andrzej Siewior , George Cherian , Kishon Vijay Abraham I Subject: Re: [PATCH v2] usb: dwc3: add tracepoints to aid debugging Message-ID: <20140826204137.GD4584@saruman.home> Reply-To: References: <1408475333-23344-1-git-send-email-balbi@ti.com> <20140819201018.GH22003@saruman.home> <20140819220201.GI22003@saruman.home> <20140822204655.GJ27616@saruman.home> <20140822215646.GA19838@saruman.home> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20140822215646.GA19838@saruman.home> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-usb-owner@vger.kernel.org Precedence: list List-ID: X-Mailing-List: linux-usb@vger.kernel.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: balbi@ti.com X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 209.85.213.53 as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Hi, On Fri, Aug 22, 2014 at 04:56:46PM -0500, Felipe Balbi wrote: > > > diff --git a/drivers/usb/dwc3/debug.c b/drivers/usb/dwc3/debug.c > > > new file mode 100644 > > > index 0000000..6d01e0c > > > --- /dev/null > > > +++ b/drivers/usb/dwc3/debug.c > > > @@ -0,0 +1,33 @@ > > > +/** > > > + * debug.c - DesignWare USB3 DRD Controller Debug/Trace Support > > > + * > > > + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com > > > + * > > > + * Author: Felipe Balbi > > > + * > > > + * This program is free software: you can redistribute it and/or modify > > > + * it under the terms of the GNU General Public License version 2 of > > > + * the License as published by the Free Software Foundation. > > > + * > > > + * This program is distributed in the hope that it will be useful, > > > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > + * GNU General Public License for more details. > > > + */ > > > + > > > +#include "debug.h" > > > + > > > +void dwc3_trace(void (*trace)(struct va_format *), > > > + const char *fmt, ...) > > > > Unnecessary line wrap? It looks like this would fit on one line. > > fixed all three instances > > > > @@ -726,6 +732,8 @@ static void dwc3_ep0_inspect_setup(struct dwc3 *dwc, > > > if (!dwc->gadget_driver) > > > goto out; > > > > > > + trace_dwc3_ctrl_req(ctrl); > > > > I don't see this function defined anywhere in this patch. Same for some > > of the other trace functions. I guess these are automatically defined > > by some tracing macro magic? Is there any way to see what the event > > yup, you got it. If you look at trace.h, it defines all the trace points > and on trace.c where we have: > > #define CREATE_TRACE_POINTS > #include "trace.h" > > that'll cause the creation of all these functions. > > > will look like short of running the code? These are probably dumb > > questions, but I haven't done anything yet with the tracing API, so > > I'm pretty clueless about it. > > Next week I'll send you a sample output with all events enabled :-) > > > Other than that, I can't think of anything else to be added at this > > point. As you say, other trace points can be added later if desired. > > Right, I wanted to have a way of using those debug registers (GDBG*) for > tracing the internal HW blocks but there's no documentation about what > those registers mean i.e. how to decode the data returned by them. > > Other than that... we might want to, at some point, have a more granular > tracing of the TRB/usb_request lifetime - right now we're only tracing > alloc, queue, dequeue, free - but I guess tracing request accesses alone > is already a pretty good deal, as it can help communicating with IP > folks and giving them a sequence of events for writing RTL simulation > :-) yeah, it took longer than expected (been busy lately), but here's an example trace with all trace points enabled: # tracer: nop # # entries-in-buffer/entries-written: 1038/1038 #P:1 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | -0 [000] d.h. 155.653881: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.653903: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.653908: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.653912: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.653915: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.653918: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.654660: dwc3_event: event 00000301 irq/200-dwc3-765 [000] d... 155.654667: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.654679: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.654682: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.739475: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.739485: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.739489: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.739492: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.739495: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.739501: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.739553: dwc3_event: event 00050301 irq/200-dwc3-765 [000] d... 155.739556: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.739562: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.739565: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.742529: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.742535: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.742538: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.742544: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.742547: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.742550: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.742580: dwc3_event: event 00030301 irq/200-dwc3-765 [000] d... 155.742613: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.742617: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.742621: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.869413: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.869420: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.869423: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.869427: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.869430: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.869433: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.869468: dwc3_event: event 00000101 irq/200-dwc3-765 [000] d... 155.870011: dwc3_readl: add fa39c704 value 80000000 irq/200-dwc3-765 [000] d... 155.870020: dwc3_writel: addr fa39c704 value 80000000 irq/200-dwc3-765 [000] d... 155.870032: dwc3_readl: add fa39c700 value 00080800 irq/200-dwc3-765 [000] d... 155.870035: dwc3_writel: addr fa39c700 value 00080800 irq/200-dwc3-765 [000] d... 155.870039: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.870042: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.870045: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.880284: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 155.880292: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.880298: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.880302: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.880305: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.880308: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.880358: dwc3_event: event 00000201 irq/200-dwc3-765 [000] d... 155.880361: dwc3_readl: add fa39c70c value 00020000 irq/200-dwc3-765 [000] d... 155.880366: dwc3_readl: add fa39c700 value 00080800 irq/200-dwc3-765 [000] d... 155.880369: dwc3_writel: addr fa39c700 value 00480800 irq/200-dwc3-765 [000] d... 155.880375: dwc3_readl: add fa39c704 value 80000000 irq/200-dwc3-765 [000] d... 155.880378: dwc3_writel: addr fa39c704 value 8c000000 irq/200-dwc3-765 [000] d... 155.880383: dwc3_writel: addr fa39c808 value 80000200 irq/200-dwc3-765 [000] d... 155.880386: dwc3_writel: addr fa39c804 value 00000500 irq/200-dwc3-765 [000] d... 155.880388: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 155.880391: dwc3_writel: addr fa39c80c value 00000401 irq/200-dwc3-765 [000] d... 155.880394: dwc3_readl: add fa39c80c value 00000001 irq/200-dwc3-765 [000] d... 155.880399: dwc3_writel: addr fa39c818 value 80000200 irq/200-dwc3-765 [000] d... 155.880402: dwc3_writel: addr fa39c814 value 02000500 irq/200-dwc3-765 [000] d... 155.880405: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 155.880408: dwc3_writel: addr fa39c81c value 00000401 irq/200-dwc3-765 [000] d... 155.880411: dwc3_readl: add fa39c81c value 00000001 irq/200-dwc3-765 [000] d... 155.880414: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.880417: dwc3_event: event 00000301 irq/200-dwc3-765 [000] d... 155.880419: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.880424: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.880427: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.942202: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 155.942210: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.942213: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.942217: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.942220: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.942225: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.942261: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 155.942266: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 155.942273: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 155.942277: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 155.942280: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 155.942290: dwc3_ep0: queueing request ed1e60c0 to ep0out length 18 state 'Setup Phase' irq/200-dwc3-765 [000] d... 155.942305: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 155.942308: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 155.942314: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 155.942317: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 155.942320: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 155.942324: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 155.942329: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.942332: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 155.942334: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 155.942338: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 155.942343: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.942345: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.942348: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 155.942356: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 155.942360: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 155.942363: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 155.942366: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 155.942371: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 155.942374: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.942383: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 155.942385: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 155.942389: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 155.942395: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 155.942399: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.942402: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 155.942404: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 155.942407: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 155.942412: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 155.942415: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 155.942418: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 155.942421: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 155.942424: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 155.942427: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 155.942429: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.942434: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.942437: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.942488: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.942494: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.942497: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.942500: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.942503: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.942508: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.942540: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 155.942543: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 155.942548: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 155.942551: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 155.942554: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 155.942557: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 155.942560: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 155.942565: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 155.942568: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 155.942571: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.942574: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.942577: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.945817: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.945822: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.945828: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.945831: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.945834: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.945837: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.945867: dwc3_event: event 00050301 irq/200-dwc3-765 [000] d... 155.945870: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.945874: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.945877: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.946319: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 155.946323: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.946326: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.946329: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.946332: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.946335: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.946363: dwc3_event: event 00000101 irq/200-dwc3-765 [000] d... 155.946701: dwc3_readl: add fa39c704 value 8c000000 irq/200-dwc3-765 [000] d... 155.946715: dwc3_writel: addr fa39c704 value 8c000000 irq/200-dwc3-765 [000] d... 155.946722: dwc3_readl: add fa39c700 value 00480800 irq/200-dwc3-765 [000] d... 155.946725: dwc3_writel: addr fa39c700 value 00480800 irq/200-dwc3-765 [000] d... 155.946729: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.946732: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.946735: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 155.953302: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 155.953314: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 155.953317: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 155.953321: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 155.953324: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 155.953327: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 155.953375: dwc3_event: event 00000201 irq/200-dwc3-765 [000] d... 155.953378: dwc3_readl: add fa39c70c value 0003ad98 irq/200-dwc3-765 [000] d... 155.953383: dwc3_readl: add fa39c700 value 00480800 irq/200-dwc3-765 [000] d... 155.953389: dwc3_writel: addr fa39c700 value 00480800 irq/200-dwc3-765 [000] d... 155.953392: dwc3_readl: add fa39c704 value 8c000000 irq/200-dwc3-765 [000] d... 155.953395: dwc3_writel: addr fa39c704 value 8c000000 irq/200-dwc3-765 [000] d... 155.953400: dwc3_writel: addr fa39c808 value 80000200 irq/200-dwc3-765 [000] d... 155.953403: dwc3_writel: addr fa39c804 value 00000500 irq/200-dwc3-765 [000] d... 155.953405: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 155.953408: dwc3_writel: addr fa39c80c value 00000401 irq/200-dwc3-765 [000] d... 155.953413: dwc3_readl: add fa39c80c value 00000001 irq/200-dwc3-765 [000] d... 155.953417: dwc3_writel: addr fa39c818 value 80000200 irq/200-dwc3-765 [000] d... 155.953420: dwc3_writel: addr fa39c814 value 02000500 irq/200-dwc3-765 [000] d... 155.953423: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 155.953425: dwc3_writel: addr fa39c81c value 00000401 irq/200-dwc3-765 [000] d... 155.953428: dwc3_readl: add fa39c81c value 00000001 irq/200-dwc3-765 [000] d... 155.953431: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.953434: dwc3_event: event 00000301 irq/200-dwc3-765 [000] d... 155.953438: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 155.953442: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 155.953445: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.015165: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.015171: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.015174: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.015178: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.015183: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.015186: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.015226: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.015230: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.015236: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.015239: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.015243: dwc3_ep0: USB_REQ_SET_ADDRESS irq/200-dwc3-765 [000] d... 156.015246: dwc3_readl: add fa39c700 value 00480800 irq/200-dwc3-765 [000] d... 156.015249: dwc3_writel: addr fa39c700 value 00480890 irq/200-dwc3-765 [000] d... 156.015288: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.015292: dwc3_event: event 000020c2 irq/200-dwc3-765 [000] d... 156.015294: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.015298: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.015302: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.015305: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.015308: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.015311: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.015316: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.015319: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.015322: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.015326: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.015328: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.015337: dwc3_readl: add fa39c40c value 00000004 irq/200-dwc3-765 [000] d.h. 156.015340: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.015345: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.015348: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.015351: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.015354: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.015365: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.015367: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.015371: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.015373: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.015379: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.015381: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.015384: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.015387: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.015390: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.015393: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.015396: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.015401: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.025916: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.025922: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.025926: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.025929: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.025932: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.025935: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.025970: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.025975: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.025979: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.025981: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.025984: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.025992: dwc3_ep0: queueing request ed1e60c0 to ep0out length 18 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026002: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.026006: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.026009: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.026014: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.026017: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026021: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026025: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026028: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.026030: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026034: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.026036: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026041: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026044: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026051: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.026054: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026057: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026060: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026063: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026068: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026077: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.026079: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026082: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.026088: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.026091: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026094: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.026096: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026099: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.026101: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.026107: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.026109: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.026112: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.026115: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026118: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026121: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026124: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026129: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026135: dwc3_readl: add fa39c40c value 00000004 irq/200-dwc3-765 [000] d.h. 156.026138: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026141: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026144: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026147: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026150: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026158: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.026162: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.026166: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.026168: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.026171: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.026174: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.026177: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.026180: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026185: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026188: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026191: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026194: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.026233: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.026238: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.026241: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.026247: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.026250: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.026252: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026279: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.026282: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026286: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.026288: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.026291: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.026296: dwc3_ep0: queueing request ed1e60c0 to ep0out length 5 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026305: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.026308: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.026311: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.026314: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.026317: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026320: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026325: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026328: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.026332: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026335: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.026337: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026340: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026343: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026350: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.026354: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026359: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026362: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026365: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026368: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026376: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.026378: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026382: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.026385: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.026388: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026391: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.026395: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026398: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.026401: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.026403: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.026406: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.026409: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.026412: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026417: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026420: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026423: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026426: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.026462: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.026467: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.026470: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.026476: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.026478: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.026481: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026507: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.026510: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.026515: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.026517: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.026520: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.026526: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.026528: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.026532: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026535: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026538: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026541: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026544: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026553: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.026556: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026559: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026562: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026565: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026568: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026575: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.026577: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026583: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.026585: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.026588: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.026592: dwc3_ep0: queueing request ed1e60c0 to ep0out length 22 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026598: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.026601: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.026604: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.026607: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.026612: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026615: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026619: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026622: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.026624: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026627: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.026629: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026632: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026638: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026644: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.026647: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026650: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026653: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026656: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026659: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026667: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.026670: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026674: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.026677: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.026680: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026683: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.026685: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026688: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.026690: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.026693: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.026698: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.026701: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.026704: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026707: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026710: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026713: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026715: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.026763: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.026768: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.026771: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.026774: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.026777: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.026780: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026812: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.026814: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.026821: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.026824: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.026827: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.026830: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.026832: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.026835: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026838: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.026843: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026846: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026849: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026855: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.026859: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026861: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026864: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026870: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026872: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026880: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.026882: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026886: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.026888: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.026891: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.026898: dwc3_ep0: queueing request ed1e60c0 to ep0out length 9 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.026905: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.026911: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.026913: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.026916: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.026919: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026922: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.026926: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026930: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.026931: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026937: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.026939: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026942: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.026945: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026952: dwc3_readl: add fa39c40c value 0000000c irq/200-dwc3-765 [000] d.h. 156.026955: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.026958: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.026963: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026966: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.026969: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.026976: dwc3_event: event 000090c2 irq/200-dwc3-765 [000] d... 156.026978: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026982: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.026985: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.026986: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.026990: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.026993: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.026998: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027001: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.027002: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027006: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.027008: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027011: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.027014: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.027016: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.027022: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027025: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027027: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027030: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027033: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.027069: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.027074: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.027080: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.027083: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.027086: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.027089: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027114: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.027117: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.027122: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.027124: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027130: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.027133: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.027135: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.027139: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027142: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027144: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027147: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027152: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.027159: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.027162: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.027165: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.027168: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.027171: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.027174: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027181: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.027185: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.027189: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.027191: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.027194: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.027200: dwc3_ep0: queueing request ed1e60c0 to ep0out length 32 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.027205: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.027209: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.027212: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.027217: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.027220: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.027223: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.027227: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027230: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.027232: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027236: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.027237: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027243: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027245: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.027265: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.027269: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.027272: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.027275: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.027278: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.027283: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027299: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.027302: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027305: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.027309: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.027311: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027315: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.027316: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027320: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.027322: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027327: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.027330: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.027333: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.027336: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027339: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027342: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027345: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027350: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.027388: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.027393: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.027397: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.027400: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.027403: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.027406: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027435: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.027439: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.027444: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.027446: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027449: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.027452: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.027455: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.027458: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027463: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027466: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027469: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027471: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.027502: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.027507: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.027509: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.027515: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.027518: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.027521: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027546: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.027548: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.027553: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.027555: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.027557: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.027563: dwc3_ep0: queueing request ed1e60c0 to ep0out length 4 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.027572: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.027575: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.027578: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.027580: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.027584: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.027587: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.027591: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027594: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.027598: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027601: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.027603: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027606: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027609: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.027616: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.027619: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.027625: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.027628: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.027631: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.027634: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027642: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.027644: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027647: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.027650: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.027654: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027657: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.027660: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027664: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.027666: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027669: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.027672: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.027674: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.027678: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027682: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027685: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027688: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027691: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.027738: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.027743: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.027746: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.027752: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.027755: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.027758: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027788: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.027791: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.027795: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.027798: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027801: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.027806: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.027809: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.027812: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027815: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.027818: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027821: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027824: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.027843: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.027847: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.027850: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.027853: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.027856: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.027859: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027875: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.027877: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.027884: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.027885: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.027888: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.027896: dwc3_ep0: queueing request ed1e60c0 to ep0out length 32 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.027903: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.027906: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.027909: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.027912: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.027917: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.027920: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.027925: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027928: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.027929: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027933: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.027935: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027938: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.027943: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.027949: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.027952: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.027955: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.027958: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.027961: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.027964: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.027971: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.027975: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027979: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.027982: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.027985: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.027988: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.027989: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.027993: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.027995: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.027998: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.028003: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.028006: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.028009: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028012: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028015: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028018: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.028020: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.028063: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.028068: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.028071: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.028074: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.028077: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.028080: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.028112: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.028114: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.028121: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.028124: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.028127: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.028130: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.028133: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.028136: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028139: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028144: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028147: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.028150: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.028157: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.028160: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.028163: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.028166: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.028171: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.028174: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.028181: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.028183: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.028187: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.028189: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.028192: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.028199: dwc3_ep0: queueing request ed1e60c0 to ep0out length 110 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.028205: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.028211: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.028214: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.028216: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.028219: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.028222: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.028227: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028230: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.028232: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.028237: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.028239: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028243: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.028245: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.028252: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.028255: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.028258: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.028263: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.028266: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.028269: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.028277: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.028279: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.028282: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.028285: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.028288: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028291: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.028293: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.028299: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.028301: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.028304: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.028306: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.028309: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.028312: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028315: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028321: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028323: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.028326: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.028369: dwc3_readl: add fa39c40c value 00000004 -0 [000] d.h. 156.028373: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.028376: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.028379: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.028385: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.028388: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.028418: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.028421: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.028425: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.028428: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.028431: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.028434: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.028439: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.028442: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028445: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.028448: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.028451: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.028454: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.028956: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.028963: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.028966: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.028969: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.028972: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.028975: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.029005: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.029008: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.029012: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.029014: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.029019: dwc3_ep0: USB_REQ_SET_CONFIGURATION irq/200-dwc3-765 [000] d... 156.036387: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.036395: dwc3_writel: addr fa39c804 value 00000000 irq/200-dwc3-765 [000] d... 156.036399: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.036401: dwc3_writel: addr fa39c80c value 00020409 irq/200-dwc3-765 [000] d... 156.036405: dwc3_readl: add fa39c80c value 00020009 irq/200-dwc3-765 [000] d... 156.036409: dwc3_writel: addr fa39c838 value 00021004 irq/200-dwc3-765 [000] d... 156.036415: dwc3_writel: addr fa39c834 value 06000500 irq/200-dwc3-765 [000] d... 156.036418: dwc3_writel: addr fa39c830 value 00000000 irq/200-dwc3-765 [000] d... 156.036421: dwc3_writel: addr fa39c83c value 00000401 irq/200-dwc3-765 [000] d... 156.036424: dwc3_readl: add fa39c83c value 00000001 irq/200-dwc3-765 [000] d... 156.036427: dwc3_writel: addr fa39c838 value 00000001 irq/200-dwc3-765 [000] d... 156.036430: dwc3_writel: addr fa39c834 value 00000000 irq/200-dwc3-765 [000] d... 156.036432: dwc3_writel: addr fa39c830 value 00000000 irq/200-dwc3-765 [000] d... 156.036437: dwc3_writel: addr fa39c83c value 00000402 irq/200-dwc3-765 [000] d... 156.036440: dwc3_readl: add fa39c83c value 00030002 irq/200-dwc3-765 [000] d... 156.036443: dwc3_readl: add fa39c720 value 00000003 irq/200-dwc3-765 [000] d... 156.036446: dwc3_writel: addr fa39c720 value 0000000b irq/200-dwc3-765 [000] d... 156.036452: dwc3_writel: addr fa39c828 value 00001004 irq/200-dwc3-765 [000] d... 156.036455: dwc3_writel: addr fa39c824 value 04000500 irq/200-dwc3-765 [000] d... 156.036458: dwc3_writel: addr fa39c820 value 00000000 irq/200-dwc3-765 [000] d... 156.036463: dwc3_writel: addr fa39c82c value 00000401 irq/200-dwc3-765 [000] d... 156.036466: dwc3_readl: add fa39c82c value 00000001 irq/200-dwc3-765 [000] d... 156.036469: dwc3_writel: addr fa39c828 value 00000001 irq/200-dwc3-765 [000] d... 156.036471: dwc3_writel: addr fa39c824 value 00000000 irq/200-dwc3-765 [000] d... 156.036474: dwc3_writel: addr fa39c820 value 00000000 irq/200-dwc3-765 [000] d... 156.036477: dwc3_writel: addr fa39c82c value 00000402 irq/200-dwc3-765 [000] d... 156.036480: dwc3_readl: add fa39c82c value 00040002 irq/200-dwc3-765 [000] d... 156.036485: dwc3_readl: add fa39c720 value 0000000b irq/200-dwc3-765 [000] d... 156.036487: dwc3_writel: addr fa39c720 value 0000000f irq/200-dwc3-765 [000] d... 156.036785: dwc3_alloc_request: ep1out-bulk: req ed4b53c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036789: dwc3_alloc_request: ep1out-bulk: req ed4b52c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036791: dwc3_alloc_request: ep1out-bulk: req ed4b51c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036793: dwc3_alloc_request: ep1out-bulk: req ed4b5040 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036795: dwc3_alloc_request: ep1out-bulk: req ed3e5c40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036797: dwc3_alloc_request: ep1out-bulk: req ed3e5b40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036799: dwc3_alloc_request: ep1out-bulk: req ed3e5a40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036800: dwc3_alloc_request: ep1out-bulk: req ed3e58c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036802: dwc3_alloc_request: ep1out-bulk: req ed3e57c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036804: dwc3_alloc_request: ep1out-bulk: req ed3e56c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036806: dwc3_alloc_request: ep1in-bulk: req ed3e55c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036808: dwc3_alloc_request: ep1in-bulk: req ed3e54c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036810: dwc3_alloc_request: ep1in-bulk: req ed3e53c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036812: dwc3_alloc_request: ep1in-bulk: req ed3e52c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036814: dwc3_alloc_request: ep1in-bulk: req ed3e51c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036816: dwc3_alloc_request: ep1in-bulk: req ed3e50c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036824: dwc3_alloc_request: ep1in-bulk: req ed693040 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036826: dwc3_alloc_request: ep1in-bulk: req ed5cda40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036828: dwc3_alloc_request: ep1in-bulk: req ed5cd940 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.036829: dwc3_alloc_request: ep1in-bulk: req ed5cd9c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.037037: dwc3_ep0: queueing request ed1e60c0 to ep0out length 0 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.037052: dwc3_readl: add fa39c704 value 8c000000 irq/200-dwc3-765 [000] d... 156.037059: dwc3_writel: addr fa39c704 value 8c000a00 irq/200-dwc3-765 [000] d... 156.037062: dwc3_ep0: resize FIFOs flag SET irq/200-dwc3-765 [000] d... 156.037067: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037071: dwc3_event: event 000020c2 irq/200-dwc3-765 [000] d... 156.037077: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.037081: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.037083: dwc3_ep0: Resizing FIFOs irq/200-dwc3-765 [000] d... 156.037087: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.037090: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.037093: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.037096: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.037101: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.037105: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.037107: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037110: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.037113: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.H. 156.037244: dwc3_readl: add fa39c40c value 00000004 irq/200-dwc3-765 [000] d.H. 156.037252: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.H. 156.037259: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.H. 156.037262: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.H. 156.037265: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.H. 156.037268: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.037287: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.037290: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.037294: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.037298: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.037303: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.037308: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.037311: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.037314: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.037317: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.037321: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.037324: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037327: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.037332: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.037340: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.037343: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.037346: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.037349: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.037352: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.037355: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.037363: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.037367: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.037371: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.037375: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.037377: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.037386: dwc3_ep0: queueing request ed1e60c0 to ep0out length 70 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.037397: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.037400: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.037403: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.037408: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.037411: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.037414: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.037419: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037422: dwc3_event: event 000010c2 irq/200-dwc3-765 [000] d... 156.037424: dwc3_ep0: Transfer Not Ready while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.037428: dwc3_ep0: Control Data irq/200-dwc3-765 [000] d... 156.037430: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037435: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.037438: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.037445: dwc3_readl: add fa39c40c value 00000008 irq/200-dwc3-765 [000] d.h. 156.037449: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.037451: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.037455: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.037458: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.037463: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.037470: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.037472: dwc3_ep0: Transfer Complete while ep0in in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.037476: dwc3_ep0: Data Phase irq/200-dwc3-765 [000] d... 156.037479: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.037482: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037485: dwc3_event: event 000020c0 irq/200-dwc3-765 [000] d... 156.037487: dwc3_ep0: Transfer Not Ready while ep0out in state 'Data Phase' irq/200-dwc3-765 [000] d... 156.037490: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.037493: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.037498: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.037500: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.037503: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.037506: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.037509: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.037512: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037515: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.037520: dwc3_writel: addr fa39c408 value 00000100 kworker/0:2-732 [000] d.h. 156.037566: dwc3_readl: add fa39c40c value 00000004 kworker/0:2-732 [000] d.h. 156.037571: dwc3_readl: add fa39c408 value 00000100 kworker/0:2-732 [000] d.h. 156.037573: dwc3_writel: addr fa39c408 value 80000100 kworker/0:2-732 [000] d.h. 156.037577: dwc3_readl: add fa39c41c value 00000000 kworker/0:2-732 [000] d.h. 156.037580: dwc3_readl: add fa39c42c value 00000000 kworker/0:2-732 [000] d.h. 156.037583: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.037615: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.037620: dwc3_ep0: Transfer Complete while ep0out in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.037625: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.037628: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.037631: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.037634: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.037637: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.037640: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.037645: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.037648: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.037651: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.037654: dwc3_writel: addr fa39c408 value 00000100 -0 [000] d.h. 156.231093: dwc3_readl: add fa39c40c value 00000008 -0 [000] d.h. 156.231106: dwc3_readl: add fa39c408 value 00000100 -0 [000] d.h. 156.231111: dwc3_writel: addr fa39c408 value 80000100 -0 [000] d.h. 156.231117: dwc3_readl: add fa39c41c value 00000000 -0 [000] d.h. 156.231120: dwc3_readl: add fa39c42c value 00000000 -0 [000] d.h. 156.231123: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.231180: dwc3_event: event 0000c040 irq/200-dwc3-765 [000] d... 156.231185: dwc3_ep0: Transfer Complete while ep0out in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.231192: dwc3_ep0: Setup Phase irq/200-dwc3-765 [000] d... 156.231195: dwc3_ctrl_req: bRequestType 01 bRequest 0b wValue 0000 wIndex 0000 wLength 0 irq/200-dwc3-765 [000] d... 156.231198: dwc3_ep0: Forwarding to gadget driver irq/200-dwc3-765 [000] d... 156.231632: dwc3_readl: add fa39c720 value 0000000f irq/200-dwc3-765 [000] d... 156.231644: dwc3_writel: addr fa39c720 value 00000007 irq/200-dwc3-765 [000] d... 156.231651: dwc3_free_request: ep1out-bulk: req ed3e56c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231657: dwc3_free_request: ep1out-bulk: req ed3e57c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231660: dwc3_free_request: ep1out-bulk: req ed3e58c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231662: dwc3_free_request: ep1out-bulk: req ed3e5a40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231664: dwc3_free_request: ep1out-bulk: req ed3e5b40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231667: dwc3_free_request: ep1out-bulk: req ed3e5c40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231669: dwc3_free_request: ep1out-bulk: req ed4b5040 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231672: dwc3_free_request: ep1out-bulk: req ed4b51c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231674: dwc3_free_request: ep1out-bulk: req ed4b52c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231676: dwc3_free_request: ep1out-bulk: req ed4b53c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231682: dwc3_readl: add fa39c720 value 00000007 irq/200-dwc3-765 [000] d... 156.231685: dwc3_writel: addr fa39c720 value 00000003 irq/200-dwc3-765 [000] d... 156.231689: dwc3_free_request: ep1in-bulk: req ed5cd9c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231692: dwc3_free_request: ep1in-bulk: req ed5cd940 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231695: dwc3_free_request: ep1in-bulk: req ed5cda40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231697: dwc3_free_request: ep1in-bulk: req ed693040 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231700: dwc3_free_request: ep1in-bulk: req ed3e50c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231702: dwc3_free_request: ep1in-bulk: req ed3e51c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231705: dwc3_free_request: ep1in-bulk: req ed3e52c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231707: dwc3_free_request: ep1in-bulk: req ed3e53c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231710: dwc3_free_request: ep1in-bulk: req ed3e54c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231712: dwc3_free_request: ep1in-bulk: req ed3e55c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231747: dwc3_writel: addr fa39c838 value 00021004 irq/200-dwc3-765 [000] d... 156.231751: dwc3_writel: addr fa39c834 value 06000500 irq/200-dwc3-765 [000] d... 156.231754: dwc3_writel: addr fa39c830 value 00000000 irq/200-dwc3-765 [000] d... 156.231757: dwc3_writel: addr fa39c83c value 00000401 irq/200-dwc3-765 [000] d... 156.231762: dwc3_readl: add fa39c83c value 00000001 irq/200-dwc3-765 [000] d... 156.231766: dwc3_writel: addr fa39c838 value 00000001 irq/200-dwc3-765 [000] d... 156.231768: dwc3_writel: addr fa39c834 value 00000000 irq/200-dwc3-765 [000] d... 156.231771: dwc3_writel: addr fa39c830 value 00000000 irq/200-dwc3-765 [000] d... 156.231774: dwc3_writel: addr fa39c83c value 00000402 irq/200-dwc3-765 [000] d... 156.231777: dwc3_readl: add fa39c83c value 00050002 irq/200-dwc3-765 [000] d... 156.231780: dwc3_readl: add fa39c720 value 00000003 irq/200-dwc3-765 [000] d... 156.231785: dwc3_writel: addr fa39c720 value 0000000b irq/200-dwc3-765 [000] d... 156.231789: dwc3_writel: addr fa39c828 value 00001004 irq/200-dwc3-765 [000] d... 156.231792: dwc3_writel: addr fa39c824 value 04000500 irq/200-dwc3-765 [000] d... 156.231795: dwc3_writel: addr fa39c820 value 00000000 irq/200-dwc3-765 [000] d... 156.231798: dwc3_writel: addr fa39c82c value 00000401 irq/200-dwc3-765 [000] d... 156.231801: dwc3_readl: add fa39c82c value 00000001 irq/200-dwc3-765 [000] d... 156.231803: dwc3_writel: addr fa39c828 value 00000001 irq/200-dwc3-765 [000] d... 156.231808: dwc3_writel: addr fa39c824 value 00000000 irq/200-dwc3-765 [000] d... 156.231811: dwc3_writel: addr fa39c820 value 00000000 irq/200-dwc3-765 [000] d... 156.231814: dwc3_writel: addr fa39c82c value 00000402 irq/200-dwc3-765 [000] d... 156.231817: dwc3_readl: add fa39c82c value 00060002 irq/200-dwc3-765 [000] d... 156.231820: dwc3_readl: add fa39c720 value 0000000b irq/200-dwc3-765 [000] d... 156.231822: dwc3_writel: addr fa39c720 value 0000000f irq/200-dwc3-765 [000] d... 156.231830: dwc3_alloc_request: ep1in-bulk: req ed3e55c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231832: dwc3_alloc_request: ep1in-bulk: req ed3e54c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231834: dwc3_alloc_request: ep1in-bulk: req ed3e53c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231836: dwc3_alloc_request: ep1in-bulk: req ed3e52c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231837: dwc3_alloc_request: ep1in-bulk: req ed3e51c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231839: dwc3_alloc_request: ep1in-bulk: req ed3e50c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231841: dwc3_alloc_request: ep1in-bulk: req ed693040 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231843: dwc3_alloc_request: ep1in-bulk: req ed5cda40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231844: dwc3_alloc_request: ep1in-bulk: req ed5cd940 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231846: dwc3_alloc_request: ep1in-bulk: req ed5cd9c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231848: dwc3_alloc_request: ep1out-bulk: req ed4b53c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231850: dwc3_alloc_request: ep1out-bulk: req ed4b52c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231851: dwc3_alloc_request: ep1out-bulk: req ed4b51c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231853: dwc3_alloc_request: ep1out-bulk: req ed4b5040 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231855: dwc3_alloc_request: ep1out-bulk: req ed3e5c40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231857: dwc3_alloc_request: ep1out-bulk: req ed3e5b40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231859: dwc3_alloc_request: ep1out-bulk: req ed3e5a40 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231860: dwc3_alloc_request: ep1out-bulk: req ed3e58c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231862: dwc3_alloc_request: ep1out-bulk: req ed3e57c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231864: dwc3_alloc_request: ep1out-bulk: req ed3e56c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231881: dwc3_ep0: queueing request ed1e60c0 to ep0out length 0 state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.231892: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.231895: dwc3_event: event 000020c2 irq/200-dwc3-765 [000] d... 156.231897: dwc3_ep0: Transfer Not Ready while ep0in in state 'Setup Phase' irq/200-dwc3-765 [000] d... 156.231901: dwc3_ep0: Control Status irq/200-dwc3-765 [000] d... 156.231904: dwc3_writel: addr fa39c818 value 00000000 irq/200-dwc3-765 [000] d... 156.231907: dwc3_writel: addr fa39c814 value ae845000 irq/200-dwc3-765 [000] d... 156.231910: dwc3_writel: addr fa39c810 value 00000000 irq/200-dwc3-765 [000] d... 156.231912: dwc3_writel: addr fa39c81c value 00000406 irq/200-dwc3-765 [000] d... 156.231918: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.231921: dwc3_readl: add fa39c81c value 00010006 irq/200-dwc3-765 [000] d... 156.231924: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.231927: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.231930: dwc3_writel: addr fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.231944: dwc3_readl: add fa39c40c value 00000004 irq/200-dwc3-765 [000] d.h. 156.231949: dwc3_readl: add fa39c408 value 00000100 irq/200-dwc3-765 [000] d.h. 156.231954: dwc3_writel: addr fa39c408 value 80000100 irq/200-dwc3-765 [000] d.h. 156.231957: dwc3_readl: add fa39c41c value 00000000 irq/200-dwc3-765 [000] d.h. 156.231960: dwc3_readl: add fa39c42c value 00000000 irq/200-dwc3-765 [000] d.h. 156.231963: dwc3_readl: add fa39c43c value 00000000 irq/200-dwc3-765 [000] d... 156.231978: dwc3_event: event 0000c042 irq/200-dwc3-765 [000] d... 156.231980: dwc3_ep0: Transfer Complete while ep0in in state 'Status Phase' irq/200-dwc3-765 [000] d... 156.231985: dwc3_ep0: Status Phase irq/200-dwc3-765 [000] d... 156.231989: dwc3_gadget_giveback: ep0out: req ed1e60c0 length 0/0 ==> 0 irq/200-dwc3-765 [000] d... 156.231993: dwc3_writel: addr fa39c808 value 00000000 irq/200-dwc3-765 [000] d... 156.231998: dwc3_writel: addr fa39c804 value ae845000 irq/200-dwc3-765 [000] d... 156.232001: dwc3_writel: addr fa39c800 value 00000000 irq/200-dwc3-765 [000] d... 156.232004: dwc3_writel: addr fa39c80c value 00000406 irq/200-dwc3-765 [000] d... 156.232007: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.232010: dwc3_readl: add fa39c80c value 00000006 irq/200-dwc3-765 [000] d... 156.232013: dwc3_writel: addr fa39c40c value 00000004 irq/200-dwc3-765 [000] d... 156.232016: dwc3_readl: add fa39c408 value 80000100 irq/200-dwc3-765 [000] d... 156.232021: dwc3_writel: addr fa39c408 value 00000100 And here's latest patch (it would be nice if I can get a Reviewed-by :-) 8<---------------------------------------------------------------------------------------- >From 72af1d7830c85a19821bc32360376b3a2859ac9e Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Wed, 30 Apr 2014 17:45:10 -0500 Subject: [PATCH] usb: dwc3: add tracepoints to aid debugging When we're debugging hard-to-reproduce and time-sensitive use cases, printk() poses too much overhead. That's when the kernel's tracing infrastructure comes into play. This patch implements a few initial tracepoints for the dwc3 driver. More traces can be added as necessary in order to ease the task of debugging dwc3. Signed-off-by: Felipe Balbi Reviewed-by: Paul Zimmerman --- drivers/usb/dwc3/Makefile | 5 +- drivers/usb/dwc3/core.h | 2 + drivers/usb/dwc3/debug.c | 32 +++++++++++ drivers/usb/dwc3/debug.h | 2 + drivers/usb/dwc3/ep0.c | 64 ++++++++++++--------- drivers/usb/dwc3/gadget.c | 24 +++----- drivers/usb/dwc3/io.h | 30 +++++++++- drivers/usb/dwc3/trace.c | 19 ++++++ drivers/usb/dwc3/trace.h | 143 ++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 274 insertions(+), 47 deletions(-) create mode 100644 drivers/usb/dwc3/debug.c create mode 100644 drivers/usb/dwc3/trace.c create mode 100644 drivers/usb/dwc3/trace.h diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile index 10ac3e7..7793e6c 100644 --- a/drivers/usb/dwc3/Makefile +++ b/drivers/usb/dwc3/Makefile @@ -1,9 +1,12 @@ +# define_trace.h needs to know how to find our header +CFLAGS_trace.o := -I$(src) + ccflags-$(CONFIG_USB_DWC3_DEBUG) := -DDEBUG ccflags-$(CONFIG_USB_DWC3_VERBOSE) += -DVERBOSE_DEBUG obj-$(CONFIG_USB_DWC3) += dwc3.o -dwc3-y := core.o +dwc3-y := core.o debug.o trace.o ifneq ($(filter y,$(CONFIG_USB_DWC3_HOST) $(CONFIG_USB_DWC3_DUAL_ROLE)),) dwc3-y += host.o diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h index 48fb264..dbdad87 100644 --- a/drivers/usb/dwc3/core.h +++ b/drivers/usb/dwc3/core.h @@ -33,6 +33,8 @@ #include +#define DWC3_MSG_MAX 500 + /* Global constants */ #define DWC3_EP0_BOUNCE_SIZE 512 #define DWC3_ENDPOINTS_NUM 32 diff --git a/drivers/usb/dwc3/debug.c b/drivers/usb/dwc3/debug.c new file mode 100644 index 0000000..0be6885 --- /dev/null +++ b/drivers/usb/dwc3/debug.c @@ -0,0 +1,32 @@ +/** + * debug.c - DesignWare USB3 DRD Controller Debug/Trace Support + * + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com + * + * Author: Felipe Balbi + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 of + * the License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "debug.h" + +void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...) +{ + struct va_format vaf; + va_list args; + + va_start(args, fmt); + vaf.fmt = fmt; + vaf.va = &args; + + trace(&vaf); + + va_end(args); +} diff --git a/drivers/usb/dwc3/debug.h b/drivers/usb/dwc3/debug.h index 12ff4c9..07fbc2d 100644 --- a/drivers/usb/dwc3/debug.h +++ b/drivers/usb/dwc3/debug.h @@ -214,6 +214,8 @@ static inline const char *dwc3_gadget_event_type_string(u8 event) } } +void dwc3_trace(void (*trace)(struct va_format *), const char *fmt, ...); + #ifdef CONFIG_DEBUG_FS extern int dwc3_debugfs_init(struct dwc3 *); extern void dwc3_debugfs_exit(struct dwc3 *); diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index 21a3520..f3e9d5f 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -65,7 +65,7 @@ static int dwc3_ep0_start_trans(struct dwc3 *dwc, u8 epnum, dma_addr_t buf_dma, dep = dwc->eps[epnum]; if (dep->flags & DWC3_EP_BUSY) { - dev_vdbg(dwc->dev, "%s: still busy\n", dep->name); + dwc3_trace(trace_dwc3_ep0, "%s still busy", dep->name); return 0; } @@ -88,7 +88,8 @@ static int dwc3_ep0_start_trans(struct dwc3 *dwc, u8 epnum, dma_addr_t buf_dma, ret = dwc3_send_gadget_ep_cmd(dwc, dep->number, DWC3_DEPCMD_STARTTRANSFER, ¶ms); if (ret < 0) { - dev_dbg(dwc->dev, "failed to send STARTTRANSFER command\n"); + dwc3_trace(trace_dwc3_ep0, "%s STARTTRANSFER failed", + dep->name); return ret; } @@ -153,7 +154,8 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, if (dwc->ep0state == EP0_STATUS_PHASE) __dwc3_ep0_do_control_status(dwc, dwc->eps[direction]); else - dev_dbg(dwc->dev, "too early for delayed status\n"); + dwc3_trace(trace_dwc3_ep0, + "too early for delayed status"); return 0; } @@ -217,7 +219,8 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request, spin_lock_irqsave(&dwc->lock, flags); if (!dep->endpoint.desc) { - dev_dbg(dwc->dev, "trying to queue request %p to disabled %s\n", + dwc3_trace(trace_dwc3_ep0, + "trying to queue request %p to disabled %s", request, dep->name); ret = -ESHUTDOWN; goto out; @@ -229,7 +232,8 @@ int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request, goto out; } - dev_vdbg(dwc->dev, "queueing request %p to %s length %d, state '%s'\n", + dwc3_trace(trace_dwc3_ep0, + "queueing request %p to %s length %d state '%s'", request, dep->name, request->length, dwc3_ep0_state_string(dwc->ep0state)); @@ -485,12 +489,13 @@ static int dwc3_ep0_set_address(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl) addr = le16_to_cpu(ctrl->wValue); if (addr > 127) { - dev_dbg(dwc->dev, "invalid device address %d\n", addr); + dwc3_trace(trace_dwc3_ep0, "invalid device address %d", addr); return -EINVAL; } if (state == USB_STATE_CONFIGURED) { - dev_dbg(dwc->dev, "trying to set address when configured\n"); + dwc3_trace(trace_dwc3_ep0, + "trying to set address when configured"); return -EINVAL; } @@ -556,7 +561,7 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl) dwc3_writel(dwc->regs, DWC3_DCTL, reg); dwc->resize_fifos = true; - dev_dbg(dwc->dev, "resize fifos flag SET\n"); + dwc3_trace(trace_dwc3_ep0, "resize FIFOs flag SET"); } break; @@ -680,35 +685,35 @@ static int dwc3_ep0_std_request(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl) switch (ctrl->bRequest) { case USB_REQ_GET_STATUS: - dev_vdbg(dwc->dev, "USB_REQ_GET_STATUS\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_GET_STATUS\n"); ret = dwc3_ep0_handle_status(dwc, ctrl); break; case USB_REQ_CLEAR_FEATURE: - dev_vdbg(dwc->dev, "USB_REQ_CLEAR_FEATURE\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_CLEAR_FEATURE\n"); ret = dwc3_ep0_handle_feature(dwc, ctrl, 0); break; case USB_REQ_SET_FEATURE: - dev_vdbg(dwc->dev, "USB_REQ_SET_FEATURE\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_FEATURE\n"); ret = dwc3_ep0_handle_feature(dwc, ctrl, 1); break; case USB_REQ_SET_ADDRESS: - dev_vdbg(dwc->dev, "USB_REQ_SET_ADDRESS\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_ADDRESS\n"); ret = dwc3_ep0_set_address(dwc, ctrl); break; case USB_REQ_SET_CONFIGURATION: - dev_vdbg(dwc->dev, "USB_REQ_SET_CONFIGURATION\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_CONFIGURATION\n"); ret = dwc3_ep0_set_config(dwc, ctrl); break; case USB_REQ_SET_SEL: - dev_vdbg(dwc->dev, "USB_REQ_SET_SEL\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_SEL\n"); ret = dwc3_ep0_set_sel(dwc, ctrl); break; case USB_REQ_SET_ISOCH_DELAY: - dev_vdbg(dwc->dev, "USB_REQ_SET_ISOCH_DELAY\n"); + dwc3_trace(trace_dwc3_ep0, "USB_REQ_SET_ISOCH_DELAY\n"); ret = dwc3_ep0_set_isoch_delay(dwc, ctrl); break; default: - dev_vdbg(dwc->dev, "Forwarding to gadget driver\n"); + dwc3_trace(trace_dwc3_ep0, "Forwarding to gadget driver\n"); ret = dwc3_ep0_delegate_req(dwc, ctrl); break; } @@ -726,6 +731,8 @@ static void dwc3_ep0_inspect_setup(struct dwc3 *dwc, if (!dwc->gadget_driver) goto out; + trace_dwc3_ctrl_req(ctrl); + len = le16_to_cpu(ctrl->wLength); if (!len) { dwc->three_stage_setup = false; @@ -774,7 +781,7 @@ static void dwc3_ep0_complete_data(struct dwc3 *dwc, status = DWC3_TRB_SIZE_TRBSTS(trb->size); if (status == DWC3_TRBSTS_SETUP_PENDING) { - dev_dbg(dwc->dev, "Setup Pending received\n"); + dwc3_trace(trace_dwc3_ep0, "Setup Pending received"); if (r) dwc3_gadget_giveback(ep0, r, -ECONNRESET); @@ -834,7 +841,7 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc, ret = dwc3_gadget_set_test_mode(dwc, dwc->test_mode_nr); if (ret < 0) { - dev_dbg(dwc->dev, "Invalid Test #%d\n", + dwc3_trace(trace_dwc3_ep0, "Invalid Test #%d", dwc->test_mode_nr); dwc3_ep0_stall_and_restart(dwc); return; @@ -843,7 +850,7 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc, status = DWC3_TRB_SIZE_TRBSTS(trb->size); if (status == DWC3_TRBSTS_SETUP_PENDING) - dev_dbg(dwc->dev, "Setup Pending received\n"); + dwc3_trace(trace_dwc3_ep0, "Setup Pending received\n"); dwc->ep0state = EP0_SETUP_PHASE; dwc3_ep0_out_start(dwc); @@ -860,17 +867,17 @@ static void dwc3_ep0_xfer_complete(struct dwc3 *dwc, switch (dwc->ep0state) { case EP0_SETUP_PHASE: - dev_vdbg(dwc->dev, "Inspecting Setup Bytes\n"); + dwc3_trace(trace_dwc3_ep0, "Setup Phase"); dwc3_ep0_inspect_setup(dwc, event); break; case EP0_DATA_PHASE: - dev_vdbg(dwc->dev, "Data Phase\n"); + dwc3_trace(trace_dwc3_ep0, "Data Phase"); dwc3_ep0_complete_data(dwc, event); break; case EP0_STATUS_PHASE: - dev_vdbg(dwc->dev, "Status Phase\n"); + dwc3_trace(trace_dwc3_ep0, "Status Phase"); dwc3_ep0_complete_status(dwc, event); break; default: @@ -946,7 +953,7 @@ static int dwc3_ep0_start_control_status(struct dwc3_ep *dep) static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep) { if (dwc->resize_fifos) { - dev_dbg(dwc->dev, "starting to resize fifos\n"); + dwc3_trace(trace_dwc3_ep0, "Resizing FIFOs"); dwc3_gadget_resize_tx_fifos(dwc); dwc->resize_fifos = 0; } @@ -987,7 +994,7 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc, switch (event->status) { case DEPEVT_STATUS_CONTROL_DATA: - dev_vdbg(dwc->dev, "Control Data\n"); + dwc3_trace(trace_dwc3_ep0, "Control Data"); /* * We already have a DATA transfer in the controller's cache, @@ -1001,7 +1008,8 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc, if (dwc->ep0_expect_in != event->endpoint_number) { struct dwc3_ep *dep = dwc->eps[dwc->ep0_expect_in]; - dev_vdbg(dwc->dev, "Wrong direction for Data phase\n"); + dwc3_trace(trace_dwc3_ep0, + "Wrong direction for Data phase"); dwc3_ep0_end_control_data(dwc, dep); dwc3_ep0_stall_and_restart(dwc); return; @@ -1013,13 +1021,13 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc, if (dwc->ep0_next_event != DWC3_EP0_NRDY_STATUS) return; - dev_vdbg(dwc->dev, "Control Status\n"); + dwc3_trace(trace_dwc3_ep0, "Control Status"); dwc->ep0state = EP0_STATUS_PHASE; if (dwc->delayed_status) { WARN_ON_ONCE(event->endpoint_number != 1); - dev_vdbg(dwc->dev, "Mass Storage delayed status\n"); + dwc3_trace(trace_dwc3_ep0, "Delayed Status"); return; } @@ -1032,7 +1040,7 @@ void dwc3_ep0_interrupt(struct dwc3 *dwc, { u8 epnum = event->endpoint_number; - dev_dbg(dwc->dev, "%s while ep%d%s in state '%s'\n", + dwc3_trace(trace_dwc3_ep0, "%s while ep%d%s in state '%s'", dwc3_ep_event_string(event->endpoint_event), epnum >> 1, (epnum & 1) ? "in" : "out", dwc3_ep0_state_string(dwc->ep0state)); diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 3ce350f..ca0405c 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -267,6 +267,7 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req, dev_dbg(dwc->dev, "request %p from %s completed %d/%d ===> %d\n", req, dep->name, req->request.actual, req->request.length, status); + trace_dwc3_gadget_giveback(req); spin_unlock(&dwc->lock); req->request.complete(&dep->endpoint, &req->request); @@ -713,6 +714,8 @@ static struct usb_request *dwc3_gadget_ep_alloc_request(struct usb_ep *ep, req->epnum = dep->number; req->dep = dep; + trace_dwc3_alloc_request(req); + return &req->request; } @@ -721,6 +724,7 @@ static void dwc3_gadget_ep_free_request(struct usb_ep *ep, { struct dwc3_request *req = to_dwc3_request(request); + trace_dwc3_free_request(req); kfree(req); } @@ -1146,6 +1150,7 @@ static int dwc3_gadget_ep_queue(struct usb_ep *ep, struct usb_request *request, dev_vdbg(dwc->dev, "queing request %p to %s length %d\n", request, ep->name, request->length); + trace_dwc3_ep_queue(req); spin_lock_irqsave(&dwc->lock, flags); ret = __dwc3_gadget_ep_queue(dep, req); @@ -1166,6 +1171,8 @@ static int dwc3_gadget_ep_dequeue(struct usb_ep *ep, unsigned long flags; int ret = 0; + trace_dwc3_ep_dequeue(req); + spin_lock_irqsave(&dwc->lock, flags); list_for_each_entry(r, &dep->request_list, list) { @@ -1933,9 +1940,6 @@ static void dwc3_endpoint_interrupt(struct dwc3 *dwc, if (!(dep->flags & DWC3_EP_ENABLED)) return; - dev_vdbg(dwc->dev, "%s: %s\n", dep->name, - dwc3_ep_event_string(event->endpoint_event)); - if (epnum == 0 || epnum == 1) { dwc3_ep0_interrupt(dwc, event); return; @@ -2128,8 +2132,6 @@ static void dwc3_gadget_disconnect_interrupt(struct dwc3 *dwc) { int reg; - dev_vdbg(dwc->dev, "%s\n", __func__); - reg = dwc3_readl(dwc->regs, DWC3_DCTL); reg &= ~DWC3_DCTL_INITU1ENA; dwc3_writel(dwc->regs, DWC3_DCTL, reg); @@ -2148,8 +2150,6 @@ static void dwc3_gadget_reset_interrupt(struct dwc3 *dwc) { u32 reg; - dev_vdbg(dwc->dev, "%s\n", __func__); - /* * WORKAROUND: DWC3 revisions <1.88a have an issue which * would cause a missing Disconnect Event if there's a @@ -2234,8 +2234,6 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) u32 reg; u8 speed; - dev_vdbg(dwc->dev, "%s\n", __func__); - reg = dwc3_readl(dwc->regs, DWC3_DSTS); speed = reg & DWC3_DSTS_CONNECTSPD; dwc->speed = speed; @@ -2333,8 +2331,6 @@ static void dwc3_gadget_conndone_interrupt(struct dwc3 *dwc) static void dwc3_gadget_wakeup_interrupt(struct dwc3 *dwc) { - dev_vdbg(dwc->dev, "%s\n", __func__); - /* * TODO take core out of low power mode when that's * implemented. @@ -2439,10 +2435,6 @@ static void dwc3_gadget_linksts_change_interrupt(struct dwc3 *dwc, break; } - dev_vdbg(dwc->dev, "link change: %s [%d] -> %s [%d]\n", - dwc3_gadget_link_string(dwc->link_state), - dwc->link_state, dwc3_gadget_link_string(next), next); - dwc->link_state = next; } @@ -2519,6 +2511,8 @@ static void dwc3_gadget_interrupt(struct dwc3 *dwc, static void dwc3_process_event_entry(struct dwc3 *dwc, const union dwc3_event *event) { + trace_dwc3_event(event->raw); + /* Endpoint IRQ, handle it and return early */ if (event->type.is_devspec == 0) { /* depevt */ diff --git a/drivers/usb/dwc3/io.h b/drivers/usb/dwc3/io.h index d94441c..df8ac17 100644 --- a/drivers/usb/dwc3/io.h +++ b/drivers/usb/dwc3/io.h @@ -20,27 +20,51 @@ #define __DRIVERS_USB_DWC3_IO_H #include - +#include "trace.h" +#include "debug.h" #include "core.h" static inline u32 dwc3_readl(void __iomem *base, u32 offset) { + u32 offs = offset - DWC3_GLOBALS_REGS_START; + u32 value; + /* * We requested the mem region starting from the Globals address * space, see dwc3_probe in core.c. * However, the offsets are given starting from xHCI address space. */ - return readl(base + (offset - DWC3_GLOBALS_REGS_START)); + value = readl(base + offs); + + /* + * When tracing we want to make it easy to find the correct address on + * documentation, so we revert it back to the proper addresses, the + * same way they are described on SNPS documentation + */ + dwc3_trace(trace_dwc3_readl, "add %p value %08x", + base - DWC3_GLOBALS_REGS_START + offset, value); + + return value; } static inline void dwc3_writel(void __iomem *base, u32 offset, u32 value) { + u32 offs = offset - DWC3_GLOBALS_REGS_START; + /* * We requested the mem region starting from the Globals address * space, see dwc3_probe in core.c. * However, the offsets are given starting from xHCI address space. */ - writel(value, base + (offset - DWC3_GLOBALS_REGS_START)); + writel(value, base + offs); + + /* + * When tracing we want to make it easy to find the correct address on + * documentation, so we revert it back to the proper addresses, the + * same way they are described on SNPS documentation + */ + dwc3_trace(trace_dwc3_writel, "addr %p value %08x", + base - DWC3_GLOBALS_REGS_START + offset, value); } #endif /* __DRIVERS_USB_DWC3_IO_H */ diff --git a/drivers/usb/dwc3/trace.c b/drivers/usb/dwc3/trace.c new file mode 100644 index 0000000..6cd1664 --- /dev/null +++ b/drivers/usb/dwc3/trace.c @@ -0,0 +1,19 @@ +/** + * trace.c - DesignWare USB3 DRD Controller Trace Support + * + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com + * + * Author: Felipe Balbi + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 of + * the License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#define CREATE_TRACE_POINTS +#include "trace.h" diff --git a/drivers/usb/dwc3/trace.h b/drivers/usb/dwc3/trace.h new file mode 100644 index 0000000..992cc38 --- /dev/null +++ b/drivers/usb/dwc3/trace.h @@ -0,0 +1,143 @@ +/** + * trace.h - DesignWare USB3 DRD Controller Trace Support + * + * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com + * + * Author: Felipe Balbi + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 of + * the License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM dwc3 + +#if !defined(__DWC3_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) +#define __DWC3_TRACE_H + +#include +#include +#include +#include "core.h" + +DECLARE_EVENT_CLASS(dwc3_log_msg, + TP_PROTO(struct va_format *vaf), + TP_ARGS(vaf), + TP_STRUCT__entry(__dynamic_array(char, msg, DWC3_MSG_MAX)), + TP_fast_assign( + vsnprintf(__get_str(msg), DWC3_MSG_MAX, vaf->fmt, *vaf->va); + ), + TP_printk("%s", __get_str(msg)) +); + +DEFINE_EVENT(dwc3_log_msg, dwc3_readl, + TP_PROTO(struct va_format *vaf), + TP_ARGS(vaf) +); + +DEFINE_EVENT(dwc3_log_msg, dwc3_writel, + TP_PROTO(struct va_format *vaf), + TP_ARGS(vaf) +); + +DEFINE_EVENT(dwc3_log_msg, dwc3_ep0, + TP_PROTO(struct va_format *vaf), + TP_ARGS(vaf) +); + +DECLARE_EVENT_CLASS(dwc3_log_event, + TP_PROTO(u32 event), + TP_ARGS(event), + TP_STRUCT__entry( + __field(u32, event) + ), + TP_fast_assign( + __entry->event = event; + ), + TP_printk("event %08x\n", __entry->event) +); + +DEFINE_EVENT(dwc3_log_event, dwc3_event, + TP_PROTO(u32 event), + TP_ARGS(event) +); + +DECLARE_EVENT_CLASS(dwc3_log_ctrl, + TP_PROTO(struct usb_ctrlrequest *ctrl), + TP_ARGS(ctrl), + TP_STRUCT__entry( + __field(struct usb_ctrlrequest *, ctrl) + ), + TP_fast_assign( + __entry->ctrl = ctrl; + ), + TP_printk("bRequestType %02x bRequest %02x wValue %04x wIndex %04x wLength %d", + __entry->ctrl->bRequestType, __entry->ctrl->bRequest, + le16_to_cpu(__entry->ctrl->wValue), le16_to_cpu(__entry->ctrl->wIndex), + le16_to_cpu(__entry->ctrl->wLength) + ) +); + +DEFINE_EVENT(dwc3_log_ctrl, dwc3_ctrl_req, + TP_PROTO(struct usb_ctrlrequest *ctrl), + TP_ARGS(ctrl) +); + +DECLARE_EVENT_CLASS(dwc3_log_request, + TP_PROTO(struct dwc3_request *req), + TP_ARGS(req), + TP_STRUCT__entry( + __field(struct dwc3_request *, req) + ), + TP_fast_assign( + __entry->req = req; + ), + TP_printk("%s: req %p length %u/%u ==> %d", + __entry->req->dep->name, __entry->req, + __entry->req->request.actual, __entry->req->request.length, + __entry->req->request.status + ) +); + +DEFINE_EVENT(dwc3_log_request, dwc3_alloc_request, + TP_PROTO(struct dwc3_request *req), + TP_ARGS(req) +); + +DEFINE_EVENT(dwc3_log_request, dwc3_free_request, + TP_PROTO(struct dwc3_request *req), + TP_ARGS(req) +); + +DEFINE_EVENT(dwc3_log_request, dwc3_ep_queue, + TP_PROTO(struct dwc3_request *req), + TP_ARGS(req) +); + +DEFINE_EVENT(dwc3_log_request, dwc3_ep_dequeue, + TP_PROTO(struct dwc3_request *req), + TP_ARGS(req) +); + +DEFINE_EVENT(dwc3_log_request, dwc3_gadget_giveback, + TP_PROTO(struct dwc3_request *req), + TP_ARGS(req) +); + +#endif /* __DWC3_TRACE_H */ + +/* this part has to be here */ + +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH . + +#undef TRACE_INCLUDE_FILE +#define TRACE_INCLUDE_FILE trace + +#include