1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Apex kernel-userspace interface definitions.
4  *
5  * Copyright (C) 2018 Google, Inc.
6  */
7 #ifndef __APEX_H__
8 #define __APEX_H__
9 
10 #include <linux/ioctl.h>
11 
12 /* Clock Gating ioctl. */
13 struct apex_gate_clock_ioctl {
14 	/* Enter or leave clock gated state. */
15 	u64 enable;
16 
17 	/* If set, enter clock gating state, regardless of custom block's
18 	 * internal idle state
19 	 */
20 	u64 force_idle;
21 };
22 
23 /* Base number for all Apex-common IOCTLs */
24 #define APEX_IOCTL_BASE 0x7F
25 
26 /* Enable/Disable clock gating. */
27 #define APEX_IOCTL_GATE_CLOCK                                                  \
28 	_IOW(APEX_IOCTL_BASE, 0, struct apex_gate_clock_ioctl)
29 
30 #endif /* __APEX_H__ */
31