linux/drivers/pci/controller/plda/pcie-plda-host.c

// SPDX-License-Identifier: GPL-2.0
/*
 * PLDA PCIe XpressRich host controller driver
 *
 * Copyright (C) 2023 Microchip Co. Ltd
 *		      StarFive Co. Ltd
 *
 * Author: Daire McNamara <[email protected]>
 */

#include <linux/irqchip/chained_irq.h>
#include <linux/irqdomain.h>
#include <linux/msi.h>
#include <linux/pci_regs.h>
#include <linux/pci-ecam.h>

#include "pcie-plda.h"

void __iomem *plda_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
				int where)
{}
EXPORT_SYMBOL_GPL();

static void plda_handle_msi(struct irq_desc *desc)
{}

static void plda_msi_bottom_irq_ack(struct irq_data *data)
{}

static void plda_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
{}

static int plda_msi_set_affinity(struct irq_data *irq_data,
				 const struct cpumask *mask, bool force)
{}

static struct irq_chip plda_msi_bottom_irq_chip =;

static int plda_irq_msi_domain_alloc(struct irq_domain *domain,
				     unsigned int virq,
				     unsigned int nr_irqs,
				     void *args)
{}

static void plda_irq_msi_domain_free(struct irq_domain *domain,
				     unsigned int virq,
				     unsigned int nr_irqs)
{}

static const struct irq_domain_ops msi_domain_ops =;

static struct irq_chip plda_msi_irq_chip =;

static struct msi_domain_info plda_msi_domain_info =;

static int plda_allocate_msi_domains(struct plda_pcie_rp *port)
{}

static void plda_handle_intx(struct irq_desc *desc)
{}

static void plda_ack_intx_irq(struct irq_data *data)
{}

static void plda_mask_intx_irq(struct irq_data *data)
{}

static void plda_unmask_intx_irq(struct irq_data *data)
{}

static struct irq_chip plda_intx_irq_chip =;

static int plda_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
			      irq_hw_number_t hwirq)
{}

static const struct irq_domain_ops intx_domain_ops =;

static u32 plda_get_events(struct plda_pcie_rp *port)
{}

static irqreturn_t plda_event_handler(int irq, void *dev_id)
{}

static void plda_handle_event(struct irq_desc *desc)
{}

static u32 plda_hwirq_to_mask(int hwirq)
{}

static void plda_ack_event_irq(struct irq_data *data)
{}

static void plda_mask_event_irq(struct irq_data *data)
{}

static void plda_unmask_event_irq(struct irq_data *data)
{}

static struct irq_chip plda_event_irq_chip =;

static const struct plda_event_ops plda_event_ops =;

static int plda_pcie_event_map(struct irq_domain *domain, unsigned int irq,
			       irq_hw_number_t hwirq)
{}

static const struct irq_domain_ops plda_event_domain_ops =;

static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
{}

int plda_init_interrupts(struct platform_device *pdev,
			 struct plda_pcie_rp *port,
			 const struct plda_event *event)
{}
EXPORT_SYMBOL_GPL();

void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
			    phys_addr_t axi_addr, phys_addr_t pci_addr,
			    size_t size)
{}
EXPORT_SYMBOL_GPL();

int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
			   struct plda_pcie_rp *port)
{}
EXPORT_SYMBOL_GPL();

static void plda_pcie_irq_domain_deinit(struct plda_pcie_rp *pcie)
{}

int plda_pcie_host_init(struct plda_pcie_rp *port, struct pci_ops *ops,
			const struct plda_event *plda_event)
{}
EXPORT_SYMBOL_GPL();

void plda_pcie_host_deinit(struct plda_pcie_rp *port)
{}
EXPORT_SYMBOL_GPL();