Lines Matching +full:sets +full:- +full:of +full:- +full:ports

1 .. SPDX-License-Identifier: GPL-2.0
9 CXL.mem protocol. It contains some amount of volatile memory, persistent memory,
14 range across multiple devices underneath a host-bridge or interleaved
15 across host-bridges.
17 CXL Bus: Theory of Operation
22 of the CXL.mem topology is also similar to RAID in that different environments
28 Platform firmware enumerates a menu of interleave options at the "CXL root port"
29 (Linux term for the top of the CXL decode topology). From there, PCIe topology
34 interleave cycles across multiple Root Ports. An intervening Switch between a
36 Ports, etc.
38 Here is a sample listing of a CXL topology defined by 'cxl_test'. The 'cxl_test'
39 module generates an emulated CXL topology of 2 Host Bridges each with 2 Root
40 Ports. Each of those Root Ports are connected to 2-way switches with endpoints
41 connected to those downstream ports for a total of 8 endpoints::
43 # cxl list -BEMPu -b cxl_test
47 "ports:root3":[
51 "ports:port5":[
117 "ports:port4":[
185 its descendants. So "root" claims non-PCIe enumerable platform decode ranges and
186 decodes them to "ports", "ports" decode to "endpoints", and "endpoints"
193 by the arrival of a CXL.mem device. I.e. unless and until the PCIe core attaches
195 objects. Conversely for hot-unplug / removal scenarios, there is no need for
196 the Linux PCI core to tear down switch-level CXL resources because the endpoint
197 ->remove() event cleans up the port data that was established to support that
203 # cxl list -BDMu -d root -m mem3
250 device name of 'mem3' which platform level decode ranges may this device
252 sets simultaneously depending on how many decoder resource it has. In this
253 example mem3 can participate in one or more of a PMEM interleave that spans to
261 # cxl list -MDu -d 3.2
320 -----------------
322 .. kernel-doc:: drivers/cxl/pci.c
325 .. kernel-doc:: drivers/cxl/pci.c
328 .. kernel-doc:: drivers/cxl/mem.c
331 .. kernel-doc:: drivers/cxl/cxlmem.h
334 .. kernel-doc:: drivers/cxl/core/memdev.c
338 --------
339 .. kernel-doc:: drivers/cxl/port.c
343 --------
344 .. kernel-doc:: drivers/cxl/cxl.h
347 .. kernel-doc:: drivers/cxl/cxl.h
350 .. kernel-doc:: drivers/cxl/core/hdm.c
353 .. kernel-doc:: drivers/cxl/core/hdm.c
356 .. kernel-doc:: drivers/cxl/core/cdat.c
359 .. kernel-doc:: drivers/cxl/core/port.c
362 .. kernel-doc:: drivers/cxl/core/port.c
365 .. kernel-doc:: drivers/cxl/core/pci.c
368 .. kernel-doc:: drivers/cxl/core/pci.c
371 .. kernel-doc:: drivers/cxl/core/pmem.c
374 .. kernel-doc:: drivers/cxl/core/regs.c
377 .. kernel-doc:: drivers/cxl/core/mbox.c
381 -----------
382 .. kernel-doc:: drivers/cxl/core/region.c
385 .. kernel-doc:: drivers/cxl/core/region.c
392 -------------------
394 .. kernel-doc:: include/uapi/linux/cxl_mem.h
397 .. kernel-doc:: include/uapi/linux/cxl_mem.h