public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: jouni.hogander@nokia.com (Högander Jouni)
To: "ext Woodruff, Richard" <r-woodruff2@ti.com>
Cc: "Nayak, Rajendra" <rnayak@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH] OMAP3: CPUIDLE & PM: check_bm fix.
Date: Thu, 10 Jul 2008 15:53:49 +0300	[thread overview]
Message-ID: <87vdzdsxwi.fsf@trdhcp146196.ntc.nokia.com> (raw)
In-Reply-To: <13B9B4C6EF24D648824FF11BE8967162035BDBF028@dlee02.ent.ti.com> (ext Woodruff's message of "Thu, 10 Jul 2008 07:20:14 -0500")

"ext Woodruff, Richard" <r-woodruff2@ti.com> writes:

> Hi,
>
>> >  static void serial8250_stop_tx(struct uart_port *port)
>> > @@ -1268,6 +1276,15 @@ static void serial8250_start_tx(struct u
>> >                 up->acr &= ~UART_ACR_TXDIS;
>> >                 serial_icr_write(up, UART_ACR, up->acr);
>> >         }
>> > +#ifdef CONFIG_OMAP3_PM
>> > +       {
>> > +               /* Don't advertise partial idle else TX irqs will
>> not be seen */
>> > +               /* Alternative is to set kernel timer at fifo drain
>> rate */
>> > +               unsigned int tmp;
>> > +               tmp = (serial_in(up, UART_OMAP_SYSC) & 0x7) | (1 <<
>> 3);
>> > +               serial_out(up, UART_OMAP_SYSC, tmp); /* no-idle */
>> > +       }
>> > +#endif
>>
>> I tried this quickly. This doesn't work alone. At least if we want
>> working serial-console. Problem with this is that when entering char
>> to console to wake-up omap. First character is lost and then no "echo"
>> happens and serial8250_start_tx is not called. I think this will need
>> some timeout anyway which is started when uart rx|iopad wakeup
>> happens.
>
> Yes that is true.
>
> In reference code it is dealt with and rationalized.  This was an issue last year in the old code and will be this year in this newer code.
>
> * CDP code employs an activity check which can gate idle.  The disruption was bothersome and gave a bad impression (even if its just a debug port).  It also interfered at times with existing functional tests which depended on console (either getting all characters or reasonable performance).
>
> The current check will: On activity raise a cpuidle bus master
> activity failure for some number of seconds.  This allows normal
> typing for extended periods.  It does this by marking UART function
> IRQs with a time stamp and it checks internal state to make sure
> RX/TX engine is not busy or has queued data waiting.

Isn't this exactly what is done in "Added sleep support to UART" patch
in workaround patch set?

>
> This activity assertion will gate the usage of C states where its F-CLOCK is cut.  At the same time its natural wake up events are enabled (along with the above hack as the tx events are not currenly hooked into the wakeup logic).
>
> When OFF/RET mode is selected IO pad is enabled for the port wakeup.

I have seen this in CDP reference code. Is there some specific reason
why this is enabled dynamically in code?

>
> ** The end effect is typing and input/output are good.  However, if you stop interacting for greater than the time out you will loose your 1st character.  This is unavoidable as the machine doesn't re-start fast enough to not loose the start bit (wakeup/DPLL relock).
>
> It doesn't take much code to do this today.  But with out it the console is not very useable when PM is enabled _AND_ being effective.  As I mentioned initially, having the UART problem in a sense is a good milestone as it shows you are starting to hit the big power states very often.
>
> Regards,
> Richard W.

-- 
Jouni Högander

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2008-07-10 12:54 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-08 11:50 [RFC] OMAP3: CPUIDLE & PM: Modifications and fixes Jouni Hogander
2008-07-08 12:17 ` [RFC] OMAP3: CPUIDLE & PM: Modifications and fixes. Suspend part Jouni Hogander
2008-07-09  6:29   ` [PATCH] OMAP3: CPUIDLE & PM: check_bm fix Jouni Hogander
2008-07-09  6:44     ` Rajendra Nayak
2008-07-09  6:58       ` Högander Jouni
2008-07-09  7:15         ` Rajendra Nayak
2008-07-09  8:05           ` Högander Jouni
2008-07-09  8:35           ` Högander Jouni
2008-07-09  8:38             ` Rajendra Nayak
2008-07-09 13:05               ` Woodruff, Richard
2008-07-10  6:12                 ` Högander Jouni
2008-07-10 12:20                   ` Woodruff, Richard
2008-07-10 12:53                     ` Högander Jouni [this message]
2008-07-10 13:00                       ` Woodruff, Richard
2008-07-11 12:48                         ` Högander Jouni
2008-07-11 13:38                           ` Woodruff, Richard
2008-07-10 12:54                   ` Woodruff, Richard
2008-07-17 12:16             ` Rajendra Nayak
2008-07-09  8:30     ` [RFC] OMAP3: CPUIDLE & PM: Fix slow serial-console Jouni Hogander
2008-08-11  8:34 ` [RFC] OMAP3: CPUIDLE & PM: Modifications and fixes Paul Walmsley
2008-08-11 11:18   ` Högander Jouni
2008-08-11 17:51     ` Paul Walmsley
2008-08-12  5:48       ` Högander Jouni
2008-08-12  6:11         ` Paul Walmsley
2008-08-12  6:53           ` Högander Jouni

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=87vdzdsxwi.fsf@trdhcp146196.ntc.nokia.com \
    --to=jouni.hogander@nokia.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=r-woodruff2@ti.com \
    --cc=rnayak@ti.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