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

Commit 17d29039 authored by Alastair D'Silva's avatar Alastair D'Silva Committed by Michael Ellerman
Browse files

Revert "cxl: Add preliminary workaround for CX4 interrupt limitation"



Remove abandonned capi support for the Mellanox CX4.

This reverts commit cbce0917.

Signed-off-by: default avatarAlastair D'Silva <alastair@d-silva.org>
Acked-by: default avatarAndrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 0cfd7335
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -181,21 +181,6 @@ static irq_hw_number_t cxl_find_afu_irq(struct cxl_context *ctx, int num)
	return 0;
}

int _cxl_next_msi_hwirq(struct pci_dev *pdev, struct cxl_context **ctx, int *afu_irq)
{
	if (*ctx == NULL || *afu_irq == 0) {
		*afu_irq = 1;
		*ctx = cxl_get_context(pdev);
	} else {
		(*afu_irq)++;
		if (*afu_irq > cxl_get_max_irqs_per_process(pdev)) {
			*ctx = list_next_entry(*ctx, extra_irq_contexts);
			*afu_irq = 1;
		}
	}
	return cxl_find_afu_irq(*ctx, *afu_irq);
}
/* Exported via cxl_base */

int cxl_set_priv(struct cxl_context *ctx, void *priv)
{
+0 −17
Original line number Diff line number Diff line
@@ -141,23 +141,6 @@ void cxl_pci_disable_device(struct pci_dev *dev)
}
EXPORT_SYMBOL_GPL(cxl_pci_disable_device);

int cxl_next_msi_hwirq(struct pci_dev *pdev, struct cxl_context **ctx, int *afu_irq)
{
	int ret;
	struct cxl_calls *calls;

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

	ret = calls->cxl_next_msi_hwirq(pdev, ctx, afu_irq);

	cxl_calls_put(calls);

	return ret;
}
EXPORT_SYMBOL_GPL(cxl_next_msi_hwirq);

static int __init cxl_base_init(void)
{
	struct device_node *np;
+0 −1
Original line number Diff line number Diff line
@@ -74,7 +74,6 @@ int cxl_context_init(struct cxl_context *ctx, struct cxl_afu *afu, bool master)
	ctx->pending_afu_err = false;

	INIT_LIST_HEAD(&ctx->irq_names);
	INIT_LIST_HEAD(&ctx->extra_irq_contexts);

	/*
	 * When we have to destroy all contexts in cxl_context_detach_all() we
+0 −10
Original line number Diff line number Diff line
@@ -623,14 +623,6 @@ struct cxl_context {

	struct rcu_head rcu;

	/*
	 * Only used when more interrupts are allocated via
	 * pci_enable_msix_range than are supported in the default context, to
	 * use additional contexts to overcome the limitation. i.e. Mellanox
	 * CX4 only:
	 */
	struct list_head extra_irq_contexts;

	struct mm_struct *mm;

	u16 tidr;
@@ -878,13 +870,11 @@ ssize_t cxl_pci_afu_read_err_buffer(struct cxl_afu *afu, char *buf,
/* 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);
int _cxl_next_msi_hwirq(struct pci_dev *pdev, struct cxl_context **ctx, int *afu_irq);

struct cxl_calls {
	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);
	int (*cxl_next_msi_hwirq)(struct pci_dev *pdev, struct cxl_context **ctx, int *afu_irq);

	struct module *owner;
};
+0 −1
Original line number Diff line number Diff line
@@ -106,7 +106,6 @@ static struct cxl_calls cxl_calls = {
	.cxl_slbia = cxl_slbia_core,
	.cxl_pci_associate_default_context = _cxl_pci_associate_default_context,
	.cxl_pci_disable_device = _cxl_pci_disable_device,
	.cxl_next_msi_hwirq = _cxl_next_msi_hwirq,
	.owner = THIS_MODULE,
};

Loading