LCOV - code coverage report
Current view: top level - drivers/net/intel/ixgbe - ixgbe_regs.h (source / functions) Hit Total Coverage
Test: Code coverage Lines: 0 10 0.0 %
Date: 2025-03-01 20:23:48 Functions: 0 1 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 10 0.0 %

           Branch data     Line data    Source code
       1                 :            : /* SPDX-License-Identifier: BSD-3-Clause
       2                 :            :  * Copyright(c) 2015 Intel Corporation
       3                 :            :  */
       4                 :            : #ifndef _IXGBE_REGS_H_
       5                 :            : #define _IXGBE_REGS_H_
       6                 :            : 
       7                 :            : #include "ixgbe_ethdev.h"
       8                 :            : 
       9                 :            : struct ixgbe_hw;
      10                 :            : struct reg_info {
      11                 :            :         uint32_t base_addr;
      12                 :            :         uint32_t count;
      13                 :            :         uint32_t stride;
      14                 :            :         const char *name;
      15                 :            : };
      16                 :            : 
      17                 :            : static const struct reg_info ixgbe_regs_general[] = {
      18                 :            :         {IXGBE_CTRL, 1, 1, "IXGBE_CTRL"},
      19                 :            :         {IXGBE_STATUS, 1, 1, "IXGBE_STATUS"},
      20                 :            :         {IXGBE_CTRL_EXT, 1, 1, "IXGBE_CTRL_EXT"},
      21                 :            :         {IXGBE_ESDP, 1, 1, "IXGBE_ESDP"},
      22                 :            :         {IXGBE_EODSDP, 1, 1, "IXGBE_EODSDP"},
      23                 :            :         {IXGBE_LEDCTL, 1, 1, "IXGBE_LEDCTL"},
      24                 :            :         {IXGBE_FRTIMER, 1, 1, "IXGBE_FRTIMER"},
      25                 :            :         {IXGBE_TCPTIMER, 1, 1, "IXGBE_TCPTIMER"},
      26                 :            :         {0, 0, 0, ""}
      27                 :            : };
      28                 :            : 
      29                 :            : static const struct reg_info ixgbevf_regs_general[] = {
      30                 :            :         {IXGBE_VFCTRL, 1, 1, "IXGBE_VFCTRL"},
      31                 :            :         {IXGBE_VFSTATUS, 1, 1, "IXGBE_VFSTATUS"},
      32                 :            :         {IXGBE_VFLINKS, 1, 1, "IXGBE_VFLINKS"},
      33                 :            :         {IXGBE_VFFRTIMER, 1, 1, "IXGBE_VFFRTIMER"},
      34                 :            :         {IXGBE_VFMAILBOX, 1, 1, "IXGBE_VFMAILBOX"},
      35                 :            :         {IXGBE_VFMBMEM, 16, 4, "IXGBE_VFMBMEM"},
      36                 :            :         {IXGBE_VFRXMEMWRAP, 1, 1, "IXGBE_VFRXMEMWRAP"},
      37                 :            :         {0, 0, 0, ""}
      38                 :            : };
      39                 :            : 
      40                 :            : static const struct reg_info ixgbe_regs_nvm[] = {
      41                 :            :         {IXGBE_EEC, 1, 1, "IXGBE_EEC"},
      42                 :            :         {IXGBE_EERD, 1, 1, "IXGBE_EERD"},
      43                 :            :         {IXGBE_FLA, 1, 1, "IXGBE_FLA"},
      44                 :            :         {IXGBE_EEMNGCTL, 1, 1, "IXGBE_EEMNGCTL"},
      45                 :            :         {IXGBE_EEMNGDATA, 1, 1, "IXGBE_EEMNGDATA"},
      46                 :            :         {IXGBE_FLMNGCTL, 1, 1, "IXGBE_FLMNGCTL"},
      47                 :            :         {IXGBE_FLMNGDATA, 1, 1, "IXGBE_FLMNGDATA"},
      48                 :            :         {IXGBE_FLMNGCNT, 1, 1, "IXGBE_FLMNGCNT"},
      49                 :            :         {IXGBE_FLOP, 1, 1, "IXGBE_FLOP"},
      50                 :            :         {IXGBE_GRC,  1, 1, "IXGBE_GRC"},
      51                 :            :         {0, 0, 0, ""}
      52                 :            : };
      53                 :            : 
      54                 :            : static const struct reg_info ixgbe_regs_interrupt[] = {
      55                 :            :         {IXGBE_EICS, 1, 1, "IXGBE_EICS"},
      56                 :            :         {IXGBE_EIMS, 1, 1, "IXGBE_EIMS"},
      57                 :            :         {IXGBE_EIMC, 1, 1, "IXGBE_EIMC"},
      58                 :            :         {IXGBE_EIAC, 1, 1, "IXGBE_EIAC"},
      59                 :            :         {IXGBE_EIAM, 1, 1, "IXGBE_EIAM"},
      60                 :            :         {IXGBE_EITR(0), 24, 4, "IXGBE_EITR"},
      61                 :            :         {IXGBE_IVAR(0), 24, 4, "IXGBE_IVAR"},
      62                 :            :         {IXGBE_MSIXT, 1, 1, "IXGBE_MSIXT"},
      63                 :            :         {IXGBE_MSIXPBA, 1, 1, "IXGBE_MSIXPBA"},
      64                 :            :         {IXGBE_PBACL(0),  1, 4, "IXGBE_PBACL"},
      65                 :            :         {IXGBE_GPIE, 1, 1, ""},
      66                 :            :         {0, 0, 0, ""}
      67                 :            : };
      68                 :            : 
      69                 :            : static const struct reg_info ixgbevf_regs_interrupt[] = {
      70                 :            :         {IXGBE_VTEICR, 1, 1, "IXGBE_VTEICR"},
      71                 :            :         {IXGBE_VTEICS, 1, 1, "IXGBE_VTEICS"},
      72                 :            :         {IXGBE_VTEIMS, 1, 1, "IXGBE_VTEIMS"},
      73                 :            :         {IXGBE_VTEIMC, 1, 1, "IXGBE_VTEIMC"},
      74                 :            :         {IXGBE_VTEIAM, 1, 1, "IXGBE_VTEIAM"},
      75                 :            :         {IXGBE_VTEITR(0), 2, 4, "IXGBE_VTEITR"},
      76                 :            :         {IXGBE_VTIVAR(0), 4, 4, "IXGBE_VTIVAR"},
      77                 :            :         {IXGBE_VTIVAR_MISC, 1, 1, "IXGBE_VTIVAR_MISC"},
      78                 :            :         {IXGBE_VTRSCINT(0), 2, 4, "IXGBE_VTRSCINT"},
      79                 :            :         {0, 0, 0, ""}
      80                 :            : };
      81                 :            : 
      82                 :            : static const struct reg_info ixgbe_regs_fctl_mac_82598EB[] = {
      83                 :            :         {IXGBE_PFCTOP, 1, 1, ""},
      84                 :            :         {IXGBE_FCTTV(0), 4, 4, ""},
      85                 :            :         {IXGBE_FCRTV, 1, 1, ""},
      86                 :            :         {IXGBE_TFCS, 1, 1, ""},
      87                 :            :         {IXGBE_FCRTL(0), 8, 8, "IXGBE_FCRTL"},
      88                 :            :         {IXGBE_FCRTH(0), 8, 8, "IXGBE_FCRTH"},
      89                 :            :         {0, 0, 0, ""}
      90                 :            : };
      91                 :            : 
      92                 :            : static const struct reg_info ixgbe_regs_fctl_others[] = {
      93                 :            :         {IXGBE_PFCTOP, 1, 1, ""},
      94                 :            :         {IXGBE_FCTTV(0), 4, 4, ""},
      95                 :            :         {IXGBE_FCRTV, 1, 1, ""},
      96                 :            :         {IXGBE_TFCS, 1, 1, ""},
      97                 :            :         {IXGBE_FCRTL_82599(0), 8, 4, "IXGBE_FCRTL"},
      98                 :            :         {IXGBE_FCRTH_82599(0), 8, 4, "IXGBE_FCRTH"},
      99                 :            :         {0, 0, 0, ""}
     100                 :            : };
     101                 :            : 
     102                 :            : static const struct reg_info ixgbe_regs_rxdma[] = {
     103                 :            :         {IXGBE_RDBAL(0), 64, 0x40, "IXGBE_RDBAL"},
     104                 :            :         {IXGBE_RDBAH(0), 64, 0x40, "IXGBE_RDBAH"},
     105                 :            :         {IXGBE_RDLEN(0), 64, 0x40, "IXGBE_RDLEN"},
     106                 :            :         {IXGBE_RDH(0), 64, 0x40, "IXGBE_RDH"},
     107                 :            :         {IXGBE_RDT(0), 64, 0x40, "IXGBE_RDT"},
     108                 :            :         {IXGBE_RXDCTL(0), 64, 0x40, "IXGBE_RXDCTL"},
     109                 :            :         {IXGBE_SRRCTL(0), 16, 0x4, "IXGBE_SRRCTL"},
     110                 :            :         {IXGBE_DCA_RXCTRL(0), 16, 4, "IXGBE_DCA_RXCTRL"},
     111                 :            :         {IXGBE_RDRXCTL, 1, 1, "IXGBE_RDRXCTL"},
     112                 :            :         {IXGBE_RXPBSIZE(0), 8, 4, "IXGBE_RXPBSIZE"},
     113                 :            :         {IXGBE_RXCTRL, 1, 1, "IXGBE_RXCTRL"},
     114                 :            :         {IXGBE_DROPEN, 1, 1, "IXGBE_DROPEN"},
     115                 :            :         {0, 0, 0, ""}
     116                 :            : };
     117                 :            : 
     118                 :            : static const struct reg_info ixgbevf_regs_rxdma[] = {
     119                 :            :         {IXGBE_VFRDBAL(0), 8, 0x40, "IXGBE_VFRDBAL"},
     120                 :            :         {IXGBE_VFRDBAH(0), 8, 0x40, "IXGBE_VFRDBAH"},
     121                 :            :         {IXGBE_VFRDLEN(0), 8, 0x40, "IXGBE_VFRDLEN"},
     122                 :            :         {IXGBE_VFRDH(0), 8, 0x40, "IXGBE_VFRDH"},
     123                 :            :         {IXGBE_VFRDT(0), 8, 0x40, "IXGBE_VFRDT"},
     124                 :            :         {IXGBE_VFRXDCTL(0), 8, 0x40, "IXGBE_VFRXDCTL"},
     125                 :            :         {IXGBE_VFSRRCTL(0), 8, 0x40, "IXGBE_VFSRRCTL"},
     126                 :            :         {IXGBE_VFPSRTYPE, 1, 1, "IXGBE_VFPSRTYPE"},
     127                 :            :         {IXGBE_VFRSCCTL(0), 8, 0x40, "IXGBE_VFRSCCTL"},
     128                 :            :         {IXGBE_VFDCA_RXCTRL(0), 8, 0x40, "IXGBE_VFDCA_RXCTRL"},
     129                 :            :         {IXGBE_VFDCA_TXCTRL(0), 8, 0x40, "IXGBE_VFDCA_TXCTRL"},
     130                 :            :         {0, 0, 0, ""}
     131                 :            : };
     132                 :            : 
     133                 :            : static const struct reg_info ixgbe_regs_rx[] = {
     134                 :            :         {IXGBE_RXCSUM, 1, 1, "IXGBE_RXCSUM"},
     135                 :            :         {IXGBE_RFCTL, 1, 1, "IXGBE_RFCTL"},
     136                 :            :         {IXGBE_RAL(0), 16, 8, "IXGBE_RAL"},
     137                 :            :         {IXGBE_RAH(0), 16, 8, "IXGBE_RAH"},
     138                 :            :         {IXGBE_PSRTYPE(0), 1, 4, "IXGBE_PSRTYPE"},
     139                 :            :         {IXGBE_FCTRL, 1, 1, "IXGBE_FCTRL"},
     140                 :            :         {IXGBE_VLNCTRL, 1, 1, "IXGBE_VLNCTRL"},
     141                 :            :         {IXGBE_MCSTCTRL, 1, 1, "IXGBE_MCSTCTRL"},
     142                 :            :         {IXGBE_MRQC, 1, 1, "IXGBE_MRQC"},
     143                 :            :         {IXGBE_VMD_CTL, 1, 1, "IXGBE_VMD_CTL"},
     144                 :            :         {IXGBE_IMIR(0), 8, 4, "IXGBE_IMIR"},
     145                 :            :         {IXGBE_IMIREXT(0), 8, 4, "IXGBE_IMIREXT"},
     146                 :            :         {IXGBE_IMIRVP, 1, 1, "IXGBE_IMIRVP"},
     147                 :            :         {0, 0, 0, ""}
     148                 :            : };
     149                 :            : 
     150                 :            : static struct reg_info ixgbe_regs_tx[] = {
     151                 :            :         {IXGBE_TDBAL(0), 32, 0x40, "IXGBE_TDBAL"},
     152                 :            :         {IXGBE_TDBAH(0), 32, 0x40, "IXGBE_TDBAH"},
     153                 :            :         {IXGBE_TDLEN(0), 32, 0x40, "IXGBE_TDLEN"},
     154                 :            :         {IXGBE_TDH(0), 32, 0x40, "IXGBE_TDH"},
     155                 :            :         {IXGBE_TDT(0), 32, 0x40, "IXGBE_TDT"},
     156                 :            :         {IXGBE_TXDCTL(0), 32, 0x40, "IXGBE_TXDCTL"},
     157                 :            :         {IXGBE_TDWBAL(0), 32, 0x40, "IXGBE_TDWBAL"},
     158                 :            :         {IXGBE_TDWBAH(0), 32, 0x40, "IXGBE_TDWBAH"},
     159                 :            :         {IXGBE_DTXCTL, 1, 1, "IXGBE_DTXCTL"},
     160                 :            :         {IXGBE_DCA_TXCTRL(0), 16, 4, "IXGBE_DCA_TXCTRL"},
     161                 :            :         {IXGBE_TXPBSIZE(0), 8, 4, "IXGBE_TXPBSIZE"},
     162                 :            :         {IXGBE_MNGTXMAP, 1, 1, "IXGBE_MNGTXMAP"},
     163                 :            :         {0, 0, 0, ""}
     164                 :            : };
     165                 :            : 
     166                 :            : static const struct reg_info ixgbevf_regs_tx[] = {
     167                 :            :         {IXGBE_VFTDBAL(0), 4, 0x40, "IXGBE_VFTDBAL"},
     168                 :            :         {IXGBE_VFTDBAH(0), 4, 0x40, "IXGBE_VFTDBAH"},
     169                 :            :         {IXGBE_VFTDLEN(0), 4, 0x40, "IXGBE_VFTDLEN"},
     170                 :            :         {IXGBE_VFTDH(0), 4, 0x40, "IXGBE_VFTDH"},
     171                 :            :         {IXGBE_VFTDT(0), 4, 0x40, "IXGBE_VFTDT"},
     172                 :            :         {IXGBE_VFTXDCTL(0), 4, 0x40, "IXGBE_VFTXDCTL"},
     173                 :            :         {IXGBE_VFTDWBAL(0), 4, 0x40, "IXGBE_VFTDWBAL"},
     174                 :            :         {IXGBE_VFTDWBAH(0), 4, 0x40, "IXGBE_VFTDWBAH"},
     175                 :            :         {0, 0, 0, ""}
     176                 :            : };
     177                 :            : 
     178                 :            : static const struct reg_info ixgbe_regs_wakeup[] = {
     179                 :            :         {IXGBE_WUC, 1, 1, "IXGBE_WUC"},
     180                 :            :         {IXGBE_WUFC, 1, 1, "IXGBE_WUFC"},
     181                 :            :         {IXGBE_WUS, 1, 1, "IXGBE_WUS"},
     182                 :            :         {IXGBE_IPAV, 1, 1, "IXGBE_IPAV"},
     183                 :            :         {IXGBE_IP4AT, 1, 1, "IXGBE_IP4AT"},
     184                 :            :         {IXGBE_IP6AT, 1, 1, "IXGBE_IP6AT"},
     185                 :            :         {IXGBE_WUPL, 1, 1, "IXGBE_WUPL"},
     186                 :            :         {IXGBE_WUPM, 1, 1, "IXGBE_WUPM"},
     187                 :            :         {IXGBE_FHFT(0), 1, 1, "IXGBE_FHFT"},
     188                 :            :         {0, 0, 0, ""}
     189                 :            : };
     190                 :            : 
     191                 :            : static const struct reg_info ixgbe_regs_dcb[] = {
     192                 :            :         {IXGBE_RMCS, 1, 1, "IXGBE_RMCS"},
     193                 :            :         {IXGBE_DPMCS, 1, 1, "IXGBE_DPMCS"},
     194                 :            :         {IXGBE_PDPMCS, 1, 1, "IXGBE_PDPMCS"},
     195                 :            :         {IXGBE_RUPPBMR, 1, 1, "IXGBE_RUPPBMR"},
     196                 :            :         {IXGBE_RT2CR(0), 8, 4, "IXGBE_RT2CR"},
     197                 :            :         {IXGBE_RT2SR(0), 8, 4, "IXGBE_RT2SR"},
     198                 :            :         {IXGBE_TDTQ2TCCR(0), 8, 0x40, "IXGBE_TDTQ2TCCR"},
     199                 :            :         {IXGBE_TDTQ2TCSR(0), 8, 0x40, "IXGBE_TDTQ2TCSR"},
     200                 :            :         {IXGBE_TDPT2TCCR(0), 8, 4, "IXGBE_TDPT2TCCR"},
     201                 :            :         {IXGBE_TDPT2TCSR(0), 8, 4, "IXGBE_TDPT2TCSR"},
     202                 :            :         {0, 0, 0, ""}
     203                 :            : };
     204                 :            : 
     205                 :            : static const struct reg_info ixgbe_regs_mac[] = {
     206                 :            :         {IXGBE_PCS1GCFIG, 1, 1, "IXGBE_PCS1GCFIG"},
     207                 :            :         {IXGBE_PCS1GLCTL, 1, 1, "IXGBE_PCS1GLCTL"},
     208                 :            :         {IXGBE_PCS1GLSTA, 1, 1, "IXGBE_PCS1GLSTA"},
     209                 :            :         {IXGBE_PCS1GDBG0, 1, 1, "IXGBE_PCS1GDBG0"},
     210                 :            :         {IXGBE_PCS1GDBG1, 1, 1, "IXGBE_PCS1GDBG1"},
     211                 :            :         {IXGBE_PCS1GANA, 1, 1, "IXGBE_PCS1GANA"},
     212                 :            :         {IXGBE_PCS1GANLP, 1, 1, "IXGBE_PCS1GANLP"},
     213                 :            :         {IXGBE_PCS1GANNP, 1, 1, "IXGBE_PCS1GANNP"},
     214                 :            :         {IXGBE_PCS1GANLPNP, 1, 1, "IXGBE_PCS1GANLPNP"},
     215                 :            :         {IXGBE_HLREG0, 1, 1, "IXGBE_HLREG0"},
     216                 :            :         {IXGBE_HLREG1, 1, 1, "IXGBE_HLREG1"},
     217                 :            :         {IXGBE_PAP, 1, 1, "IXGBE_PAP"},
     218                 :            :         {IXGBE_MACA, 1, 1, "IXGBE_MACA"},
     219                 :            :         {IXGBE_APAE, 1, 1, "IXGBE_APAE"},
     220                 :            :         {IXGBE_ARD, 1, 1, "IXGBE_ARD"},
     221                 :            :         {IXGBE_AIS, 1, 1, "IXGBE_AIS"},
     222                 :            :         {IXGBE_MSCA, 1, 1, "IXGBE_MSCA"},
     223                 :            :         {IXGBE_MSRWD, 1, 1, "IXGBE_MSRWD"},
     224                 :            :         {IXGBE_MLADD, 1, 1, "IXGBE_MLADD"},
     225                 :            :         {IXGBE_MHADD, 1, 1, "IXGBE_MHADD"},
     226                 :            :         {IXGBE_TREG, 1, 1, "IXGBE_TREG"},
     227                 :            :         {IXGBE_PCSS1, 1, 1, "IXGBE_PCSS1"},
     228                 :            :         {IXGBE_PCSS2, 1, 1, "IXGBE_PCSS2"},
     229                 :            :         {IXGBE_XPCSS, 1, 1, "IXGBE_XPCSS"},
     230                 :            :         {IXGBE_SERDESC, 1, 1, "IXGBE_SERDESC"},
     231                 :            :         {IXGBE_MACS, 1, 1, "IXGBE_MACS"},
     232                 :            :         {IXGBE_AUTOC, 1, 1, "IXGBE_AUTOC"},
     233                 :            :         {IXGBE_LINKS, 1, 1, "IXGBE_LINKS"},
     234                 :            :         {IXGBE_AUTOC2, 1, 1, "IXGBE_AUTOC2"},
     235                 :            :         {IXGBE_AUTOC3, 1, 1, "IXGBE_AUTOC3"},
     236                 :            :         {IXGBE_ANLP1, 1, 1, "IXGBE_ANLP1"},
     237                 :            :         {IXGBE_ANLP2, 1, 1, "IXGBE_ANLP2"},
     238                 :            :         {IXGBE_ATLASCTL, 1, 1, "IXGBE_ATLASCTL"},
     239                 :            :         {0, 0, 0, ""}
     240                 :            : };
     241                 :            : 
     242                 :            : static const struct reg_info ixgbe_regs_diagnostic[] = {
     243                 :            :         {IXGBE_RDSTATCTL, 1, 1, "IXGBE_RDSTATCTL"},
     244                 :            :         {IXGBE_RDSTAT(0), 8, 4, "IXGBE_RDSTAT"},
     245                 :            :         {IXGBE_RDHMPN, 1, 1, "IXGBE_RDHMPN"},
     246                 :            :         {IXGBE_RIC_DW(0), 4, 4, "IXGBE_RIC_DW"},
     247                 :            :         {IXGBE_RDPROBE, 1, 1, "IXGBE_RDPROBE"},
     248                 :            :         {IXGBE_TDHMPN, 1, 1, "IXGBE_TDHMPN"},
     249                 :            :         {IXGBE_TIC_DW(0), 4, 4, "IXGBE_TIC_DW"},
     250                 :            :         {IXGBE_TDPROBE, 1, 1, "IXGBE_TDPROBE"},
     251                 :            :         {IXGBE_TXBUFCTRL, 1, 1, "IXGBE_TXBUFCTRL"},
     252                 :            :         {IXGBE_TXBUFDATA0, 1, 1, "IXGBE_TXBUFDATA0"},
     253                 :            :         {IXGBE_TXBUFDATA1, 1, 1, "IXGBE_TXBUFDATA1"},
     254                 :            :         {IXGBE_TXBUFDATA2, 1, 1, "IXGBE_TXBUFDATA2"},
     255                 :            :         {IXGBE_TXBUFDATA3, 1, 1, "IXGBE_TXBUFDATA3"},
     256                 :            :         {IXGBE_RXBUFCTRL, 1, 1, "IXGBE_RXBUFCTRL"},
     257                 :            :         {IXGBE_RXBUFDATA0, 1, 1, "IXGBE_RXBUFDATA0"},
     258                 :            :         {IXGBE_RXBUFDATA1, 1, 1, "IXGBE_RXBUFDATA1"},
     259                 :            :         {IXGBE_RXBUFDATA2, 1, 1, "IXGBE_RXBUFDATA2"},
     260                 :            :         {IXGBE_RXBUFDATA3, 1, 1, "IXGBE_RXBUFDATA3"},
     261                 :            :         {IXGBE_PCIE_DIAG(0), 8, 4, ""},
     262                 :            :         {IXGBE_RFVAL, 1, 1, "IXGBE_RFVAL"},
     263                 :            :         {IXGBE_MDFTC1, 1, 1, "IXGBE_MDFTC1"},
     264                 :            :         {IXGBE_MDFTC2, 1, 1, "IXGBE_MDFTC2"},
     265                 :            :         {IXGBE_MDFTFIFO1, 1, 1, "IXGBE_MDFTFIFO1"},
     266                 :            :         {IXGBE_MDFTFIFO2, 1, 1, "IXGBE_MDFTFIFO2"},
     267                 :            :         {IXGBE_MDFTS, 1, 1, "IXGBE_MDFTS"},
     268                 :            :         {IXGBE_PCIEECCCTL, 1, 1, "IXGBE_PCIEECCCTL"},
     269                 :            :         {IXGBE_PBTXECC, 1, 1, "IXGBE_PBTXECC"},
     270                 :            :         {IXGBE_PBRXECC, 1, 1, "IXGBE_PBRXECC"},
     271                 :            :         {IXGBE_MFLCN, 1, 1, "IXGBE_MFLCN"},
     272                 :            :         {0, 0, 0, ""},
     273                 :            : };
     274                 :            : 
     275                 :            : /* PF registers */
     276                 :            : static const struct reg_info *ixgbe_regs_others[] = {
     277                 :            :                                 ixgbe_regs_general,
     278                 :            :                                 ixgbe_regs_nvm, ixgbe_regs_interrupt,
     279                 :            :                                 ixgbe_regs_fctl_others,
     280                 :            :                                 ixgbe_regs_rxdma,
     281                 :            :                                 ixgbe_regs_rx,
     282                 :            :                                 ixgbe_regs_tx,
     283                 :            :                                 ixgbe_regs_wakeup,
     284                 :            :                                 ixgbe_regs_dcb,
     285                 :            :                                 ixgbe_regs_mac,
     286                 :            :                                 ixgbe_regs_diagnostic,
     287                 :            :                                 NULL};
     288                 :            : 
     289                 :            : static const struct reg_info *ixgbe_regs_mac_82598EB[] = {
     290                 :            :                                 ixgbe_regs_general,
     291                 :            :                                 ixgbe_regs_nvm,
     292                 :            :                                 ixgbe_regs_interrupt,
     293                 :            :                                 ixgbe_regs_fctl_mac_82598EB,
     294                 :            :                                 ixgbe_regs_rxdma,
     295                 :            :                                 ixgbe_regs_rx,
     296                 :            :                                 ixgbe_regs_tx,
     297                 :            :                                 ixgbe_regs_wakeup,
     298                 :            :                                 ixgbe_regs_dcb,
     299                 :            :                                 ixgbe_regs_mac,
     300                 :            :                                 ixgbe_regs_diagnostic,
     301                 :            :                                 NULL};
     302                 :            : 
     303                 :            : /* VF registers */
     304                 :            : static const struct reg_info *ixgbevf_regs[] = {
     305                 :            :                                 ixgbevf_regs_general,
     306                 :            :                                 ixgbevf_regs_interrupt,
     307                 :            :                                 ixgbevf_regs_rxdma,
     308                 :            :                                 ixgbevf_regs_tx,
     309                 :            :                                 NULL};
     310                 :            : 
     311                 :            : static inline int
     312                 :            : ixgbe_read_regs(struct ixgbe_hw *hw, const struct reg_info *reg,
     313                 :            :         uint32_t *reg_buf)
     314                 :            : {
     315                 :            :         unsigned int i;
     316                 :            : 
     317         [ #  # ]:          0 :         for (i = 0; i < reg->count; i++)
     318                 :          0 :                 reg_buf[i] = IXGBE_READ_REG(hw,
     319                 :            :                                         reg->base_addr + i * reg->stride);
     320                 :          0 :         return reg->count;
     321                 :            : };
     322                 :            : 
     323                 :            : static inline int
     324                 :            : ixgbe_regs_group_count(const struct reg_info *regs)
     325                 :            : {
     326                 :            :         int count = 0;
     327                 :            :         int i = 0;
     328                 :            : 
     329   [ #  #  #  #  :          0 :         while (regs[i].count)
                   #  # ]
     330                 :          0 :                 count += regs[i++].count;
     331                 :            :         return count;
     332                 :            : };
     333                 :            : 
     334                 :            : static inline int
     335                 :          0 : ixgbe_read_regs_group(struct rte_eth_dev *dev, uint32_t *reg_buf,
     336                 :            :                                           const struct reg_info *regs)
     337                 :            : {
     338                 :            :         int count = 0;
     339                 :            :         int i = 0;
     340                 :          0 :         struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
     341                 :            : 
     342         [ #  # ]:          0 :         while (regs[i].count)
     343                 :          0 :                 count += ixgbe_read_regs(hw, &regs[i++], &reg_buf[count]);
     344                 :          0 :         return count;
     345                 :            : };
     346                 :            : 
     347                 :            : #endif /* _IXGBE_REGS_H_ */

Generated by: LCOV version 1.14