xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/pfrut.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __PFRUT_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __PFRUT_H__
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/ioctl.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
11*8d67ca89SAndroid Build Coastguard Worker #define PFRUT_IOCTL_MAGIC 0xEE
12*8d67ca89SAndroid Build Coastguard Worker #define PFRU_IOC_SET_REV _IOW(PFRUT_IOCTL_MAGIC, 0x01, unsigned int)
13*8d67ca89SAndroid Build Coastguard Worker #define PFRU_IOC_STAGE _IOW(PFRUT_IOCTL_MAGIC, 0x02, unsigned int)
14*8d67ca89SAndroid Build Coastguard Worker #define PFRU_IOC_ACTIVATE _IOW(PFRUT_IOCTL_MAGIC, 0x03, unsigned int)
15*8d67ca89SAndroid Build Coastguard Worker #define PFRU_IOC_STAGE_ACTIVATE _IOW(PFRUT_IOCTL_MAGIC, 0x04, unsigned int)
16*8d67ca89SAndroid Build Coastguard Worker #define PFRU_IOC_QUERY_CAP _IOR(PFRUT_IOCTL_MAGIC, 0x05, struct pfru_update_cap_info)
17*8d67ca89SAndroid Build Coastguard Worker struct pfru_payload_hdr {
18*8d67ca89SAndroid Build Coastguard Worker   __u32 sig;
19*8d67ca89SAndroid Build Coastguard Worker   __u32 hdr_version;
20*8d67ca89SAndroid Build Coastguard Worker   __u32 hdr_size;
21*8d67ca89SAndroid Build Coastguard Worker   __u32 hw_ver;
22*8d67ca89SAndroid Build Coastguard Worker   __u32 rt_ver;
23*8d67ca89SAndroid Build Coastguard Worker   __u8 platform_id[16];
24*8d67ca89SAndroid Build Coastguard Worker };
25*8d67ca89SAndroid Build Coastguard Worker enum pfru_dsm_status {
26*8d67ca89SAndroid Build Coastguard Worker   DSM_SUCCEED = 0,
27*8d67ca89SAndroid Build Coastguard Worker   DSM_FUNC_NOT_SUPPORT = 1,
28*8d67ca89SAndroid Build Coastguard Worker   DSM_INVAL_INPUT = 2,
29*8d67ca89SAndroid Build Coastguard Worker   DSM_HARDWARE_ERR = 3,
30*8d67ca89SAndroid Build Coastguard Worker   DSM_RETRY_SUGGESTED = 4,
31*8d67ca89SAndroid Build Coastguard Worker   DSM_UNKNOWN = 5,
32*8d67ca89SAndroid Build Coastguard Worker   DSM_FUNC_SPEC_ERR = 6,
33*8d67ca89SAndroid Build Coastguard Worker };
34*8d67ca89SAndroid Build Coastguard Worker struct pfru_update_cap_info {
35*8d67ca89SAndroid Build Coastguard Worker   __u32 status;
36*8d67ca89SAndroid Build Coastguard Worker   __u32 update_cap;
37*8d67ca89SAndroid Build Coastguard Worker   __u8 code_type[16];
38*8d67ca89SAndroid Build Coastguard Worker   __u32 fw_version;
39*8d67ca89SAndroid Build Coastguard Worker   __u32 code_rt_version;
40*8d67ca89SAndroid Build Coastguard Worker   __u8 drv_type[16];
41*8d67ca89SAndroid Build Coastguard Worker   __u32 drv_rt_version;
42*8d67ca89SAndroid Build Coastguard Worker   __u32 drv_svn;
43*8d67ca89SAndroid Build Coastguard Worker   __u8 platform_id[16];
44*8d67ca89SAndroid Build Coastguard Worker   __u8 oem_id[16];
45*8d67ca89SAndroid Build Coastguard Worker   __u32 oem_info_len;
46*8d67ca89SAndroid Build Coastguard Worker };
47*8d67ca89SAndroid Build Coastguard Worker struct pfru_com_buf_info {
48*8d67ca89SAndroid Build Coastguard Worker   __u32 status;
49*8d67ca89SAndroid Build Coastguard Worker   __u32 ext_status;
50*8d67ca89SAndroid Build Coastguard Worker   __u64 addr_lo;
51*8d67ca89SAndroid Build Coastguard Worker   __u64 addr_hi;
52*8d67ca89SAndroid Build Coastguard Worker   __u32 buf_size;
53*8d67ca89SAndroid Build Coastguard Worker };
54*8d67ca89SAndroid Build Coastguard Worker struct pfru_updated_result {
55*8d67ca89SAndroid Build Coastguard Worker   __u32 status;
56*8d67ca89SAndroid Build Coastguard Worker   __u32 ext_status;
57*8d67ca89SAndroid Build Coastguard Worker   __u64 low_auth_time;
58*8d67ca89SAndroid Build Coastguard Worker   __u64 high_auth_time;
59*8d67ca89SAndroid Build Coastguard Worker   __u64 low_exec_time;
60*8d67ca89SAndroid Build Coastguard Worker   __u64 high_exec_time;
61*8d67ca89SAndroid Build Coastguard Worker };
62*8d67ca89SAndroid Build Coastguard Worker struct pfrt_log_data_info {
63*8d67ca89SAndroid Build Coastguard Worker   __u32 status;
64*8d67ca89SAndroid Build Coastguard Worker   __u32 ext_status;
65*8d67ca89SAndroid Build Coastguard Worker   __u64 chunk1_addr_lo;
66*8d67ca89SAndroid Build Coastguard Worker   __u64 chunk1_addr_hi;
67*8d67ca89SAndroid Build Coastguard Worker   __u64 chunk2_addr_lo;
68*8d67ca89SAndroid Build Coastguard Worker   __u64 chunk2_addr_hi;
69*8d67ca89SAndroid Build Coastguard Worker   __u32 max_data_size;
70*8d67ca89SAndroid Build Coastguard Worker   __u32 chunk1_size;
71*8d67ca89SAndroid Build Coastguard Worker   __u32 chunk2_size;
72*8d67ca89SAndroid Build Coastguard Worker   __u32 rollover_cnt;
73*8d67ca89SAndroid Build Coastguard Worker   __u32 reset_cnt;
74*8d67ca89SAndroid Build Coastguard Worker };
75*8d67ca89SAndroid Build Coastguard Worker struct pfrt_log_info {
76*8d67ca89SAndroid Build Coastguard Worker   __u32 log_level;
77*8d67ca89SAndroid Build Coastguard Worker   __u32 log_type;
78*8d67ca89SAndroid Build Coastguard Worker   __u32 log_revid;
79*8d67ca89SAndroid Build Coastguard Worker };
80*8d67ca89SAndroid Build Coastguard Worker #define PFRT_LOG_IOC_SET_INFO _IOW(PFRUT_IOCTL_MAGIC, 0x06, struct pfrt_log_info)
81*8d67ca89SAndroid Build Coastguard Worker #define PFRT_LOG_IOC_GET_INFO _IOR(PFRUT_IOCTL_MAGIC, 0x07, struct pfrt_log_info)
82*8d67ca89SAndroid Build Coastguard Worker #define PFRT_LOG_IOC_GET_DATA_INFO _IOR(PFRUT_IOCTL_MAGIC, 0x08, struct pfrt_log_data_info)
83*8d67ca89SAndroid Build Coastguard Worker #endif
84