From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-123275-1520587611-2-16850709866412714262 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.25, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='CN', FromHeader='com', MailFrom='org' X-Spam-charsets: plain='utf-8' X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: linux-usb-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1520587610; b=hoxE3wd3lFMOV6frAnjVZU3iQWyN/Zi/sn8Ps6CnzCWFiTh M+ZIh6QPsFTnrp6y3LhlOOfZ0AYBYHyu5YOblXQRSmL6gZ6r4G9PDr1rzMn/Xp0t zNtGuCCCGYxO1ebgBSKZzsBlEnUaRc1vbm65YDaCO1wAn1cvUyAeuPkDbGAzI6QB Inbcv0c93OPuNFoxdwv/A/9vBfgPHdRKizfdkN8d5UTr4wA1Ql2M7NluqvFZ3L02 DBbVCmgNfeqUgStVW+rbOXzJkwDKe+BwY5CATjTEiVUzKjTuBG/lxC3JEvnj1nx2 nDYLVvQtdiRc6LGPF1i03c4iYHqo9IEGfShURvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=subject:to:cc:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding:sender:list-id; s=arctest; t= 1520587610; bh=2fM50evyGAb3nWWlBtK1vLaqnKuIIL3fNlMI8tAlqCA=; b=w 786Zb2FPz0SiHvaigVIWR4TD2f1ck2eR4JAnS6oc8W7lg16oBRpMLPiSSBEDl+sW bZBoANPRbCvsZjXWWTzeEvvEnG8xrAApXwrjCKDfDGe7o8s6XhVhCRAvfS3e4hII iytiNYR0Q6Cv8OJssb/gjiZuJ5eroWdFRTQ8bNQO9aXnzac0XzsCi7J1+x4GuU5+ 0hFP+GwZbf+tr8CdW+B8JSnHxFFXwY6UiIBNKzuNA2Zj/wsyUgbsAq8uChZkQMnB B6qBKYyhZ9NKwq94C/Y6IKiUgQSHximthy3O1NKY4guKBHOrb4XsLHEk9niaEGR1 ZJ34nXjSblLGauiQ8/Phg== ARC-Authentication-Results: i=1; mx4.messagingengine.com; arc=none (no signatures found); dkim=fail (body has been altered; 1024-bit rsa key sha256) header.d=ti.com header.i=@ti.com header.b=pnSgs75W x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=ti-com-17Q1; dmarc=fail (p=quarantine,has-list-id=yes,d=quarantine) header.from=ti.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-category=clean score=-100 state=0; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=ti.com header.result=pass header_is_org_domain=yes Authentication-Results: mx4.messagingengine.com; arc=none (no signatures found); dkim=fail (body has been altered; 1024-bit rsa key sha256) header.d=ti.com header.i=@ti.com header.b=pnSgs75W x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=ti-com-17Q1; dmarc=fail (p=quarantine,has-list-id=yes,d=quarantine) header.from=ti.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-category=clean score=-100 state=0; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=ti.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750883AbeCIJ0q (ORCPT ); Fri, 9 Mar 2018 04:26:46 -0500 Received: from fllnx209.ext.ti.com ([198.47.19.16]:46950 "EHLO fllnx209.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750800AbeCIJ0q (ORCPT ); Fri, 9 Mar 2018 04:26:46 -0500 Subject: Re: [PATCH] usb: dwc3: Prevent indefinite sleep in _dwc3_set_mode during suspend/resume To: Felipe Balbi , Baolin Wang CC: USB , LKML References: <1519730526-22274-1-git-send-email-rogerq@ti.com> <87sh9l5z4l.fsf@linux.intel.com> <94cd6377-1327-2309-8d69-6ab0de2bdfd4@ti.com> <87po4i3o1v.fsf@linux.intel.com> <87k1uq3ho6.fsf@linux.intel.com> <8ec0485e-89af-568b-e34a-b0cd490817d0@ti.com> <87h8puwyn5.fsf@linux.intel.com> <5bc56ef5-66b1-d40c-1639-e748fe18cdbd@ti.com> <87muzha9h4.fsf@linux.intel.com> From: Roger Quadros Message-ID: Date: Fri, 9 Mar 2018 11:26:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <87muzha9h4.fsf@linux.intel.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-GB Content-Transfer-Encoding: 8bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-usb-owner@vger.kernel.org X-Mailing-List: linux-usb@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On 09/03/18 11:23, Felipe Balbi wrote: > > Hi, > > Roger Quadros writes: > > > >>>> When we set up the DWC3_DEPCMD_ENDTRANSFER command in >>>> dwc3_stop_active_transfer(), we can do not set DWC3_DEPCMD_CMDIOC, >>>> then there will no endpoint command complete interrupts I think. >>>> >>>> cmd |= DWC3_DEPCMD_CMDIOC; >>> >>> I remember some part of the databook mandating CMDIOC to be set. We >>> could test it out without and see if anything blows up. I would, >>> however, require a lengthy comment explaining that we're deviating from >>> databook revision x.yya, section foobar because $reasons. :-) >>> >> >> This is what the v3.10 databook says >> >> "When issuing an End Transfer command, software must set the CmdIOC >> bit (field 8) so that an Endpoint Command Complete event is generated >> after the transfer ends. This is necessary to synchronize the >> conclusion of system bus traffic before the End Transfer command is >> completed." >> >> with a note >> >> "If GUCTL2[Rst_actbitlater] is set, Software can poll the completion >> of the End Transfer command by polling the command active bit to be >> cleared to 0." >> >> fyi. >> >> Rst_actbitlater - "Enable clearing of the command active bit for the >> ENDXFER command after the command execution is completed. This bit is >> valid in device mode only." >> >> So I'd prefer not to clear CMDIOC for all cases. >> >> Could we some how just tackle the dwc3_gadget_exit case like I did in >> this patch? > > if you can send a version that doesn't iterate over all endpoints twice, > sure. We still need a comment somewhere, and I fear we may get > interrupts later in some cases. How would we deal with that? > how about explicitly masking that interrupt? Is it possible? -- cheers, -roger Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: dwc3: Prevent indefinite sleep in _dwc3_set_mode during suspend/resume From: Roger Quadros Message-Id: Date: Fri, 9 Mar 2018 11:26:41 +0200 To: Felipe Balbi , Baolin Wang Cc: USB , LKML List-ID: T24gMDkvMDMvMTggMTE6MjMsIEZlbGlwZSBCYWxiaSB3cm90ZToKPiAKPiBIaSwKPiAKPiBSb2dl ciBRdWFkcm9zIDxyb2dlcnFAdGkuY29tPiB3cml0ZXM6Cj4gCj4gPHNuaXA+Cj4gCj4+Pj4gV2hl biB3ZSBzZXQgdXAgdGhlIERXQzNfREVQQ01EX0VORFRSQU5TRkVSIGNvbW1hbmQgaW4KPj4+PiBk d2MzX3N0b3BfYWN0aXZlX3RyYW5zZmVyKCksIHdlIGNhbiBkbyBub3Qgc2V0IERXQzNfREVQQ01E X0NNRElPQywKPj4+PiB0aGVuIHRoZXJlIHdpbGwgbm8gZW5kcG9pbnQgY29tbWFuZCBjb21wbGV0 ZSBpbnRlcnJ1cHRzIEkgdGhpbmsuCj4+Pj4KPj4+PiBjbWQgfD0gRFdDM19ERVBDTURfQ01ESU9D Owo+Pj4KPj4+IEkgcmVtZW1iZXIgc29tZSBwYXJ0IG9mIHRoZSBkYXRhYm9vayBtYW5kYXRpbmcg Q01ESU9DIHRvIGJlIHNldC4gV2UKPj4+IGNvdWxkIHRlc3QgaXQgb3V0IHdpdGhvdXQgYW5kIHNl ZSBpZiBhbnl0aGluZyBibG93cyB1cC4gSSB3b3VsZCwKPj4+IGhvd2V2ZXIsIHJlcXVpcmUgYSBs ZW5ndGh5IGNvbW1lbnQgZXhwbGFpbmluZyB0aGF0IHdlJ3JlIGRldmlhdGluZyBmcm9tCj4+PiBk YXRhYm9vayByZXZpc2lvbiB4Lnl5YSwgc2VjdGlvbiBmb29iYXIgYmVjYXVzZSAkcmVhc29ucy4g Oi0pCj4+Pgo+Pgo+PiBUaGlzIGlzIHdoYXQgdGhlIHYzLjEwIGRhdGFib29rIHNheXMKPj4KPj4g IldoZW4gaXNzdWluZyBhbiBFbmQgVHJhbnNmZXIgY29tbWFuZCwgc29mdHdhcmUgbXVzdCBzZXQg dGhlIENtZElPQwo+PiBiaXQgKGZpZWxkIDgpIHNvIHRoYXQgYW4gRW5kcG9pbnQgQ29tbWFuZCBD b21wbGV0ZSBldmVudCBpcyBnZW5lcmF0ZWQKPj4gYWZ0ZXIgdGhlIHRyYW5zZmVyIGVuZHMuIFRo aXMgaXMgbmVjZXNzYXJ5IHRvIHN5bmNocm9uaXplIHRoZQo+PiBjb25jbHVzaW9uIG9mIHN5c3Rl bSBidXMgdHJhZmZpYyBiZWZvcmUgdGhlIEVuZCBUcmFuc2ZlciBjb21tYW5kIGlzCj4+IGNvbXBs ZXRlZC4iCj4+Cj4+IHdpdGggYSBub3RlCj4+Cj4+ICJJZiBHVUNUTDJbUnN0X2FjdGJpdGxhdGVy XSBpcyBzZXQsIFNvZnR3YXJlIGNhbiBwb2xsIHRoZSBjb21wbGV0aW9uCj4+IG9mIHRoZSBFbmQg VHJhbnNmZXIgY29tbWFuZCBieSBwb2xsaW5nIHRoZSBjb21tYW5kIGFjdGl2ZSBiaXQgdG8gYmUK Pj4gY2xlYXJlZCB0byAwLiIKPj4KPj4gZnlpLgo+Pgo+PiBSc3RfYWN0Yml0bGF0ZXIgLSAiRW5h YmxlIGNsZWFyaW5nIG9mIHRoZSBjb21tYW5kIGFjdGl2ZSBiaXQgZm9yIHRoZQo+PiBFTkRYRkVS IGNvbW1hbmQgYWZ0ZXIgdGhlIGNvbW1hbmQgZXhlY3V0aW9uIGlzIGNvbXBsZXRlZC4gIFRoaXMg Yml0IGlzCj4+IHZhbGlkIGluIGRldmljZSBtb2RlIG9ubHkuIgo+Pgo+PiBTbyBJJ2QgcHJlZmVy IG5vdCB0byBjbGVhciBDTURJT0MgZm9yIGFsbCBjYXNlcy4KPj4KPj4gQ291bGQgd2Ugc29tZSBo b3cganVzdCB0YWNrbGUgdGhlIGR3YzNfZ2FkZ2V0X2V4aXQgY2FzZSBsaWtlIEkgZGlkIGluCj4+ IHRoaXMgcGF0Y2g/Cj4gCj4gaWYgeW91IGNhbiBzZW5kIGEgdmVyc2lvbiB0aGF0IGRvZXNuJ3Qg aXRlcmF0ZSBvdmVyIGFsbCBlbmRwb2ludHMgdHdpY2UsCj4gc3VyZS4gV2Ugc3RpbGwgbmVlZCBh IGNvbW1lbnQgc29tZXdoZXJlLCBhbmQgSSBmZWFyIHdlIG1heSBnZXQKPiBpbnRlcnJ1cHRzIGxh dGVyIGluIHNvbWUgY2FzZXMuIEhvdyB3b3VsZCB3ZSBkZWFsIHdpdGggdGhhdD8KPiAKCmhvdyBh Ym91dCBleHBsaWNpdGx5IG1hc2tpbmcgdGhhdCBpbnRlcnJ1cHQ/IElzIGl0IHBvc3NpYmxlPwo=