From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Hilman Subject: Re: [PATCH v3 11/12] OMAP2: Serial: Add has_async_wake flag. Date: Mon, 27 Jun 2011 15:28:57 -0700 Message-ID: <877h86aoye.fsf@ti.com> References: <1307532194-13039-1-git-send-email-govindraj.raja@ti.com> <1307532194-13039-12-git-send-email-govindraj.raja@ti.com> <87y60qpxcq.fsf@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: (Govindraj's message of "Mon, 27 Jun 2011 18:39:54 +0530") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Govindraj Cc: Tony Lindgren , "Govindraj.R" , linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-serial@vger.kernel.org List-Id: linux-omap@vger.kernel.org R292aW5kcmFqIDxnb3ZpbmRyYWoudGlAZ21haWwuY29tPiB3cml0ZXM6Cgo+IE9uIFNhdCwgSnVu IDI1LCAyMDExIGF0IDU6NTkgQU0sIEtldmluIEhpbG1hbiA8a2hpbG1hbkB0aS5jb20+IHdyb3Rl Ogo+PiAiR292aW5kcmFqLlIiIDxnb3ZpbmRyYWoucmFqYUB0aS5jb20+IHdyaXRlczoKPj4KPj4+ IFByaW9yIHRvIHRoaXMgcGF0Y2ggdGhlIHVhcnRfY2xvY2sgd2FzIGN1dCB1c2luZyBwcmVwYXJl L3Jlc3VtZSBjYWxscyBzaW5jZQo+Pj4gdGhlc2UgZnVuY3MgYXJlIG5vIG1vcmUgYXZhaWxhYmxl IHdpdGggcnVudGltZSBjaGFuZ2VzIHVzZSBoYXNfYXN5bmNfd2FrZQo+Pj4gZmxhZyB0byBrZWVw IGNsb2NrIGFjdGl2ZSBkdXJpbmcgYm9vdHVwIG90aGVyd2lzZSB1YXJ0IHBvcnQgd2lsbCBkaXNh YmxlZAo+Pj4gZHVyaW5nIGJvb3QtdXAgYW5kIGNhbm5vdCBiZSBlbmFibGVkIGJhY2suCj4+Cj4+ IElzIHRoaXMgb25seSBhIGJvb3R1cCBpc3N1ZSwgb3IgYSBydW50aW1lIFBNIGlzc3VlPyDCoEl0 IGFwcGVhcnMgdG8gbWUKPj4gdGhhdCB3aXRoIHRoaXMgcGF0Y2gsIHJ1bnRpbWUgUE0gaXMgZWZm ZWN0aXZlbHkgZGlzYWJsZWQgZm9yIHRoZSB3aG9sZQo+PiB0aW1lLgo+Pgo+Cj4gaXQgYm9vdHMg dXAgZmluZSwgaXRzIGEgcnVudGltZSBQTSBpc3N1ZSB3aGVyZSB0aGVyZSBpcwo+IG5vIG1lY2hh bmlzbSB0byB3YWtldXAgYWZ0ZXIgY2xvY2sgY3V0dGluZyBmcm9tCj4gcnVudGltZSBhdXRvc3Vz cGVuZC4KPgo+Cj4+IFdoeSBub3QganVzdCB1c2UgcG1fcnVudGltZV9kaXNhYmxlKCkgaW4gX3By b2JlKCkgZm9yIGRldmljZXMgd2l0aCBubwo+PiBhc3luYyB3YWtldXAuCj4+Cj4KPiBBZ3JlZS4K PiBjYW4gZHJvcCBvZiB0aGlzIHBhdGNoIGFuZCBiaW5kIGJlbG93IGNoYW5nZXMgaW4gcnVudGlt ZSBjb252ZXJzaW9uIHBhdGNoICAwNC8xMgo+Cj4gZG8gcG1fcnVudGltZV9lbmFibGUgb25seSBp ZiBkZXZpY2VfbWF5X3dha2V1cAo+IGlzIHRydWUgaW4gcHJvYmUuCj4KPiA8PFNOSVA+Pgo+IGlu IHNlcmlhbF9vbWFwX3Byb2JlCj4KPiBpZiAoZGV2aWNlX21heV93YWtldXAoJnBkZXYtPmRldikp IHsKPiAJcG1fcnVudGltZV91c2VfYXV0b3N1c3BlbmQoJnBkZXYtPmRldik7Cj4gCXBtX3J1bnRp bWVfc2V0X2F1dG9zdXNwZW5kX2RlbGF5KCZwZGV2LT5kZXYsCj4gCQkJCU9NQVBfVUFSVF9BVVRP U1VTUEVORF9ERUxBWSk7Cj4gCXBtX3J1bnRpbWVfZW5hYmxlKCZwZGV2LT5kZXYpOwo+IAlwbV9y dW50aW1lX2lycV9zYWZlKCZwZGV2LT5kZXYpOwo+IH0KCldlbGwsIEkgdGhpbmsgb25seSB0aGUg X2VuYWJsZSgpIHNob3VsZCBiZSBjb25kaXRpb25hbC4KCj4+PiBBbHNvIGJhc2VkIG9uIHRoaXMg ZmxhZyB3ZSBjYW4gZGlzYWJsZSB1YXJ0IHBvcnQgZHVyaW5nIHN1c3BlbmQgYW5kCj4+PiBlbmFi bGUgYmFjayBkdXJpbmcgcmVzdW1lIGZvciBvbWFwX3NvY3MgdGhhdCBoYXZlIG5vdCBzZXQKPj4+ IGhhc19hc3luY193YWtlLgo+Pgo+PiBUaGVuIHlvdSBjYW4gdXNlIHBtX3J1bnRpbWVfZW5hYmxl KCkgaW4gLT5wcmVwYXJlKCkgYW5kCj4+IHBtX3J1bnRpbWVfZGlzYWJsZSgpIGluIC0+Y29tcGxl dGUoKQo+Pgo+Cj4gdSBtZWFuIHJ1bnRpbWUgZW5hYmxlIGluIHN1c3BlbmQgYW5kIHJ1bnRpbWUg ZGlzYWJsZSBpbiByZXN1bWUKPiBpZiBkZXZpY2VfbWF5X3dha2V1cCBpcyBmYWxzZS4KCk5vLCBJ IG1lYW50IHRoZSAucHJlcGFyZSAocnVucyBiZWZvcmUgLnN1c3BlbmQpIGFuZCAuY29tcGxldGUg KHJ1bnMKYWZ0ZXIgLnJlc3VtZSkgY2FsbGJhY2tzLiAgCgpLZXZpbgoKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: khilman@ti.com (Kevin Hilman) Date: Mon, 27 Jun 2011 15:28:57 -0700 Subject: [PATCH v3 11/12] OMAP2: Serial: Add has_async_wake flag. In-Reply-To: (Govindraj's message of "Mon, 27 Jun 2011 18:39:54 +0530") References: <1307532194-13039-1-git-send-email-govindraj.raja@ti.com> <1307532194-13039-12-git-send-email-govindraj.raja@ti.com> <87y60qpxcq.fsf@ti.com> Message-ID: <877h86aoye.fsf@ti.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Govindraj writes: > On Sat, Jun 25, 2011 at 5:59 AM, Kevin Hilman wrote: >> "Govindraj.R" writes: >> >>> Prior to this patch the uart_clock was cut using prepare/resume calls since >>> these funcs are no more available with runtime changes use has_async_wake >>> flag to keep clock active during bootup otherwise uart port will disabled >>> during boot-up and cannot be enabled back. >> >> Is this only a bootup issue, or a runtime PM issue? ?It appears to me >> that with this patch, runtime PM is effectively disabled for the whole >> time. >> > > it boots up fine, its a runtime PM issue where there is > no mechanism to wakeup after clock cutting from > runtime autosuspend. > > >> Why not just use pm_runtime_disable() in _probe() for devices with no >> async wakeup. >> > > Agree. > can drop of this patch and bind below changes in runtime conversion patch 04/12 > > do pm_runtime_enable only if device_may_wakeup > is true in probe. > > <> > in serial_omap_probe > > if (device_may_wakeup(&pdev->dev)) { > pm_runtime_use_autosuspend(&pdev->dev); > pm_runtime_set_autosuspend_delay(&pdev->dev, > OMAP_UART_AUTOSUSPEND_DELAY); > pm_runtime_enable(&pdev->dev); > pm_runtime_irq_safe(&pdev->dev); > } Well, I think only the _enable() should be conditional. >>> Also based on this flag we can disable uart port during suspend and >>> enable back during resume for omap_socs that have not set >>> has_async_wake. >> >> Then you can use pm_runtime_enable() in ->prepare() and >> pm_runtime_disable() in ->complete() >> > > u mean runtime enable in suspend and runtime disable in resume > if device_may_wakeup is false. No, I meant the .prepare (runs before .suspend) and .complete (runs after .resume) callbacks. Kevin