#define DRV_NAME …
#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/debugfs.h>
#include <linux/export.h>
#include <linux/list.h>
#include <linux/skbuff.h>
#include <linux/pci.h>
#include <linux/scatterlist.h>
#include "libcxgb_ppm.h"
int cxgbi_ppm_find_page_index(struct cxgbi_ppm *ppm, unsigned long pgsz)
{ … }
static int ppm_find_unused_entries(unsigned long *bmap,
unsigned int max_ppods,
unsigned int start,
unsigned int nr,
unsigned int align_mask)
{ … }
static void ppm_mark_entries(struct cxgbi_ppm *ppm, int i, int count,
unsigned long caller_data)
{ … }
static int ppm_get_cpu_entries(struct cxgbi_ppm *ppm, unsigned int count,
unsigned long caller_data)
{ … }
static int ppm_get_entries(struct cxgbi_ppm *ppm, unsigned int count,
unsigned long caller_data)
{ … }
static void ppm_unmark_entries(struct cxgbi_ppm *ppm, int i, int count)
{ … }
void cxgbi_ppm_ppod_release(struct cxgbi_ppm *ppm, u32 idx)
{ … }
EXPORT_SYMBOL(…);
int cxgbi_ppm_ppods_reserve(struct cxgbi_ppm *ppm, unsigned short nr_pages,
u32 per_tag_pg_idx, u32 *ppod_idx,
u32 *ddp_tag, unsigned long caller_data)
{ … }
EXPORT_SYMBOL(…);
void cxgbi_ppm_make_ppod_hdr(struct cxgbi_ppm *ppm, u32 tag,
unsigned int tid, unsigned int offset,
unsigned int length,
struct cxgbi_pagepod_hdr *hdr)
{ … }
EXPORT_SYMBOL(…);
static void ppm_free(struct cxgbi_ppm *ppm)
{ … }
static void ppm_destroy(struct kref *kref)
{ … }
int cxgbi_ppm_release(struct cxgbi_ppm *ppm)
{ … }
EXPORT_SYMBOL(…);
static struct cxgbi_ppm_pool __percpu *
ppm_alloc_cpu_pool(unsigned int *total, unsigned int *pcpu_ppmax)
{ … }
int cxgbi_ppm_init(void **ppm_pp, struct net_device *ndev,
struct pci_dev *pdev, void *lldev,
struct cxgbi_tag_format *tformat, unsigned int iscsi_size,
unsigned int llimit, unsigned int start,
unsigned int reserve_factor, unsigned int iscsi_edram_start,
unsigned int iscsi_edram_size)
{ … }
EXPORT_SYMBOL(…);
unsigned int cxgbi_tagmask_set(unsigned int ppmax)
{ … }
EXPORT_SYMBOL(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;