Esempio n. 1
0
void nvhost_module_suspend(struct nvhost_module *mod, bool system_suspend)
{
	int ret;
	struct nvhost_master *dev;

	if (system_suspend) {
		dev = container_of(mod, struct nvhost_master, mod);
		if (!is_module_idle(mod))
			debug_not_idle(dev);
	} else {
void nvhost_module_suspend(struct nvhost_module *mod, bool system_suspend)
{
	int ret;

	if (system_suspend && (!is_module_idle(mod)))
		debug_not_idle(mod);

	ret = wait_event_timeout(mod->idle, is_module_idle(mod),
			   ACM_TIMEOUT + msecs_to_jiffies(500));
	if (ret == 0)
		nvhost_debug_dump();

	if (system_suspend)
		printk("tegra_grhost: entered idle\n");

	flush_delayed_work(&mod->powerdown);
	if (system_suspend)
		printk("tegra_grhost: flushed delayed work\n");
	BUG_ON(mod->powered);
}
Esempio n. 3
0
void nvhost_module_suspend(struct nvhost_module *mod)
{
	wait_event(mod->idle, is_module_idle(mod));
	flush_delayed_work(&mod->powerdown);
	BUG_ON(mod->powered);
}