From: Kevin Hilman <khilman@deeprootsystems.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Sourav <sourav.poddar@ti.com>, Paul Walmsley <paul@pwsan.com>,
Felipe Balbi <balbi@ti.com>,
gregkh@linuxfoundation.org, tony@atomide.com,
linux-kernel@vger.kernel.org, santosh.shilimkar@ti.com,
linux-serial@vger.kernel.org, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, alan@linux.intel.com
Subject: Re: [RFT/PATCH] serial: omap: prevent resume if device is not suspended.
Date: Fri, 12 Oct 2012 13:32:34 -0700 [thread overview]
Message-ID: <87lifbwhwd.fsf@deeprootsystems.com> (raw)
In-Reply-To: <20121012185426.GS28061@n2100.arm.linux.org.uk> (Russell King's message of "Fri, 12 Oct 2012 19:54:26 +0100")
Russell King - ARM Linux <linux@arm.linux.org.uk> writes:
> On Fri, Oct 12, 2012 at 10:59:22AM -0700, Kevin Hilman wrote:
>> Russell King - ARM Linux <linux@arm.linux.org.uk> writes:
>>
>> > On Fri, Oct 12, 2012 at 09:35:54AM -0700, Kevin Hilman wrote:
>> >> Sourav <sourav.poddar@ti.com> writes:
>> >> > diff --git a/drivers/tty/serial/omap-serial.c
>> >> > b/drivers/tty/serial/omap-serial.c
>> >> > index 6ede6fd..3fbc7f7 100644
>> >> > --- a/drivers/tty/serial/omap-serial.c
>> >> > +++ b/drivers/tty/serial/omap-serial.c
>> >> > @@ -1414,6 +1414,7 @@ static int __devinit serial_omap_probe(struct
>> >> > platform_device *pdev)
>> >> > INIT_WORK(&up->qos_work, serial_omap_uart_qos_work);
>> >> >
>> >> > platform_set_drvdata(pdev, up);
>> >> > + pm_runtime_set_active(&pdev->dev);
>> >>
>> >> NAK.
>> >>
>> >> This will obviously break platforms where the UARTs are not active
>> >> before driver loads.
>> >
>> > I thought I had proposed a solution for this issue, which was this
>> > sequence:
>> >
>> > omap_device_enable(dev);
>> > pm_runtime_set_active(dev);
>> > pm_runtime_enable(dev);
>> >
>> > Yes, I can understand people not liking the omap_device_enable()
>> > there, but I also notice that the email suggesting that never got a
>> > reply either - not even a "I tried this and it doesn't work" or "it
>> > does work".
>>
>> Yes, that solution would work (though I didn't actually try it.)
>>
>> However, we can't use omap_device_enable() in the driver. We're trying
>> to clean all the drivers of OMAP-specific APIs. That being said,
>> something similar could be done in the device/board init code to ensure
>> the UART HW is in the state that the driver is expecting it, but again,
>> that would just mask the real problem which is that a (re)init of the
>> console UART on 2420/n800 is causing output to disappear.
>
> See my more expansive suggestion just posted.
>
> Whatever way, this discrepancy between runtime PM state and actual device
> state is what is biting you, and it is that which needs fixing.
I'm not conviced (yet) that a mismatch is the root cause. Yes, that's
what the author of $SUBJECT patch assumed and stated, but I'm not
pursuaded.
If it's an improperly configured mux issue, then the UART will break
whenever the device is actually omap_device_enable'd, whether in the
driver or in the bus layer.
Kevin
next prev parent reply other threads:[~2012-10-12 20:32 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-18 12:40 [RFT/PATCH] serial: omap: prevent resume if device is not suspended Sourav Poddar
2012-09-18 14:02 ` Felipe Balbi
2012-09-18 22:57 ` Paul Walmsley
2012-09-19 11:52 ` Grazvydas Ignotas
2012-09-19 11:59 ` Felipe Balbi
2012-09-25 12:29 ` Jassi Brar
2012-09-25 8:22 ` Poddar, Sourav
2012-09-25 8:30 ` Russell King - ARM Linux
2012-09-25 8:31 ` Felipe Balbi
2012-09-25 9:12 ` Russell King - ARM Linux
2012-09-25 9:11 ` Felipe Balbi
2012-09-25 9:21 ` Russell King - ARM Linux
2012-09-25 9:48 ` Felipe Balbi
2012-09-25 10:29 ` Russell King - ARM Linux
2012-09-25 10:37 ` Felipe Balbi
2012-09-25 11:07 ` Russell King - ARM Linux
2012-09-25 11:12 ` Felipe Balbi
2012-09-25 11:32 ` Russell King - ARM Linux
2012-09-25 9:56 ` Poddar, Sourav
2012-09-25 10:59 ` Russell King - ARM Linux
2012-10-03 0:33 ` Kevin Hilman
2012-10-11 18:28 ` Paul Walmsley
2012-10-12 16:24 ` Sourav
2012-10-12 16:35 ` Kevin Hilman
2012-10-12 16:42 ` Russell King - ARM Linux
2012-10-12 17:29 ` Poddar, Sourav
2012-10-12 18:49 ` Russell King - ARM Linux
2012-10-12 17:59 ` Kevin Hilman
2012-10-12 18:54 ` Russell King - ARM Linux
2012-10-12 20:32 ` Kevin Hilman [this message]
2012-10-12 21:51 ` Tony Lindgren
2012-10-15 22:37 ` Kevin Hilman
2012-09-25 11:15 ` Russell King - ARM Linux
2012-09-26 20:30 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87lifbwhwd.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=alan@linux.intel.com \
--cc=balbi@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=paul@pwsan.com \
--cc=santosh.shilimkar@ti.com \
--cc=sourav.poddar@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox