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