Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f18a4e1d authored by Frederic Barrat's avatar Frederic Barrat Committed by Michael Ellerman
Browse files

Revert "cxl: Allow a default context to be associated with an external pci_dev"



Remove abandonned capi support for the Mellanox CX4.

This reverts commit a19bd79e.

Signed-off-by: default avatarFrederic Barrat <fbarrat@linux.ibm.com>
Acked-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 322dc4af
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -4,7 +4,7 @@ ccflags-$(CONFIG_PPC_WERROR) += -Werror


cxl-y				+= main.o file.o irq.o fault.o native.o
cxl-y				+= main.o file.o irq.o fault.o native.o
cxl-y				+= context.o sysfs.o pci.o trace.o
cxl-y				+= context.o sysfs.o pci.o trace.o
cxl-y				+= vphb.o phb.o api.o cxllib.o
cxl-y				+= vphb.o api.o cxllib.o
cxl-$(CONFIG_PPC_PSERIES)	+= flash.o guest.o of.o hcalls.o
cxl-$(CONFIG_PPC_PSERIES)	+= flash.o guest.o of.o hcalls.o
cxl-$(CONFIG_DEBUG_FS)		+= debugfs.o
cxl-$(CONFIG_DEBUG_FS)		+= debugfs.o
obj-$(CONFIG_CXL)		+= cxl.o
obj-$(CONFIG_CXL)		+= cxl.o
+0 −35
Original line number Original line Diff line number Diff line
@@ -106,41 +106,6 @@ int cxl_update_properties(struct device_node *dn,
}
}
EXPORT_SYMBOL_GPL(cxl_update_properties);
EXPORT_SYMBOL_GPL(cxl_update_properties);


/*
 * API calls into the driver that may be called from the PHB code and must be
 * built in.
 */
bool cxl_pci_associate_default_context(struct pci_dev *dev, struct cxl_afu *afu)
{
	bool ret;
	struct cxl_calls *calls;

	calls = cxl_calls_get();
	if (!calls)
		return false;

	ret = calls->cxl_pci_associate_default_context(dev, afu);

	cxl_calls_put(calls);

	return ret;
}
EXPORT_SYMBOL_GPL(cxl_pci_associate_default_context);

void cxl_pci_disable_device(struct pci_dev *dev)
{
	struct cxl_calls *calls;

	calls = cxl_calls_get();
	if (!calls)
		return;

	calls->cxl_pci_disable_device(dev);

	cxl_calls_put(calls);
}
EXPORT_SYMBOL_GPL(cxl_pci_disable_device);

static int __init cxl_base_init(void)
static int __init cxl_base_init(void)
{
{
	struct device_node *np;
	struct device_node *np;
+0 −6
Original line number Original line Diff line number Diff line
@@ -867,15 +867,9 @@ static inline bool cxl_is_power9_dd1(void)
ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
				loff_t off, size_t count);
				loff_t off, size_t count);


/* Internal functions wrapped in cxl_base to allow PHB to call them */
bool _cxl_pci_associate_default_context(struct pci_dev *dev, struct cxl_afu *afu);
void _cxl_pci_disable_device(struct pci_dev *dev);


struct cxl_calls {
struct cxl_calls {
	void (*cxl_slbia)(struct mm_struct *mm);
	void (*cxl_slbia)(struct mm_struct *mm);
	bool (*cxl_pci_associate_default_context)(struct pci_dev *dev, struct cxl_afu *afu);
	void (*cxl_pci_disable_device)(struct pci_dev *dev);

	struct module *owner;
	struct module *owner;
};
};
int register_cxl_calls(struct cxl_calls *calls);
int register_cxl_calls(struct cxl_calls *calls);
+0 −2
Original line number Original line Diff line number Diff line
@@ -104,8 +104,6 @@ static inline void cxl_slbia_core(struct mm_struct *mm)


static struct cxl_calls cxl_calls = {
static struct cxl_calls cxl_calls = {
	.cxl_slbia = cxl_slbia_core,
	.cxl_slbia = cxl_slbia_core,
	.cxl_pci_associate_default_context = _cxl_pci_associate_default_context,
	.cxl_pci_disable_device = _cxl_pci_disable_device,
	.owner = THIS_MODULE,
	.owner = THIS_MODULE,
};
};


drivers/misc/cxl/phb.c

deleted100644 → 0
+0 −44
Original line number Original line Diff line number Diff line
/*
 * Copyright 2014-2016 IBM Corp.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 */

#include <linux/pci.h>
#include "cxl.h"

bool _cxl_pci_associate_default_context(struct pci_dev *dev, struct cxl_afu *afu)
{
	struct cxl_context *ctx;

	/*
	 * Allocate a context to do cxl things to. This is used for interrupts
	 * in the peer model using a real phb, and if we eventually do DMA ops
	 * in the virtual phb, we'll need a default context to attach them to.
	 */
	ctx = cxl_dev_context_init(dev);
	if (IS_ERR(ctx))
		return false;
	dev->dev.archdata.cxl_ctx = ctx;

	return (cxl_ops->afu_check_and_enable(afu) == 0);
}
/* exported via cxl_base */

void _cxl_pci_disable_device(struct pci_dev *dev)
{
	struct cxl_context *ctx = cxl_get_context(dev);

	if (ctx) {
		if (ctx->status == STARTED) {
			dev_err(&dev->dev, "Default context started\n");
			return;
		}
		dev->dev.archdata.cxl_ctx = NULL;
		cxl_release_context(ctx);
	}
}
/* exported via cxl_base */
Loading