Skip to content

Commit 11f4014

Browse files
djbwdavejiang
authored andcommitted
Documentation/driver-api/cxl: Introduce conventions.rst
There exists shipping platforms that bend, break, or otherwise lean on ambiguities in the CXL specification. Without driver changes to accommodate these deviations, end users are left without CXL subsystem RAS features. Specifically, provisioning, error translation, and other flows require the CXL subsystem to understand the platforms CXL topology beyond undecorated memory address ranges. Those isolated compatibility problems risk growing into deeper upstream maintenance burden if different platform vendors arrive at diverging solutions. For example, there are multiple options for resolving low-memory-mmio intersecting large-interleave-ways CXL windows. Linux should only entertain one solution to that problem. Now, with the ACPI Specification Working Group, situations like this would be resolved with the "Code First ECN" process to codify Linux expectations in a specification. In the absence of such a process for the CXL specification, create a file in Linux documentation to detail the motivations, assumptions, tradeoffs, and proposals for amending specification language. The goal is to capture the issues such that platform vendors arrive at compatible solutions for these problems and serve as a repository for potential specification updates. The expectation is to update conventions.rst along with CXL subsystem code changes to accommodate the platform topology. [ dj: Rebased against v6.16-rc1 ] Signed-off-by: Dan Williams <[email protected]> Reviewed-by: Jonathan Cameron <[email protected]> Reviewed-by: Dave Jiang <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Dave Jiang <[email protected]>
1 parent 19272b3 commit 11f4014

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
.. SPDX-License-Identifier: GPL-2.0
2+
.. include:: <isonum.txt>
3+
4+
=======================================
5+
Compute Express Link: Linux Conventions
6+
=======================================
7+
8+
There exists shipping platforms that bend or break CXL specification
9+
expectations. Record the details and the rationale for those deviations.
10+
Borrow the ACPI Code First template format to capture the assumptions
11+
and tradeoffs such that multiple platform implementations can follow the
12+
same convention.
13+
14+
<(template) Title>
15+
==================
16+
17+
Document
18+
--------
19+
CXL Revision <rev>, Version <ver>
20+
21+
License
22+
-------
23+
SPDX-License Identifier: CC-BY-4.0
24+
25+
Creator/Contributors
26+
--------------------
27+
28+
Summary of the Change
29+
---------------------
30+
31+
<Detail the conflict with the specification and where available the
32+
assumptions and tradeoffs taken by the hardware platform.>
33+
34+
35+
Benefits of the Change
36+
----------------------
37+
38+
<Detail what happens if platforms and Linux do not adopt this
39+
convention.>
40+
41+
References
42+
----------
43+
44+
Detailed Description of the Change
45+
----------------------------------
46+
47+
<Propose spec language that corrects the conflict.>

Documentation/driver-api/cxl/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ that have impacts on each other. The docs here break up configurations steps.
1414

1515
theory-of-operation
1616
maturity-map
17+
conventions
1718

1819
.. toctree::
1920
:maxdepth: 2

0 commit comments

Comments
 (0)