Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54709e17 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "qseecom: Add ioctl command and QSEOS_FSM_ENCFS_REQ for fsm fde support"

parents 78859763 d3d110af
Loading
Loading
Loading
Loading
+812 −167

File changed.

Preview size limit exceeded, changes collapsed.

+3 −0
Original line number Original line Diff line number Diff line
@@ -69,6 +69,9 @@ enum qseecom_qceos_cmd_id {
	QSEOS_FSM_IKE_REQ_RSP_CMD = 0x204,
	QSEOS_FSM_IKE_REQ_RSP_CMD = 0x204,
	QSEOS_FSM_OEM_FUSE_WRITE_ROW = 0x301,
	QSEOS_FSM_OEM_FUSE_WRITE_ROW = 0x301,
	QSEOS_FSM_OEM_FUSE_READ_ROW = 0x302,
	QSEOS_FSM_OEM_FUSE_READ_ROW = 0x302,
	QSEOS_FSM_ENCFS_REQ_CMD = 0x403,
	QSEOS_FSM_ENCFS_REQ_RSP_CMD = 0x404,

	QSEOS_CMD_MAX     = 0xEFFFFFFF
	QSEOS_CMD_MAX     = 0xEFFFFFFF
};
};


+24 −0
Original line number Original line Diff line number Diff line
@@ -207,6 +207,21 @@ struct compat_qseecom_qteec_modfd_req {
	struct compat_qseecom_ion_fd_info ifd_data[MAX_ION_FD];
	struct compat_qseecom_ion_fd_info ifd_data[MAX_ION_FD];
};
};


struct compat_qseecom_ce_pipe_entry {
	compat_int_t valid;
	compat_uint_t ce_num;
	compat_uint_t ce_pipe_pair;
};

struct compat_qseecom_ce_info_req {
	unsigned char handle[MAX_CE_INFO_HANDLE_SIZE];
	compat_uint_t usage;
	compat_uint_t unit_num;
	compat_uint_t num_ce_pipe_entries;
	struct compat_qseecom_ce_pipe_entry
				ce_pipe_entry[MAX_CE_PIPE_PAIR_PER_UNIT];
};

struct file;
struct file;
extern long compat_qseecom_ioctl(struct file *file,
extern long compat_qseecom_ioctl(struct file *file,
					unsigned int cmd, unsigned long arg);
					unsigned int cmd, unsigned long arg);
@@ -304,6 +319,15 @@ extern long compat_qseecom_ioctl(struct file *file,
#define COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64 \
#define COMPAT_QSEECOM_IOCTL_SEND_MODFD_RESP_64 \
	_IOWR(QSEECOM_IOC_MAGIC, 36, \
	_IOWR(QSEECOM_IOC_MAGIC, 36, \
				struct compat_qseecom_send_modfd_listener_resp)
				struct compat_qseecom_send_modfd_listener_resp)
#define COMPAT_QSEECOM_IOCTL_GET_CE_PIPE_INFO \
	_IOWR(QSEECOM_IOC_MAGIC, 40, \
				struct compat_qseecom_ce_info_req)
#define COMPAT_QSEECOM_IOCTL_FREE_CE_PIPE_INFO \
	_IOWR(QSEECOM_IOC_MAGIC, 41, \
				struct compat_qseecom_ce_info_req)
#define COMPAT_QSEECOM_IOCTL_QUERY_CE_PIPE_INFO \
	_IOWR(QSEECOM_IOC_MAGIC, 42, \
				struct compat_qseecom_ce_info_req)


#endif
#endif
#endif /* _UAPI_COMPAT_QSEECOM_H_ */
#endif /* _UAPI_COMPAT_QSEECOM_H_ */
+31 −0
Original line number Original line Diff line number Diff line
@@ -233,6 +233,27 @@ struct qseecom_sg_entry_64bit {
	uint32_t len;
	uint32_t len;
} __attribute__ ((packed));
} __attribute__ ((packed));


#define MAX_CE_PIPE_PAIR_PER_UNIT 3
#define INVALID_CE_INFO_UNIT_NUM 0xffffffff

#define CE_PIPE_PAIR_USE_TYPE_FDE 0
#define CE_PIPE_PAIR_USE_TYPE_PFE 1

struct qseecom_ce_pipe_entry {
	int valid;
	unsigned int ce_num;
	unsigned int ce_pipe_pair;
};

#define MAX_CE_INFO_HANDLE_SIZE 32
struct qseecom_ce_info_req {
	unsigned char handle[MAX_CE_INFO_HANDLE_SIZE];
	unsigned int usage;
	unsigned int unit_num;
	unsigned int num_ce_pipe_entries;
	struct qseecom_ce_pipe_entry ce_pipe_entry[MAX_CE_PIPE_PAIR_PER_UNIT];
};

#define SG_ENTRY_SZ		sizeof(struct qseecom_sg_entry)
#define SG_ENTRY_SZ		sizeof(struct qseecom_sg_entry)
#define SG_ENTRY_SZ_64BIT	sizeof(struct qseecom_sg_entry_64bit)
#define SG_ENTRY_SZ_64BIT	sizeof(struct qseecom_sg_entry_64bit)


@@ -334,4 +355,14 @@ extern long qseecom_ioctl(struct file *file,
#define QSEECOM_IOCTL_SEND_MODFD_RESP_64 \
#define QSEECOM_IOCTL_SEND_MODFD_RESP_64 \
	_IOWR(QSEECOM_IOC_MAGIC, 36, struct qseecom_send_modfd_listener_resp)
	_IOWR(QSEECOM_IOC_MAGIC, 36, struct qseecom_send_modfd_listener_resp)


#define QSEECOM_IOCTL_GET_CE_PIPE_INFO \
	_IOWR(QSEECOM_IOC_MAGIC, 40, struct qseecom_ce_info_req)

#define QSEECOM_IOCTL_FREE_CE_PIPE_INFO \
	_IOWR(QSEECOM_IOC_MAGIC, 41, struct qseecom_ce_info_req)

#define QSEECOM_IOCTL_QUERY_CE_PIPE_INFO \
	_IOWR(QSEECOM_IOC_MAGIC, 42, struct qseecom_ce_info_req)


#endif /* _UAPI_QSEECOM_H_ */
#endif /* _UAPI_QSEECOM_H_ */