1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* 3 * Copyright (c) 2024-2025 Intel Corporation 4 * 5 * These are definitions for the mailbox command interface of CXL subsystem. 6 */ 7 #ifndef _UAPI_FWCTL_CXL_H_ 8 #define _UAPI_FWCTL_CXL_H_ 9 10 #include <linux/types.h> 11 #include <linux/stddef.h> 12 #include <cxl/features.h> 13 14 /** 15 * struct fwctl_rpc_cxl - ioctl(FWCTL_RPC) input for CXL 16 * @opcode: CXL mailbox command opcode 17 * @flags: Flags for the command (input). 18 * @op_size: Size of input payload. 19 * @reserved1: Reserved. Must be 0s. 20 * @get_sup_feats_in: Get Supported Features input 21 */ 22 struct fwctl_rpc_cxl { 23 __struct_group(fwctl_rpc_cxl_hdr, hdr, /* no attrs */, 24 __u32 opcode; 25 __u32 flags; 26 __u32 op_size; 27 __u32 reserved1; 28 ); 29 struct cxl_mbox_get_sup_feats_in get_sup_feats_in; 30 }; 31 32 /** 33 * struct fwctl_rpc_cxl_out - ioctl(FWCTL_RPC) output for CXL 34 * @size: Size of the output payload 35 * @retval: Return value from device 36 * @get_sup_feats_out: Get Supported Features output 37 */ 38 struct fwctl_rpc_cxl_out { 39 __struct_group(fwctl_rpc_cxl_out_hdr, hdr, /* no attrs */, 40 __u32 size; 41 __u32 retval; 42 ); 43 struct cxl_mbox_get_sup_feats_out get_sup_feats_out; 44 }; 45 46 #endif 47