patch-2.2.18 linux/drivers/net/xpds/xpds.h
Next file: linux/drivers/nubus/Makefile
Previous file: linux/drivers/net/xpds/xpds.c
Back to the patch index
Back to the overall index
- Lines: 122
- Date:
Sun Oct 15 21:57:15 2000
- Orig file:
v2.2.17/drivers/net/xpds/xpds.h
- Orig date:
Thu Jan 1 01:00:00 1970
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/drivers/net/xpds/xpds.h linux/drivers/net/xpds/xpds.h
@@ -0,0 +1,121 @@
+/*
+ * Copyright 1998, 1999, 2000 Xpeed, Inc.
+ * xpds-fr.h, $Revision: 1.10 $
+ */
+#ifndef XPDS_H
+#define XPDS_H 1
+
+#include <asm/types.h>
+#include "xpds-encap-fr.h"
+#include <linux/xpds-ioctl.h>
+
+extern int xpds_max_cards;
+
+#define DEBUG_MAIN 1
+#define DEBUG_FSM 2
+#define DEBUG_DETAILED 128
+
+extern int xpds_debug_level;
+
+typedef struct xpds_rxtx_list_t {
+ volatile u32 control;
+ u32 buffer_bus_addr;
+ u32 next_bus_addr;
+ u32 unused1;
+ volatile u8 *buffer;
+ volatile struct xpds_rxtx_list_t *next;
+ volatile struct xpds_rxtx_list_t *prev;
+ u32 offset;
+} xpds_rxtx_list_t;
+
+typedef struct {
+ struct pci_dev *pci_dev;
+ volatile u32 *main_control_registers;
+ volatile u32 *rx_fifo_control_registers;
+ volatile u32 *tx_fifo_control_registers;
+ volatile u32 *rx_dma_control_registers;
+ volatile u32 *tx_dma_control_registers;
+ volatile u32 *rx_fifo_data_registers;
+ volatile u32 *tx_fifo_data_registers;
+ volatile u32 *aux_registers;
+ volatile void *rxtx_mem_allocated;
+ volatile xpds_rxtx_list_t *rx_dma_list;
+ volatile xpds_rxtx_list_t *tx_dma_list;
+ volatile xpds_rxtx_list_t *current_rx_dma;
+ volatile xpds_rxtx_list_t *current_tx_dma;
+ struct net_device_stats stats;
+ volatile int rxci_interrupt_received;
+ int physical_up;
+ int physical_retrying;
+ int is_fpga;
+ int has_last_byte_bug;
+ int is_sdsl;
+ int is_lt;
+ int speed_mode;
+ short dlci;
+ xpds_serial_data_t serial_data;
+ int has_rx_dma_burst_bug;
+ int has_tx_dma_burst_bug;
+ volatile void *config_mem_remapped;
+ int has_tx_dma_low_rate_bug;
+ int sdsl_speed;
+ int current_tx_fifo;
+ volatile xpds_rxtx_list_t *current_hw_tx_dma;
+ int current_rx_fifo;
+ volatile xpds_rxtx_list_t *current_hw_rx_dma;
+ int has_rx_dma_low_rate_bug;
+ struct frad_local frad_data;
+ int bridged_ethernet;
+ u8 dlci_cr;
+ u8 dlci_lmi;
+ dlci_lmi_timer_data_t dlci_lmi_timer_data[CONFIG_DLCI_COUNT];
+ struct timer_list dlci_lmi_timers[CONFIG_DLCI_COUNT];
+} xpds_data_t;
+
+extern struct net_device *xpds_devs;
+extern xpds_data_t *xpds_data;
+
+extern int xpds_read_control_register_quiet (int xpds_num, int register_number,
+ u32 *value, int which);
+extern int xpds_write_control_register_quiet (int xpds_num, int register_number,
+ u32 value, int which);
+extern int xpds_read_control_register (int xpds_num, int register_number,
+ u32 *value, int which);
+extern int xpds_write_control_register (int xpds_num, int register_number,
+ u32 value, int which);
+
+#define XPDS_MAIN 0
+#define XPDS_RX_FIFO 2
+#define XPDS_TX_FIFO 3
+#define XPDS_RX_DMA 4
+#define XPDS_TX_DMA 5
+#define XPDS_RX_FIFO_DATA 6
+#define XPDS_TX_FIFO_DATA 7
+#define XPDS_AUX 8
+
+#define MAIN XPDS_MAIN
+#define RX_FIFO XPDS_RX_FIFO
+#define TX_FIFO XPDS_TX_FIFO
+#define RX_DMA XPDS_RX_DMA
+#define TX_DMA XPDS_TX_DMA
+#define RX_FIFO_DATA XPDS_RX_FIFO_DATA
+#define TX_FIFO_DATA XPDS_TX_FIFO_DATA
+#define AUX XPDS_AUX
+
+extern int xpds_tx (u8 *buffer, unsigned int len, struct net_device *dev);
+
+#ifdef __SMP__
+#define schedule_if_no_interrupt(card_num) \
+ do { \
+ } while (0)
+#else
+#define schedule_if_no_interrupt(card_num) \
+ do { \
+ if (!in_interrupt()) schedule (); \
+ } while (0)
+#endif
+
+#define DELAY(n,card_num) schedule_timeout(HZ*(n))
+#define DELAY_HZ(n,card_num) schedule_timeout(n)
+
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)