From db55c5254d932d8d1be1fc082ea7a919def47a5d Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 26 Jul 2022 18:54:54 -0700 Subject: [PATCH 188/217] cxl/list: Clarify "-B" vs "-P -p root" Matthew notes that 'cxl list' documentation claims that 'cxl list -B' and 'cxl list -P -p root' are equivalent. Which they are not: $ cxl list -B [ { "bus":"root0", "provider":"ACPI.CXL" } ] $ cxl list -P -p root [ { "bus":"root0", "provider":"ACPI.CXL", "ports:root0":[ { "port":"port1", "host":"ACPI0016:00" } ] } ] Clarify that '--single' needs to be appended to '-P -p root' to make it equivalent to 'cxl list -B'. This is due to the behavior that listing ports includes all descendants of a port that matches the filter. In the case of '-P -p root' that results in all enabled ports. $ cxl list -P -p root -S [ { "bus":"root0", "provider":"ACPI.CXL" } ] Link: https://lore.kernel.org/r/165888675979.3375698.5785835464908538946.stgit@dwillia2-xfh.jf.intel.com Cc: Adam Manzanares Reported-by: Matthew Ho Signed-off-by: Dan Williams Signed-off-by: Vishal Verma --- Documentation/cxl/cxl-list.txt | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Documentation/cxl/cxl-list.txt b/Documentation/cxl/cxl-list.txt index f6aba0c..088ea70 100644 --- a/Documentation/cxl/cxl-list.txt +++ b/Documentation/cxl/cxl-list.txt @@ -255,19 +255,27 @@ OPTIONS --port=:: Specify CXL Port device name(s), device id(s), and or port type names to filter the listing. The supported port type names are "root" - and "switch". Note that since a bus object is also a port, the following - two syntaxes are equivalent: + and "switch". Note that a bus object is also a port, so the + following two syntaxes are equivalent: ---- # cxl list -B -# cxl list -P -p root +# cxl list -P -p root -S ---- - Additionally, endpoint objects are also ports so the following commands - are also equivalent. + ...where the '-S/--single' is required since descendant ports are always + included in a port listing and '-S/--single' stops after listing the + bus. Additionally, endpoint objects are ports so the following commands + are equivalent, and no '-S/--single' is required as endpoint ports are + terminal: ---- # cxl list -E # cxl list -P -p endpoint ---- - By default, only 'switch' ports are listed. + By default, only 'switch' ports are listed, i.e. +---- +# cxl list -P +# cxl list -P -p switch +---- + ...are equivalent. -S:: --single:: -- 2.27.0