summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2025-03-07 23:55:34 +0300
committerJason Gunthorpe <jgg@nvidia.com>2025-03-17 20:41:37 +0300
commit5908f3ed6dc209e5c824e63afda7545805f75a7e (patch)
tree18fda1194ec52854971708225143169a9b9307a7 /include
parent4d1c09cef2c244bd19467c016a3e56ba28ecc59d (diff)
downloadlinux-5908f3ed6dc209e5c824e63afda7545805f75a7e.tar.xz
cxl: Add support to handle user feature commands for get feature
Add helper function to parse the user data from fwctl RPC ioctl and send the parsed input parameters to cxl_get_feature() call. Link: https://patch.msgid.link/r/20250307205648.1021626-5-dave.jiang@intel.com Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Li Ming <ming.li@zohomail.com> Signed-off-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/fwctl/cxl.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/uapi/fwctl/cxl.h b/include/uapi/fwctl/cxl.h
index 4bbfd7727526..f589bfb77426 100644
--- a/include/uapi/fwctl/cxl.h
+++ b/include/uapi/fwctl/cxl.h
@@ -18,6 +18,7 @@
* @op_size: Size of input payload.
* @reserved1: Reserved. Must be 0s.
* @get_sup_feats_in: Get Supported Features input
+ * @get_feat_in: Get Feature input
*/
struct fwctl_rpc_cxl {
__struct_group(fwctl_rpc_cxl_hdr, hdr, /* no attrs */,
@@ -26,7 +27,10 @@ struct fwctl_rpc_cxl {
__u32 op_size;
__u32 reserved1;
);
- struct cxl_mbox_get_sup_feats_in get_sup_feats_in;
+ union {
+ struct cxl_mbox_get_sup_feats_in get_sup_feats_in;
+ struct cxl_mbox_get_feat_in get_feat_in;
+ };
};
/**
@@ -34,13 +38,17 @@ struct fwctl_rpc_cxl {
* @size: Size of the output payload
* @retval: Return value from device
* @get_sup_feats_out: Get Supported Features output
+ * @payload: raw byte stream of payload
*/
struct fwctl_rpc_cxl_out {
__struct_group(fwctl_rpc_cxl_out_hdr, hdr, /* no attrs */,
__u32 size;
__u32 retval;
);
- struct cxl_mbox_get_sup_feats_out get_sup_feats_out;
+ union {
+ struct cxl_mbox_get_sup_feats_out get_sup_feats_out;
+ __DECLARE_FLEX_ARRAY(__u8, payload);
+ };
};
#endif