Merge branch 'for-4.7/dsm' into libnvdimm-for-next
This commit is contained in:
@@ -159,6 +159,7 @@ enum {
|
||||
ND_CMD_VENDOR_EFFECT_LOG_SIZE = 7,
|
||||
ND_CMD_VENDOR_EFFECT_LOG = 8,
|
||||
ND_CMD_VENDOR = 9,
|
||||
ND_CMD_CALL = 10,
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -192,6 +193,7 @@ static inline const char *nvdimm_cmd_name(unsigned cmd)
|
||||
[ND_CMD_VENDOR_EFFECT_LOG_SIZE] = "effect_size",
|
||||
[ND_CMD_VENDOR_EFFECT_LOG] = "effect_log",
|
||||
[ND_CMD_VENDOR] = "vendor",
|
||||
[ND_CMD_CALL] = "cmd_call",
|
||||
};
|
||||
|
||||
if (cmd < ARRAY_SIZE(names) && names[cmd])
|
||||
@@ -260,4 +262,44 @@ enum ars_masks {
|
||||
ARS_STATUS_MASK = 0x0000FFFF,
|
||||
ARS_EXT_STATUS_SHIFT = 16,
|
||||
};
|
||||
|
||||
/*
|
||||
* struct nd_cmd_pkg
|
||||
*
|
||||
* is a wrapper to a quasi pass thru interface for invoking firmware
|
||||
* associated with nvdimms.
|
||||
*
|
||||
* INPUT PARAMETERS
|
||||
*
|
||||
* nd_family corresponds to the firmware (e.g. DSM) interface.
|
||||
*
|
||||
* nd_command are the function index advertised by the firmware.
|
||||
*
|
||||
* nd_size_in is the size of the input parameters being passed to firmware
|
||||
*
|
||||
* OUTPUT PARAMETERS
|
||||
*
|
||||
* nd_fw_size is the size of the data firmware wants to return for
|
||||
* the call. If nd_fw_size is greater than size of nd_size_out, only
|
||||
* the first nd_size_out bytes are returned.
|
||||
*/
|
||||
|
||||
struct nd_cmd_pkg {
|
||||
__u64 nd_family; /* family of commands */
|
||||
__u64 nd_command;
|
||||
__u32 nd_size_in; /* INPUT: size of input args */
|
||||
__u32 nd_size_out; /* INPUT: size of payload */
|
||||
__u32 nd_reserved2[9]; /* reserved must be zero */
|
||||
__u32 nd_fw_size; /* OUTPUT: size fw wants to return */
|
||||
unsigned char nd_payload[]; /* Contents of call */
|
||||
};
|
||||
|
||||
/* These NVDIMM families represent pre-standardization command sets */
|
||||
#define NVDIMM_FAMILY_INTEL 0
|
||||
#define NVDIMM_FAMILY_HPE1 1
|
||||
#define NVDIMM_FAMILY_HPE2 2
|
||||
|
||||
#define ND_IOCTL_CALL _IOWR(ND_IOCTL, ND_CMD_CALL,\
|
||||
struct nd_cmd_pkg)
|
||||
|
||||
#endif /* __NDCTL_H__ */
|
||||
|
Reference in New Issue
Block a user