From: "Shilimkar, Santosh" <santosh.shilimkar@ti.com> To: Shawn Guo <shawn.guo@freescale.com> Cc: khilman@ti.com, Dave Martin <dave.martin@linaro.org>, linux@arm.linux.org.uk, rnayak@ti.com, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 14/25] OMAP4: PM: Add CPUX OFF mode support Date: Sat, 10 Sep 2011 09:08:16 +0530 [thread overview] Message-ID: <CAMQu2gwJQi55sY7aUnfcY-r8VGBPzWY2NnYUjJ-SEGiNC3Ty1Q@mail.gmail.com> (raw) In-Reply-To: <20110909233448.GH32138@S2100-06.ap.freescale.net> IOn Sat, Sep 10, 2011 at 5:04 AM, Shawn Guo <shawn.guo@freescale.com> wrote: > On Fri, Sep 09, 2011 at 10:29:49PM +0530, Santosh wrote: >> On Friday 09 September 2011 08:57 PM, Shawn Guo wrote: >> >On Fri, Sep 09, 2011 at 07:41:08PM +0530, Shilimkar, Santosh wrote: >> >>On Fri, Sep 9, 2011 at 7:43 PM, Shawn Guo<shawn.guo@freescale.com> wrote: >> >>>On Fri, Sep 09, 2011 at 01:39:51PM +0530, Santosh wrote: >> >>>>On Friday 09 September 2011 01:34 PM, Shawn Guo wrote: >> >>>>>Hi Santosh, >> >> [...] >> >> >>#ifdef CONFIG_CACHE_L2X0 >> >> /* >> >> * Clean and invalidate the L2 cache. >> >> * Common cache-l2x0.c functions can't be used here since it >> >> * uses spinlocks. We are out of coherency here with data cache >> >> * disabled. The spinlock implementation uses exclusive load/store >> >> * instruction which can fail without data cache being enabled. >> >> * OMAP4 hardware doesn't support exclusive monitor which can >> >> * overcome exclusive access issue. Because of this, CPU can >> >> * lead to deadlock. >> >> */ >> >>l2x_clean_inv: >> >> bl omap4_get_sar_ram_base >> >> mov r8, r0 >> >> mrc p15, 0, r5, c0, c0, 5 @ Read MPIDR >> >> ands r5, r5, #0x0f >> >> ldreq r0, [r8, #L2X0_SAVE_OFFSET0] >> >> ldrne r0, [r8, #L2X0_SAVE_OFFSET1] >> >> cmp r0, #3 >> >> bne do_WFI >> > >> >It looks like you are bypassing L2 clean and invalidate for cases >> >"1" and "2" here. But I really do not understand how you get r0 >> >back here. >> > >> The value which is passed in R0 is also stored in scratch patch memory >> and retrieved using L2X0_SAVE_OFFSET0. >> Simple :) >> > Aha, no wonder that I read it wrongly. The parameter passing in r0 > is here simply for confusing people. > No It's not. Same cod is used for CPUIDLE and we do have different C-states than just OSWR. ON and INACTIVE makes use of it. > Also, IMO, lable "l2x_clean_inv" should be put after the "bne do_WFI". > Otherwise, my original statement (it seems l2x_clean_inv will be > called for case "2") stands correct :) > It's just a label. All L2 related code and checks for the valid state is kept under that by purpose. Regards Santosh -- 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
WARNING: multiple messages have this Message-ID (diff)
From: santosh.shilimkar@ti.com (Shilimkar, Santosh) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 14/25] OMAP4: PM: Add CPUX OFF mode support Date: Sat, 10 Sep 2011 09:08:16 +0530 [thread overview] Message-ID: <CAMQu2gwJQi55sY7aUnfcY-r8VGBPzWY2NnYUjJ-SEGiNC3Ty1Q@mail.gmail.com> (raw) In-Reply-To: <20110909233448.GH32138@S2100-06.ap.freescale.net> IOn Sat, Sep 10, 2011 at 5:04 AM, Shawn Guo <shawn.guo@freescale.com> wrote: > On Fri, Sep 09, 2011 at 10:29:49PM +0530, Santosh wrote: >> On Friday 09 September 2011 08:57 PM, Shawn Guo wrote: >> >On Fri, Sep 09, 2011 at 07:41:08PM +0530, Shilimkar, Santosh wrote: >> >>On Fri, Sep 9, 2011 at 7:43 PM, Shawn Guo<shawn.guo@freescale.com> ?wrote: >> >>>On Fri, Sep 09, 2011 at 01:39:51PM +0530, Santosh wrote: >> >>>>On Friday 09 September 2011 01:34 PM, Shawn Guo wrote: >> >>>>>Hi Santosh, >> >> [...] >> >> >>#ifdef CONFIG_CACHE_L2X0 >> >> ? ?/* >> >> ? ? * Clean and invalidate the L2 cache. >> >> ? ? * Common cache-l2x0.c functions can't be used here since it >> >> ? ? * uses spinlocks. We are out of coherency here with data cache >> >> ? ? * disabled. The spinlock implementation uses exclusive load/store >> >> ? ? * instruction which can fail without data cache being enabled. >> >> ? ? * OMAP4 hardware doesn't support exclusive monitor which can >> >> ? ? * overcome exclusive access issue. Because of this, CPU can >> >> ? ? * lead to deadlock. >> >> ? ? */ >> >>l2x_clean_inv: >> >> ? ?bl ? ? ?omap4_get_sar_ram_base >> >> ? ?mov ? ? r8, r0 >> >> ? ?mrc ? ? p15, 0, r5, c0, c0, 5 ? ? ? ? ? @ Read MPIDR >> >> ? ?ands ? ?r5, r5, #0x0f >> >> ? ?ldreq ? r0, [r8, #L2X0_SAVE_OFFSET0] >> >> ? ?ldrne ? r0, [r8, #L2X0_SAVE_OFFSET1] >> >> ? ?cmp ? ? r0, #3 >> >> ? ?bne ? ? do_WFI >> > >> >It looks like you are bypassing L2 clean and invalidate for cases >> >"1" and "2" here. ?But I really do not understand how you get r0 >> >back here. >> > >> The value which is passed in R0 is also stored in scratch patch memory >> and retrieved using L2X0_SAVE_OFFSET0. >> Simple :) >> > Aha, no wonder that I read it wrongly. ?The parameter passing in r0 > is here simply for confusing people. > No It's not. Same cod is used for CPUIDLE and we do have different C-states than just OSWR. ON and INACTIVE makes use of it. > Also, IMO, lable "l2x_clean_inv" should be put after the "bne do_WFI". > Otherwise, my original statement (it seems l2x_clean_inv will be > called for case "2") stands correct :) > It's just a label. All L2 related code and checks for the valid state is kept under that by purpose. Regards Santosh
next prev parent reply other threads:[~2011-09-10 3:38 UTC|newest] Thread overview: 238+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-09-04 13:54 [PATCH 00/25] OMAP4: PM: suspend, CPU-hotplug and CPUilde support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 01/25] ARM: mm: Add strongly ordered descriptor support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-13 20:23 ` Tony Lindgren 2011-09-13 20:23 ` Tony Lindgren 2011-09-14 5:36 ` Shilimkar, Santosh 2011-09-14 5:36 ` Shilimkar, Santosh 2011-09-04 13:54 ` [PATCH 02/25] OMAP4: Redefine mandatory barriers for OMAP to include interconnect barriers Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-13 20:27 ` Tony Lindgren 2011-09-13 20:27 ` Tony Lindgren 2011-09-14 5:39 ` Shilimkar, Santosh 2011-09-14 5:39 ` Shilimkar, Santosh 2011-09-14 10:24 ` Santosh 2011-09-14 10:24 ` Santosh 2011-09-15 17:17 ` Kevin Hilman 2011-09-15 17:17 ` Kevin Hilman 2011-09-15 17:24 ` Shilimkar, Santosh 2011-09-15 17:24 ` Shilimkar, Santosh 2011-09-15 17:53 ` Tony Lindgren 2011-09-15 17:53 ` Tony Lindgren 2011-09-15 18:22 ` Shilimkar, Santosh 2011-09-15 18:22 ` Shilimkar, Santosh 2011-09-15 19:43 ` Tony Lindgren 2011-09-15 19:43 ` Tony Lindgren 2011-09-15 20:00 ` Shilimkar, Santosh 2011-09-15 20:00 ` Shilimkar, Santosh 2011-09-16 12:01 ` Shilimkar, Santosh 2011-09-16 12:01 ` Shilimkar, Santosh 2011-09-04 13:54 ` [PATCH 03/25] OMAP4: PM: Use custom omap_do_wfi() for suspend and default idle Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 04/25] OMAP4: Remove un-used do_wfi() macro Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 05/25] OMAP4: Use WARN_ON() instead of BUG_ON() with graceful exit Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-05 10:11 ` Sergei Shtylyov 2011-09-05 10:11 ` Sergei Shtylyov 2011-09-05 10:42 ` Santosh 2011-09-05 10:42 ` Santosh 2011-09-05 10:47 ` Russell King - ARM Linux 2011-09-05 10:47 ` Russell King - ARM Linux 2011-09-05 10:51 ` Santosh 2011-09-05 10:51 ` Santosh 2011-09-08 18:51 ` Jean Pihet 2011-09-08 18:51 ` Jean Pihet 2011-09-04 13:54 ` [PATCH 06/25] OMAP4: Export omap4_get_base*() rather than global address pointers Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 07/25] OMAP4: PM: Add SAR RAM support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 08/25] OMAP4: PM: Keep static dep between MPUSS-EMIF and MPUSS-L3 and DUCATI-L3 Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-08 18:06 ` Kevin Hilman 2011-09-08 18:06 ` Kevin Hilman 2011-09-09 4:21 ` Santosh 2011-09-09 4:21 ` Santosh 2011-09-04 13:54 ` [PATCH 09/25] OMAP4: PM: Avoid omap4_pm_init() on OMAP4430 ES1.0 Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 10/25] OMAP4: PM: Initialise all the clockdomains to supported states Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 11/25] OMAP: Add Secure HAL and monitor mode API infrastructure Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-08 18:58 ` Jean Pihet 2011-09-08 18:58 ` Jean Pihet 2011-09-09 4:22 ` Santosh 2011-09-09 4:22 ` Santosh 2011-09-04 13:54 ` [PATCH 12/25] OMAP: Add support to allocate the memory for secure RAM Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-08 19:19 ` Jean Pihet 2011-09-08 19:19 ` Jean Pihet 2011-09-09 9:43 ` Santosh 2011-09-09 9:43 ` Santosh 2011-09-09 12:54 ` Jean Pihet 2011-09-09 12:54 ` Jean Pihet 2011-09-09 14:09 ` Shilimkar, Santosh 2011-09-09 14:09 ` Shilimkar, Santosh 2011-09-04 13:54 ` [PATCH 13/25] OMAP4: PM: Add WakeupGen module as OMAP gic_arch_extn Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-08 18:27 ` Kevin Hilman 2011-09-08 18:27 ` Kevin Hilman 2011-09-09 4:29 ` Santosh 2011-09-09 4:29 ` Santosh 2011-09-09 7:19 ` Thomas Gleixner 2011-09-09 7:19 ` Thomas Gleixner 2011-09-09 8:07 ` Santosh 2011-09-09 8:07 ` Santosh 2011-09-09 8:18 ` Thomas Gleixner 2011-09-09 8:18 ` Thomas Gleixner 2011-09-09 9:05 ` Santosh 2011-09-09 9:05 ` Santosh 2011-09-12 7:56 ` Thomas Gleixner 2011-09-12 7:56 ` Thomas Gleixner 2011-09-12 8:44 ` Santosh 2011-09-12 8:44 ` Santosh 2011-09-08 19:16 ` Jean Pihet 2011-09-08 19:16 ` Jean Pihet 2011-09-09 4:23 ` Santosh 2011-09-09 4:23 ` Santosh 2011-09-13 20:36 ` Tony Lindgren 2011-09-13 20:36 ` Tony Lindgren 2011-09-14 5:34 ` Shilimkar, Santosh 2011-09-14 5:34 ` Shilimkar, Santosh 2011-09-14 15:21 ` Tony Lindgren 2011-09-14 15:21 ` Tony Lindgren 2011-09-14 16:49 ` Santosh 2011-09-14 16:49 ` Santosh 2011-09-14 17:08 ` Tony Lindgren 2011-09-14 17:08 ` Tony Lindgren 2011-09-14 17:13 ` Santosh 2011-09-14 17:13 ` Santosh 2011-09-14 17:18 ` Tony Lindgren 2011-09-14 17:18 ` Tony Lindgren 2011-09-14 17:21 ` Santosh 2011-09-14 17:21 ` Santosh 2011-09-14 17:22 ` Santosh 2011-09-14 17:22 ` Santosh 2011-09-14 19:04 ` Tony Lindgren 2011-09-14 19:04 ` Tony Lindgren 2011-09-15 2:57 ` Santosh 2011-09-15 2:57 ` Santosh 2011-09-15 9:36 ` Cousson, Benoit 2011-09-15 9:36 ` Cousson, Benoit 2011-09-15 12:02 ` Shilimkar, Santosh 2011-09-15 12:02 ` Shilimkar, Santosh 2011-09-15 13:29 ` Woodruff, Richard 2011-09-15 13:29 ` Woodruff, Richard 2011-09-04 13:54 ` [PATCH 14/25] OMAP4: PM: Add CPUX OFF mode support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-08 19:39 ` Jean Pihet 2011-09-08 19:39 ` Jean Pihet 2011-09-09 9:59 ` Santosh 2011-09-09 9:59 ` Santosh 2011-09-09 8:04 ` Shawn Guo 2011-09-09 8:04 ` Shawn Guo 2011-09-09 8:09 ` Santosh 2011-09-09 8:09 ` Santosh 2011-09-09 14:13 ` Shawn Guo 2011-09-09 14:13 ` Shawn Guo 2011-09-09 14:11 ` Shilimkar, Santosh 2011-09-09 14:11 ` Shilimkar, Santosh 2011-09-09 15:27 ` Shawn Guo 2011-09-09 15:27 ` Shawn Guo 2011-09-09 16:59 ` Santosh 2011-09-09 16:59 ` Santosh 2011-09-09 18:34 ` Kevin Hilman 2011-09-09 18:34 ` Kevin Hilman 2011-09-10 3:39 ` Shilimkar, Santosh 2011-09-10 3:39 ` Shilimkar, Santosh 2011-09-09 23:34 ` Shawn Guo 2011-09-09 23:34 ` Shawn Guo 2011-09-10 3:38 ` Shilimkar, Santosh [this message] 2011-09-10 3:38 ` Shilimkar, Santosh 2011-09-10 4:54 ` Shawn Guo 2011-09-10 4:54 ` Shawn Guo 2011-09-10 5:51 ` Santosh 2011-09-10 5:51 ` Santosh 2011-09-12 21:06 ` Kevin Hilman 2011-09-12 21:06 ` Kevin Hilman 2011-09-13 5:39 ` Santosh 2011-09-13 5:39 ` Santosh 2011-09-13 17:33 ` Kevin Hilman 2011-09-13 17:33 ` Kevin Hilman 2011-09-14 5:26 ` Shilimkar, Santosh 2011-09-14 5:26 ` Shilimkar, Santosh 2011-09-04 13:54 ` [PATCH 15/25] OMAP4: Remove __INIT from omap_secondary_startup() to re-use it for hotplug Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 16/25] OMAP4: PM: Program CPU1 to hit OFF when off-lined Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-12 21:12 ` Kevin Hilman 2011-09-12 21:12 ` Kevin Hilman 2011-09-13 5:35 ` Santosh 2011-09-13 5:35 ` Santosh 2011-09-04 13:54 ` [PATCH 17/25] OMAP4: PM: CPU1 wakeup workaround from Low power modes Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 18/25] OMAP4: suspend: Add MPUSS power domain RETENTION support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-15 0:27 ` Kevin Hilman 2011-09-15 0:27 ` Kevin Hilman 2011-09-15 3:19 ` Santosh 2011-09-15 3:19 ` Santosh 2011-09-04 13:54 ` [PATCH 19/25] OMAP4: PM: Add WakeupGen and secure GIC low power support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-04 13:54 ` [PATCH 20/25] OMAP4: PM: Add L2X0 cache lowpower support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-05 14:01 ` Lorenzo Pieralisi 2011-09-05 14:01 ` Lorenzo Pieralisi 2011-09-05 14:13 ` Santosh 2011-09-05 14:13 ` Santosh 2011-09-16 17:23 ` Kevin Hilman 2011-09-16 17:23 ` Kevin Hilman 2011-09-18 8:46 ` Santosh 2011-09-18 8:46 ` Santosh 2011-09-04 13:54 ` [PATCH 21/25] OMAP4: PM: Add MPUSS power domain OSWR support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-12 18:52 ` Kevin Hilman 2011-09-12 18:52 ` Kevin Hilman 2011-09-13 5:37 ` Santosh 2011-09-13 5:37 ` Santosh 2011-09-13 7:39 ` Jean Pihet 2011-09-13 7:39 ` Jean Pihet 2011-09-13 8:25 ` Santosh 2011-09-13 8:25 ` Santosh 2011-09-04 13:54 ` [PATCH 22/25] OMAP4: PM: Add power domain statistics support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-05 10:08 ` Sergei Shtylyov 2011-09-05 10:08 ` Sergei Shtylyov 2011-09-05 10:43 ` Santosh 2011-09-05 10:43 ` Santosh 2011-09-04 13:54 ` [PATCH 23/25] OMAP4: PM: Add CPUidle support Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-16 17:45 ` Kevin Hilman 2011-09-16 17:45 ` Kevin Hilman 2011-09-18 8:47 ` Santosh 2011-09-18 8:47 ` Santosh 2011-09-04 13:54 ` [PATCH 24/25] OMAP4: cpuidle: Switch to gptimer from twd in deeper C-states Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-16 17:51 ` Kevin Hilman 2011-09-16 17:51 ` Kevin Hilman 2011-09-18 8:48 ` Santosh 2011-09-18 8:48 ` Santosh 2011-09-04 13:54 ` [PATCH 25/25] OMAP3: CPUidle: Make use of CPU PM notifiers Santosh Shilimkar 2011-09-04 13:54 ` Santosh Shilimkar 2011-09-08 17:57 ` Kevin Hilman 2011-09-08 17:57 ` Kevin Hilman 2011-09-09 4:20 ` Santosh 2011-09-09 4:20 ` Santosh 2011-09-09 7:17 ` Santosh 2011-09-09 7:17 ` Santosh 2011-09-08 20:15 ` [PATCH 00/25] OMAP4: PM: suspend, CPU-hotplug and CPUilde support Jean Pihet 2011-09-08 20:15 ` Jean Pihet 2011-09-09 4:25 ` Santosh 2011-09-09 4:25 ` Santosh 2011-09-20 11:24 ` Vishwanath Sripathy 2011-09-20 11:24 ` Vishwanath Sripathy 2011-09-20 11:37 ` Santosh 2011-09-20 11:37 ` Santosh 2011-09-20 11:57 ` Santosh 2011-09-20 11:57 ` Santosh
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=CAMQu2gwJQi55sY7aUnfcY-r8VGBPzWY2NnYUjJ-SEGiNC3Ty1Q@mail.gmail.com \ --to=santosh.shilimkar@ti.com \ --cc=dave.martin@linaro.org \ --cc=khilman@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=rnayak@ti.com \ --cc=shawn.guo@freescale.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: linkBe 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.