[PATCH v3 11/11] cxl: scrub: sysfs: Add Documentation for CXL memory device scrub control attributes

From: shiju.jose
Date: Thu Nov 23 2023 - 12:44:54 EST


From: Shiju Jose <shiju.jose@xxxxxxxxxx>

Add sysfs documentation for the CXL memory device scrub control
attributes those are exposed in /sys/class/scrub/ by the scrub
driver. These attributes support user configuring a CXL memory
device scrub.

Signed-off-by: Shiju Jose <shiju.jose@xxxxxxxxxx>
---
.../testing/sysfs-class-cxl-scrub-configure | 135 ++++++++++++++++++
1 file changed, 135 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-class-cxl-scrub-configure

diff --git a/Documentation/ABI/testing/sysfs-class-cxl-scrub-configure b/Documentation/ABI/testing/sysfs-class-cxl-scrub-configure
new file mode 100644
index 000000000000..57ba63d5390f
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-class-cxl-scrub-configure
@@ -0,0 +1,135 @@
+What: /sys/class/scrub/
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ The scrub/ class subdirectory belongs to the scrub
+ subsystem.
+
+What: /sys/class/scrub/scrubX/
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ The /sys/class/scrub/scrub{0,1,2,3,...} directories
+ correspond to each scrub device.
+
+What: /sys/class/scrub/scrubX/name
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) name of the memory scrub device
+
+What: /sys/class/scrub/scrubX/regionY/
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ The /sys/class/scrub/scrubX/region{0,1,2,3,...}
+ directories correspond to each scrub region under a scrub device.
+ Scrub region is a physical address range or for example
+ memory media FRU of DDR5 ECS feature for which scrub may be
+ separately controlled.
+
+What: /sys/class/scrub/scrubX/regionY/enable
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (WO) Start/Stop CXL memory patrol scrub.
+ 1 - enable the CXL memory patrol scrub.
+ 0 - disable the CXL memory patrol scrub.
+
+What: /sys/class/scrub/scrubX/regionY/speed
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RW) The scrub cycle to set for the CXL memory
+ patrol scrub and it must be within the supported
+ range. The unit of the scrub cycle is hour.
+
+What: /sys/class/scrub/scrubX/regionY/speed_available
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) Supported range of the scrub cycle by the
+ CXL memory patrol scrub.
+ The unit of the scrub cycle is hour.
+
+What: /sys/class/scrub/scrubX/regionY/ecs_log_entry_type
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RW) The log entry type of how the DDR5 ECS log is
+ reported.
+ 00b - per DRAM.
+ 01b - per memory media FRU.
+
+What: /sys/class/scrub/scrubX/regionY/ecs_log_entry_type_per_dram
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) Returns true if current log entry type of DDR5 ECS
+ region is per DRAM.
+
+What: /sys/class/scrub/scrubX/regionY/ecs_log_entry_type_per_memory_media
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) Returns true if current log entry type of DDR5 ECS
+ region is per memory media FRU.
+
+What: /sys/class/scrub/scrubX/regionY/mode
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RW) The mode of how the DDR5 ECS counts the errors.
+ 0 - ECS counts rows with errors.
+ 1 - ECS counts codewords with errors.
+
+What: /sys/class/scrub/scrubX/regionY/mode_counts_rows
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) Returns true if current mode of DDR5 ECS region
+ is counts rows with errors.
+
+What: /sys/class/scrub/scrubX/regionY/mode_counts_codewords
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) Returns true if current mode of DDR5 ECS region
+ is counts codewords with errors.
+
+What: /sys/class/scrub/scrubX/regionY/reset_counter
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (WO) DDR5 ECS reset ECC counter.
+ 0 - normal, ECC counter running actively.
+ 1 - reset ECC counter to the default value.
+
+What: /sys/class/scrub/scrubX/regionY/threshold
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RW) DDR5 ECS threshold count per GB of memory cells.
+
+What: /sys/class/scrub/scrubX/regionY/threshold_available
+Date: November 2023
+KernelVersion: 6.8
+Contact: linux-kernel@xxxxxxxxxxxxxxx
+Description:
+ (RO) Supported list of DDR5 ECS threshold count per GB of
+ memory cells.
--
2.34.1