Commit 206f9fa9 authored by Srinivasulu Thanneeru's avatar Srinivasulu Thanneeru Committed by Dave Jiang
Browse files

cxl/mbox: Add Clear Log mailbox command



Adding UAPI support for CXL r3.1 8.2.9.5.4
Clear Log command.

This proposed patch will be useful for clearing and populating
the Vendor debug log in certain scenarios, allowing for the
aggregation of results over time.

Signed-off-by: default avatarSrinivasulu Thanneeru <sthanneeru.opensrc@micron.com>
Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240313071218.729-3-sthanneeru.opensrc@micron.com


Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
parent 940325ad
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
	CXL_CMD(GET_HEALTH_INFO, 0, 0x12, 0),
	CXL_CMD(GET_LOG, 0x18, CXL_VARIABLE_PAYLOAD, CXL_CMD_FLAG_FORCE_ENABLE),
	CXL_CMD(GET_LOG_CAPS, 0x10, 0x4, 0),
	CXL_CMD(CLEAR_LOG, 0x10, 0, 0),
	CXL_CMD(GET_SUP_LOG_SUBLIST, 0x2, CXL_VARIABLE_PAYLOAD, 0),
	CXL_CMD(SET_PARTITION_INFO, 0x0a, 0, 0),
	CXL_CMD(SET_LSA, CXL_VARIABLE_PAYLOAD, 0, 0),
@@ -333,6 +334,15 @@ static bool cxl_payload_from_user_allowed(u16 opcode, void *payload_in)
			return false;
		break;
	}
	case CXL_MBOX_OP_CLEAR_LOG: {
		const uuid_t *uuid = (uuid_t *)payload_in;

		/*
		 * Restrict the ‘Clear log’ action to only apply to
		 * Vendor debug logs.
		 */
		return uuid_equal(uuid, &DEFINE_CXL_VENDOR_DEBUG_UUID);
	}
	default:
		break;
	}
+1 −0
Original line number Diff line number Diff line
@@ -528,6 +528,7 @@ enum cxl_opcode {
	CXL_MBOX_OP_GET_SUPPORTED_LOGS	= 0x0400,
	CXL_MBOX_OP_GET_LOG		= 0x0401,
	CXL_MBOX_OP_GET_LOG_CAPS	= 0x0402,
	CXL_MBOX_OP_CLEAR_LOG           = 0x0403,
	CXL_MBOX_OP_GET_SUP_LOG_SUBLIST = 0x0405,
	CXL_MBOX_OP_IDENTIFY		= 0x4000,
	CXL_MBOX_OP_GET_PARTITION_INFO	= 0x4100,
+1 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@
	___DEPRECATED(GET_SCAN_MEDIA, "Get Scan Media Results"),          \
	___C(GET_TIMESTAMP, "Get Timestamp"),                             \
	___C(GET_LOG_CAPS, "Get Log Capabilities"),			  \
	___C(CLEAR_LOG, "Clear Log"),					  \
	___C(GET_SUP_LOG_SUBLIST, "Get Supported Logs Sub-List"),	  \
	___C(MAX, "invalid / last command")