Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/uapi/fwctl/pds.h
26288 views
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
/* Copyright(c) Advanced Micro Devices, Inc */
3
4
/*
5
* fwctl interface info for pds_fwctl
6
*/
7
8
#ifndef _UAPI_FWCTL_PDS_H_
9
#define _UAPI_FWCTL_PDS_H_
10
11
#include <linux/types.h>
12
13
/**
14
* struct fwctl_info_pds
15
* @uctx_caps: bitmap of firmware capabilities
16
*
17
* Return basic information about the FW interface available.
18
*/
19
struct fwctl_info_pds {
20
__u32 uctx_caps;
21
};
22
23
/**
24
* enum pds_fwctl_capabilities
25
* @PDS_FWCTL_QUERY_CAP: firmware can be queried for information
26
* @PDS_FWCTL_SEND_CAP: firmware can be sent commands
27
*/
28
enum pds_fwctl_capabilities {
29
PDS_FWCTL_QUERY_CAP = 0,
30
PDS_FWCTL_SEND_CAP,
31
};
32
33
/**
34
* struct fwctl_rpc_pds
35
* @in.op: requested operation code
36
* @in.ep: firmware endpoint to operate on
37
* @in.rsvd: reserved
38
* @in.len: length of payload data
39
* @in.payload: address of payload buffer
40
* @in: rpc in parameters
41
* @out.retval: operation result value
42
* @out.rsvd: reserved
43
* @out.len: length of result data buffer
44
* @out.payload: address of payload data buffer
45
* @out: rpc out parameters
46
*/
47
struct fwctl_rpc_pds {
48
struct {
49
__u32 op;
50
__u32 ep;
51
__u32 rsvd;
52
__u32 len;
53
__aligned_u64 payload;
54
} in;
55
struct {
56
__u32 retval;
57
__u32 rsvd[2];
58
__u32 len;
59
__aligned_u64 payload;
60
} out;
61
};
62
#endif /* _UAPI_FWCTL_PDS_H_ */
63
64