#include <linux/kthread.h>
#include <linux/pm_qos.h>
#include <linux/suspend.h>
+#include <linux/debug-snapshot.h>
#include <soc/samsung/exynos-cpuhp.h>
scnprintf(pre_buf, sizeof(pre_buf), "%*pbl", cpumask_pr_args(&cpuhp.online_cpus));
scnprintf(new_buf, sizeof(new_buf), "%*pbl", cpumask_pr_args(&online_cpus));
- pr_info("%s: %s -> %s fast_hp=%d\n", __func__, pre_buf, new_buf, fast_hp);
+ dbg_snapshot_printk("%s: %s -> %s fast_hp=%d\n", __func__, pre_buf, new_buf, fast_hp);
+
+ /* print cpu control information */
+ if (cpuhp.debug)
+ pr_info("%s: %s -> %s fast_hp=%d\n", __func__, pre_buf, new_buf, fast_hp);
}
/*
}
online_cpus = cpuhp_get_online_cpus();
-
- /* print cpu control information */
-// if (cpuhp.debug)
- cpuhp_print_debug_info(online_cpus, fast_hp);
+ cpuhp_print_debug_info(online_cpus, fast_hp);
/* if there is no mask change, skip */
if (cpumask_equal(&cpuhp.online_cpus, &online_cpus))
struct emc_mode *cur_mode; /* current mode */
struct emc_mode *req_mode; /* requested mode */
struct emc_mode *user_mode; /* user requesting mode */
+ unsigned int in_progress;
struct cpumask heavy_cpus; /* cpus need to boost */
struct cpumask busy_cpus; /* cpus need to online */
/* loadsum of boostable and trigger domain */
break;
spin_lock_irqsave(&emc_lock, flags);
+ emc.in_progress = 1;
event = emc_clear_event();
trace_emc_do_mode_change(emc.cur_mode->name,
/* request mode change */
exynos_cpuhp_request("EMC", emc.cur_mode->cpus, emc.ctrl_type);
- pr_info("EMC_MODE: %s (cpus%d)\n", emc.cur_mode->name,
- cpumask_weight(&emc.cur_mode->cpus));
+ dbg_snapshot_printk("EMC: mode change finished %s (cpus%d)\n",
+ emc.cur_mode->name, cpumask_weight(&emc.cur_mode->cpus));
+ emc.in_progress = 0;
}
return 0;