Home | History | Annotate | Line # | Download | only in ixgbe
ixgbe_dcb_82598.h revision 1.8
      1  1.8  msaitoh /* $NetBSD: ixgbe_dcb_82598.h,v 1.8 2021/12/24 05:02:11 msaitoh Exp $ */
      2  1.7  msaitoh 
      3  1.1  msaitoh /******************************************************************************
      4  1.5  msaitoh   SPDX-License-Identifier: BSD-3-Clause
      5  1.1  msaitoh 
      6  1.8  msaitoh   Copyright (c) 2001-2020, Intel Corporation
      7  1.1  msaitoh   All rights reserved.
      8  1.4  msaitoh 
      9  1.4  msaitoh   Redistribution and use in source and binary forms, with or without
     10  1.1  msaitoh   modification, are permitted provided that the following conditions are met:
     11  1.4  msaitoh 
     12  1.4  msaitoh    1. Redistributions of source code must retain the above copyright notice,
     13  1.1  msaitoh       this list of conditions and the following disclaimer.
     14  1.4  msaitoh 
     15  1.4  msaitoh    2. Redistributions in binary form must reproduce the above copyright
     16  1.4  msaitoh       notice, this list of conditions and the following disclaimer in the
     17  1.1  msaitoh       documentation and/or other materials provided with the distribution.
     18  1.4  msaitoh 
     19  1.4  msaitoh    3. Neither the name of the Intel Corporation nor the names of its
     20  1.4  msaitoh       contributors may be used to endorse or promote products derived from
     21  1.1  msaitoh       this software without specific prior written permission.
     22  1.4  msaitoh 
     23  1.1  msaitoh   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     24  1.4  msaitoh   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     25  1.4  msaitoh   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     26  1.4  msaitoh   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
     27  1.4  msaitoh   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     28  1.4  msaitoh   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     29  1.4  msaitoh   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     30  1.4  msaitoh   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     31  1.4  msaitoh   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     32  1.1  msaitoh   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     33  1.1  msaitoh   POSSIBILITY OF SUCH DAMAGE.
     34  1.1  msaitoh 
     35  1.1  msaitoh ******************************************************************************/
     36  1.6  msaitoh /*$FreeBSD: head/sys/dev/ixgbe/ixgbe_dcb_82598.h 326022 2017-11-20 19:36:21Z pfg $*/
     37  1.1  msaitoh 
     38  1.1  msaitoh #ifndef _IXGBE_DCB_82598_H_
     39  1.1  msaitoh #define _IXGBE_DCB_82598_H_
     40  1.1  msaitoh 
     41  1.1  msaitoh /* DCB register definitions */
     42  1.1  msaitoh 
     43  1.1  msaitoh #define IXGBE_DPMCS_MTSOS_SHIFT	16
     44  1.1  msaitoh #define IXGBE_DPMCS_TDPAC	0x00000001 /* 0 Round Robin,
     45  1.1  msaitoh 					    * 1 DFP - Deficit Fixed Priority */
     46  1.1  msaitoh #define IXGBE_DPMCS_TRM		0x00000010 /* Transmit Recycle Mode */
     47  1.1  msaitoh #define IXGBE_DPMCS_ARBDIS	0x00000040 /* DCB arbiter disable */
     48  1.1  msaitoh #define IXGBE_DPMCS_TSOEF	0x00080000 /* TSO Expand Factor: 0=x4, 1=x2 */
     49  1.1  msaitoh 
     50  1.1  msaitoh #define IXGBE_RUPPBMR_MQA	0x80000000 /* Enable UP to queue mapping */
     51  1.1  msaitoh 
     52  1.1  msaitoh #define IXGBE_RT2CR_MCL_SHIFT	12 /* Offset to Max Credit Limit setting */
     53  1.1  msaitoh #define IXGBE_RT2CR_LSP		0x80000000 /* LSP enable bit */
     54  1.1  msaitoh 
     55  1.1  msaitoh #define IXGBE_RDRXCTL_MPBEN	0x00000010 /* DMA config for multiple packet
     56  1.1  msaitoh 					    * buffers enable */
     57  1.1  msaitoh #define IXGBE_RDRXCTL_MCEN	0x00000040 /* DMA config for multiple cores
     58  1.1  msaitoh 					    * (RSS) enable */
     59  1.1  msaitoh 
     60  1.1  msaitoh #define IXGBE_TDTQ2TCCR_MCL_SHIFT	12
     61  1.1  msaitoh #define IXGBE_TDTQ2TCCR_BWG_SHIFT	9
     62  1.1  msaitoh #define IXGBE_TDTQ2TCCR_GSP	0x40000000
     63  1.1  msaitoh #define IXGBE_TDTQ2TCCR_LSP	0x80000000
     64  1.1  msaitoh 
     65  1.1  msaitoh #define IXGBE_TDPT2TCCR_MCL_SHIFT	12
     66  1.1  msaitoh #define IXGBE_TDPT2TCCR_BWG_SHIFT	9
     67  1.1  msaitoh #define IXGBE_TDPT2TCCR_GSP	0x40000000
     68  1.1  msaitoh #define IXGBE_TDPT2TCCR_LSP	0x80000000
     69  1.1  msaitoh 
     70  1.1  msaitoh #define IXGBE_PDPMCS_TPPAC	0x00000020 /* 0 Round Robin,
     71  1.1  msaitoh 					    * 1 DFP - Deficit Fixed Priority */
     72  1.1  msaitoh #define IXGBE_PDPMCS_ARBDIS	0x00000040 /* Arbiter disable */
     73  1.1  msaitoh #define IXGBE_PDPMCS_TRM	0x00000100 /* Transmit Recycle Mode enable */
     74  1.1  msaitoh 
     75  1.1  msaitoh #define IXGBE_DTXCTL_ENDBUBD	0x00000004 /* Enable DBU buffer division */
     76  1.1  msaitoh 
     77  1.1  msaitoh #define IXGBE_TXPBSIZE_40KB	0x0000A000 /* 40KB Packet Buffer */
     78  1.1  msaitoh #define IXGBE_RXPBSIZE_48KB	0x0000C000 /* 48KB Packet Buffer */
     79  1.1  msaitoh #define IXGBE_RXPBSIZE_64KB	0x00010000 /* 64KB Packet Buffer */
     80  1.1  msaitoh #define IXGBE_RXPBSIZE_80KB	0x00014000 /* 80KB Packet Buffer */
     81  1.1  msaitoh 
     82  1.1  msaitoh /* DCB driver APIs */
     83  1.1  msaitoh 
     84  1.1  msaitoh /* DCB PFC */
     85  1.1  msaitoh s32 ixgbe_dcb_config_pfc_82598(struct ixgbe_hw *, u8);
     86  1.1  msaitoh 
     87  1.1  msaitoh /* DCB stats */
     88  1.1  msaitoh s32 ixgbe_dcb_config_tc_stats_82598(struct ixgbe_hw *);
     89  1.1  msaitoh s32 ixgbe_dcb_get_tc_stats_82598(struct ixgbe_hw *,
     90  1.1  msaitoh 				 struct ixgbe_hw_stats *, u8);
     91  1.1  msaitoh s32 ixgbe_dcb_get_pfc_stats_82598(struct ixgbe_hw *,
     92  1.1  msaitoh 				  struct ixgbe_hw_stats *, u8);
     93  1.1  msaitoh 
     94  1.1  msaitoh /* DCB config arbiters */
     95  1.1  msaitoh s32 ixgbe_dcb_config_tx_desc_arbiter_82598(struct ixgbe_hw *, u16 *, u16 *,
     96  1.1  msaitoh 					   u8 *, u8 *);
     97  1.1  msaitoh s32 ixgbe_dcb_config_tx_data_arbiter_82598(struct ixgbe_hw *, u16 *, u16 *,
     98  1.1  msaitoh 					   u8 *, u8 *);
     99  1.1  msaitoh s32 ixgbe_dcb_config_rx_arbiter_82598(struct ixgbe_hw *, u16 *, u16 *, u8 *);
    100  1.1  msaitoh 
    101  1.1  msaitoh /* DCB initialization */
    102  1.1  msaitoh s32 ixgbe_dcb_hw_config_82598(struct ixgbe_hw *, int, u16 *, u16 *, u8 *, u8 *);
    103  1.1  msaitoh #endif /* _IXGBE_DCB_82958_H_ */
    104