linux/drivers/net/wan/hd64572.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Hitachi (now Renesas) SCA-II HD64572 driver for Linux
 *
 * Copyright (C) 1998-2008 Krzysztof Halasa <[email protected]>
 *
 * Source of information: HD64572 SCA-II User's Manual
 *
 * We use the following SCA memory map:
 *
 * Packet buffer descriptor rings - starting from card->rambase:
 * rx_ring_buffers * sizeof(pkt_desc) = logical channel #0 RX ring
 * tx_ring_buffers * sizeof(pkt_desc) = logical channel #0 TX ring
 * rx_ring_buffers * sizeof(pkt_desc) = logical channel #1 RX ring (if used)
 * tx_ring_buffers * sizeof(pkt_desc) = logical channel #1 TX ring (if used)
 *
 * Packet data buffers - starting from card->rambase + buff_offset:
 * rx_ring_buffers * HDLC_MAX_MRU     = logical channel #0 RX buffers
 * tx_ring_buffers * HDLC_MAX_MRU     = logical channel #0 TX buffers
 * rx_ring_buffers * HDLC_MAX_MRU     = logical channel #0 RX buffers (if used)
 * tx_ring_buffers * HDLC_MAX_MRU     = logical channel #0 TX buffers (if used)
 */

#include <linux/bitops.h>
#include <linux/errno.h>
#include <linux/fcntl.h>
#include <linux/hdlc.h>
#include <linux/in.h>
#include <linux/interrupt.h>
#include <linux/ioport.h>
#include <linux/jiffies.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/string.h>
#include <linux/types.h>
#include <asm/io.h>
#include <linux/uaccess.h>
#include "hd64572.h"

#define NAPI_WEIGHT

#define get_msci(port)
#define get_dmac_rx(port)
#define get_dmac_tx(port)

#define sca_in(reg, card)
#define sca_out(value, reg, card)
#define sca_inw(reg, card)
#define sca_outw(value, reg, card)
#define sca_inl(reg, card)
#define sca_outl(value, reg, card)

static int sca_poll(struct napi_struct *napi, int budget);

static inline port_t *dev_to_port(struct net_device *dev)
{}

static inline void enable_intr(port_t *port)
{}

static inline void disable_intr(port_t *port)
{}

static inline u16 desc_abs_number(port_t *port, u16 desc, int transmit)
{}

static inline u16 desc_offset(port_t *port, u16 desc, int transmit)
{}

static inline pkt_desc __iomem *desc_address(port_t *port, u16 desc,
					     int transmit)
{}

static inline u32 buffer_offset(port_t *port, u16 desc, int transmit)
{}

static inline void sca_set_carrier(port_t *port)
{}

static void sca_init_port(port_t *port)
{}

/* MSCI interrupt service */
static inline void sca_msci_intr(port_t *port)
{}

static inline void sca_rx(card_t *card, port_t *port, pkt_desc __iomem *desc,
			  u16 rxin)
{}

/* Receive DMA service */
static inline int sca_rx_done(port_t *port, int budget)
{}

/* Transmit DMA service */
static inline void sca_tx_done(port_t *port)
{}

static int sca_poll(struct napi_struct *napi, int budget)
{}

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

static void sca_set_port(port_t *port)
{}

static void sca_open(struct net_device *dev)
{}

static void sca_close(struct net_device *dev)
{}

static int sca_attach(struct net_device *dev, unsigned short encoding,
		      unsigned short parity)
{}

#ifdef DEBUG_RINGS
static void sca_dump_rings(struct net_device *dev)
{}
#endif /* DEBUG_RINGS */

static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev)
{}

static u32 sca_detect_ram(card_t *card, u8 __iomem *rambase, u32 ramsize)
{}

static void sca_init(card_t *card, int wait_states)
{}