summaryrefslogtreecommitdiff
path: root/include/services
diff options
context:
space:
mode:
Diffstat (limited to 'include/services')
-rw-r--r--include/services/sdei.h113
1 files changed, 54 insertions, 59 deletions
diff --git a/include/services/sdei.h b/include/services/sdei.h
index 79d1d065d..4d0fd3fd3 100644
--- a/include/services/sdei.h
+++ b/include/services/sdei.h
@@ -4,61 +4,56 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
-#ifndef __SDEI_H__
-#define __SDEI_H__
+#ifndef SDEI_H
+#define SDEI_H
#include <spinlock.h>
#include <utils_def.h>
/* Range 0xC4000020 - 0xC400003F reserved for SDE 64bit smc calls */
-#define SDEI_VERSION 0xC4000020
-#define SDEI_EVENT_REGISTER 0xC4000021
-#define SDEI_EVENT_ENABLE 0xC4000022
-#define SDEI_EVENT_DISABLE 0xC4000023
-#define SDEI_EVENT_CONTEXT 0xC4000024
-#define SDEI_EVENT_COMPLETE 0xC4000025
-#define SDEI_EVENT_COMPLETE_AND_RESUME 0xC4000026
-
-#define SDEI_EVENT_UNREGISTER 0xC4000027
-#define SDEI_EVENT_STATUS 0xC4000028
-#define SDEI_EVENT_GET_INFO 0xC4000029
-#define SDEI_EVENT_ROUTING_SET 0xC400002A
-#define SDEI_PE_MASK 0xC400002B
-#define SDEI_PE_UNMASK 0xC400002C
-
-#define SDEI_INTERRUPT_BIND 0xC400002D
-#define SDEI_INTERRUPT_RELEASE 0xC400002E
-#define SDEI_EVENT_SIGNAL 0xC400002F
-#define SDEI_FEATURES 0xC4000030
-#define SDEI_PRIVATE_RESET 0xC4000031
-#define SDEI_SHARED_RESET 0xC4000032
+#define SDEI_VERSION 0xC4000020U
+#define SDEI_EVENT_REGISTER 0xC4000021U
+#define SDEI_EVENT_ENABLE 0xC4000022U
+#define SDEI_EVENT_DISABLE 0xC4000023U
+#define SDEI_EVENT_CONTEXT 0xC4000024U
+#define SDEI_EVENT_COMPLETE 0xC4000025U
+#define SDEI_EVENT_COMPLETE_AND_RESUME 0xC4000026U
+
+#define SDEI_EVENT_UNREGISTER 0xC4000027U
+#define SDEI_EVENT_STATUS 0xC4000028U
+#define SDEI_EVENT_GET_INFO 0xC4000029U
+#define SDEI_EVENT_ROUTING_SET 0xC400002AU
+#define SDEI_PE_MASK 0xC400002BU
+#define SDEI_PE_UNMASK 0xC400002CU
+
+#define SDEI_INTERRUPT_BIND 0xC400002DU
+#define SDEI_INTERRUPT_RELEASE 0xC400002EU
+#define SDEI_EVENT_SIGNAL 0xC400002FU
+#define SDEI_FEATURES 0xC4000030U
+#define SDEI_PRIVATE_RESET 0xC4000031U
+#define SDEI_SHARED_RESET 0xC4000032U
/* SDEI_EVENT_REGISTER flags */
-#define SDEI_REGF_RM_ANY 0
-#define SDEI_REGF_RM_PE 1
+#define SDEI_REGF_RM_ANY 0ULL
+#define SDEI_REGF_RM_PE 1ULL
/* SDEI_EVENT_COMPLETE status flags */
-#define SDEI_EV_HANDLED 0
-#define SDEI_EV_FAILED 1
-
-/* SDE event status values in bit position */
-#define SDEI_STATF_REGISTERED 0
-#define SDEI_STATF_ENABLED 1
-#define SDEI_STATF_RUNNING 2
+#define SDEI_EV_HANDLED 0U
+#define SDEI_EV_FAILED 1U
/* Internal: SDEI flag bit positions */
-#define _SDEI_MAPF_DYNAMIC_SHIFT 1
-#define _SDEI_MAPF_BOUND_SHIFT 2
-#define _SDEI_MAPF_SIGNALABLE_SHIFT 3
-#define _SDEI_MAPF_PRIVATE_SHIFT 4
-#define _SDEI_MAPF_CRITICAL_SHIFT 5
-#define _SDEI_MAPF_EXPLICIT_SHIFT 6
+#define SDEI_MAPF_DYNAMIC_SHIFT_ 1U
+#define SDEI_MAPF_BOUND_SHIFT_ 2U
+#define SDEI_MAPF_SIGNALABLE_SHIFT_ 3U
+#define SDEI_MAPF_PRIVATE_SHIFT_ 4U
+#define SDEI_MAPF_CRITICAL_SHIFT_ 5U
+#define SDEI_MAPF_EXPLICIT_SHIFT_ 6U
/* SDEI event 0 */
#define SDEI_EVENT_0 0
/* Placeholder interrupt for dynamic mapping */
-#define SDEI_DYN_IRQ 0
+#define SDEI_DYN_IRQ 0U
/* SDEI flags */
@@ -80,20 +75,20 @@
*
* See also the is_map_bound() macro.
*/
-#define SDEI_MAPF_DYNAMIC BIT(_SDEI_MAPF_DYNAMIC_SHIFT)
-#define SDEI_MAPF_BOUND BIT(_SDEI_MAPF_BOUND_SHIFT)
-#define SDEI_MAPF_EXPLICIT BIT(_SDEI_MAPF_EXPLICIT_SHIFT)
+#define SDEI_MAPF_DYNAMIC BIT(SDEI_MAPF_DYNAMIC_SHIFT_)
+#define SDEI_MAPF_BOUND BIT(SDEI_MAPF_BOUND_SHIFT_)
+#define SDEI_MAPF_EXPLICIT BIT(SDEI_MAPF_EXPLICIT_SHIFT_)
-#define SDEI_MAPF_SIGNALABLE BIT(_SDEI_MAPF_SIGNALABLE_SHIFT)
-#define SDEI_MAPF_PRIVATE BIT(_SDEI_MAPF_PRIVATE_SHIFT)
+#define SDEI_MAPF_SIGNALABLE BIT(SDEI_MAPF_SIGNALABLE_SHIFT_)
+#define SDEI_MAPF_PRIVATE BIT(SDEI_MAPF_PRIVATE_SHIFT_)
#define SDEI_MAPF_NORMAL 0
-#define SDEI_MAPF_CRITICAL BIT(_SDEI_MAPF_CRITICAL_SHIFT)
+#define SDEI_MAPF_CRITICAL BIT(SDEI_MAPF_CRITICAL_SHIFT_)
/* Indices of private and shared mappings */
-#define _SDEI_MAP_IDX_PRIV 0
-#define _SDEI_MAP_IDX_SHRD 1
-#define _SDEI_MAP_IDX_MAX 2
+#define SDEI_MAP_IDX_PRIV_ 0U
+#define SDEI_MAP_IDX_SHRD_ 1U
+#define SDEI_MAP_IDX_MAX_ 2U
/* The macros below are used to identify SDEI calls from the SMC function ID */
#define SDEI_FID_MASK U(0xffe0)
@@ -104,22 +99,22 @@
#define SDEI_EVENT_MAP(_event, _intr, _flags) \
{ \
- .ev_num = _event, \
- .intr = _intr, \
- .map_flags = _flags \
+ .ev_num = (_event), \
+ .intr = (_intr), \
+ .map_flags = (_flags) \
}
#define SDEI_SHARED_EVENT(_event, _intr, _flags) \
SDEI_EVENT_MAP(_event, _intr, _flags)
#define SDEI_PRIVATE_EVENT(_event, _intr, _flags) \
- SDEI_EVENT_MAP(_event, _intr, _flags | SDEI_MAPF_PRIVATE)
+ SDEI_EVENT_MAP(_event, _intr, (_flags) | SDEI_MAPF_PRIVATE)
#define SDEI_DEFINE_EVENT_0(_intr) \
- SDEI_PRIVATE_EVENT(SDEI_EVENT_0, _intr, SDEI_MAPF_SIGNALABLE)
+ SDEI_PRIVATE_EVENT(SDEI_EVENT_0, (_intr), SDEI_MAPF_SIGNALABLE)
#define SDEI_EXPLICIT_EVENT(_event, _pri) \
- SDEI_EVENT_MAP(_event, 0, _pri | SDEI_MAPF_EXPLICIT | SDEI_MAPF_PRIVATE)
+ SDEI_EVENT_MAP((_event), 0, (_pri) | SDEI_MAPF_EXPLICIT | SDEI_MAPF_PRIVATE)
/*
* Declare shared and private entries for each core. Also declare a global
@@ -133,12 +128,12 @@
[PLATFORM_CORE_COUNT * ARRAY_SIZE(_private)]; \
sdei_entry_t sdei_shared_event_table[ARRAY_SIZE(_shared)]; \
const sdei_mapping_t sdei_global_mappings[] = { \
- [_SDEI_MAP_IDX_PRIV] = { \
- .map = _private, \
+ [SDEI_MAP_IDX_PRIV_] = { \
+ .map = (_private), \
.num_maps = ARRAY_SIZE(_private) \
}, \
- [_SDEI_MAP_IDX_SHRD] = { \
- .map = _shared, \
+ [SDEI_MAP_IDX_SHRD_] = { \
+ .map = (_shared), \
.num_maps = ARRAY_SIZE(_shared) \
}, \
}
@@ -185,4 +180,4 @@ void sdei_init(void);
/* Public API to dispatch an event to Normal world */
int sdei_dispatch_event(int ev_num);
-#endif /* __SDEI_H__ */
+#endif /* SDEI_H */