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

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2017 Cadence
// Cadence PCIe host controller driver.
// Author: Cyrille Pitchen <[email protected]>

#include <linux/delay.h>
#include <linux/kernel.h>
#include <linux/list_sort.h>
#include <linux/of_address.h>
#include <linux/of_pci.h>
#include <linux/platform_device.h>

#include "pcie-cadence.h"

#define LINK_RETRAIN_TIMEOUT

static u64 bar_max_size[] =;

static u8 bar_aperture_mask[] =;

void __iomem *cdns_pci_map_bus(struct pci_bus *bus, unsigned int devfn,
			       int where)
{}

static struct pci_ops cdns_pcie_host_ops =;

static int cdns_pcie_host_training_complete(struct cdns_pcie *pcie)
{}

static int cdns_pcie_host_wait_for_link(struct cdns_pcie *pcie)
{}

static int cdns_pcie_retrain(struct cdns_pcie *pcie)
{}

static void cdns_pcie_host_enable_ptm_response(struct cdns_pcie *pcie)
{}

static int cdns_pcie_host_start_link(struct cdns_pcie_rc *rc)
{}

static int cdns_pcie_host_init_root_port(struct cdns_pcie_rc *rc)
{}

static int cdns_pcie_host_bar_ib_config(struct cdns_pcie_rc *rc,
					enum cdns_pcie_rp_bar bar,
					u64 cpu_addr, u64 size,
					unsigned long flags)
{}

static enum cdns_pcie_rp_bar
cdns_pcie_host_find_min_bar(struct cdns_pcie_rc *rc, u64 size)
{}

static enum cdns_pcie_rp_bar
cdns_pcie_host_find_max_bar(struct cdns_pcie_rc *rc, u64 size)
{}

static int cdns_pcie_host_bar_config(struct cdns_pcie_rc *rc,
				     struct resource_entry *entry)
{}

static int cdns_pcie_host_dma_ranges_cmp(void *priv, const struct list_head *a,
					 const struct list_head *b)
{}

static int cdns_pcie_host_map_dma_ranges(struct cdns_pcie_rc *rc)
{}

static int cdns_pcie_host_init_address_translation(struct cdns_pcie_rc *rc)
{}

static int cdns_pcie_host_init(struct device *dev,
			       struct cdns_pcie_rc *rc)
{}

int cdns_pcie_host_setup(struct cdns_pcie_rc *rc)
{}