[RFC PATCH 0/6] cxl: Add support for CXL feature commands, CXL device patrol scrub control and DDR5 ECS control features

From: shiju.jose
Date: Tue Nov 14 2023 - 07:57:09 EST


From: Shiju Jose <shiju.jose@xxxxxxxxxx>

1. Add support for CXL feature commands(CXL spec 3.0 section 8.2.9.6).
2. Add CXL device scrub driver supporting patrol scrub control feature
(CXL spec 3.1 section 8.2.9.9.11.1) and DDR5 ECS feature(CXL spec 3.1
section 8.2.9.9.11.2).
3. Add scrub attributes for DDR5 ECS control to the memory scrub driver.

The attributes for the CXL scrub control features is exposed to the user
in the sysfs and is based on the previous code submitted for the memory
scrub control feature.
The patch and series for supporting memory scrub control feature are here,
https://lore.kernel.org/lkml/20230915172818.761-2-shiju.jose@xxxxxxxxxx/
https://lore.kernel.org/lkml/20230915172818.761-1-shiju.jose@xxxxxxxxxx/

The QEMU series to support these features is available here,
https://lore.kernel.org/qemu-devel/20231114124711.1128-1-shiju.jose@xxxxxxxxxx/T/#t

Shiju Jose (6):
cxl/mbox: Add GET_SUPPORTED_FEATURES, GET_FEATURE and SET_FEATURE
mailbox commands
cxl/memscrub: Add CXL device patrol scrub control feature
memory: scrub: Add function to show scrub attributes in decimal
memory: scrub: Add scrub control attributes for the DDR5 ECS
cxl/memscrub: Add CXL device DDR5 ECS control feature
cxl: scrub: sysfs: Add Documentation for CXL memory device scrub
control attributes

.../testing/sysfs-class-cxl-scrub-configure | 135 +++
drivers/cxl/Kconfig | 23 +
drivers/cxl/core/Makefile | 1 +
drivers/cxl/core/mbox.c | 74 ++
drivers/cxl/core/memscrub.c | 1008 +++++++++++++++++
drivers/cxl/cxlmem.h | 104 ++
drivers/cxl/pci.c | 8 +
drivers/memory/scrub/memory-scrub.c | 36 +-
include/memory/memory-scrub.h | 11 +
include/uapi/linux/cxl_mem.h | 3 +
10 files changed, 1400 insertions(+), 3 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-cxl-scrub-configure
create mode 100644 drivers/cxl/core/memscrub.c

--
2.34.1