cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fec.h (1901B)


      1/*
      2 * Header for Bestcomm FEC tasks driver
      3 *
      4 *
      5 * Copyright (C) 2006-2007 Sylvain Munaut <tnt@246tNt.com>
      6 * Copyright (C) 2003-2004 MontaVista, Software, Inc.
      7 *                         ( by Dale Farnsworth <dfarnsworth@mvista.com> )
      8 *
      9 * This file is licensed under the terms of the GNU General Public License
     10 * version 2. This program is licensed "as is" without any warranty of any
     11 * kind, whether express or implied.
     12 */
     13
     14#ifndef __BESTCOMM_FEC_H__
     15#define __BESTCOMM_FEC_H__
     16
     17
     18struct bcom_fec_bd {
     19	u32	status;
     20	u32	skb_pa;
     21};
     22
     23#define BCOM_FEC_TX_BD_TFD	0x08000000ul	/* transmit frame done */
     24#define BCOM_FEC_TX_BD_TC	0x04000000ul	/* transmit CRC */
     25#define BCOM_FEC_TX_BD_ABC	0x02000000ul	/* append bad CRC */
     26
     27#define BCOM_FEC_RX_BD_L	0x08000000ul	/* buffer is last in frame */
     28#define BCOM_FEC_RX_BD_BC	0x00800000ul	/* DA is broadcast */
     29#define BCOM_FEC_RX_BD_MC	0x00400000ul	/* DA is multicast and not broadcast */
     30#define BCOM_FEC_RX_BD_LG	0x00200000ul	/* Rx frame length violation */
     31#define BCOM_FEC_RX_BD_NO	0x00100000ul	/* Rx non-octet aligned frame */
     32#define BCOM_FEC_RX_BD_CR	0x00040000ul	/* Rx CRC error */
     33#define BCOM_FEC_RX_BD_OV	0x00020000ul	/* overrun */
     34#define BCOM_FEC_RX_BD_TR	0x00010000ul	/* Rx frame truncated */
     35#define BCOM_FEC_RX_BD_LEN_MASK	0x000007fful	/* mask for length of received frame */
     36#define BCOM_FEC_RX_BD_ERRORS	(BCOM_FEC_RX_BD_LG | BCOM_FEC_RX_BD_NO | \
     37		BCOM_FEC_RX_BD_CR | BCOM_FEC_RX_BD_OV | BCOM_FEC_RX_BD_TR)
     38
     39
     40extern struct bcom_task *
     41bcom_fec_rx_init(int queue_len, phys_addr_t fifo, int maxbufsize);
     42
     43extern int
     44bcom_fec_rx_reset(struct bcom_task *tsk);
     45
     46extern void
     47bcom_fec_rx_release(struct bcom_task *tsk);
     48
     49
     50extern struct bcom_task *
     51bcom_fec_tx_init(int queue_len, phys_addr_t fifo);
     52
     53extern int
     54bcom_fec_tx_reset(struct bcom_task *tsk);
     55
     56extern void
     57bcom_fec_tx_release(struct bcom_task *tsk);
     58
     59
     60#endif /* __BESTCOMM_FEC_H__ */
     61