Thread (22 messages) 22 messages, 3 authors, 2021-05-12

Re: [PATCH 5/8] cxl/acpi: Introduce ACPI0017 driver and cxl_root

From: Dan Williams <hidden>
Date: 2021-05-12 06:29:47
Also in: linux-cxl, linux-pci, lkml

On Mon, May 10, 2021 at 7:58 AM Jonathan Cameron
[off-list ref] wrote:
On Fri, 7 May 2021 15:51:47 -0700
Dan Williams [off-list ref] wrote:
quoted
While CXL builds upon the PCI software model for dynamic enumeration and
control, a static platform component is required to bootstrap the CXL
memory layout. In addition to identifying the host bridges ACPI is
responsible for enumerating the CXL memory space that can be addressed
by decoders. This is similar to the requirement for ACPI to publish
resources reported by _CRS for PCI host bridges.

Introduce the cxl_root object as an abstract "port" into the CXL.mem
address space described by HDM decoders identified by the ACPI
CEDT.CHBS.

For now just establish the initial boilerplate and sysfs attributes, to
be followed by enumeration of the ports within the host bridge.

Note the allocation of CXL core device objects is split into separate
alloc and add steps in order to separate the alloc error path (kfree())
from the device add error path (put_device()).

Signed-off-by: Dan Williams <redacted>
Hi Dan

Just one bit in here that confused me (assuming I'm reading the code correctly).
You have is_visible for the dev_attr_supports_pmem etc to only show them if
the particular space supports that memory type. That's fine. You also have
the actual sysfs function checking the same flag to decide to return "1" or "0"
which would also be fine, but in combination it's rather odd as the sysfs
read function can never return "0" (sysfs attribute isn't visible in that
condition). Probably deserves at least a comment.
Ok.

That was deliberate since it's trivial to code and allows the
visibility policy to change without needing to go audit the attributes
that assumed invisibility. However, yes, it deserves a comment to save
brain cycles with that "hmm, that's odd" in the future.
This also needs some documentation for the new sysfs ABI
(Documentation/ABI/...) but that can be in a separate patch.
True.
Otherwise looks good to me.
Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help