brintos

brintos / linux-shallow public Read only

0
0
Text · 1.4 KiB · c060374 Raw
41 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * This file is based on code from OCTEON SDK by Cavium Networks.4 *5 * Copyright (c) 2003-2007 Cavium Networks6 */7 8/*9 * A few defines are used to control the operation of this driver:10 *  USE_ASYNC_IOBDMA11 *      Use asynchronous IO access to hardware. This uses Octeon's asynchronous12 *      IOBDMAs to issue IO accesses without stalling. Set this to zero13 *      to disable this. Note that IOBDMAs require CVMSEG.14 *  REUSE_SKBUFFS_WITHOUT_FREE15 *      Allows the TX path to free an skbuff into the FPA hardware pool. This16 *      can significantly improve performance for forwarding and bridging, but17 *      may be somewhat dangerous. Checks are made, but if any buffer is reused18 *      without the proper Linux cleanup, the networking stack may have very19 *      bizarre bugs.20 */21#ifndef __ETHERNET_DEFINES_H__22#define __ETHERNET_DEFINES_H__23 24#ifdef CONFIG_NETFILTER25#define REUSE_SKBUFFS_WITHOUT_FREE	026#else27#define REUSE_SKBUFFS_WITHOUT_FREE	128#endif29 30#define USE_ASYNC_IOBDMA		(CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE > 0)31 32/* Maximum number of SKBs to try to free per xmit packet. */33#define MAX_OUT_QUEUE_DEPTH		100034 35#define FAU_TOTAL_TX_TO_CLEAN (CVMX_FAU_REG_END - sizeof(u32))36#define FAU_NUM_PACKET_BUFFERS_TO_FREE (FAU_TOTAL_TX_TO_CLEAN - sizeof(u32))37 38#define TOTAL_NUMBER_OF_PORTS		(CVMX_PIP_NUM_INPUT_PORTS + 1)39 40#endif /* __ETHERNET_DEFINES_H__ */41