#include <linux/debugfs.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/random.h>
#include <linux/slab.h>
#include <linux/ntb.h>
#include <linux/log2.h>
#include "ntb_hw_intel.h"
#include "ntb_hw_gen1.h"
#include "ntb_hw_gen3.h"
#include "ntb_hw_gen4.h"
static int gen4_poll_link(struct intel_ntb_dev *ndev);
static int gen4_link_is_up(struct intel_ntb_dev *ndev);
static const struct intel_ntb_reg gen4_reg = …;
static const struct intel_ntb_alt_reg gen4_pri_reg = …;
static const struct intel_ntb_xlat_reg gen4_sec_xlat = …;
static const struct intel_ntb_alt_reg gen4_b2b_reg = …;
static int gen4_poll_link(struct intel_ntb_dev *ndev)
{ … }
static int gen4_link_is_up(struct intel_ntb_dev *ndev)
{ … }
static int gen4_init_isr(struct intel_ntb_dev *ndev)
{ … }
static int gen4_setup_b2b_mw(struct intel_ntb_dev *ndev,
const struct intel_b2b_addr *addr,
const struct intel_b2b_addr *peer_addr)
{ … }
static int gen4_init_ntb(struct intel_ntb_dev *ndev)
{ … }
static enum ntb_topo gen4_ppd_topo(struct intel_ntb_dev *ndev, u32 ppd)
{ … }
static enum ntb_topo spr_ppd_topo(struct intel_ntb_dev *ndev, u32 ppd)
{ … }
int gen4_init_dev(struct intel_ntb_dev *ndev)
{ … }
ssize_t ndev_ntb4_debugfs_read(struct file *filp, char __user *ubuf,
size_t count, loff_t *offp)
{ … }
static int intel_ntb4_mw_set_trans(struct ntb_dev *ntb, int pidx, int idx,
dma_addr_t addr, resource_size_t size)
{ … }
static int intel_ntb4_link_enable(struct ntb_dev *ntb,
enum ntb_speed max_speed, enum ntb_width max_width)
{ … }
static int intel_ntb4_link_disable(struct ntb_dev *ntb)
{ … }
static int intel_ntb4_mw_get_align(struct ntb_dev *ntb, int pidx, int idx,
resource_size_t *addr_align,
resource_size_t *size_align,
resource_size_t *size_max)
{ … }
const struct ntb_dev_ops intel_ntb4_ops = …;