]> git.itanic.dy.fi Git - linux-stable/commitdiff
cxl/port: Quiet warning messages from the cxl_test environment
authorDan Williams <dan.j.williams@intel.com>
Fri, 15 Sep 2023 03:29:52 +0000 (20:29 -0700)
committerDan Williams <dan.j.williams@intel.com>
Sat, 16 Sep 2023 04:45:55 +0000 (21:45 -0700)
The cxl_test platform device CXL port hierarchy is useful for testing,
but throws warning messages of the form:

    cxl_mem mem2: at cxl_root_port.1 no parent for dport: platform
    cxl_mem mem3: at cxl_root_port.2 no parent for dport: platform
    cxl_mem mem4: at cxl_root_port.3 no parent for dport: platform
    cxl_mem mem5: at cxl_root_port.0 no parent for dport: platform
    cxl_mem mem6: at cxl_root_port.1 no parent for dport: platform
    cxl_mem mem7: at cxl_root_port.2 no parent for dport: platform
    cxl_mem mem8: at cxl_root_port.3 no parent for dport: platform
    cxl_mem mem9: at cxl_root_port.4 no parent for dport: platform
    cxl_mem mem10: at cxl_root_port.4 no parent for dport: platform

...and this message when running testing in QEMU:

    cxl_region region4: Bypassing cpu_cache_invalidate_memregion() for testing!

Noisy cxl_test warnings have caused other regressions to be missed. In
the interest of using cxl_test for early detection of dev_err() and
dev_warn() messages, silence platform device topology and
cache-invalidation messages.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/cxl/core/port.c
drivers/cxl/core/region.c

index 724be8448eb4a52542bc3e0cd6b16de508f7979f..86568fb08eee709825c2841b8ff04c8b93fa5222 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /* Copyright(c) 2020 Intel Corporation. All rights reserved. */
+#include <linux/platform_device.h>
 #include <linux/memregion.h>
 #include <linux/workqueue.h>
 #include <linux/debugfs.h>
@@ -1463,7 +1464,11 @@ int devm_cxl_enumerate_ports(struct cxl_memdev *cxlmd)
                struct cxl_dport *dport;
                struct cxl_port *port;
 
-               if (!dport_dev)
+               /*
+                * The terminal "grandparent" in PCI is NULL and @platform_bus
+                * for platform devices
+                */
+               if (!dport_dev || dport_dev == &platform_bus)
                        return 0;
 
                uport_dev = dport_dev->parent;
index 6d63b8798c29921470e37c9bf0e9d116c834508e..cc0fa8053e8fa694a6a9645a9c208596f862d969 100644 (file)
@@ -129,7 +129,7 @@ static int cxl_region_invalidate_memregion(struct cxl_region *cxlr)
 {
        if (!cpu_cache_has_invalidate_memregion()) {
                if (IS_ENABLED(CONFIG_CXL_REGION_INVALIDATION_TEST)) {
-                       dev_warn_once(
+                       dev_info_once(
                                &cxlr->dev,
                                "Bypassing cpu_cache_invalidate_memregion() for testing!\n");
                        return 0;