Re: [RFC/PATCH] idle loop changes

5 messages, 4 authors, 2002-08-01 · open the first message on its own page

Re: [RFC/PATCH] idle loop changes

From: Matt Porter <hidden>
Date: 2002-07-31 21:33:57

On Wed, Jul 31, 2002 at 04:25:57PM -0400, Dan Malek wrote:
Tom Rini wrote:
quoted
I'm not totally sure if it's better to do it this way, or to not provide
a default power_save(), so that if we don't set pm_idle to something, we
just never call power_save() (as opposed to a call, check for a bit &
return).  Comments?
I think whether we force everything to have a power_save() function,
even if it is empty, or initialize a pointer and have an indirect call
doesn't make much difference.  What does make a difference, is there could
be power save functions that are unique to a board.  Some processors have
power save options that can cause a lower frequency clock to be used which
will affect external devices.  In such cases, the devices on a board may
need some adjustment when these power save modes are entered/exited.
So, some new machdep calls that you can populate on a per board basis?
Are you just talking about them being used upon entering/exiting idle?

Regards,
--
Matt Porter
porter@cox.net
This is Linux Country. On a quiet night, you can hear Windows reboot.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: [RFC/PATCH] idle loop changes

From: Dan Malek <hidden>
Date: 2002-07-31 21:29:01

Matt Porter wrote:
So, some new machdep calls that you can populate on a per board basis?
Are you just talking about them being used upon entering/exiting idle?
I was just thinking the power_save() function could be unique to a
board.  It has to be something combined with the power save mode
chosen on the chip, so machdep calls may not be appropriate.  We are
using names like ppc6xx_pm_idle, ppc4xx, ppc8xx, when it could be
my_custom_board_pm_idle......Just don't assume one type of chip will
use the same function on different boards.  When the idle/power save
function is chosen, it should probably be done during board setup,
not processor set up.


	-- Dan


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: [RFC/PATCH] idle loop changes

From: Mark A. Greer <hidden>
Date: 2002-07-31 21:48:31

Dan Malek wrote:
Matt Porter wrote:
quoted
So, some new machdep calls that you can populate on a per board basis?
Are you just talking about them being used upon entering/exiting idle?
I was just thinking the power_save() function could be unique to a
board.  It has to be something combined with the power save mode
chosen on the chip, so machdep calls may not be appropriate.  We are
using names like ppc6xx_pm_idle, ppc4xx, ppc8xx, when it could be
my_custom_board_pm_idle......Just don't assume one type of chip will
use the same function on different boards.  When the idle/power save
function is chosen, it should probably be done during board setup,
not processor set up.
Why not use keep the ppc6xx_pm_idle, etc. as fallbacks (e.g., nothing
special about  your board so use generic 6xx one) and still use machdep
calls so its easy to override in case there is something special you need
to do for your board?

Mark


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: [RFC/PATCH] idle loop changes

From: Dan Malek <hidden>
Date: 2002-07-31 22:23:12

Mark A. Greer wrote:
Why not use keep the ppc6xx_pm_idle, etc. as fallbacks (e.g., nothing
special about  your board so use generic 6xx one)
That's fine, except we aren't using machdep calls.  The interaction between
the external devices and the processor control may not allow (or we may
not desire) using a "standard" processor function.  For example, the MPC8xx
has four powersave modes and four sleep modes.  Only one of the modes
is generic and isn't suitable to use if I use one of the other modes that
may require external device management.

My comment was truly simple :-)  Just don't assume the processor powersave
modes are suitable for all boards.  A board may wish to do something
different, so I suggest keeping the power save function initialization local
to a board rather than processor architecture.  Many of them are likely to
be generic and can use the same function, just allow the provision for them
to be different at the board level, that's all.

Thanks.


	-- Dan


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

Re: [RFC/PATCH] idle loop changes

From: Tom Rini <hidden>
Date: 2002-08-01 00:11:43

On Wed, Jul 31, 2002 at 05:29:01PM -0400, Dan Malek wrote:
Matt Porter wrote:
quoted
So, some new machdep calls that you can populate on a per board basis?
Are you just talking about them being used upon entering/exiting idle?
I was just thinking the power_save() function could be unique to a
board.  It has to be something combined with the power save mode
chosen on the chip, so machdep calls may not be appropriate.  We are
using names like ppc6xx_pm_idle, ppc4xx, ppc8xx, when it could be
my_custom_board_pm_idle......Just don't assume one type of chip will
use the same function on different boards.  When the idle/power save
function is chosen, it should probably be done during board setup,
not processor set up.
Right.  ppc6xx_pm_idle happens to work in most cases on all of the 6xx
boards, but once this gets in there is nothing stopping fooboard from
overriding this in platform_init().

The whole reason behind these changes is that the current power_save()
is dangerous on 4xx, and with the thought that maybe 8xx (or 405LP)
would need to do something much different.

--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help