/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * (C) Copyright 2005 Tundra Semiconductor Corp. * Kong Lai, <kong.lai@tundra.com). * * See file CREDITS for list of people who contributed to this * project.
*/
#define TSI108_TX_EOF (1 << 0) /* End of frame; last fragment of packet */ #define TSI108_TX_SOF (1 << 1) /* Start of frame; first frag. of packet */ #define TSI108_TX_VLAN (1 << 2) /* Per-frame VLAN: enables VLAN override */ #define TSI108_TX_HUGE (1 << 3) /* Huge frame enable */ #define TSI108_TX_PAD (1 << 4) /* Pad the packet if too short */ #define TSI108_TX_CRC (1 << 5) /* Generate CRC for this packet */ #define TSI108_TX_INT (1 << 14) /* Generate an IRQ after frag. processed */ #define TSI108_TX_RETRY (0xf << 16) /* 4 bit field indicating num. of retries */ #define TSI108_TX_COL (1 << 20) /* Set if a collision occurred */ #define TSI108_TX_LCOL (1 << 24) /* Set if a late collision occurred */ #define TSI108_TX_UNDER (1 << 25) /* Set if a FIFO underrun occurred */ #define TSI108_TX_RLIM (1 << 26) /* Set if the retry limit was reached */ #define TSI108_TX_OK (1 << 30) /* Set if the frame TX was successful */ #define TSI108_TX_OWN (1 << 31) /* Set if the device owns the descriptor */
/* Note: the descriptor layouts assume big-endian byte order. */ typedefstruct {
u32 buf0;
u32 buf1; /* Base address of buffer */
u32 next0; /* Address of next descriptor, if any */
u32 next1;
u16 vlan; /* VLAN, if override enabled for this packet */
u16 len; /* Length of buffer in bytes */
u32 misc; /* See TSI108_TX_* above */
u32 reserved0; /*reserved0 and reserved1 are added to make the desc */
u32 reserved1; /* 32-byte aligned */
} __attribute__ ((aligned(32))) tx_desc;
#define TSI108_RX_EOF (1 << 0) /* End of frame; last fragment of packet */ #define TSI108_RX_SOF (1 << 1) /* Start of frame; first frag. of packet */ #define TSI108_RX_VLAN (1 << 2) /* Set on SOF if packet has a VLAN */ #define TSI108_RX_FTYPE (1 << 3) /* Length/Type field is type, not length */ #define TSI108_RX_RUNT (1 << 4)/* Packet is less than minimum size */ #define TSI108_RX_HASH (1 << 7)/* Hash table match */ #define TSI108_RX_BAD (1 << 8) /* Bad frame */ #define TSI108_RX_OVER (1 << 9) /* FIFO overrun occurred */ #define TSI108_RX_TRUNC (1 << 11) /* Packet truncated due to excess length */ #define TSI108_RX_CRC (1 << 12) /* Packet had a CRC error */ #define TSI108_RX_INT (1 << 13) /* Generate an IRQ after frag. processed */ #define TSI108_RX_OWN (1 << 15) /* Set if the device owns the descriptor */
#define TSI108_RX_SKB_SIZE 1536 /* The RX skb length */
typedefstruct {
u32 buf0; /* Base address of buffer */
u32 buf1; /* Base address of buffer */
u32 next0; /* Address of next descriptor, if any */
u32 next1; /* Address of next descriptor, if any */
u16 vlan; /* VLAN of received packet, first frag only */
u16 len; /* Length of received fragment in bytes */
u16 blen; /* Length of buffer in bytes */
u16 misc; /* See TSI108_RX_* above */
u32 reserved0; /* reserved0 and reserved1 are added to make the desc */
u32 reserved1; /* 32-byte aligned */
} __attribute__ ((aligned(32))) rx_desc;
#endif/* __TSI108_ETH_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.