From: Nishanth Menon <nm@ti.com>
To: Dave Gerlach <d-gerlach@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>, Kevin Hilman <khilman@linaro.org>,
Tony Lingren <tony@atomide.com>,
Vaibhav Bedia <vaibhav.bedia@ti.com>,
Santosh Shilimkar <santosh.shilimkar@ti.com>,
Benoit Cousson <benoit.cousson@linaro.org>,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv3 8/9] ARM: OMAP2+: AM33XX: Basic suspend resume support
Date: Wed, 7 Aug 2013 11:22:17 -0500 [thread overview]
Message-ID: <52027439.7080206@ti.com> (raw)
In-Reply-To: <1375811376-49985-9-git-send-email-d-gerlach@ti.com>
On 08/06/2013 12:49 PM, Dave Gerlach wrote:
[...]
> +
> +struct forced_standby_module am33xx_mod[] = {
> + {.oh_name = "usb_otg_hs"},
> + {.oh_name = "tptc0"},
> + {.oh_name = "tptc1"},
> + {.oh_name = "tptc2"},
> + {.oh_name = "cpgmac0"},
> +};
> +
[...]
> +
> +static int am33xx_pm_suspend(void)
> +{
> + int i, j, ret = 0;
> +
> + int status = 0;
> + struct platform_device *pdev;
> + struct omap_device *od;
> +
> + /*
> + * By default the following IPs do not have MSTANDBY asserted
> + * which is necessary for PER domain transition. If the drivers
> + * are not compiled into the kernel HWMOD code will not change the
> + * state of the IPs if the IP was not never enabled. To ensure
> + * that there no issues with or without the drivers being compiled
> + * in the kernel, we forcefully put these IPs to idle.
> + */
> + for (i = 0; i < ARRAY_SIZE(am33xx_mod); i++) {
> + pdev = to_platform_device(am33xx_mod[i].dev);
> + od = to_omap_device(pdev);
> + if (od->_driver_status != BUS_NOTIFY_BOUND_DRIVER) {
> + omap_device_enable_hwmods(od);
> + omap_device_idle_hwmods(od);
> + }
> + }
Sorry, I dont like this one bit. this is the job of the suspend / resume
handler dealing with the specific device. I recollect having a similar
issue on OMAP5 where without USB driver, USB wont idle, hence we cant
suspend either. is the solution to do a custom handling for specific
nodes as above? is it even necessary - considering that in multiple
suspend-resume iterations, do we need to "enable and idle" multiple
times? Cant we do it just in hwmod/omap_device level where unbound
devices are disabled? Is there absolutely no possible way to do this in
a generic manner?
--
Regards,
Nishanth Menon
WARNING: multiple messages have this Message-ID (diff)
From: nm@ti.com (Nishanth Menon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv3 8/9] ARM: OMAP2+: AM33XX: Basic suspend resume support
Date: Wed, 7 Aug 2013 11:22:17 -0500 [thread overview]
Message-ID: <52027439.7080206@ti.com> (raw)
In-Reply-To: <1375811376-49985-9-git-send-email-d-gerlach@ti.com>
On 08/06/2013 12:49 PM, Dave Gerlach wrote:
[...]
> +
> +struct forced_standby_module am33xx_mod[] = {
> + {.oh_name = "usb_otg_hs"},
> + {.oh_name = "tptc0"},
> + {.oh_name = "tptc1"},
> + {.oh_name = "tptc2"},
> + {.oh_name = "cpgmac0"},
> +};
> +
[...]
> +
> +static int am33xx_pm_suspend(void)
> +{
> + int i, j, ret = 0;
> +
> + int status = 0;
> + struct platform_device *pdev;
> + struct omap_device *od;
> +
> + /*
> + * By default the following IPs do not have MSTANDBY asserted
> + * which is necessary for PER domain transition. If the drivers
> + * are not compiled into the kernel HWMOD code will not change the
> + * state of the IPs if the IP was not never enabled. To ensure
> + * that there no issues with or without the drivers being compiled
> + * in the kernel, we forcefully put these IPs to idle.
> + */
> + for (i = 0; i < ARRAY_SIZE(am33xx_mod); i++) {
> + pdev = to_platform_device(am33xx_mod[i].dev);
> + od = to_omap_device(pdev);
> + if (od->_driver_status != BUS_NOTIFY_BOUND_DRIVER) {
> + omap_device_enable_hwmods(od);
> + omap_device_idle_hwmods(od);
> + }
> + }
Sorry, I dont like this one bit. this is the job of the suspend / resume
handler dealing with the specific device. I recollect having a similar
issue on OMAP5 where without USB driver, USB wont idle, hence we cant
suspend either. is the solution to do a custom handling for specific
nodes as above? is it even necessary - considering that in multiple
suspend-resume iterations, do we need to "enable and idle" multiple
times? Cant we do it just in hwmod/omap_device level where unbound
devices are disabled? Is there absolutely no possible way to do this in
a generic manner?
--
Regards,
Nishanth Menon
next prev parent reply other threads:[~2013-08-07 16:22 UTC|newest]
Thread overview: 212+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-06 17:49 [PATCHv3 0/9] ARM: OMAP2+: AM33XX: Add suspend-resume support Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 1/9] memory: emif: Move EMIF register defines to include/linux/ Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 0:48 ` Russ Dill
2013-08-08 0:48 ` Russ Dill
2013-08-08 13:35 ` Santosh Shilimkar
2013-08-08 13:35 ` Santosh Shilimkar
2013-08-12 19:32 ` Greg Kroah-Hartman
2013-08-12 19:32 ` Greg Kroah-Hartman
2013-08-12 19:33 ` Santosh Shilimkar
2013-08-12 19:33 ` Santosh Shilimkar
2013-08-06 17:49 ` [PATCHv3 2/9] ARM: OMAP2+: AM33XX: control: Add some control module registers and APIs Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 0:52 ` Russ Dill
2013-08-08 0:52 ` Russ Dill
2013-08-08 13:44 ` Santosh Shilimkar
2013-08-08 13:44 ` Santosh Shilimkar
2013-08-08 16:16 ` Dave Gerlach
2013-08-08 16:16 ` Dave Gerlach
2013-08-09 5:11 ` Tony Lindgren
2013-08-09 5:11 ` Tony Lindgren
2013-08-09 20:55 ` Dave Gerlach
2013-08-09 20:55 ` Dave Gerlach
2013-08-12 7:54 ` Tony Lindgren
2013-08-12 7:54 ` Tony Lindgren
2013-08-12 19:17 ` Kevin Hilman
2013-08-12 19:17 ` Kevin Hilman
2013-08-12 21:40 ` Dave Gerlach
2013-08-12 21:40 ` Dave Gerlach
2013-08-13 14:29 ` Kevin Hilman
2013-08-13 14:29 ` Kevin Hilman
2013-08-13 15:08 ` Santosh Shilimkar
2013-08-13 15:08 ` Santosh Shilimkar
2013-08-13 16:19 ` Kevin Hilman
2013-08-13 16:19 ` Kevin Hilman
2013-08-13 18:18 ` Santosh Shilimkar
2013-08-13 18:18 ` Santosh Shilimkar
2013-08-13 18:30 ` Russ Dill
2013-08-13 18:30 ` Russ Dill
2013-08-13 18:40 ` Santosh Shilimkar
2013-08-13 18:40 ` Santosh Shilimkar
2013-08-13 19:11 ` Kevin Hilman
2013-08-13 19:11 ` Kevin Hilman
2013-08-14 17:27 ` Suman Anna
2013-08-14 17:27 ` Suman Anna
2013-08-14 19:16 ` Russ Dill
2013-08-14 19:16 ` Russ Dill
2013-08-20 23:39 ` Paul Walmsley
2013-08-20 23:39 ` Paul Walmsley
2013-08-21 17:32 ` Suman Anna
2013-08-21 17:32 ` Suman Anna
2013-08-06 17:49 ` [PATCHv3 3/9] ARM: OMAP: DTB: Update IRQ data for WKUP_M3 Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 0:53 ` Russ Dill
2013-08-08 0:53 ` Russ Dill
2013-08-08 13:46 ` Santosh Shilimkar
2013-08-08 13:46 ` Santosh Shilimkar
2013-08-06 17:49 ` [PATCHv3 4/9] ARM: OMAP2+: AM33XX: Reserve memory to comply with EMIF spec Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 2:30 ` Russ Dill
2013-08-08 2:30 ` Russ Dill
2013-08-08 14:19 ` Santosh Shilimkar
2013-08-08 14:19 ` Santosh Shilimkar
2013-08-08 18:16 ` Kevin Hilman
2013-08-08 18:16 ` Kevin Hilman
2013-08-08 19:31 ` Santosh Shilimkar
2013-08-08 19:31 ` Santosh Shilimkar
2013-08-08 20:05 ` Kevin Hilman
2013-08-08 20:05 ` Kevin Hilman
2013-08-08 20:11 ` Santosh Shilimkar
2013-08-08 20:11 ` Santosh Shilimkar
2013-08-09 15:11 ` Kevin Hilman
2013-08-09 15:11 ` Kevin Hilman
2013-08-09 16:25 ` Dave Gerlach
2013-08-09 16:25 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 5/9] ARM: OMAP2+: AM33XX: Add assembly code for PM operations Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 7:02 ` Russ Dill
2013-08-08 7:02 ` Russ Dill
2013-08-08 14:50 ` Santosh Shilimkar
2013-08-08 14:50 ` Santosh Shilimkar
2013-08-08 15:16 ` Russ Dill
2013-08-08 15:16 ` Russ Dill
2013-08-08 15:22 ` Santosh Shilimkar
2013-08-08 15:22 ` Santosh Shilimkar
2013-08-08 16:03 ` Russ Dill
2013-08-08 16:03 ` Russ Dill
2013-08-19 12:54 ` Gururaja Hebbar
2013-08-19 12:54 ` Gururaja Hebbar
2013-08-19 17:51 ` Dave Gerlach
2013-08-19 17:51 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 6/9] ARM: OMAP2+: timer: Add suspend-resume callbacks for clkevent device Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 7:03 ` Russ Dill
2013-08-08 7:03 ` Russ Dill
2013-08-08 14:23 ` Santosh Shilimkar
2013-08-08 14:23 ` Santosh Shilimkar
2013-08-08 16:09 ` Dave Gerlach
2013-08-08 16:09 ` Dave Gerlach
2013-08-08 18:25 ` Kevin Hilman
2013-08-08 18:25 ` Kevin Hilman
2013-08-08 19:49 ` Dave Gerlach
2013-08-08 19:49 ` Dave Gerlach
2013-08-06 17:49 ` [PATCHv3 7/9] ARM: OMAP: omap_device: Add APIs to enable and idle hwmods Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 7:05 ` Russ Dill
2013-08-08 7:05 ` Russ Dill
2013-08-08 14:26 ` Santosh Shilimkar
2013-08-08 14:26 ` Santosh Shilimkar
2013-08-06 17:49 ` [PATCHv3 8/9] ARM: OMAP2+: AM33XX: Basic suspend resume support Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-07 16:22 ` Nishanth Menon [this message]
2013-08-07 16:22 ` Nishanth Menon
2013-08-07 18:12 ` Dave Gerlach
2013-08-07 18:12 ` Dave Gerlach
2013-08-07 19:16 ` Nishanth Menon
2013-08-07 19:16 ` Nishanth Menon
2013-08-08 8:45 ` Russ Dill
2013-08-08 8:45 ` Russ Dill
2013-08-08 12:26 ` Nishanth Menon
2013-08-08 12:26 ` Nishanth Menon
2013-08-08 15:03 ` Santosh Shilimkar
2013-08-08 15:03 ` Santosh Shilimkar
2013-08-08 16:06 ` Dave Gerlach
2013-08-08 16:06 ` Dave Gerlach
2013-08-08 16:22 ` Nishanth Menon
2013-08-08 16:22 ` Nishanth Menon
2013-08-08 21:14 ` Kevin Hilman
2013-08-08 21:14 ` Kevin Hilman
2013-08-08 21:32 ` Nishanth Menon
2013-08-08 21:32 ` Nishanth Menon
2013-08-08 23:04 ` Kevin Hilman
2013-08-08 23:04 ` Kevin Hilman
2013-08-09 15:11 ` Nishanth Menon
2013-08-09 15:11 ` Nishanth Menon
2013-08-09 16:12 ` Kevin Hilman
2013-08-09 16:12 ` Kevin Hilman
2013-08-09 16:36 ` Nishanth Menon
2013-08-09 16:36 ` Nishanth Menon
2013-08-09 20:34 ` Kevin Hilman
2013-08-09 20:34 ` Kevin Hilman
2013-08-09 21:35 ` Nishanth Menon
2013-08-09 21:35 ` Nishanth Menon
2013-08-09 22:28 ` Russ Dill
2013-08-09 22:28 ` Russ Dill
2013-08-12 16:09 ` Kevin Hilman
2013-08-12 16:09 ` Kevin Hilman
2013-08-30 17:29 ` Vaibhav Bedia
2013-08-30 17:29 ` Vaibhav Bedia
2013-08-20 22:48 ` Paul Walmsley
2013-08-20 22:48 ` Paul Walmsley
2013-08-23 14:56 ` Dave Gerlach
2013-08-23 14:56 ` Dave Gerlach
2013-08-13 7:43 ` Russ Dill
2013-08-13 7:43 ` Russ Dill
2013-08-13 14:59 ` Kevin Hilman
2013-08-13 14:59 ` Kevin Hilman
2013-08-27 21:45 ` Kevin Hilman
2013-08-27 21:45 ` Kevin Hilman
2013-08-29 21:41 ` Dave Gerlach
2013-08-29 21:41 ` Dave Gerlach
2013-08-29 22:02 ` Kevin Hilman
2013-08-29 22:02 ` Kevin Hilman
2013-08-30 17:39 ` Vaibhav Bedia
2013-08-30 17:39 ` Vaibhav Bedia
2013-08-30 21:18 ` Kevin Hilman
2013-08-30 21:18 ` Kevin Hilman
2013-08-06 17:49 ` [PATCHv3 9/9] ARM: OMAP2+: AM33XX: Hookup AM33XX PM code into OMAP builds Dave Gerlach
2013-08-06 17:49 ` Dave Gerlach
2013-08-08 8:47 ` Russ Dill
2013-08-08 8:47 ` Russ Dill
2013-08-08 14:53 ` Santosh Shilimkar
2013-08-08 14:53 ` Santosh Shilimkar
2013-08-08 13:31 ` [PATCHv3 0/9] ARM: OMAP2+: AM33XX: Add suspend-resume support Santosh Shilimkar
2013-08-08 13:31 ` Santosh Shilimkar
2013-08-11 11:53 ` Daniel Mack
2013-08-11 11:53 ` Daniel Mack
2013-08-12 18:59 ` Dave Gerlach
2013-08-12 18:59 ` Dave Gerlach
2013-08-13 12:39 ` Daniel Mack
2013-08-13 12:39 ` Daniel Mack
2013-08-13 15:33 ` Dave Gerlach
2013-08-13 15:33 ` Dave Gerlach
2013-08-13 15:51 ` Daniel Mack
2013-08-13 15:51 ` Daniel Mack
2013-08-19 9:23 ` Gururaja Hebbar
2013-08-19 9:23 ` Gururaja Hebbar
2013-08-19 17:47 ` Dave Gerlach
2013-08-19 17:47 ` Dave Gerlach
2013-08-27 20:23 ` Kevin Hilman
2013-08-27 20:23 ` Kevin Hilman
2013-08-29 21:30 ` Dave Gerlach
2013-08-29 21:30 ` Dave Gerlach
2013-08-29 21:52 ` Kevin Hilman
2013-08-29 21:52 ` Kevin Hilman
2013-08-29 22:20 ` Dave Gerlach
2013-08-29 22:20 ` Dave Gerlach
2013-08-29 22:20 ` Kevin Hilman
2013-08-29 22:20 ` Kevin Hilman
2013-08-29 22:43 ` Russ Dill
2013-08-29 22:43 ` Russ Dill
2013-08-29 23:02 ` Kevin Hilman
2013-08-29 23:02 ` Kevin Hilman
2013-09-03 17:24 ` Dave Gerlach
2013-09-03 17:24 ` Dave Gerlach
2013-09-04 15:01 ` Kevin Hilman
2013-09-04 15:01 ` Kevin Hilman
2013-09-04 15:12 ` Russ Dill
2013-09-04 15:12 ` Russ Dill
2013-09-04 15:18 ` Kevin Hilman
2013-09-04 15:18 ` Kevin Hilman
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=52027439.7080206@ti.com \
--to=nm@ti.com \
--cc=benoit.cousson@linaro.org \
--cc=d-gerlach@ti.com \
--cc=khilman@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=santosh.shilimkar@ti.com \
--cc=tony@atomide.com \
--cc=vaibhav.bedia@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.