linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Govindraj <govindraj.ti@gmail.com>
To: Kevin Hilman <khilman@ti.com>
Cc: "Govindraj.R" <govindraj.raja@ti.com>,
	linux-omap@vger.kernel.org, linux-serial@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Tony Lindgren <tony@atomide.com>,
	Benoit Cousson <b-cousson@ti.com>, Paul Walmsley <paul@pwsan.com>,
	Rajendra Nayak <rnayak@ti.com>
Subject: Re: [PATCH v2 11/12] OMAP: Serial: Use resume call from prcm to enable uart
Date: Fri, 6 May 2011 14:46:48 +0530	[thread overview]
Message-ID: <BANLkTinr8n0P31LWPrwL83sWCzVQOqo6=Q@mail.gmail.com> (raw)
In-Reply-To: <87liylkxdi.fsf@ti.com>

On Thu, May 5, 2011 at 8:28 PM, Kevin Hilman <khilman@ti.com> wrote:
> Govindraj <govindraj.ti@gmail.com> writes:
>
> [...]
>
>>>
>>> ... this is just putting back basically the same thing that was removed in
>>> patch 1.  IOW, this is now being checked for *every* PRCM wakeup, which
>>> is no different than having it in the idle path.
>>>
>>> I thought I understood that you had the SW IRQ triggering working, so
>>> this part should not be necessary.
>>
>> Actually I tried few experiments but couldn't get it working.
>
> What exactly is not working?   The interrupt is not firing at all?  The
> driver's ISR is not being called?
>

It throws a oops as here

http://pastebin.com/5bcPjAA0

Reproduced with below [EXP-1] change + below kernel.

git://gitorious.org/uart_runtime/pm.git
[Has uart runtime patches based on pm-core branch]

>> Tried below but didn't help.
>>
>> ------------------------------------
>> diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
>> index 3960330..2c1dfc2 100644
>> --- a/arch/arm/mach-omap2/pm34xx.c
>> +++ b/arch/arm/mach-omap2/pm34xx.c
>> @@ -288,6 +288,16 @@ static irqreturn_t prcm_interrupt_handler (int
>> irq, void *dev_id)
>>         do {
>>                 if (irqstatus_mpu & (OMAP3430_WKUP_ST_MASK |
>>                                      OMAP3430_IO_ST_MASK)) {
>> +#if 1
>> +                       /*
>> +                        * EXP-1: SET UART1 SOFT IRQ BIT
>> +                        * 3430 -SDP UART1 console.
>> +                        * M_IRQ_72, INTCPS_ISR_SET
>> +                        * 0x4820 0090 + (0x20 * n)
>> +                        * bit-8 n = 2
>> +                        */
>> +                       __raw_writel(0x100 , 0x482000D0);
>> +#endif
>>                         c = _prcm_int_handle_wakeup();
>>
>>                         /*
>>
>> -----------------------------------
>>
>> Currently we are planning to integrate irq_chaining patches
>> on top uart_runtime patches which is work-in-progress.
>> Will remove resume_idle once we have irq_chaining patches available.
>
> Well, I'm not OK with $SUBJECT patch as it is since it's just moving an
> ugly hack from serial.c to the PRCM ISR.  If the hack is going to stay,
> then it should stay where it is until it can be fixed for real.

Now with runtime changes we are cutting clocks independently
whereas prior to this we where cutting clocks only in sram_idle path.

With runtime changes:
1.) Once we cut uart clocks and send a char to uart it directs wakeup_irq to
prcm_irq_handler the one way to wakeup uart from there was to check
uart mod wakeup status bits if wakeup event occurred then wakeup the
particular uart.
2.) Moving this resume back to sram path will break module wakeup after
uart clocks are disabled(using put_sync)

Thats the reason I have moved this to prcm_irq path to ensure
once auto-suspend happens after inactivity period we have resume_call
to wakeup uart port.

--
Thanks,
Govindraj.R

>
> Kevin
>
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" 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:[~2011-05-06  9:17 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-29 12:39 [PATCH v2 00/12] OMAP2+: Serial: Runtime adaptation + cleanup Govindraj.R
2011-04-29 12:39 ` [PATCH v2 01/12] OMAP2+: UART: Remove certain uart calls from sram_idle Govindraj.R
2011-04-29 12:39 ` [PATCH v2 02/12] OMAP2+: UART: Remove uart clock handling code from serial.c Govindraj.R
2011-04-29 13:20   ` Alan Cox
2011-04-29 12:39 ` [PATCH v2 03/12] OMAP2+: Serial: Add default mux for all uarts Govindraj.R
2011-05-04 10:00   ` Tony Lindgren
2011-05-04 10:34     ` Govindraj
2011-04-29 12:39 ` [PATCH v2 04/12] Serial: OMAP: Add runtime pm support for omap-serial driver Govindraj.R
2011-05-04 20:35   ` Kevin Hilman
2011-05-04 21:05     ` Paul Walmsley
2011-05-05  5:48     ` Raja, Govindraj
2011-05-05  5:55     ` Govindraj
2011-04-29 12:39 ` [PATCH v2 05/12] OMAP: Serial: Hold console lock for console usage Govindraj.R
2011-05-04 10:02   ` Tony Lindgren
2011-05-04 10:09     ` Russell King - ARM Linux
2011-05-04 10:19     ` Govindraj
2011-05-04 20:43   ` Kevin Hilman
2011-05-05 10:25     ` Govindraj
2011-05-05 14:52       ` Kevin Hilman
2011-04-29 12:39 ` [PATCH v2 06/12] Serial: OMAP2+: Move erratum handling from serial.c Govindraj.R
2011-04-29 12:39 ` [PATCH v2 07/12] OMAP: Serial: Allow UART parameters to be configured from board file Govindraj.R
2011-05-04  9:55   ` Tony Lindgren
2011-05-04 10:06     ` Govindraj
2011-05-04 10:25       ` Tony Lindgren
2011-05-04 10:39         ` Govindraj
2011-04-29 12:39 ` [PATCH v2 08/12] Serial: OMAP2+: Make the RX_TIMEOUT for DMA configurable for each UART Govindraj.R
2011-04-29 12:39 ` [PATCH v2 09/12] OMAP3: Serial: Remove uart pads from 3430 board file Govindraj.R
2011-04-29 12:39 ` [PATCH v2 10/12] OMAP2+: hwmod: Add api to enable io_ring wakeup Govindraj.R
2011-05-04 23:59   ` Kevin Hilman
2011-05-05  5:58     ` Govindraj
2011-04-29 12:39 ` [PATCH v2 11/12] OMAP: Serial: Use resume call from prcm to enable uart Govindraj.R
2011-05-05  0:11   ` Kevin Hilman
2011-05-05 11:46     ` Govindraj
2011-05-05 14:58       ` Kevin Hilman
2011-05-06  9:16         ` Govindraj [this message]
2011-05-06 15:55           ` Kevin Hilman
2011-05-09 12:23             ` Govindraj
2011-04-29 12:39 ` [PATCH v2 12/12] OMAP2: Serial: Add no async wake flag Govindraj.R
2011-05-05 17:32   ` Kevin Hilman
2011-05-06  9:34     ` Govindraj

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='BANLkTinr8n0P31LWPrwL83sWCzVQOqo6=Q@mail.gmail.com' \
    --to=govindraj.ti@gmail.com \
    --cc=b-cousson@ti.com \
    --cc=govindraj.raja@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=rnayak@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;
as well as URLs for NNTP newsgroup(s).