From: Robert Richter <rrichter@amd.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: linux-cxl@vger.kernel.org, dave@stgolabs.net,
jonathan.cameron@huawei.com, alison.schofield@intel.com,
vishal.l.verma@intel.com, ira.weiny@intel.com,
dan.j.williams@intel.com, Alejandro Lucero <alucerop@amd.com>,
Gregory Price <gourry@gourry.net>,
Jonathan Cameron <Jonsathan.Cameron@huawei.com>,
Li Ming <ming.li@zohomail.com>
Subject: Re: [PATCH v3 0/9] cxl: Delay HB port and switch dport probing until endpoint dev probe
Date: Fri, 30 May 2025 15:51:09 +0200 [thread overview]
Message-ID: <aDm3zR2LkC3joLFL@rric.localdomain> (raw)
In-Reply-To: <20250521183443.3828320-1-dave.jiang@intel.com>
Dave,
thanks for your series.
On 21.05.25 11:34:34, Dave Jiang wrote:
> v3:
> - Main changes revolve around improving naming of hostbridge uport and dport (Gregory)
> - See specific patches for detailed change log
>
> This series attempts to delay the setup of dports and Host Bridge (HB) register
> until when the endpoint device (memdev) is being probed. At this point,
> the CXL link is established and all the devices along the CXL link path up to
> the Root Port (RP) should be active.
>
> And hopefully this help a bit with Robert's issue raised in the "Inactive
> downstream port handling" series [1]. Testing would be appreicated. Thank you!
>
> [1]: https://lore.kernel.org/linux-cxl/67c8a0cc23ec_24b64294f6@dwillia2-xfh.jf.intel.com.notmuch/
>
> Dave Jiang (9):
> cxl/region: Add decoder check to check_commit_order()
> cxl: Add helper to detect top of CXL device topology
> cxl: Separate out CXL dport->id vs actual dport hardware id
> cxl: Remove adding of port_num via devm_cxl_add_dport()
> cxl: Defer hardware dport->port_id assignment and registers probing
> cxl/test: Add workaround for cxl_test for cxl_core calling mocked
> functions
> cxl: Change sslbis handler to only handle single dport
> cxl: Create an xarray to tie a host bridge to the cxl_root
> cxl: Move enumeration of hostbridge ports to the memdev probe path
I have tested your series and this solves the enumeration issue with
ports where the link of its downstream ports is down and that have
duplicate port ids. For the whole series you can add:
Tested-by: Robert Richter <rrichter@amd.com>
However, some observations:
The port_num can no longer retrieved using sysfs. Previously, the X in
dportX could be used to identify the port number (former port_id)
which was identical to the numbers in the sysfs target_list entries.
This is esp. useful to reconstruct the decoder tree and map pci child
devices and its decoders to a parent decoder including its positions
in the target list. Maybe create a targetX symlink from the decoder
device to the child decoders of it?
Due to the different initialization order there is an odd port
numbering now showing up with unexpected, out-of-order sequence
numbers, e.g.:
/sys/bus/cxl/devices/port1/endpoint2
/sys/bus/cxl/devices/port1/endpoint3
/sys/bus/cxl/devices/port1/endpoint6
/sys/bus/cxl/devices/port4/endpoint5
/sys/bus/cxl/devices/port4/endpoint7
/sys/bus/cxl/devices/port4/endpoint10
/sys/bus/cxl/devices/port4/endpoint11
/sys/bus/cxl/devices/port8/endpoint9
/sys/bus/cxl/devices/port12/endpoint13
/sys/bus/cxl/devices/port12/endpoint14
Still, this is correct, but maybe we could force a specific order
during initialization, such as per-port initialization which should
result in a defined order? Note the shared numbering of ports and
endpoints is also confusing, maybe that could be changed here too?
Going to review your patches.
Thanks for your patches.
-Robert
next prev parent reply other threads:[~2025-05-30 13:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-21 18:34 [PATCH v3 0/9] cxl: Delay HB port and switch dport probing until endpoint dev probe Dave Jiang
2025-05-21 18:34 ` [PATCH v3 1/9] cxl/region: Add decoder check to check_commit_order() Dave Jiang
2025-05-21 18:34 ` [PATCH v3 2/9] cxl: Add helper to detect top of CXL device topology Dave Jiang
2025-05-21 18:39 ` Dave Jiang
2025-05-22 9:18 ` Jonathan Cameron
2025-05-22 9:43 ` Li Ming
2025-05-21 18:34 ` [PATCH v3 3/9] cxl: Separate out CXL dport->id vs actual dport hardware id Dave Jiang
2025-05-22 9:43 ` Li Ming
2025-05-28 12:53 ` Robert Richter
2025-05-21 18:34 ` [PATCH v3 4/9] cxl: Remove adding of port_num via devm_cxl_add_dport() Dave Jiang
2025-05-21 18:34 ` [PATCH v3 5/9] cxl: Defer hardware dport->port_id assignment and registers probing Dave Jiang
2025-05-22 10:55 ` Li Ming
2025-06-04 15:27 ` Robert Richter
2025-05-21 18:34 ` [PATCH v3 6/9] cxl/test: Add workaround for cxl_test for cxl_core calling mocked functions Dave Jiang
2025-05-21 18:34 ` [PATCH v3 7/9] cxl: Change sslbis handler to only handle single dport Dave Jiang
2025-05-22 11:04 ` Li Ming
2025-05-21 18:34 ` [PATCH v3 8/9] cxl: Create an xarray to tie a host bridge to the cxl_root Dave Jiang
2025-05-21 18:34 ` [PATCH v3 9/9] cxl: Move enumeration of hostbridge ports to the memdev probe path Dave Jiang
2025-05-30 13:51 ` Robert Richter [this message]
2025-06-03 13:55 ` [PATCH v3 0/9] cxl: Delay HB port and switch dport probing until endpoint dev probe Dave Jiang
2025-06-04 15:44 ` Robert Richter
2025-06-05 15:17 ` Dave Jiang
2025-06-06 9:44 ` Robert Richter
2025-06-13 15:15 ` Gregory Price
2025-06-13 15:43 ` Dave Jiang
2025-06-17 17:47 ` Robert Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aDm3zR2LkC3joLFL@rric.localdomain \
--to=rrichter@amd.com \
--cc=Jonsathan.Cameron@huawei.com \
--cc=alison.schofield@intel.com \
--cc=alucerop@amd.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=gourry@gourry.net \
--cc=ira.weiny@intel.com \
--cc=jonathan.cameron@huawei.com \
--cc=linux-cxl@vger.kernel.org \
--cc=ming.li@zohomail.com \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox