cxl/mem: Add a "RAW" send command
authorBen Widawsky <ben.widawsky@intel.com>
Wed, 17 Feb 2021 04:09:54 +0000 (20:09 -0800)
committerDan Williams <dan.j.williams@intel.com>
Wed, 17 Feb 2021 04:36:38 +0000 (20:36 -0800)
commit13237183c735f5cba4ae26bc782c613ae0d4e4d3
tree097c6359d749a8b4729d6fb599bc83612ea21a2b
parent583fa5e71caeb79e04e477e9837e2f7fa53b71e4
cxl/mem: Add a "RAW" send command

The CXL memory device send interface will have a number of supported
commands. The raw command is not such a command. Raw commands allow
userspace to send a specified opcode to the underlying hardware and
bypass all driver checks on the command. The primary use for this
command is to [begrudgingly] allow undocumented vendor specific hardware
commands.

While not the main motivation, it also allows prototyping new hardware
commands without a driver patch and rebuild.

While this all sounds very powerful it comes with a couple of caveats:
1. Bug reports using raw commands will not get the same level of
   attention as bug reports using supported commands (via taint).
2. Supported commands will be rejected by the RAW command.

With this comes new debugfs knob to allow full access to your toes with
your weapon of choice.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com> (v2)
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Ariel Sibley <Ariel.Sibley@microchip.com>
Link: https://lore.kernel.org/r/20210217040958.1354670-6-ben.widawsky@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/Kconfig
drivers/cxl/mem.c
include/uapi/linux/cxl_mem.h