xref: /linux/Documentation/ABI/testing/sysfs-bus-cxl (revision 86677a4e71070ffa4ee476ea119cd61d254a7af4)
18dd2bc0fSBen WidawskyWhat:		/sys/bus/cxl/flush
28dd2bc0fSBen WidawskyDate:		Januarry, 2022
38dd2bc0fSBen WidawskyKernelVersion:	v5.18
48dd2bc0fSBen WidawskyContact:	linux-cxl@vger.kernel.org
58dd2bc0fSBen WidawskyDescription:
68dd2bc0fSBen Widawsky		(WO) If userspace manually unbinds a port the kernel schedules
78dd2bc0fSBen Widawsky		all descendant memdevs for unbind. Writing '1' to this attribute
88dd2bc0fSBen Widawsky		flushes that work.
98dd2bc0fSBen Widawsky
10b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/firmware_version
11b39cb105SDan WilliamsDate:		December, 2020
12b39cb105SDan WilliamsKernelVersion:	v5.12
13b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
14b39cb105SDan WilliamsDescription:
15b39cb105SDan Williams		(RO) "FW Revision" string as reported by the Identify
16b39cb105SDan Williams		Memory Device Output Payload in the CXL-2.0
17b39cb105SDan Williams		specification.
18b39cb105SDan Williams
19b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/ram/size
20b39cb105SDan WilliamsDate:		December, 2020
21b39cb105SDan WilliamsKernelVersion:	v5.12
22b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
23b39cb105SDan WilliamsDescription:
24b39cb105SDan Williams		(RO) "Volatile Only Capacity" as bytes. Represents the
25b39cb105SDan Williams		identically named field in the Identify Memory Device Output
26b39cb105SDan Williams		Payload in the CXL-2.0 specification.
27b39cb105SDan Williams
28b39cb105SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/pmem/size
29b39cb105SDan WilliamsDate:		December, 2020
30b39cb105SDan WilliamsKernelVersion:	v5.12
31b39cb105SDan WilliamsContact:	linux-cxl@vger.kernel.org
32b39cb105SDan WilliamsDescription:
33b39cb105SDan Williams		(RO) "Persistent Only Capacity" as bytes. Represents the
34b39cb105SDan Williams		identically named field in the Identify Memory Device Output
35b39cb105SDan Williams		Payload in the CXL-2.0 specification.
364812be97SDan Williams
37bcc79ea3SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/serial
38bcc79ea3SDan WilliamsDate:		January, 2022
39bcc79ea3SDan WilliamsKernelVersion:	v5.18
40bcc79ea3SDan WilliamsContact:	linux-cxl@vger.kernel.org
41bcc79ea3SDan WilliamsDescription:
42bcc79ea3SDan Williams		(RO) 64-bit serial number per the PCIe Device Serial Number
43bcc79ea3SDan Williams		capability. Mandatory for CXL devices, see CXL 2.0 8.1.12.2
44bcc79ea3SDan Williams		Memory Device PCIe Capabilities and Extended Capabilities.
45bcc79ea3SDan Williams
46cf1f6877SDan WilliamsWhat:		/sys/bus/cxl/devices/memX/numa_node
47cf1f6877SDan WilliamsDate:		January, 2022
48cf1f6877SDan WilliamsKernelVersion:	v5.18
49cf1f6877SDan WilliamsContact:	linux-cxl@vger.kernel.org
50cf1f6877SDan WilliamsDescription:
51cf1f6877SDan Williams		(RO) If NUMA is enabled and the platform has affinitized the
52cf1f6877SDan Williams		host PCI device for this memory device, emit the CPU node
53cf1f6877SDan Williams		affinity for this device.
54cf1f6877SDan Williams
554812be97SDan WilliamsWhat:		/sys/bus/cxl/devices/*/devtype
564812be97SDan WilliamsDate:		June, 2021
574812be97SDan WilliamsKernelVersion:	v5.14
584812be97SDan WilliamsContact:	linux-cxl@vger.kernel.org
594812be97SDan WilliamsDescription:
60*86677a4eSDan Williams		(RO) CXL device objects export the devtype attribute which
61*86677a4eSDan Williams		mirrors the same value communicated in the DEVTYPE environment
62*86677a4eSDan Williams		variable for uevents for devices on the "cxl" bus.
634812be97SDan Williams
6483fbdbe4SDan WilliamsWhat:		/sys/bus/cxl/devices/*/modalias
6583fbdbe4SDan WilliamsDate:		December, 2021
6683fbdbe4SDan WilliamsKernelVersion:	v5.18
6783fbdbe4SDan WilliamsContact:	linux-cxl@vger.kernel.org
6883fbdbe4SDan WilliamsDescription:
69*86677a4eSDan Williams		(RO) CXL device objects export the modalias attribute which
70*86677a4eSDan Williams		mirrors the same value communicated in the MODALIAS environment
71*86677a4eSDan Williams		variable for uevents for devices on the "cxl" bus.
7283fbdbe4SDan Williams
734812be97SDan WilliamsWhat:		/sys/bus/cxl/devices/portX/uport
744812be97SDan WilliamsDate:		June, 2021
754812be97SDan WilliamsKernelVersion:	v5.14
764812be97SDan WilliamsContact:	linux-cxl@vger.kernel.org
774812be97SDan WilliamsDescription:
78*86677a4eSDan Williams		(RO) CXL port objects are enumerated from either a platform
79*86677a4eSDan Williams		firmware device (ACPI0017 and ACPI0016) or PCIe switch upstream
80*86677a4eSDan Williams		port with CXL component registers. The 'uport' symlink connects
81*86677a4eSDan Williams		the CXL portX object to the device that published the CXL port
824812be97SDan Williams		capability.
837d4b5ca2SDan Williams
847d4b5ca2SDan WilliamsWhat:		/sys/bus/cxl/devices/portX/dportY
857d4b5ca2SDan WilliamsDate:		June, 2021
867d4b5ca2SDan WilliamsKernelVersion:	v5.14
877d4b5ca2SDan WilliamsContact:	linux-cxl@vger.kernel.org
887d4b5ca2SDan WilliamsDescription:
89*86677a4eSDan Williams		(RO) CXL port objects are enumerated from either a platform
90*86677a4eSDan Williams		firmware device (ACPI0017 and ACPI0016) or PCIe switch upstream
91*86677a4eSDan Williams		port with CXL component registers. The 'dportY' symlink
92*86677a4eSDan Williams		identifies one or more downstream ports that the upstream port
93*86677a4eSDan Williams		may target in its decode of CXL memory resources.  The 'Y'
94*86677a4eSDan Williams		integer reflects the hardware port unique-id used in the
95*86677a4eSDan Williams		hardware decoder target list.
9640ba17afSDan Williams
9740ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y
9840ba17afSDan WilliamsDate:		June, 2021
9940ba17afSDan WilliamsKernelVersion:	v5.14
10040ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
10140ba17afSDan WilliamsDescription:
102*86677a4eSDan Williams		(RO) CXL decoder objects are enumerated from either a platform
10340ba17afSDan Williams		firmware description, or a CXL HDM decoder register set in a
10440ba17afSDan Williams		PCIe device (see CXL 2.0 section 8.2.5.12 CXL HDM Decoder
10540ba17afSDan Williams		Capability Structure). The 'X' in decoderX.Y represents the
10640ba17afSDan Williams		cxl_port container of this decoder, and 'Y' represents the
10740ba17afSDan Williams		instance id of a given decoder resource.
10840ba17afSDan Williams
10940ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/{start,size}
11040ba17afSDan WilliamsDate:		June, 2021
11140ba17afSDan WilliamsKernelVersion:	v5.14
11240ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
11340ba17afSDan WilliamsDescription:
114*86677a4eSDan Williams		(RO) The 'start' and 'size' attributes together convey the
115*86677a4eSDan Williams		physical address base and number of bytes mapped in the
116*86677a4eSDan Williams		decoder's decode window. For decoders of devtype
117*86677a4eSDan Williams		"cxl_decoder_root" the address range is fixed. For decoders of
118*86677a4eSDan Williams		devtype "cxl_decoder_switch" the address is bounded by the
119*86677a4eSDan Williams		decode range of the cxl_port ancestor of the decoder's cxl_port,
120*86677a4eSDan Williams		and dynamically updates based on the active memory regions in
121*86677a4eSDan Williams		that address space.
12240ba17afSDan Williams
12340ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/locked
12440ba17afSDan WilliamsDate:		June, 2021
12540ba17afSDan WilliamsKernelVersion:	v5.14
12640ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
12740ba17afSDan WilliamsDescription:
128*86677a4eSDan Williams		(RO) CXL HDM decoders have the capability to lock the
129*86677a4eSDan Williams		configuration until the next device reset. For decoders of
130*86677a4eSDan Williams		devtype "cxl_decoder_root" there is no standard facility to
131*86677a4eSDan Williams		unlock them.  For decoders of devtype "cxl_decoder_switch" a
132*86677a4eSDan Williams		secondary bus reset, of the PCIe bridge that provides the bus
133*86677a4eSDan Williams		for this decoders uport, unlocks / resets the decoder.
13440ba17afSDan Williams
13540ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/target_list
13640ba17afSDan WilliamsDate:		June, 2021
13740ba17afSDan WilliamsKernelVersion:	v5.14
13840ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
13940ba17afSDan WilliamsDescription:
140*86677a4eSDan Williams		(RO) Display a comma separated list of the current decoder
141*86677a4eSDan Williams		target configuration. The list is ordered by the current
142*86677a4eSDan Williams		configured interleave order of the decoder's dport instances.
143*86677a4eSDan Williams		Each entry in the list is a dport id.
14440ba17afSDan Williams
14540ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/cap_{pmem,ram,type2,type3}
14640ba17afSDan WilliamsDate:		June, 2021
14740ba17afSDan WilliamsKernelVersion:	v5.14
14840ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
14940ba17afSDan WilliamsDescription:
150*86677a4eSDan Williams		(RO) When a CXL decoder is of devtype "cxl_decoder_root", it
15140ba17afSDan Williams		represents a fixed memory window identified by platform
15240ba17afSDan Williams		firmware. A fixed window may only support a subset of memory
15340ba17afSDan Williams		types. The 'cap_*' attributes indicate whether persistent
15440ba17afSDan Williams		memory, volatile memory, accelerator memory, and / or expander
15540ba17afSDan Williams		memory may be mapped behind this decoder's memory window.
15640ba17afSDan Williams
15740ba17afSDan WilliamsWhat:		/sys/bus/cxl/devices/decoderX.Y/target_type
15840ba17afSDan WilliamsDate:		June, 2021
15940ba17afSDan WilliamsKernelVersion:	v5.14
16040ba17afSDan WilliamsContact:	linux-cxl@vger.kernel.org
16140ba17afSDan WilliamsDescription:
162*86677a4eSDan Williams		(RO) When a CXL decoder is of devtype "cxl_decoder_switch", it
163*86677a4eSDan Williams		can optionally decode either accelerator memory (type-2) or
164*86677a4eSDan Williams		expander memory (type-3). The 'target_type' attribute indicates
165*86677a4eSDan Williams		the current setting which may dynamically change based on what
16640ba17afSDan Williams		memory regions are activated in this decode hierarchy.
167