Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
e60b53f
Revert "NVIDIA: VR: SAUCE: cxl: add support for cxl reset"
JiandiAnNVIDIA Mar 6, 2026
96cada1
cxl/hdm: Use str_plural() to simplify the code
Aug 11, 2025
72491e4
cxl/region: use str_enabled_disabled() instead of ternary operator
SimoneCheng Aug 11, 2025
bcb76b2
cxl: Move hpa_to_spa callback to a new root decoder ops structure
AlisonSchofield Aug 4, 2025
9adb9f3
cxl: Define a SPA->CXL HPA root decoder callback for XOR Math
AlisonSchofield Aug 4, 2025
81a3bda
cxl/region: Introduce SPA to DPA address translation
AlisonSchofield Aug 4, 2025
39224db
cxl/core: Add locked variants of the poison inject and clear funcs
AlisonSchofield Aug 4, 2025
1b68abf
cxl/region: Add inject and clear poison by region offset
AlisonSchofield Aug 4, 2025
803e786
cxl: Fix emit of type resource_size_t argument for validate_region_of…
davejiang Aug 18, 2025
a77661f
mm/memory_hotplug: Update comment for hotplug memory callback priorities
davejiang Aug 29, 2025
7615f21
drivers/base/node: Add a helper function node_update_perf_attrs()
davejiang Aug 29, 2025
1846173
cxl, acpi/hmat: Update CXL access coordinates directly instead of thr…
davejiang Aug 29, 2025
dccc854
acpi/hmat: Remove now unused hmat_update_target_coordinates()
davejiang Aug 29, 2025
c21080e
Documentation/driver-api: Fix typo error in cxl
rakurame96 Aug 18, 2025
feab42d
cxl/acpi: Rename CFMW coherency restrictions
Sep 8, 2025
7c6f7d9
cxl: Documentation/driver-api/cxl: Describe the x86 Low Memory Hole s…
fdefranc Sep 15, 2025
cec28ef
cxl: Add helper to detect top of CXL device topology
davejiang Aug 29, 2025
05e634c
cxl: Add helper to delete dport
davejiang Aug 29, 2025
d568723
cxl: Add a cached copy of target_map to cxl_decoder
davejiang Aug 29, 2025
f0daa5e
cxl/test: Refactor decoder setup to reduce cxl_test burden
davejiang Aug 29, 2025
11b6f7c
cxl: Defer dport allocation for switch ports
davejiang Aug 29, 2025
6762d6e
cxl/test: Add mock version of devm_cxl_add_dport_by_dev()
davejiang Aug 29, 2025
9982139
cxl/test: Adjust the mock version of devm_cxl_switch_port_decoders_se…
davejiang Aug 29, 2025
95be661
cxl/test: Setup target_map for cxl_test decoder initialization
davejiang Aug 29, 2025
a761089
cxl: Change sslbis handler to only handle single dport
davejiang Aug 29, 2025
fe39189
cxl: Move port register setup to when first dport appear
davejiang Aug 14, 2025
7922d5c
cxl/port: Avoid missing port component registers setup
liming011 Oct 1, 2025
a7e9e0c
cxl/region: Use %pa printk format to emit resource_size_t
AlisonSchofield Oct 14, 2025
4fd81ef
cxl: Adjust offset calculation for poison injection
davejiang Oct 31, 2025
80192f4
Documentation/driver-api/cxl: remove page-allocator quirk section
Oct 3, 2025
2d3a899
cxl/port: Remove devm_cxl_port_enumerate_dports()
liming011 Sep 27, 2025
8ba94b8
cxl: fix typos in cdat.c comments
aloktiwa Oct 11, 2025
866acc1
cxl/pci: replace use of system_wq with system_percpu_wq
DispatchCode Oct 30, 2025
d385082
cxl/region: Refactor address translation funcs for testing
AlisonSchofield Oct 14, 2025
293cba3
cxl/acpi: Make the XOR calculations available for testing
AlisonSchofield Oct 14, 2025
a6c82f9
cxl/test: Add cxl_translate module for address translation testing
AlisonSchofield Oct 14, 2025
322aae9
cxl: Adjust extended linear cache failure emission in cxl_acpi
davejiang Oct 3, 2025
72872e6
cxl/region: Add support to indicate region has extended linear cache
davejiang Oct 22, 2025
6afdd2e
cxl: Add handling of locked CXL decoder
davejiang Nov 5, 2025
7992ac7
acpi/hmat: Return when generic target is updated
davejiang Nov 5, 2025
2436609
cxl: Rename region_res_match_cxl_range() to spa_maps_hpa()
davejiang Nov 6, 2025
c0154b1
cxl: Clarify comment in spa_maps_hpa()
davejiang Nov 6, 2025
b46ca0e
cxl: Simplify cxl_rd_ops allocation and handling
Nov 14, 2025
19b248c
cxl/acpi: Group xor arithmetric setup code in a single block
Nov 14, 2025
515662c
cxl/region: Remove local variable @inc in cxl_port_setup_targets()
Nov 14, 2025
d2a6cf5
cxl/test: Standardize CXL auto region size
davejiang Nov 17, 2025
8c693dc
cxl/test: Add cxl_test CFMWS support for extended linear cache
davejiang Nov 17, 2025
c371e87
cxl/test: Add support for acpi extended linear cache
davejiang Nov 17, 2025
c3f0920
cxl/test: remove unused mock function for cxl_rcd_component_reg_phys()
alucerop Nov 18, 2025
544c132
cxl/test: Remove ret_limit race condition in mock_get_event()
AlisonSchofield Nov 16, 2025
33b4ed1
cxl/test: Assign overflow_err_count from log->nr_overflow
AlisonSchofield Nov 16, 2025
e0655d0
soc: apple: mailbox: fix device leak on lookup
jhovold Sep 26, 2025
3522058
soc: apple: sart: drop device reference after lookup
jhovold Sep 26, 2025
028cb3b
soc: amlogic: canvas: fix device leak on lookup
jhovold Sep 26, 2025
f97cbe1
soc: amlogic: canvas: simplify lookup error handling
jhovold Sep 26, 2025
13c26c0
dt-bindings: soc: microchip: document the simple-mfd syscon on PolarF…
ConchuOD Oct 13, 2025
aff6a64
soc: microchip: add mfd drivers for two syscon regions on PolarFire SoC
ConchuOD Oct 13, 2025
1af94ef
MAINTAINERS: add new soc drivers to Microchip RISC-V entry
ConchuOD Nov 10, 2025
ed7e3de
MAINTAINERS: rename Microchip RISC-V entry
ConchuOD Nov 10, 2025
6e51914
dt-bindings: cache: sifive,ccache0: add a pic64gx compatible
Nov 17, 2025
6485a3d
memregion: Drop unused IORES_DESC_* parameter from cpu_cache_invalida…
jic23 Nov 17, 2025
cb2c6f8
memregion: Support fine grained invalidate by cpu_cache_invalidate_me…
Nov 17, 2025
7ac957b
dt-bindings: arm: amlogic: meson-gx-ao-secure: support more SoCs
Nov 19, 2025
86f030d
soc: amlogic: meson-gx-socinfo: add new SoCs id
Nov 19, 2025
e4291ec
lib: Support ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION
Nov 17, 2025
d76476a
arm64: Select GENERIC_CPU_CACHE_MAINTENANCE
jic23 Nov 17, 2025
8a2c90f
MAINTAINERS: Add Jonathan Cameron to drivers/cache and add lib/cache_…
jic23 Nov 17, 2025
809b667
cache: Make top level Kconfig menu a boolean dependent on RISCV
jic23 Nov 17, 2025
1cbb350
cache: Support cache maintenance for HiSilicon SoC Hydra Home Agent
Nov 17, 2025
9fa4cc6
MAINTAINERS: refer to intended file in STANDALONE CACHE CONTROLLER DR…
bulwahn Nov 17, 2025
bac9db5
MAINTAINERS: Update email address for Christophe Leroy
Nov 26, 2025
4910930
soc: fsl: qbman: add WQ_PERCPU to alloc_workqueue users
DispatchCode Nov 7, 2025
72964cb
soc: fsl: qbman: use kmalloc_array() instead of kmalloc()
ligongwei-qm Nov 21, 2025
2f317e5
cxl/mem: Fix devm_cxl_memdev_edac_release() confusion
djbw Dec 16, 2025
604d26b
cxl/mem: Arrange for always-synchronous memdev attach
djbw Dec 16, 2025
61c9f04
cxl/port: Arrange for always synchronous endpoint attach
djbw Dec 16, 2025
eb57cbc
cxl/mem: Convert devm_cxl_add_memdev() to scope-based-cleanup
djbw Dec 16, 2025
18ff2a2
cxl/mem: Drop @host argument to devm_cxl_add_memdev()
djbw Dec 16, 2025
14289aa
cxl/mem: Introduce cxl_memdev_attach for CXL-dependent operation
djbw Dec 16, 2025
91c8344
PCI: Move CXL DVSEC definitions into uapi/linux/pci_regs.h
ktbowman Jan 14, 2026
ed38046
PCI: Update CXL DVSEC definitions
ktbowman Jan 14, 2026
b9b8e45
cxl/pci: Remove unnecessary CXL Endpoint handling helper functions
ktbowman Jan 14, 2026
e0c700e
cxl/pci: Remove unnecessary CXL RCH handling helper functions
ktbowman Jan 14, 2026
df7634c
cxl/pci: Remove CXL VH handling in CONFIG_PCIEAER_CXL conditional blo…
davejiang Jan 14, 2026
8891ca7
PCI/AER: Replace PCIEAER_CXL symbol with CXL_RAS
djbw Jan 14, 2026
50a3017
cxl/pci: Move CXL driver's RCH error handling into core/ras_rch.c
ktbowman Jan 14, 2026
9228e0c
cxl/mem: Clarify @host for devm_cxl_add_nvdimm()
djbw Jan 14, 2026
e868154
cxl: Update RAS handler interfaces to also support CXL Ports
ktbowman Jan 14, 2026
51906b0
cxl/pci: Remove outdated FIXME comment and BUILD_BUG_ON
samasth-norway Jan 5, 2026
89e9eef
cxl/hdm: Fix newline character in dev_err() messages
Jan 9, 2026
fa29f96
cxl/acpi: Remove cxl_acpi_set_cache_size()
liming011 Jan 9, 2026
78dccb8
cxl/core: Fix cxl_dport debugfs EINJ entries
benhartcheatham Jan 9, 2026
7ab30cf
cxl/region: Translate DPA->HPA in unaligned MOD3 regions
AlisonSchofield Jan 16, 2026
c210b57
cxl/region: Translate HPA to DPA and memdev in unaligned regions
AlisonSchofield Jan 16, 2026
84743e0
cxl/region: Use do_div() for 64-bit modulo operation
AlisonSchofield Jan 17, 2026
90497a7
cxl: Fix premature commit_end increment on decoder commit failure
Jan 29, 2026
c46d21a
PCI: Introduce pcie_is_cxl()
ktbowman Jan 14, 2026
55cdd3e
PCI: Replace cxl_error_is_native() with pcie_aer_is_native()
ktbowman Jan 14, 2026
bf96402
PCI/AER: Export pci_aer_unmask_internal_errors()
ktbowman Jan 14, 2026
7d34b72
PCI/AER: Update is_internal_error() to be non-static is_aer_internal_…
ktbowman Jan 14, 2026
115b1e1
PCI/AER: Move CXL RCH error handling to aer_cxl_rch.c
ktbowman Jan 14, 2026
fa00d68
PCI/AER: Use guard() in cxl_rch_handle_error_iter()
ktbowman Jan 14, 2026
4c19ee2
PCI/AER: Report CXL or PCIe bus type in AER trace logging
ktbowman Jan 14, 2026
6b3be6b
PCI/AER: Update struct aer_err_info with kernel-doc formatting
ktbowman Jan 20, 2026
dd9ca3b
NVIDIA: VR: SAUCE: cxl/region: Skip decoder reset on detach for autod…
skoralah Feb 10, 2026
adc3833
NVIDIA: VR: SAUCE: cxl: Add type2 device basic support
alucerop Feb 1, 2026
25de561
NVIDIA: VR: SAUCE: sfc: add cxl support
alucerop Feb 1, 2026
98d5c84
NVIDIA: VR: SAUCE: cxl: Move pci generic code
alucerop Feb 1, 2026
17c0f73
NVIDIA: VR: SAUCE: cxl/sfc: Map cxl component regs
alucerop Feb 1, 2026
ac5bfc9
NVIDIA: VR: SAUCE: cxl/sfc: Initialize dpa without a mailbox
alucerop Feb 1, 2026
3456497
NVIDIA: VR: SAUCE: cxl: Prepare memdev creation for type2
alucerop Feb 1, 2026
e3e4d24
NVIDIA: VR: SAUCE: sfc: create type2 cxl memdev
alucerop Feb 1, 2026
7222243
NVIDIA: VR: SAUCE: cxl/hdm: Add support for getting region from commi…
alucerop Feb 1, 2026
8834e85
NVIDIA: VR: SAUCE: cxl: Add function for obtaining region range
alucerop Feb 1, 2026
564c150
NVIDIA: VR: SAUCE: cxl: Export function for unwinding cxl by accelera…
alucerop Feb 1, 2026
5b1e9dc
NVIDIA: VR: SAUCE: sfc: obtain decoder and region if committed by fir…
alucerop Feb 1, 2026
2cdf3a5
NVIDIA: VR: SAUCE: cxl: Define a driver interface for HPA free space …
alucerop Feb 1, 2026
a4b6f62
NVIDIA: VR: SAUCE: sfc: get root decoder
alucerop Feb 1, 2026
50ebf24
NVIDIA: VR: SAUCE: cxl: Define a driver interface for DPA allocation
alucerop Feb 1, 2026
f5deab3
NVIDIA: VR: SAUCE: sfc: get endpoint decoder
alucerop Feb 1, 2026
26af67c
NVIDIA: VR: SAUCE: cxl: Make region type based on endpoint type
alucerop Feb 1, 2026
d86e720
NVIDIA: VR: SAUCE: cxl/region: Factor out interleave ways setup
alucerop Feb 1, 2026
e738dac
NVIDIA: VR: SAUCE: cxl/region: Factor out interleave granularity setup
alucerop Feb 1, 2026
5fff057
NVIDIA: VR: SAUCE: cxl: Allow region creation by type2 drivers
alucerop Feb 1, 2026
6750cb7
NVIDIA: VR: SAUCE: cxl: Avoid dax creation for accelerators
alucerop Feb 1, 2026
0231daf
NVIDIA: VR: SAUCE: sfc: create cxl region
alucerop Feb 1, 2026
36d7e3e
NVIDIA: VR: SAUCE: sfc: support pio mapping based on cxl
alucerop Feb 1, 2026
7460ed2
NVIDIA: VR: SAUCE: cxl/region: Support multi-level interleaving with …
Oct 28, 2025
2ed6a4b
NVIDIA: VR: SAUCE: PCI: Add CXL DVSEC control, lock, and range regist…
SriMNvidia Mar 6, 2026
004d5d9
NVIDIA: VR: SAUCE: cxl: Move HDM decoder and register map definitions…
SriMNvidia Mar 6, 2026
a0c071f
NVIDIA: VR: SAUCE: PCI: Add virtual extended cap save buffer for CXL …
SriMNvidia Mar 6, 2026
0ce70d7
NVIDIA: VR: SAUCE: PCI: Add cxl DVSEC state save/restore across resets
SriMNvidia Mar 6, 2026
2eb6dee
NVIDIA: VR: SAUCE: PCI: Add HDM decoder state save/restore
SriMNvidia Mar 6, 2026
8c8c715
NVIDIA: VR: SAUCE: PCI: Add CXL DVSEC reset and capability register d…
SriMNvidia Mar 6, 2026
c0f8ddc
NVIDIA: VR: SAUCE: PCI: Export pci_dev_save_and_disable() and pci_dev…
SriMNvidia Mar 6, 2026
c405cfa
NVIDIA: VR: SAUCE: cxl: Add memory offlining and cache flush helpers
SriMNvidia Mar 6, 2026
9dcf997
NVIDIA: VR: SAUCE: cxl: Add multi-function sibling coordination for C…
SriMNvidia Mar 6, 2026
f4413ec
NVIDIA: VR: SAUCE: cxl: Add CXL DVSEC reset sequence and flow orchest…
SriMNvidia Mar 6, 2026
9b3c4a1
NVIDIA: VR: SAUCE: cxl: Add cxl_reset sysfs interface for PCI devices
SriMNvidia Mar 6, 2026
c3dd0ab
NVIDIA: VR: SAUCE: Documentation: ABI: Add CXL PCI cxl_reset sysfs at…
SriMNvidia Mar 6, 2026
693f075
NVIDIA: VR: SAUCE: [Config] CXL config annotations for Type-2 device …
JiandiAnNVIDIA Mar 11, 2026
ce505ce
NVIDIA: VR: SAUCE: [Config] Enable CXL DAX and KMEM built-in for CXL …
JiandiAnNVIDIA Mar 11, 2026
acf188b
NVIDIA: VR: SAUCE: [Config] Add PCI_CXL annotation for CXL state save…
JiandiAnNVIDIA Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,9 @@ Christian Brauner <brauner@kernel.org> <christian@brauner.io>
Christian Brauner <brauner@kernel.org> <christian.brauner@canonical.com>
Christian Brauner <brauner@kernel.org> <christian.brauner@ubuntu.com>
Christian Marangi <ansuelsmth@gmail.com>
Christophe Leroy <chleroy@kernel.org> <christophe.leroy@c-s.fr>
Christophe Leroy <chleroy@kernel.org> <christophe.leroy@csgroup.eu>
Christophe Leroy <chleroy@kernel.org> <christophe.leroy2@cs-soprasteria.com>
Christophe Ricard <christophe.ricard@gmail.com>
Christopher Obbard <christopher.obbard@linaro.org> <chris.obbard@collabora.com>
Christoph Hellwig <hch@lst.de>
Expand Down
87 changes: 87 additions & 0 deletions Documentation/ABI/testing/debugfs-cxl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,20 @@ Description:
is returned to the user. The inject_poison attribute is only
visible for devices supporting the capability.

TEST-ONLY INTERFACE: This interface is intended for testing
and validation purposes only. It is not a data repair mechanism
and should never be used on production systems or live data.

DATA LOSS RISK: For CXL persistent memory (PMEM) devices,
poison injection can result in permanent data loss. Injected
poison may render data permanently inaccessible even after
clearing, as the clear operation writes zeros and does not
recover original data.

SYSTEM STABILITY RISK: For volatile memory, poison injection
can cause kernel crashes, system instability, or unpredictable
behavior if the poisoned addresses are accessed by running code
or critical kernel structures.

What: /sys/kernel/debug/cxl/memX/clear_poison
Date: April, 2023
Expand All @@ -35,6 +49,79 @@ Description:
The clear_poison attribute is only visible for devices
supporting the capability.

TEST-ONLY INTERFACE: This interface is intended for testing
and validation purposes only. It is not a data repair mechanism
and should never be used on production systems or live data.

CLEAR IS NOT DATA RECOVERY: This operation writes zeros to the
specified address range and removes the address from the poison
list. It does NOT recover or restore original data that may have
been present before poison injection. Any original data at the
cleared address is permanently lost and replaced with zeros.

CLEAR IS NOT A REPAIR MECHANISM: This interface is for testing
purposes only and should not be used as a data repair tool.
Clearing poison is fundamentally different from data recovery
or error correction.

What: /sys/kernel/debug/cxl/regionX/inject_poison
Date: August, 2025
Contact: linux-cxl@vger.kernel.org
Description:
(WO) When a Host Physical Address (HPA) is written to this
attribute, the region driver translates it to a Device
Physical Address (DPA) and identifies the corresponding
memdev. It then sends an inject poison command to that memdev
at the translated DPA. Refer to the memdev ABI entry at:
/sys/kernel/debug/cxl/memX/inject_poison for the detailed
behavior. This attribute is only visible if all memdevs
participating in the region support both inject and clear
poison commands.

TEST-ONLY INTERFACE: This interface is intended for testing
and validation purposes only. It is not a data repair mechanism
and should never be used on production systems or live data.

DATA LOSS RISK: For CXL persistent memory (PMEM) devices,
poison injection can result in permanent data loss. Injected
poison may render data permanently inaccessible even after
clearing, as the clear operation writes zeros and does not
recover original data.

SYSTEM STABILITY RISK: For volatile memory, poison injection
can cause kernel crashes, system instability, or unpredictable
behavior if the poisoned addresses are accessed by running code
or critical kernel structures.

What: /sys/kernel/debug/cxl/regionX/clear_poison
Date: August, 2025
Contact: linux-cxl@vger.kernel.org
Description:
(WO) When a Host Physical Address (HPA) is written to this
attribute, the region driver translates it to a Device
Physical Address (DPA) and identifies the corresponding
memdev. It then sends a clear poison command to that memdev
at the translated DPA. Refer to the memdev ABI entry at:
/sys/kernel/debug/cxl/memX/clear_poison for the detailed
behavior. This attribute is only visible if all memdevs
participating in the region support both inject and clear
poison commands.

TEST-ONLY INTERFACE: This interface is intended for testing
and validation purposes only. It is not a data repair mechanism
and should never be used on production systems or live data.

CLEAR IS NOT DATA RECOVERY: This operation writes zeros to the
specified address range and removes the address from the poison
list. It does NOT recover or restore original data that may have
been present before poison injection. Any original data at the
cleared address is permanently lost and replaced with zeros.

CLEAR IS NOT A REPAIR MECHANISM: This interface is for testing
purposes only and should not be used as a data repair tool.
Clearing poison is fundamentally different from data recovery
or error correction.

What: /sys/kernel/debug/cxl/einj_types
Date: January, 2024
KernelVersion: v6.9
Expand Down
11 changes: 10 additions & 1 deletion Documentation/ABI/testing/sysfs-bus-cxl
Original file line number Diff line number Diff line change
Expand Up @@ -496,8 +496,17 @@ Description:
changed, only freed by writing 0. The kernel makes no guarantees
that data is maintained over an address space freeing event, and
there is no guarantee that a free followed by an allocate
results in the same address being allocated.
results in the same address being allocated. If extended linear
cache is present, the size indicates extended linear cache size
plus the CXL region size.

What: /sys/bus/cxl/devices/regionZ/extended_linear_cache_size
Date: October, 2025
KernelVersion: v6.19
Contact: linux-cxl@vger.kernel.org
Description:
(RO) The size of extended linear cache, if there is an extended
linear cache. Otherwise the attribute will not be visible.

What: /sys/bus/cxl/devices/regionZ/mode
Date: January, 2023
Expand Down
22 changes: 22 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-pci
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,28 @@ Description:
similiar to writing 1 to their individual "reset" file, so use
with caution.

What: /sys/bus/pci/devices/.../cxl_reset
Date: February 2026
Contact: linux-cxl@vger.kernel.org
Description:
This attribute is only visible when the device advertises
CXL Reset Capable in the CXL DVSEC Capability register
(CXL r3.2, section 8.1.3).

Writing 1 to this file triggers a CXL device reset which
affects CXL.cache and CXL.mem state on all CXL functions
(i.e. those not listed in the Non-CXL Function Map DVSEC,
section 8.1.4), not just CXL.io/PCIe state. This is
separate from the standard PCI reset interface because CXL
Reset has different scope.

The reset will fail with -EBUSY if any CXL regions using this
device have drivers bound. Active regions are torn down as
part of the reset sequence.

This attribute is registered by the CXL core when a CXL device
is discovered, independent of which driver binds the PCI device.

What: /sys/bus/pci/devices/.../vpd
Date: February 2008
Contact: Ben Hutchings <bwh@kernel.org>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ properties:
- amlogic,a4-ao-secure
- amlogic,c3-ao-secure
- amlogic,s4-ao-secure
- amlogic,s6-ao-secure
- amlogic,s7-ao-secure
- amlogic,s7d-ao-secure
- amlogic,t7-ao-secure
- const: amlogic,meson-gx-ao-secure
- const: syscon
Expand Down
5 changes: 5 additions & 0 deletions Documentation/devicetree/bindings/cache/sifive,ccache0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,11 @@ properties:
- const: microchip,mpfs-ccache
- const: sifive,fu540-c000-ccache
- const: cache
- items:
- const: microchip,pic64gx-ccache
- const: microchip,mpfs-ccache
- const: sifive,fu540-c000-ccache
- const: cache

cache-block-size:
const: 64
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region

maintainers:
- Conor Dooley <conor.dooley@microchip.com>

description:
An wide assortment of registers that control elements of the MSS on PolarFire
SoC, including pinmuxing, resets and clocks among others.

properties:
compatible:
items:
- const: microchip,mpfs-mss-top-sysreg
- const: syscon

reg:
maxItems: 1

'#reset-cells':
description:
The AHB/AXI peripherals on the PolarFire SoC have reset support, so
from CLK_ENVM to CLK_CFM. The reset consumer should specify the
desired peripheral via the clock ID in its "resets" phandle cell.
See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list
of PolarFire clock/reset IDs.
const: 1

required:
- compatible
- reg

additionalProperties: false

examples:
- |
syscon@20002000 {
compatible = "microchip,mpfs-mss-top-sysreg", "syscon";
reg = <0x20002000 0x1000>;
#reset-cells = <1>;
};

31 changes: 0 additions & 31 deletions Documentation/driver-api/cxl/allocation/page-allocator.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,37 +41,6 @@ To simplify this, the page allocator will prefer :code:`ZONE_MOVABLE` over
will fallback to allocate from :code:`ZONE_NORMAL`.


Zone and Node Quirks
====================
Let's consider a configuration where the local DRAM capacity is largely onlined
into :code:`ZONE_NORMAL`, with no :code:`ZONE_MOVABLE` capacity present. The
CXL capacity has the opposite configuration - all onlined in
:code:`ZONE_MOVABLE`.

Under the default allocation policy, the page allocator will completely skip
:code:`ZONE_MOVABLE` as a valid allocation target. This is because, as of
Linux v6.15, the page allocator does (approximately) the following: ::

for (each zone in local_node):

for (each node in fallback_order):

attempt_allocation(gfp_flags);

Because the local node does not have :code:`ZONE_MOVABLE`, the CXL node is
functionally unreachable for direct allocation. As a result, the only way
for CXL capacity to be used is via `demotion` in the reclaim path.

This configuration also means that if the DRAM ndoe has :code:`ZONE_MOVABLE`
capacity - when that capacity is depleted, the page allocator will actually
prefer CXL :code:`ZONE_MOVABLE` pages over DRAM :code:`ZONE_NORMAL` pages.

We may wish to invert this priority in future Linux versions.

If `demotion` and `swap` are disabled, Linux will begin to cause OOM crashes
when the DRAM nodes are depleted. See the reclaim section for more details.


CGroups and CPUSets
===================
Finally, assuming CXL memory is reachable via the page allocation (i.e. onlined
Expand Down
Loading