Linux Kernel
3.7.1
|
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/ethtool.h>
#include <linux/ks8842.h>
#include <linux/dmaengine.h>
#include <linux/dma-mapping.h>
#include <linux/scatterlist.h>
Go to the source code of this file.
Data Structures | |
struct | ks8842_tx_dma_ctl |
struct | ks8842_rx_dma_ctl |
struct | ks8842_adapter |
Macros | |
#define | pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
#define | DRV_NAME "ks8842" |
#define | REG_TIMB_RST 0x1c |
#define | REG_TIMB_FIFO 0x20 |
#define | REG_TIMB_ISR 0x24 |
#define | REG_TIMB_IER 0x28 |
#define | REG_TIMB_IAR 0x2C |
#define | REQ_TIMB_DMA_RESUME 0x30 |
#define | REG_SELECT_BANK 0x0e |
#define | REG_QRFCR 0x04 |
#define | REG_MARL 0x00 |
#define | REG_MARM 0x02 |
#define | REG_MARH 0x04 |
#define | REG_GRR 0x06 |
#define | REG_TXCR 0x00 |
#define | REG_TXSR 0x02 |
#define | REG_RXCR 0x04 |
#define | REG_TXMIR 0x08 |
#define | REG_RXMIR 0x0A |
#define | REG_TXQCR 0x00 |
#define | REG_RXQCR 0x02 |
#define | REG_TXFDPR 0x04 |
#define | REG_RXFDPR 0x06 |
#define | REG_QMU_DATA_LO 0x08 |
#define | REG_QMU_DATA_HI 0x0A |
#define | REG_IER 0x00 |
#define | IRQ_LINK_CHANGE 0x8000 |
#define | IRQ_TX 0x4000 |
#define | IRQ_RX 0x2000 |
#define | IRQ_RX_OVERRUN 0x0800 |
#define | IRQ_TX_STOPPED 0x0200 |
#define | IRQ_RX_STOPPED 0x0100 |
#define | IRQ_RX_ERROR 0x0080 |
#define | ENABLED_IRQS |
#define | ENABLED_IRQS_DMA_IP |
#define | ENABLED_IRQS_DMA (ENABLED_IRQS_DMA_IP | IRQ_RX) |
#define | REG_ISR 0x02 |
#define | REG_RXSR 0x04 |
#define | RXSR_VALID 0x8000 |
#define | RXSR_BROADCAST 0x80 |
#define | RXSR_MULTICAST 0x40 |
#define | RXSR_UNICAST 0x20 |
#define | RXSR_FRAMETYPE 0x08 |
#define | RXSR_TOO_LONG 0x04 |
#define | RXSR_RUNT 0x02 |
#define | RXSR_CRC_ERROR 0x01 |
#define | RXSR_ERROR (RXSR_TOO_LONG | RXSR_RUNT | RXSR_CRC_ERROR) |
#define | REG_SW_ID_AND_ENABLE 0x00 |
#define | REG_SGCR1 0x02 |
#define | REG_SGCR2 0x04 |
#define | REG_SGCR3 0x06 |
#define | REG_MACAR1 0x00 |
#define | REG_MACAR2 0x02 |
#define | REG_MACAR3 0x04 |
#define | REG_P1MBCR 0x00 |
#define | REG_P1MBSR 0x02 |
#define | REG_P2MBCR 0x00 |
#define | REG_P2MBSR 0x02 |
#define | REG_P1CR2 0x02 |
#define | REG_P1CR4 0x02 |
#define | REG_P1SR 0x04 |
#define | MICREL_KS884X 0x01 /* 0=Timeberdale(FPGA), 1=Micrel */ |
#define | KS884X_16BIT 0x02 /* 1=16bit, 0=32bit */ |
#define | DMA_BUFFER_SIZE 2048 |
#define | KS8842_USE_DMA(adapter) |
Functions | |
void | ks8842_handle_rx (struct net_device *netdev, struct ks8842_adapter *adapter) |
void | ks8842_handle_tx (struct net_device *netdev, struct ks8842_adapter *adapter) |
void | ks8842_handle_rx_overrun (struct net_device *netdev, struct ks8842_adapter *adapter) |
void | ks8842_tasklet (unsigned long arg) |
module_platform_driver (ks8842_platform_driver) | |
MODULE_DESCRIPTION ("Timberdale KS8842 ethernet driver") | |
MODULE_AUTHOR ("Mocean Laboratories <info@mocean-labs.com>") | |
MODULE_LICENSE ("GPL v2") | |
MODULE_ALIAS ("platform:ks8842") | |
#define ENABLED_IRQS |
#define ENABLED_IRQS_DMA (ENABLED_IRQS_DMA_IP | IRQ_RX) |
#define ENABLED_IRQS_DMA_IP |
#define KS8842_USE_DMA | ( | adapter | ) |
#define MICREL_KS884X 0x01 /* 0=Timeberdale(FPGA), 1=Micrel */ |
#define RXSR_ERROR (RXSR_TOO_LONG | RXSR_RUNT | RXSR_CRC_ERROR) |
void ks8842_handle_rx | ( | struct net_device * | netdev, |
struct ks8842_adapter * | adapter | ||
) |
void ks8842_handle_rx_overrun | ( | struct net_device * | netdev, |
struct ks8842_adapter * | adapter | ||
) |
void ks8842_handle_tx | ( | struct net_device * | netdev, |
struct ks8842_adapter * | adapter | ||
) |
MODULE_ALIAS | ( | "platform:ks8842" | ) |
MODULE_AUTHOR | ( | "Mocean Laboratories <info@mocean-labs.com>" | ) |
MODULE_LICENSE | ( | "GPL v2" | ) |
module_platform_driver | ( | ks8842_platform_driver | ) |