summaryrefslogtreecommitdiff
path: root/security/tlk_driver
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2014-01-02 12:06:40 +0530
committerVarun Wadekar <vwadekar@nvidia.com>2014-01-08 20:45:43 -0800
commite9377e7870c2332b0d5d1b4788cefcfe1b8d62f2 (patch)
tree7130785f6f86584fef6d40e6f931ce9fe6640a10 /security/tlk_driver
parent4de8d209b9a2faee48cc0e939a03469a7b2a3cee (diff)
security: tlk_driver: delete TLK_{GENERIC|EXTENDED}_SMC macros
Generic cleanup to remove unnecessary macros. Change-Id: Ia5d8c89622b9689c0c0a2658495cb4d33a2da7f5 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/351304
Diffstat (limited to 'security/tlk_driver')
-rw-r--r--security/tlk_driver/ote_comms.c48
-rw-r--r--security/tlk_driver/ote_device.c6
-rw-r--r--security/tlk_driver/ote_fs.c4
-rw-r--r--security/tlk_driver/ote_log.c6
-rw-r--r--security/tlk_driver/ote_protocol.h40
5 files changed, 50 insertions, 54 deletions
diff --git a/security/tlk_driver/ote_comms.c b/security/tlk_driver/ote_comms.c
index 8cb11a288f6b..19861adca5d0 100644
--- a/security/tlk_driver/ote_comms.c
+++ b/security/tlk_driver/ote_comms.c
@@ -155,7 +155,7 @@ static void te_unpin_temp_buffers(struct te_request *request,
#ifdef CONFIG_SMP
cpumask_t saved_cpu_mask;
-void switch_cpumask_to_cpu0(void)
+static void switch_cpumask_to_cpu0(void)
{
long ret;
cpumask_t local_cpu_mask = CPU_MASK_NONE;
@@ -167,15 +167,18 @@ void switch_cpumask_to_cpu0(void)
pr_err("sched_setaffinity #1 -> 0x%lX", ret);
}
-void restore_cpumask(void)
+static void restore_cpumask(void)
{
long ret = sched_setaffinity(0, &saved_cpu_mask);
if (ret)
pr_err("sched_setaffinity #2 -> 0x%lX", ret);
}
+#else
+static inline void switch_cpumask_to_cpu0(void) {};
+static inline void restore_cpumask(void) {};
#endif
-uint32_t tlk_generic_smc(uint32_t arg0, uint32_t arg1, uint32_t arg2)
+static uint32_t _tlk_generic_smc(uint32_t arg0, uint32_t arg1, uint32_t arg2)
{
register uint32_t r0 asm("r0") = arg0;
register uint32_t r1 asm("r1") = arg1;
@@ -197,7 +200,22 @@ uint32_t tlk_generic_smc(uint32_t arg0, uint32_t arg1, uint32_t arg2)
return r0;
}
-uint32_t tlk_extended_smc(uint32_t *regs)
+uint32_t tlk_generic_smc(uint32_t arg0, uint32_t arg1, uint32_t arg2)
+{
+ uint32_t retval;
+
+ switch_cpumask_to_cpu0();
+
+ retval = _tlk_generic_smc(arg0, arg1, arg2);
+ while (retval == 0xFFFFFFFD)
+ retval = _tlk_generic_smc((60 << 24), 0, 0);
+
+ restore_cpumask();
+
+ return retval;
+}
+
+static uint32_t _tlk_extended_smc(uint32_t *regs)
{
register uint32_t r0 asm("r0") = (uint32_t)regs;
@@ -219,6 +237,21 @@ uint32_t tlk_extended_smc(uint32_t *regs)
return r0;
}
+uint32_t tlk_extended_smc(uint32_t *regs)
+{
+ uint32_t retval;
+
+ switch_cpumask_to_cpu0();
+
+ retval = _tlk_extended_smc(regs);
+ while (retval == 0xFFFFFFFD)
+ retval = _tlk_generic_smc((60 << 24), 0, 0);
+
+ restore_cpumask();
+
+ return retval;
+}
+
/*
* Do an SMC call
*/
@@ -238,7 +271,7 @@ static void do_smc(struct te_request *request, struct tlk_device *dev)
smc_params = (uint32_t)virt_to_phys(request->params);
}
- TLK_GENERIC_SMC(request->type, smc_args, smc_params);
+ tlk_generic_smc(request->type, smc_args, smc_params);
/*
* Check to see if there are any logs in written by TLK.
@@ -257,7 +290,8 @@ int te_set_vpr_params(void *vpr_base, size_t vpr_size)
/* Share the same lock used when request is send from user side */
mutex_lock(&smc_lock);
- retval = TLK_GENERIC_SMC(TE_SMC_PROGRAM_VPR, (uint32_t)vpr_base, vpr_size);
+ retval = tlk_generic_smc(TE_SMC_PROGRAM_VPR, (uint32_t)vpr_base,
+ vpr_size);
mutex_unlock(&smc_lock);
@@ -344,7 +378,7 @@ void te_launch_operation(struct te_launchop *cmd,
static int __init tlk_register_irq_handler(void)
{
- TLK_GENERIC_SMC(TE_SMC_REGISTER_IRQ_HANDLER,
+ tlk_generic_smc(TE_SMC_REGISTER_IRQ_HANDLER,
(unsigned int)tlk_irq_handler, 0);
return 0;
}
diff --git a/security/tlk_driver/ote_device.c b/security/tlk_driver/ote_device.c
index 29b860a7068c..63c9a912e1aa 100644
--- a/security/tlk_driver/ote_device.c
+++ b/security/tlk_driver/ote_device.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2013-2014 NVIDIA Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -56,7 +56,7 @@ static int te_create_free_cmd_list(struct tlk_device *dev)
* phys addresses are passed in do_smc).
*/
dev->req_param_buf = NULL;
- use_reqbuf = !TLK_GENERIC_SMC(TE_SMC_REGISTER_REQ_BUF, 0, 0);
+ use_reqbuf = !tlk_generic_smc(TE_SMC_REGISTER_REQ_BUF, 0, 0);
if (use_reqbuf) {
dev->req_param_buf = kmalloc((2 * PAGE_SIZE), GFP_KERNEL);
@@ -66,7 +66,7 @@ static int te_create_free_cmd_list(struct tlk_device *dev)
dev->param_addr = (struct te_oper_param *)
(dev->req_param_buf + PAGE_SIZE);
- TLK_GENERIC_SMC(TE_SMC_REGISTER_REQ_BUF,
+ tlk_generic_smc(TE_SMC_REGISTER_REQ_BUF,
(uint32_t)dev->req_addr, (2 * PAGE_SIZE));
} else {
dev->req_addr = dma_alloc_coherent(NULL, PAGE_SIZE,
diff --git a/security/tlk_driver/ote_fs.c b/security/tlk_driver/ote_fs.c
index b43eae69799f..3ac9ebdb1e37 100644
--- a/security/tlk_driver/ote_fs.c
+++ b/security/tlk_driver/ote_fs.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2013-2014 NVIDIA Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -223,7 +223,7 @@ static int __init tlk_fs_register_handlers(void)
smc_args[4] = (uint32_t)shmem_ptr->file_name;
smc_args[5] = (uint32_t)shmem_ptr->file_data;
- TLK_EXTENDED_SMC(smc_args);
+ tlk_extended_smc(smc_args);
return 0;
}
diff --git a/security/tlk_driver/ote_log.c b/security/tlk_driver/ote_log.c
index 6df01263f8d3..0cd4412d1470 100644
--- a/security/tlk_driver/ote_log.c
+++ b/security/tlk_driver/ote_log.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2013-2014 NVIDIA Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -180,14 +180,14 @@ static int __init ote_logger_init(void)
smc_args[0] = TE_SMC_INIT_LOGGER;
smc_args[1] = (uint32_t)cb;
- tlk_extended_smc(smc_args);
+ tlk_generic_smc(smc_args[0], smc_args[1], 0);
ote_logging_enabled = 1;
ote_print_logs();
#else
smc_args[0] = TE_SMC_INIT_LOGGER;
smc_args[1] = 0;
- tlk_extended_smc(smc_args);
+ tlk_generic_smc(smc_args[0], smc_args[1], 0);
#endif
return 0;
diff --git a/security/tlk_driver/ote_protocol.h b/security/tlk_driver/ote_protocol.h
index cff135dce349..a27b83b6ea1f 100644
--- a/security/tlk_driver/ote_protocol.h
+++ b/security/tlk_driver/ote_protocol.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2014 NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2013-2014 NVIDIA Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -50,44 +50,6 @@ uint32_t tlk_generic_smc(uint32_t arg0, uint32_t arg1, uint32_t arg2);
uint32_t tlk_extended_smc(uint32_t *args);
void tlk_irq_handler(void);
-#ifdef CONFIG_SMP
-void switch_cpumask_to_cpu0(void);
-void restore_cpumask(void);
-#else
-static inline void switch_cpumask_to_cpu0(void) {};
-static inline void restore_cpumask(void) {};
-#endif
-
-static inline uint32_t
-TLK_GENERIC_SMC(uint32_t arg0, uint32_t arg1, uint32_t arg2)
-{
- uint32_t retval;
-
- switch_cpumask_to_cpu0();
- retval = tlk_generic_smc(arg0, arg1, arg2);
- while (retval == 0xFFFFFFFD) {
- retval = tlk_generic_smc((60 << 24), 0, 0);
- }
- restore_cpumask();
-
- return retval;
-}
-
-static inline uint32_t
-TLK_EXTENDED_SMC(uint32_t *args)
-{
- uint32_t retval;
-
- switch_cpumask_to_cpu0();
- retval = tlk_extended_smc(args);
- while (retval == 0xFFFFFFFD) {
- retval = tlk_generic_smc((60 << 24), 0, 0);
- }
- restore_cpumask();
-
- return retval;
-}
-
struct tlk_device {
struct te_request *req_addr;
dma_addr_t req_addr_phys;