All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Hilman <khilman@ti.com>
To: "Premi, Sanjeev" <premi@ti.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] omap3: pm: Downgrade WARN for no wakeup source
Date: Thu, 16 Jun 2011 11:25:15 -0700	[thread overview]
Message-ID: <87vcw5k510.fsf@ti.com> (raw)
In-Reply-To: <B85A65D85D7EB246BE421B3FB0FBB593024D563E79@dbde02.ent.ti.com> (Sanjeev Premi's message of "Thu, 16 Jun 2011 21:43:07 +0530")

"Premi, Sanjeev" <premi@ti.com> writes:

>> -----Original Message-----
>> From: Hilman, Kevin 
>> Sent: Thursday, June 16, 2011 8:52 PM
>> To: Premi, Sanjeev
>> Cc: linux-omap@vger.kernel.org; linux-arm-kernel@lists.infradead.org
>> Subject: Re: [PATCH] omap3: pm: Downgrade WARN for no wakeup source
>> 
>> Hi Sanjeev,
>> 
>> Sanjeev Premi <premi@ti.com> writes:
>> 
>> > When multiple wakeup sources are defined in a system,
>> > there is a small window, when more than one source
>> > can trigger wakeup interrupt.
>> >
>> > In the current implementation, the do-while() loop
>> > can handle all wakeup sources that are recorded when
>> > probing the status register in prcm_interrupt_handler().
>> >
>> > When the ISR executes due to next queued wakeup, it
>> > there is nothing to be handled and value of "c" is 0.
>> 
>> Thanks for tracking this one down.
>> 
>> However, It's still not clear to me what is happening here.
>> 
>> Why is the IRQ firing if there is nothing to be handled?  
>> That suggests
>> to me that the IRQ status is not properly being cleared.
>
> [SP] On the contrary the IRQ status is actually getting cleared,
>      but there are more than "1" PRCM interrupts queued.
>
>      The do-while() clears all the interrupt sources that
>      are flagged in the status register.
>
>      When the next wakeup interrupt is getting processed, the
>      status register doesn't contain any "source" to handle.

Still confused.

If a wakeup interrupt is fired, it was caused by something.  

IOW, if "the status register doesn't contain any source",  how is

		if (irqstatus_mpu & (OMAP3430_WKUP_ST_MASK |
				     OMAP3430_IO_ST_MASK)) 

ever true?

Kevin

WARNING: multiple messages have this Message-ID (diff)
From: khilman@ti.com (Kevin Hilman)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] omap3: pm: Downgrade WARN for no wakeup source
Date: Thu, 16 Jun 2011 11:25:15 -0700	[thread overview]
Message-ID: <87vcw5k510.fsf@ti.com> (raw)
In-Reply-To: <B85A65D85D7EB246BE421B3FB0FBB593024D563E79@dbde02.ent.ti.com> (Sanjeev Premi's message of "Thu, 16 Jun 2011 21:43:07 +0530")

"Premi, Sanjeev" <premi@ti.com> writes:

>> -----Original Message-----
>> From: Hilman, Kevin 
>> Sent: Thursday, June 16, 2011 8:52 PM
>> To: Premi, Sanjeev
>> Cc: linux-omap at vger.kernel.org; linux-arm-kernel at lists.infradead.org
>> Subject: Re: [PATCH] omap3: pm: Downgrade WARN for no wakeup source
>> 
>> Hi Sanjeev,
>> 
>> Sanjeev Premi <premi@ti.com> writes:
>> 
>> > When multiple wakeup sources are defined in a system,
>> > there is a small window, when more than one source
>> > can trigger wakeup interrupt.
>> >
>> > In the current implementation, the do-while() loop
>> > can handle all wakeup sources that are recorded when
>> > probing the status register in prcm_interrupt_handler().
>> >
>> > When the ISR executes due to next queued wakeup, it
>> > there is nothing to be handled and value of "c" is 0.
>> 
>> Thanks for tracking this one down.
>> 
>> However, It's still not clear to me what is happening here.
>> 
>> Why is the IRQ firing if there is nothing to be handled?  
>> That suggests
>> to me that the IRQ status is not properly being cleared.
>
> [SP] On the contrary the IRQ status is actually getting cleared,
>      but there are more than "1" PRCM interrupts queued.
>
>      The do-while() clears all the interrupt sources that
>      are flagged in the status register.
>
>      When the next wakeup interrupt is getting processed, the
>      status register doesn't contain any "source" to handle.

Still confused.

If a wakeup interrupt is fired, it was caused by something.  

IOW, if "the status register doesn't contain any source",  how is

		if (irqstatus_mpu & (OMAP3430_WKUP_ST_MASK |
				     OMAP3430_IO_ST_MASK)) 

ever true?

Kevin

  reply	other threads:[~2011-06-16 18:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-16 13:12 [PATCH] omap3: pm: Downgrade WARN for no wakeup source Sanjeev Premi
2011-06-16 13:12 ` Sanjeev Premi
2011-06-16 15:22 ` Kevin Hilman
2011-06-16 15:22   ` Kevin Hilman
2011-06-16 16:13   ` Premi, Sanjeev
2011-06-16 16:13     ` Premi, Sanjeev
2011-06-16 18:25     ` Kevin Hilman [this message]
2011-06-16 18:25       ` Kevin Hilman
2011-06-16 20:16       ` Premi, Sanjeev
2011-06-16 20:16         ` Premi, Sanjeev

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=87vcw5k510.fsf@ti.com \
    --to=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=premi@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.