📄 h2flowc.h
字号:
/*
Copyright (c) 2003-2005 Vitesse Semiconductor Corporation "Vitesse".
All Rights Reserved. Unpublished rights reserved under the copyright laws
of the United States of America, other countries and international treaties.
The software is provided without a fee. Permission to use, copy, store and
modify, the software and its source code is granted. Permission to integrate
into other products, disclose, transmit and distribute the software in an
absolute machine readable format (e.g. HEX file) is also granted.
The source code of the software may not be disclosed, transmitted or
distributed without the written permission of Vitesse. The software and its
source code may only be used in products utilizing a Vitesse VSC73xx product.
This copyright notice must appear in any copy, modification, disclosure,
transmission or distribution of the software. Vitesse retains all ownership,
copyright, trade secret and proprietary rights in the software.
THIS SOFTWARE HAS BEEN PROVIDED "AS IS," WITHOUT EXPRESS OR IMPLIED WARRANTY
INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR USE AND NON-INFRINGEMENT.
*/
#ifndef __H2FLOWC_H__
#define __H2FLOWC_H__
void h2_setup_flow_control (uchar port_no, uchar link_mode);
/* ************************************************************************ **
*
*
* Luton24 Pause frame settings
*
*
*
* ************************************************************************ */
#define FCTXCONF_OFF 0x00000000
#define FCTXCONF_ON 0x000300FF
/* ************************************************************************ **
*
*
* Luton24 Settings for drop mode, normal frame size
*
*
*
* ************************************************************************ */
/* Watermarks for Q_FLOWC_WM register in drop mode at all speeds */
#define FWDP_START_DROP 36
#define FWDP_STOP_DROP 38
#define Q_FLOWC_WM_DROP \
((ulong) FWDP_START_DROP << 8 | \
(ulong) FWDP_STOP_DROP << 0)
/* Watermarks for Q_EGRESS_WM register in drop mode at all speeds */
#define Q_EGRESS_WM_MAX_0_DROP 19
#define Q_EGRESS_WM_MAX_1_DROP 22
#define Q_EGRESS_WM_MAX_2_DROP 25
#define Q_EGRESS_WM_MAX_3_DROP 28
#define Q_EGRESS_WM_DROP \
((ulong) Q_EGRESS_WM_MAX_3_DROP << 24 | \
(ulong) Q_EGRESS_WM_MAX_2_DROP << 16 | \
(ulong) Q_EGRESS_WM_MAX_1_DROP << 8 | \
(ulong) Q_EGRESS_WM_MAX_0_DROP << 0)
/* Watermarks for Q_MISC_CONF register in drop mode at all speeds */
#define Q_MISC_IDISC_DROP 32
#define Q_MISC_IMIN_DROP 0
#define Q_MISC_EMIN_DROP 0
#define Q_MISC_EARLY_TX_DROP 0
#define Q_MISC_CONF_DROP \
((ulong) Q_MISC_IDISC_DROP << 24 | \
(ulong) Q_MISC_IMIN_DROP << 16 | \
(ulong) Q_MISC_EMIN_DROP << 8 | \
(ulong) Q_MISC_EARLY_TX_DROP << 1 | \
0) /* MAC_PAUSE_MODE = 0 */
/* ************************************************************************ **
*
*
* Luton24 Settings for flow control mode, normal frame size
*
*
*
* ************************************************************************ */
/* Watermarks for Q_FLOWC_WM register in drop mode at all speeds */
#define FWDP_START_FC 12
#define FWDP_STOP_FC 8
#define Q_FLOWC_WM_FC \
((ulong) FWDP_START_FC << 8 | \
(ulong) FWDP_STOP_FC << 0)
/* Watermarks for Q_EGRESS_WM register in drop mode at all speeds */
#define Q_EGRESS_WM_MAX_0_FC 12
#define Q_EGRESS_WM_MAX_1_FC 12
#define Q_EGRESS_WM_MAX_2_FC 12
#define Q_EGRESS_WM_MAX_3_FC 12
#define Q_EGRESS_WM_FC \
((ulong) Q_EGRESS_WM_MAX_3_FC << 24 | \
(ulong) Q_EGRESS_WM_MAX_2_FC << 16 | \
(ulong) Q_EGRESS_WM_MAX_1_FC << 8 | \
(ulong) Q_EGRESS_WM_MAX_0_FC << 0)
/* Watermarks for Q_MISC_CONF register in drop mode at all speeds */
#define Q_MISC_IDISC_FC 36
#define Q_MISC_IMIN_FC 0
#define Q_MISC_EMIN_FC 0
#define Q_MISC_EARLY_TX_FC 0
#define Q_MISC_CONF_FC \
((ulong) Q_MISC_IDISC_FC << 24 | \
(ulong) Q_MISC_IMIN_FC << 16 | \
(ulong) Q_MISC_EMIN_FC << 8 | \
(ulong) Q_MISC_EARLY_TX_FC << 1 | \
1) /* MAC_PAUSE_MODE = 1 */
/* ************************************************************************ **
*
*
* Luton24 Settings for drop mode, jumbo frame size, early TX disabled
*
*
*
* ************************************************************************ */
/* Watermarks for Q_FLOWC_WM register in drop mode at all speeds */
#define FWDP_START_DROP_JUMBO 0
#define FWDP_STOP_DROP_JUMBO 34
#define Q_FLOWC_WM_DROP_JUMBO \
((ulong) FWDP_START_DROP_JUMBO << 8 | \
(ulong) FWDP_STOP_DROP_JUMBO << 0)
/* Watermarks for Q_EGRESS_WM register in drop mode at all speeds */
#define Q_EGRESS_WM_MAX_0_DROP_JUMBO 19
#define Q_EGRESS_WM_MAX_1_DROP_JUMBO 22
#define Q_EGRESS_WM_MAX_2_DROP_JUMBO 25
#define Q_EGRESS_WM_MAX_3_DROP_JUMBO 28
#define Q_EGRESS_WM_DROP_JUMBO \
((ulong) Q_EGRESS_WM_MAX_3_DROP_JUMBO << 24 | \
(ulong) Q_EGRESS_WM_MAX_2_DROP_JUMBO << 16 | \
(ulong) Q_EGRESS_WM_MAX_1_DROP_JUMBO << 8 | \
(ulong) Q_EGRESS_WM_MAX_0_DROP_JUMBO << 0)
/* Watermarks for Q_MISC_CONF register in drop mode */
#define Q_MISC_IDISC_DROP_JUMBO 39
#define Q_MISC_IMIN_DROP_JUMBO 39
#define Q_MISC_EMIN_DROP_JUMBO 0
#define Q_MISC_EARLY_TX_DROP_JUMBO 0
#define Q_MISC_CONF_DROP_JUMBO \
((ulong) Q_MISC_IDISC_DROP_JUMBO << 24 | \
(ulong) Q_MISC_IMIN_DROP_JUMBO << 16 | \
(ulong) Q_MISC_EMIN_DROP_JUMBO << 8 | \
(ulong) Q_MISC_EARLY_TX_DROP_JUMBO << 1 | \
0) /* MAC_PAUSE_MODE = 0 */
/* ************************************************************************ **
*
*
* Luton24 Settings for drop mode, jumbo frame size, early TX enabled
*
*
*
* ************************************************************************ */
/* Watermarks for Q_FLOWC_WM register in drop mode at 1G speed */
#define FWDP_START_DROP_JUMBO_EARLY_TX_1G 33
#define FWDP_STOP_DROP_JUMBO_EARLY_TX_1G 39
/* Watermarks for Q_FLOWC_WM register in drop mode at 10/100 speeds */
#define FWDP_START_DROP_JUMBO_EARLY_TX_10_100 39
#define FWDP_STOP_DROP_JUMBO_EARLY_TX_10_100 39
#define Q_FLOWC_WM_DROP_JUMBO_EARLY_TX \
((ulong) FWDP_START_DROP_JUMBO_EARLY_TX_10_100 << 8 | \
(ulong) FWDP_STOP_DROP_JUMBO_EARLY_TX_10_100 << 0)
#define Q_FLOWC_WM_DROP_JUMBO_EARLY_TX_1G \
((ulong) FWDP_START_DROP_JUMBO_EARLY_TX_1G << 8 | \
(ulong) FWDP_STOP_DROP_JUMBO_EARLY_TX_1G << 0)
/* Watermarks for Q_EGRESS_WM register in drop mode at all speeds */
#define Q_EGRESS_WM_MAX_0_DROP_JUMBO_EARLY_TX 13
#define Q_EGRESS_WM_MAX_1_DROP_JUMBO_EARLY_TX 14
#define Q_EGRESS_WM_MAX_2_DROP_JUMBO_EARLY_TX 15
#define Q_EGRESS_WM_MAX_3_DROP_JUMBO_EARLY_TX 16
#define Q_EGRESS_WM_DROP_JUMBO_EARLY_TX \
((ulong) Q_EGRESS_WM_MAX_3_DROP_JUMBO_EARLY_TX << 24 | \
(ulong) Q_EGRESS_WM_MAX_2_DROP_JUMBO_EARLY_TX << 16 | \
(ulong) Q_EGRESS_WM_MAX_1_DROP_JUMBO_EARLY_TX << 8 | \
(ulong) Q_EGRESS_WM_MAX_0_DROP_JUMBO_EARLY_TX << 0)
/* Watermarks for Q_MISC_CONF register in drop mode. */
/* Early Tx will only come in effect for 1G */
#define Q_MISC_IDISC_DROP_JUMBO_EARLY_TX 32
#define Q_MISC_IMIN_DROP_JUMBO_EARLY_TX 0
#define Q_MISC_EMIN_DROP_JUMBO_EARLY_TX 0
#define Q_MISC_EARLY_TX_DROP_JUMBO_EARLY_TX 2
#define Q_MISC_CONF_DROP_JUMBO_EARLY_TX \
((ulong) Q_MISC_IDISC_DROP_JUMBO_EARLY_TX << 24 | \
(ulong) Q_MISC_IMIN_DROP_JUMBO_EARLY_TX << 16 | \
(ulong) Q_MISC_EMIN_DROP_JUMBO_EARLY_TX << 8 | \
(ulong) Q_MISC_EARLY_TX_DROP_JUMBO_EARLY_TX << 1 | \
0) /* MAC_PAUSE_MODE = 0 */
/* ************************************************************************ **
*
*
* Luton24 Settings for flow control mode, jumbo frame size
*
*
*
* ************************************************************************ */
/* Watermarks for Q_FLOWC_WM register in drop mode at all speeds */
#define FWDP_START_FC_JUMBO 10
#define FWDP_STOP_FC_JUMBO 6
#define Q_FLOWC_WM_FC_JUMBO \
((ulong) FWDP_START_FC_JUMBO << 8 | \
(ulong) FWDP_STOP_FC_JUMBO << 0)
/* Watermarks for Q_EGRESS_WM register in drop mode at all speeds */
#define Q_EGRESS_WM_MAX_0_FC_JUMBO 12
#define Q_EGRESS_WM_MAX_1_FC_JUMBO 12
#define Q_EGRESS_WM_MAX_2_FC_JUMBO 12
#define Q_EGRESS_WM_MAX_3_FC_JUMBO 12
#define Q_EGRESS_WM_FC_JUMBO \
((ulong) Q_EGRESS_WM_MAX_3_FC_JUMBO << 24 | \
(ulong) Q_EGRESS_WM_MAX_2_FC_JUMBO << 16 | \
(ulong) Q_EGRESS_WM_MAX_1_FC_JUMBO << 8 | \
(ulong) Q_EGRESS_WM_MAX_0_FC_JUMBO << 0)
/* Watermarks for Q_MISC_CONF register in drop mode at all speeds */
#define Q_MISC_IDISC_FC_JUMBO 36
#define Q_MISC_IMIN_FC_JUMBO 0
#define Q_MISC_EMIN_FC_JUMBO 0
#define Q_MISC_EARLY_TX_FC_JUMBO 0
#define Q_MISC_CONF_FC_JUMBO \
((ulong) Q_MISC_IDISC_FC_JUMBO << 24 | \
(ulong) Q_MISC_IMIN_FC_JUMBO << 16 | \
(ulong) Q_MISC_EMIN_FC_JUMBO << 8 | \
(ulong) Q_MISC_EARLY_TX_FC_JUMBO << 1 | \
1) /* MAC_PAUSE_MODE = 1 */
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -