for_each_child_of_node(np, child_np) {
int index;
const char *available;
+ const char *policy_use;
if (of_property_read_u32(child_np, "dm-index", &index))
return -ENODEV;
} else {
dm->dm_data[index].available = false;
}
+
+ if (of_property_read_string(child_np, "policy_use", &policy_use)) {
+ dev_info(dm->dev, "This doesn't need to send policy to ACPM\n");
+ } else {
+ if (!strcmp(policy_use, "true"))
+ dm->dm_data[index].policy_use = true;
+ }
}
return ret;
constraint_checker_max(get_max_constraint_list(dm), max_freq);
/*Send policy to FVP*/
- if (dm_type == DM_MIF || dm_type == DM_INT) {
+ if (dm->policy_use) {
ret = acpm_ipc_request_channel(exynos_dm->dev->of_node, NULL, &ch_num, &size);
if (ret) {
dev_err(exynos_dm->dev,
config.cmd = cmd;
config.response = true;
config.indirection = false;
- config.cmd[0] = 0x0B040000;
+ config.cmd[0] = dm_type;
config.cmd[1] = max_freq;
config.cmd[2] = POLICY_REQ;
- config.cmd[3] = dm_type;
ret = acpm_ipc_send_data(ch_num, &config);
if (ret) {