Example #1
0
static void ps3_sys_manager_fin(struct ps3_system_bus_device *dev)
{
    ps3_sys_manager_send_request_shutdown(dev);

    pr_emerg("System Halted, OK to turn off power\n");

    while (ps3_sys_manager_handle_msg(dev)) {

        lv1_pause(0);
    }

    while (1) {

        lv1_pause(1);
    }
}
void ps3_sys_manager_halt(void)
{
    pr_emerg("System Halted, OK to turn off power\n");
    local_irq_disable();
    while (1)
        lv1_pause(1);
}
Example #3
0
static void ps3_sys_manager_fin(struct ps3_system_bus_device *dev)
{
	ps3_sys_manager_send_request_shutdown(dev);

	pr_emerg("System Halted, OK to turn off power\n");

	while (ps3_sys_manager_handle_msg(dev)) {
		/* pause until next DEC interrupt */
		lv1_pause(0);
	}

	while (1) {
		/* pause, ignoring DEC interrupt */
		lv1_pause(1);
	}
}
Example #4
0
static void ps3_power_save(void)
{
	/*
	 * lv1_pause() puts the PPE thread into inactive state until an
	 * irq on an unmasked plug exists. MSR[EE] has no effect.
	 * flags: 0 = wake on DEC interrupt, 1 = ignore DEC interrupt.
	 */

	lv1_pause(0);
}
Example #5
0
static void ps3_panic(char *str)
{
    DBG("%s:%d %s\n", __func__, __LINE__, str);

    smp_send_stop();
    printk("\n");
    printk("   System does not reboot automatically.\n");
    printk("   Please press POWER button.\n");
    printk("\n");

    while(1)
        lv1_pause(1);
}
Example #6
0
static void
ps3_cpu_idle(void)
{
	static volatile int pausing = 0;

	/*
	 * XXX: It appears that the PS3 can livelock if both threads
	 * call lv1_pause(0) simultaneously.
	 */
	if (!atomic_cmpset_int(&pausing, 0, 1))
		return;

	lv1_pause(0);
	pausing = 0;
}
Example #7
0
static void
ps3_cpu_idle(sbintime_t sbt)
{
	lv1_pause(0);
}
Example #8
0
static void
ps3_cpu_idle(void)
{
	lv1_pause(0);
}
Example #9
0
static void ps3_power_save(void)
{

	lv1_pause(0);
}