linux/drivers/net/ethernet/apm/xgene/xgene_enet_main.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Applied Micro X-Gene SoC Ethernet Driver
 *
 * Copyright (c) 2014, Applied Micro Circuits Corporation
 * Authors: Iyappan Subramanian <[email protected]>
 *	    Ravi Patel <[email protected]>
 *	    Keyur Chudgar <[email protected]>
 */

#ifndef __XGENE_ENET_MAIN_H__
#define __XGENE_ENET_MAIN_H__

#include <linux/acpi.h>
#include <linux/clk.h>
#include <linux/efi.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/of_mdio.h>
#include <linux/platform_device.h>
#include <linux/mdio/mdio-xgene.h>
#include <linux/module.h>
#include <net/ip.h>
#include <linux/prefetch.h>
#include <linux/if_vlan.h>
#include <linux/phy.h>
#include "xgene_enet_hw.h"
#include "xgene_enet_cle.h"
#include "xgene_enet_ring2.h"

#define ETHER_MIN_PACKET
#define ETHER_STD_PACKET
#define XGENE_ENET_STD_MTU
#define XGENE_ENET_MAX_MTU
#define SKB_BUFFER_SIZE

#define BUFLEN_16K
#define NUM_PKT_BUF
#define NUM_BUFPOOL
#define NUM_NXTBUFPOOL
#define MAX_EXP_BUFFS
#define NUM_MSS_REG
#define XGENE_MIN_ENET_FRAME_SIZE

#define XGENE_MAX_ENET_IRQ
#define XGENE_NUM_RX_RING
#define XGENE_NUM_TX_RING
#define XGENE_NUM_TXC_RING

#define START_CPU_BUFNUM_0
#define START_ETH_BUFNUM_0
#define START_BP_BUFNUM_0
#define START_RING_NUM_0
#define START_CPU_BUFNUM_1
#define START_ETH_BUFNUM_1
#define START_BP_BUFNUM_1
#define START_RING_NUM_1

#define XG_START_CPU_BUFNUM_1
#define XG_START_ETH_BUFNUM_1
#define XG_START_BP_BUFNUM_1
#define XG_START_RING_NUM_1

#define X2_START_CPU_BUFNUM_0
#define X2_START_ETH_BUFNUM_0
#define X2_START_BP_BUFNUM_0
#define X2_START_RING_NUM_0
#define X2_START_CPU_BUFNUM_1
#define X2_START_ETH_BUFNUM_1
#define X2_START_BP_BUFNUM_1
#define X2_START_RING_NUM_1

#define IRQ_ID_SIZE

#define PHY_POLL_LINK_ON
#define PHY_POLL_LINK_OFF

enum xgene_enet_id {};

enum xgene_enet_buf_len {};

/* software context of a descriptor ring */
struct xgene_enet_desc_ring {};

struct xgene_mac_ops {};

struct xgene_port_ops {};

struct xgene_ring_ops {};

struct xgene_cle_ops {};

/* ethernet private data */
struct xgene_enet_pdata {};

struct xgene_indirect_ctl {};

static inline struct device *ndev_to_dev(struct net_device *ndev)
{}

static inline u16 xgene_enet_dst_ring_num(struct xgene_enet_desc_ring *ring)
{}

void xgene_enet_set_ethtool_ops(struct net_device *netdev);
int xgene_extd_stats_init(struct xgene_enet_pdata *pdata);

#endif /* __XGENE_ENET_MAIN_H__ */