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