Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
core.h File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/list.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/netdevice.h>
#include <linux/dma-mapping.h>
#include <linux/spinlock.h>
#include <linux/of_platform.h>
#include <linux/slab.h>
#include <asm/io.h>
#include <asm/dcr.h>
#include "emac.h"
#include "phy.h"
#include "zmii.h"
#include "rgmii.h"
#include "mal.h"
#include "tah.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  emac_stats
 
struct  emac_error_stats
 
struct  emac_instance
 
struct  emac_ethtool_regs_hdr
 
struct  emac_ethtool_regs_subhdr
 

Macros

#define NUM_TX_BUFF   CONFIG_IBM_EMAC_TXB
 
#define NUM_RX_BUFF   CONFIG_IBM_EMAC_RXB
 
#define EMAC_MIN_MTU   46
 
#define EMAC_MTU_OVERHEAD   (6 * 2 + 2 + 4)
 
#define EMAC_DMA_ALIGN(x)   ALIGN((x), dma_get_cache_alignment())
 
#define EMAC_RX_SKB_HEADROOM   EMAC_DMA_ALIGN(CONFIG_IBM_EMAC_RX_SKB_HEADROOM)
 
#define EMAC_ETHTOOL_STATS_COUNT
 
#define EMAC_FTR_NO_FLOW_CONTROL_40x   0x00000001
 
#define EMAC_FTR_EMAC4   0x00000002
 
#define EMAC_FTR_STACR_OC_INVERT   0x00000004
 
#define EMAC_FTR_HAS_TAH   0x00000008
 
#define EMAC_FTR_HAS_ZMII   0x00000010
 
#define EMAC_FTR_HAS_RGMII   0x00000020
 
#define EMAC_FTR_HAS_NEW_STACR   0x00000040
 
#define EMAC_FTR_440GX_PHY_CLK_FIX   0x00000080
 
#define EMAC_FTR_440EP_PHY_CLK_FIX   0x00000100
 
#define EMAC_FTR_EMAC4SYNC   0x00000200
 
#define EMAC_FTR_460EX_PHY_CLK_FIX   0x00000400
 
#define EMAC_APM821XX_REQ_JUMBO_FRAME_SIZE   0x00000800
 
#define EMAC_FTR_APM821XX_NO_HALF_DUPLEX   0x00001000
 
#define EMAC4_XAHT_SLOTS_SHIFT   6
 
#define EMAC4_XAHT_WIDTH_SHIFT   4
 
#define EMAC4SYNC_XAHT_SLOTS_SHIFT   8
 
#define EMAC4SYNC_XAHT_WIDTH_SHIFT   5
 
#define EMAC_XAHT_SLOTS(dev)   (1 << (dev)->xaht_slots_shift)
 
#define EMAC_XAHT_WIDTH(dev)   (1 << (dev)->xaht_width_shift)
 
#define EMAC_XAHT_REGS(dev)
 
#define EMAC_XAHT_CRC_TO_SLOT(dev, crc)
 
#define EMAC_XAHT_SLOT_TO_REG(dev, slot)   ((slot) >> (dev)->xaht_width_shift)
 
#define EMAC_XAHT_SLOT_TO_MASK(dev, slot)
 
#define EMAC_ETHTOOL_REGS_ZMII   0x00000001
 
#define EMAC_ETHTOOL_REGS_RGMII   0x00000002
 
#define EMAC_ETHTOOL_REGS_TAH   0x00000004
 
#define EMAC_ETHTOOL_REGS_VER   0
 
#define EMAC_ETHTOOL_REGS_SIZE(dev)
 
#define EMAC4_ETHTOOL_REGS_VER   1
 
#define EMAC4_ETHTOOL_REGS_SIZE(dev)
 

Enumerations

enum  { EMAC_FTRS_ALWAYS = 0, EMAC_FTRS_POSSIBLE }
 

Macro Definition Documentation

#define EMAC4_ETHTOOL_REGS_SIZE (   dev)
Value:
((dev)->rsrc_regs.end - \
(dev)->rsrc_regs.start + 1)

Definition at line 468 of file core.h.

#define EMAC4_ETHTOOL_REGS_VER   1

Definition at line 467 of file core.h.

#define EMAC4_XAHT_SLOTS_SHIFT   6

Definition at line 386 of file core.h.

#define EMAC4_XAHT_WIDTH_SHIFT   4

Definition at line 387 of file core.h.

#define EMAC4SYNC_XAHT_SLOTS_SHIFT   8

Definition at line 389 of file core.h.

#define EMAC4SYNC_XAHT_WIDTH_SHIFT   5

Definition at line 390 of file core.h.

#define EMAC_APM821XX_REQ_JUMBO_FRAME_SIZE   0x00000800

Definition at line 331 of file core.h.

#define EMAC_DMA_ALIGN (   x)    ALIGN((x), dma_get_cache_alignment())

Definition at line 72 of file core.h.

#define EMAC_ETHTOOL_REGS_RGMII   0x00000002

Definition at line 452 of file core.h.

#define EMAC_ETHTOOL_REGS_SIZE (   dev)
Value:
((dev)->rsrc_regs.end - \
(dev)->rsrc_regs.start + 1)

Definition at line 465 of file core.h.

#define EMAC_ETHTOOL_REGS_TAH   0x00000004

Definition at line 453 of file core.h.

#define EMAC_ETHTOOL_REGS_VER   0

Definition at line 464 of file core.h.

#define EMAC_ETHTOOL_REGS_ZMII   0x00000001

Definition at line 451 of file core.h.

#define EMAC_ETHTOOL_STATS_COUNT
Value:
((sizeof(struct emac_stats) + \
/ sizeof(u64))

Definition at line 165 of file core.h.

#define EMAC_FTR_440EP_PHY_CLK_FIX   0x00000100

Definition at line 319 of file core.h.

#define EMAC_FTR_440GX_PHY_CLK_FIX   0x00000080

Definition at line 315 of file core.h.

#define EMAC_FTR_460EX_PHY_CLK_FIX   0x00000400

Definition at line 327 of file core.h.

#define EMAC_FTR_APM821XX_NO_HALF_DUPLEX   0x00001000

Definition at line 335 of file core.h.

#define EMAC_FTR_EMAC4   0x00000002

Definition at line 290 of file core.h.

#define EMAC_FTR_EMAC4SYNC   0x00000200

Definition at line 323 of file core.h.

#define EMAC_FTR_HAS_NEW_STACR   0x00000040

Definition at line 311 of file core.h.

#define EMAC_FTR_HAS_RGMII   0x00000020

Definition at line 307 of file core.h.

#define EMAC_FTR_HAS_TAH   0x00000008

Definition at line 299 of file core.h.

#define EMAC_FTR_HAS_ZMII   0x00000010

Definition at line 303 of file core.h.

#define EMAC_FTR_NO_FLOW_CONTROL_40x   0x00000001

Definition at line 286 of file core.h.

#define EMAC_FTR_STACR_OC_INVERT   0x00000004

Definition at line 295 of file core.h.

#define EMAC_MIN_MTU   46

Definition at line 58 of file core.h.

#define EMAC_MTU_OVERHEAD   (6 * 2 + 2 + 4)

Definition at line 61 of file core.h.

#define EMAC_RX_SKB_HEADROOM   EMAC_DMA_ALIGN(CONFIG_IBM_EMAC_RX_SKB_HEADROOM)

Definition at line 74 of file core.h.

#define EMAC_XAHT_CRC_TO_SLOT (   dev,
  crc 
)
Value:
((EMAC_XAHT_SLOTS(dev) - 1) - \
((crc) >> ((sizeof (u32) * BITS_PER_BYTE) - \
(dev)->xaht_slots_shift)))

Definition at line 397 of file core.h.

#define EMAC_XAHT_REGS (   dev)
Value:
(1 << ((dev)->xaht_slots_shift - \
(dev)->xaht_width_shift))

Definition at line 394 of file core.h.

#define EMAC_XAHT_SLOT_TO_MASK (   dev,
  slot 
)
Value:
((u32)(1 << (EMAC_XAHT_WIDTH(dev) - 1)) >> \
((slot) & (u32)(EMAC_XAHT_WIDTH(dev) - 1)))

Definition at line 405 of file core.h.

#define EMAC_XAHT_SLOT_TO_REG (   dev,
  slot 
)    ((slot) >> (dev)->xaht_width_shift)

Definition at line 402 of file core.h.

#define EMAC_XAHT_SLOTS (   dev)    (1 << (dev)->xaht_slots_shift)

Definition at line 392 of file core.h.

#define EMAC_XAHT_WIDTH (   dev)    (1 << (dev)->xaht_width_shift)

Definition at line 393 of file core.h.

#define NUM_RX_BUFF   CONFIG_IBM_EMAC_RXB

Definition at line 51 of file core.h.

#define NUM_TX_BUFF   CONFIG_IBM_EMAC_TXB

Definition at line 50 of file core.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
EMAC_FTRS_ALWAYS 
EMAC_FTRS_POSSIBLE 

Definition at line 341 of file core.h.