mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
cxl/pci: Add media provisioning required commands
Some of the commands have already been defined for the support of RAW commands (to be blocked). Unlike their usage in the RAW interface, when used through the supported interface, they will be coordinated and marshalled along with other commands being issued by userspace and the driver itself. That coordination will be added later. The list of commands was determined based on the learnings from libnvdimm and this list is provided directly from Dan. Recommended-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Ben Widawsky <ben.widawsky@intel.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/r/20210413140907.534404-1-ben.widawsky@intel.com Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
ba26864736
commit
87815ee9d0
2 changed files with 31 additions and 0 deletions
|
@ -51,7 +51,14 @@ enum opcode {
|
|||
CXL_MBOX_OP_GET_LSA = 0x4102,
|
||||
CXL_MBOX_OP_SET_LSA = 0x4103,
|
||||
CXL_MBOX_OP_GET_HEALTH_INFO = 0x4200,
|
||||
CXL_MBOX_OP_GET_ALERT_CONFIG = 0x4201,
|
||||
CXL_MBOX_OP_SET_ALERT_CONFIG = 0x4202,
|
||||
CXL_MBOX_OP_GET_SHUTDOWN_STATE = 0x4203,
|
||||
CXL_MBOX_OP_SET_SHUTDOWN_STATE = 0x4204,
|
||||
CXL_MBOX_OP_GET_POISON = 0x4300,
|
||||
CXL_MBOX_OP_INJECT_POISON = 0x4301,
|
||||
CXL_MBOX_OP_CLEAR_POISON = 0x4302,
|
||||
CXL_MBOX_OP_GET_SCAN_MEDIA_CAPS = 0x4303,
|
||||
CXL_MBOX_OP_SCAN_MEDIA = 0x4304,
|
||||
CXL_MBOX_OP_GET_SCAN_MEDIA = 0x4305,
|
||||
CXL_MBOX_OP_MAX = 0x10000
|
||||
|
@ -159,6 +166,18 @@ static struct cxl_mem_command mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
|
|||
CXL_CMD(GET_LSA, 0x8, ~0, 0),
|
||||
CXL_CMD(GET_HEALTH_INFO, 0, 0x12, 0),
|
||||
CXL_CMD(GET_LOG, 0x18, ~0, CXL_CMD_FLAG_FORCE_ENABLE),
|
||||
CXL_CMD(SET_PARTITION_INFO, 0x0a, 0, 0),
|
||||
CXL_CMD(SET_LSA, ~0, 0, 0),
|
||||
CXL_CMD(GET_ALERT_CONFIG, 0, 0x10, 0),
|
||||
CXL_CMD(SET_ALERT_CONFIG, 0xc, 0, 0),
|
||||
CXL_CMD(GET_SHUTDOWN_STATE, 0, 0x1, 0),
|
||||
CXL_CMD(SET_SHUTDOWN_STATE, 0x1, 0, 0),
|
||||
CXL_CMD(GET_POISON, 0x10, ~0, 0),
|
||||
CXL_CMD(INJECT_POISON, 0x8, 0, 0),
|
||||
CXL_CMD(CLEAR_POISON, 0x48, 0, 0),
|
||||
CXL_CMD(GET_SCAN_MEDIA_CAPS, 0x10, 0x4, 0),
|
||||
CXL_CMD(SCAN_MEDIA, 0x11, 0, 0),
|
||||
CXL_CMD(GET_SCAN_MEDIA, 0, ~0, 0),
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -29,6 +29,18 @@
|
|||
___C(GET_LSA, "Get Label Storage Area"), \
|
||||
___C(GET_HEALTH_INFO, "Get Health Info"), \
|
||||
___C(GET_LOG, "Get Log"), \
|
||||
___C(SET_PARTITION_INFO, "Set Partition Information"), \
|
||||
___C(SET_LSA, "Set Label Storage Area"), \
|
||||
___C(GET_ALERT_CONFIG, "Get Alert Configuration"), \
|
||||
___C(SET_ALERT_CONFIG, "Set Alert Configuration"), \
|
||||
___C(GET_SHUTDOWN_STATE, "Get Shutdown State"), \
|
||||
___C(SET_SHUTDOWN_STATE, "Set Shutdown State"), \
|
||||
___C(GET_POISON, "Get Poison List"), \
|
||||
___C(INJECT_POISON, "Inject Poison"), \
|
||||
___C(CLEAR_POISON, "Clear Poison"), \
|
||||
___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"), \
|
||||
___C(SCAN_MEDIA, "Scan Media"), \
|
||||
___C(GET_SCAN_MEDIA, "Get Scan Media Results"), \
|
||||
___C(MAX, "invalid / last command")
|
||||
|
||||
#define ___C(a, b) CXL_MEM_COMMAND_ID_##a
|
||||
|
|
Loading…
Reference in a new issue