Commit de5512b2 authored by Dan Williams's avatar Dan Williams
Browse files

Merge branch 'for-6.7/cxl' into cxl/next

Pickup some misc. CXL updates for v6.7.
parents 624eda92 fae6389f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5183,6 +5183,7 @@ L: linux-cxl@vger.kernel.org
S:	Maintained
F:	drivers/cxl/
F:	include/uapi/linux/cxl_mem.h
F:	tools/testing/cxl/
COMPUTE EXPRESS LINK PMU (CPMU)
M:	Jonathan Cameron <jonathan.cameron@huawei.com>
+1 −2
Original line number Diff line number Diff line
@@ -1249,8 +1249,7 @@ int cxl_mem_create_range_info(struct cxl_memdev_state *mds)
		return 0;
	}

	cxlds->dpa_res =
		(struct resource)DEFINE_RES_MEM(0, mds->total_bytes);
	cxlds->dpa_res = DEFINE_RES_MEM(0, mds->total_bytes);

	if (mds->partition_align_bytes == 0) {
		rc = add_dpa_res(dev, &cxlds->dpa_res, &cxlds->ram_res, 0,
+5 −1
Original line number Diff line number Diff line
@@ -1522,7 +1522,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;
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,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;
+4 −1
Original line number Diff line number Diff line
@@ -85,6 +85,10 @@ static int cxl_pci_mbox_wait_for_doorbell(struct cxl_dev_state *cxlds)
			    status & CXLMDEV_DEV_FATAL ? " fatal" : "",        \
			    status & CXLMDEV_FW_HALT ? " firmware-halt" : "")

/*
 * Threaded irq dev_id's must be globally unique.  cxl_dev_id provides a unique
 * wrapper object for each irq within the same cxlds.
 */
struct cxl_dev_id {
	struct cxl_dev_state *cxlds;
};
@@ -95,7 +99,6 @@ static int cxl_request_irq(struct cxl_dev_state *cxlds, int irq,
	struct device *dev = cxlds->dev;
	struct cxl_dev_id *dev_id;

	/* dev_id must be globally unique and must contain the cxlds */
	dev_id = devm_kzalloc(dev, sizeof(*dev_id), GFP_KERNEL);
	if (!dev_id)
		return -ENOMEM;