On 15.09.23 19:28, shiju.jose@xxxxxxxxxx wrote:
From: Shiju Jose <shiju.jose@xxxxxxxxxx> Add documentation for scrub driver, supports configure scrub parameters, in Documentation/scrub-configure.rst Signed-off-by: Shiju Jose <shiju.jose@xxxxxxxxxx> --- Documentation/scrub-configure.rst | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Documentation/scrub-configure.rst diff --git a/Documentation/scrub-configure.rst b/Documentation/scrub-configure.rst new file mode 100644 index 000000000000..9f8581b88788 --- /dev/null +++ b/Documentation/scrub-configure.rst @@ -0,0 +1,55 @@ +========================== +Scrub subsystem driver +========================== + +Copyright (c) 2023 HiSilicon Limited. + +:Author: Shiju Jose <shiju.jose@xxxxxxxxxx> +:License: The GNU Free Documentation License, Version 1.2 + (dual licensed under the GPL v2) +:Original Reviewers: + +- Written for: 6.7 +- Updated for: + +Introduction +------------ +The scrub subsystem driver provides the interface for configure the
"... interface for configuring memory scrubbers in the system." are we only configuring firmware/hw-based memory scrubbing? I assume so.
+parameters of memory scrubbers in the system. The scrub device drivers +in the system register with the scrub configure subsystem.
Maybe say a few words what memory scrubbing is, and what it is used for.
+ +The scrub configure driver exposes the scrub controls to the user +via sysfs. + +The File System +--------------- + +The configuration parameters of the registered scrubbers could be +accessed via the /sys/class/scrub/scrubX/regionN/ + +sysfs +----- + +Sysfs files are documented in +`Documentation/ABI/testing/sysfs-class-scrub-configure`. + +Example +------- + + The usage takes the form shown in this example:: + + # echo 0x300000 > /sys/class/scrub/scrub0/region0/addr_base + # echo 0x100000 > /sys/class/scrub/scrub0/region0/addr_size + # cat /sys/class/scrub/scrub0/region0/speed_available + # 1-60 + # echo 25 > /sys/class/scrub/scrub0/region0/speed + # echo 1 > /sys/class/scrub/scrub0/region0/enable + + # cat /sys/class/scrub/scrub0/region0/speed + # 0x19
Is it reasonable to return the speed as hex? You set it as dec.
+ # cat /sys/class/scrub/scrub0/region0/addr_base + # 0x100000
But didn't we set it to 0x300000 ...
+ # cat /sys/class/scrub/scrub0/region0/addr_size + # 0x200000
... and didn't we set it to 0x100000 ? Or what's the magic happening here?
+ + # echo 0 > /sys/class/scrub/scrub0/region0/enable
-- Cheers, David / dhildenb