1 /* Copyright (c) 2015, The Linux Foundation. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
14 #include <linux/errno.h>
15 #include <linux/qcom_scm.h>
18 * qcom_scm_set_cold_boot_addr() - Set the cold boot address for cpus
19 * @entry: Entry point function for the cpus
20 * @cpus: The cpumask of cpus that will use the entry point
22 * Set the cold boot address of the cpus. Any cpu outside the supported
23 * range would be removed from the cpu present mask.
25 int __qcom_scm_set_cold_boot_addr(void *entry
, const cpumask_t
*cpus
)
31 * qcom_scm_set_warm_boot_addr() - Set the warm boot address for cpus
32 * @entry: Entry point function for the cpus
33 * @cpus: The cpumask of cpus that will use the entry point
35 * Set the Linux entry point for the SCM to transfer control to when coming
36 * out of a power down. CPU power down may be executed on cpuidle or hotplug.
38 int __qcom_scm_set_warm_boot_addr(void *entry
, const cpumask_t
*cpus
)
44 * qcom_scm_cpu_power_down() - Power down the cpu
45 * @flags - Flags to flush cache
47 * This is an end point to power down cpu. If there was a pending interrupt,
48 * the control would return from this function, otherwise, the cpu jumps to the
49 * warm boot entry point set for this cpu upon reset.
51 void __qcom_scm_cpu_power_down(u32 flags
)
55 int __qcom_scm_is_call_available(u32 svc_id
, u32 cmd_id
)
60 int __qcom_scm_hdcp_req(struct qcom_scm_hdcp_req
*req
, u32 req_cnt
, u32
*resp
)