lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202601191235.4xhLbfRC-lkp@intel.com>
Date: Mon, 19 Jan 2026 12:34:41 +0800
From: kernel test robot <lkp@...el.com>
To: Karthikey Kadati <karthikey3608@...il.com>, gregkh@...uxfoundation.org
Cc: oe-kbuild-all@...ts.linux.dev, linux-staging@...ts.linux.dev,
	linux-kernel@...r.kernel.org, karthikey3608@...il.com
Subject: Re: [PATCH v6] staging: octeon: Remove port status typedefs

Hi Karthikey,

kernel test robot noticed the following build warnings:

[auto build test WARNING on staging/staging-testing]

url:    https://github.com/intel-lab-lkp/linux/commits/Karthikey-Kadati/staging-octeon-Remove-port-status-typedefs/20260119-011605
base:   staging/staging-testing
patch link:    https://lore.kernel.org/r/20260118171348.54963-1-karthikey3608%40gmail.com
patch subject: [PATCH v6] staging: octeon: Remove port status typedefs
config: mips-randconfig-r063-20260119 (https://download.01.org/0day-ci/archive/20260119/202601191235.4xhLbfRC-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260119/202601191235.4xhLbfRC-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601191235.4xhLbfRC-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from arch/mips/cavium-octeon/executive/cvmx-helper.c:39:
>> arch/mips/include/asm/octeon/cvmx-pip.h:183:1: warning: typedef requires a name [-Wmissing-declarations]
     183 | typedef struct {
         | ^~~~~~~
>> arch/mips/include/asm/octeon/cvmx-pip.h:368:17: warning: declaration of 'struct cvmx_pip_port_status' will not be visible outside of this function [-Wvisibility]
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:406:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     406 |         status->dropped_octets = stat0.s.drp_octs;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:407:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     407 |         status->dropped_packets = stat0.s.drp_pkts;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:408:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     408 |         status->octets = stat1.s.octs;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:409:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     409 |         status->pci_raw_packets = stat2.s.raw;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:410:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     410 |         status->packets = stat2.s.pkts;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:411:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     411 |         status->multicast_packets = stat3.s.mcst;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:412:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     412 |         status->broadcast_packets = stat3.s.bcst;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:413:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     413 |         status->len_64_packets = stat4.s.h64;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:414:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     414 |         status->len_65_127_packets = stat4.s.h65to127;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:415:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     415 |         status->len_128_255_packets = stat5.s.h128to255;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:416:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     416 |         status->len_256_511_packets = stat5.s.h256to511;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:417:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     417 |         status->len_512_1023_packets = stat6.s.h512to1023;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:418:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     418 |         status->len_1024_1518_packets = stat6.s.h1024to1518;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:419:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     419 |         status->len_1519_max_packets = stat7.s.h1519;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:420:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     420 |         status->fcs_align_err_packets = stat7.s.fcs;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:421:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     421 |         status->runt_packets = stat8.s.undersz;
         |         ~~~~~~^
   arch/mips/include/asm/octeon/cvmx-pip.h:368:17: note: forward declaration of 'struct cvmx_pip_port_status'
     368 |                                             struct cvmx_pip_port_status *status)
         |                                                    ^
   arch/mips/include/asm/octeon/cvmx-pip.h:422:8: error: incomplete definition of type 'struct cvmx_pip_port_status'
     422 |         status->runt_crc_packets = stat8.s.frag;


vim +183 arch/mips/include/asm/octeon/cvmx-pip.h

80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  179  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  180  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  181   * Status statistics for a port
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  182   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05 @183  typedef struct {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  184  	/* Inbound octets marked to be dropped by the IPD */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  185  	uint32_t dropped_octets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  186  	/* Inbound packets marked to be dropped by the IPD */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  187  	uint32_t dropped_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  188  	/* RAW PCI Packets received by PIP per port */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  189  	uint32_t pci_raw_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  190  	/* Number of octets processed by PIP */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  191  	uint32_t octets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  192  	/* Number of packets processed by PIP */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  193  	uint32_t packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  194  	/*
3f79410c7c9c8e arch/mips/include/asm/octeon/cvmx-pip.h Maxime Jayat     2013-10-12  195  	 * Number of identified L2 multicast packets.	Does not
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  196  	 * include broadcast packets.  Only includes packets whose
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  197  	 * parse mode is SKIP_TO_L2
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  198  	 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  199  	uint32_t multicast_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  200  	/*
3f79410c7c9c8e arch/mips/include/asm/octeon/cvmx-pip.h Maxime Jayat     2013-10-12  201  	 * Number of identified L2 broadcast packets.	Does not
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  202  	 * include multicast packets.  Only includes packets whose
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  203  	 * parse mode is SKIP_TO_L2
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  204  	 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  205  	uint32_t broadcast_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  206  	/* Number of 64B packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  207  	uint32_t len_64_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  208  	/* Number of 65-127B packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  209  	uint32_t len_65_127_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  210  	/* Number of 128-255B packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  211  	uint32_t len_128_255_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  212  	/* Number of 256-511B packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  213  	uint32_t len_256_511_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  214  	/* Number of 512-1023B packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  215  	uint32_t len_512_1023_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  216  	/* Number of 1024-1518B packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  217  	uint32_t len_1024_1518_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  218  	/* Number of 1519-max packets */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  219  	uint32_t len_1519_max_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  220  	/* Number of packets with FCS or Align opcode errors */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  221  	uint32_t fcs_align_err_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  222  	/* Number of packets with length < min */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  223  	uint32_t runt_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  224  	/* Number of packets with length < min and FCS error */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  225  	uint32_t runt_crc_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  226  	/* Number of packets with length > max */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  227  	uint32_t oversize_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  228  	/* Number of packets with length > max and FCS error */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  229  	uint32_t oversize_crc_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  230  	/* Number of packets without GMX/SPX/PCI errors received by PIP */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  231  	uint32_t inb_packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  232  	/*
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  233  	 * Total number of octets from all packets received by PIP,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  234  	 * including CRC
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  235  	 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  236  	uint64_t inb_octets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  237  	/* Number of packets with GMX/SPX/PCI errors received by PIP */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  238  	uint16_t inb_errors;
716d4b538311a3 arch/mips/include/asm/octeon/cvmx-pip.h Karthikey Kadati 2026-01-18  239  };
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  240  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  241  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  242   * Definition of the PIP custom header that can be prepended
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  243   * to a packet by external hardware.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  244   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  245  typedef union {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  246  	uint64_t u64;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  247  	struct {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  248  		/*
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  249  		 * Documented as R - Set if the Packet is RAWFULL. If
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  250  		 * set, this header must be the full 8 bytes.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  251  		 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  252  		uint64_t rawfull:1;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  253  		/* Must be zero */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  254  		uint64_t reserved0:5;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  255  		/* PIP parse mode for this packet */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  256  		uint64_t parse_mode:2;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  257  		/* Must be zero */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  258  		uint64_t reserved1:1;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  259  		/*
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  260  		 * Skip amount, including this header, to the
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  261  		 * beginning of the packet
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  262  		 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  263  		uint64_t skip_len:7;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  264  		/* Must be zero */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  265  		uint64_t reserved2:6;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  266  		/* POW input queue for this packet */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  267  		uint64_t qos:3;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  268  		/* POW input group for this packet */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  269  		uint64_t grp:4;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  270  		/*
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  271  		 * Flag to store this packet in the work queue entry,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  272  		 * if possible
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  273  		 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  274  		uint64_t rs:1;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  275  		/* POW input tag type */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  276  		uint64_t tag_type:2;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  277  		/* POW input tag */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  278  		uint64_t tag:32;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  279  	} s;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  280  } cvmx_pip_pkt_inst_hdr_t;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  281  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  282  /* CSR typedefs have been moved to cvmx-csr-*.h */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  283  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  284  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  285   * Configure an ethernet input port
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  286   *
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  287   * @port_num: Port number to configure
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  288   * @port_cfg: Port hardware configuration
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  289   * @port_tag_cfg:
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  290   *		   Port POW tagging configuration
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  291   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  292  static inline void cvmx_pip_config_port(uint64_t port_num,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  293  					union cvmx_pip_prt_cfgx port_cfg,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  294  					union cvmx_pip_prt_tagx port_tag_cfg)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  295  {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  296  	cvmx_write_csr(CVMX_PIP_PRT_CFGX(port_num), port_cfg.u64);
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  297  	cvmx_write_csr(CVMX_PIP_PRT_TAGX(port_num), port_tag_cfg.u64);
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  298  }
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  299  #if 0
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  300  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  301   * @deprecated	    This function is a thin wrapper around the Pass1 version
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  302   *		    of the CVMX_PIP_QOS_WATCHX CSR; Pass2 has added a field for
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  303   *		    setting the group that is incompatible with this function,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  304   *		    the preferred upgrade path is to use the CSR directly.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  305   *
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  306   * Configure the global QoS packet watchers. Each watcher is
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  307   * capable of matching a field in a packet to determine the
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  308   * QoS queue for scheduling.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  309   *
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  310   * @watcher:	Watcher number to configure (0 - 3).
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  311   * @match_type: Watcher match type
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  312   * @match_value:
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  313   *		     Value the watcher will match against
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  314   * @qos:	QoS queue for packets matching this watcher
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  315   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  316  static inline void cvmx_pip_config_watcher(uint64_t watcher,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  317  					   cvmx_pip_qos_watch_types match_type,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  318  					   uint64_t match_value, uint64_t qos)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  319  {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  320  	cvmx_pip_port_watcher_cfg_t watcher_config;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  321  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  322  	watcher_config.u64 = 0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  323  	watcher_config.s.match_type = match_type;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  324  	watcher_config.s.match_value = match_value;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  325  	watcher_config.s.qos = qos;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  326  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  327  	cvmx_write_csr(CVMX_PIP_QOS_WATCHX(watcher), watcher_config.u64);
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  328  }
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  329  #endif
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  330  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  331   * Configure the VLAN priority to QoS queue mapping.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  332   *
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  333   * @vlan_priority:
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  334   *		 VLAN priority (0-7)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  335   * @qos:    QoS queue for packets matching this watcher
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  336   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  337  static inline void cvmx_pip_config_vlan_qos(uint64_t vlan_priority,
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  338  					    uint64_t qos)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  339  {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  340  	union cvmx_pip_qos_vlanx pip_qos_vlanx;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  341  	pip_qos_vlanx.u64 = 0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  342  	pip_qos_vlanx.s.qos = qos;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  343  	cvmx_write_csr(CVMX_PIP_QOS_VLANX(vlan_priority), pip_qos_vlanx.u64);
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  344  }
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  345  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  346  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  347   * Configure the Diffserv to QoS queue mapping.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  348   *
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  349   * @diffserv: Diffserv field value (0-63)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  350   * @qos:      QoS queue for packets matching this watcher
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  351   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  352  static inline void cvmx_pip_config_diffserv_qos(uint64_t diffserv, uint64_t qos)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  353  {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  354  	union cvmx_pip_qos_diffx pip_qos_diffx;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  355  	pip_qos_diffx.u64 = 0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  356  	pip_qos_diffx.s.qos = qos;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  357  	cvmx_write_csr(CVMX_PIP_QOS_DIFFX(diffserv), pip_qos_diffx.u64);
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  358  }
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  359  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  360  /**
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  361   * Get the status counters for a port.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  362   *
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  363   * @port_num: Port number to get statistics for.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  364   * @clear:    Set to 1 to clear the counters after they are read
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  365   * @status:   Where to put the results.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  366   */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  367  static inline void cvmx_pip_get_port_status(uint64_t port_num, uint64_t clear,
716d4b538311a3 arch/mips/include/asm/octeon/cvmx-pip.h Karthikey Kadati 2026-01-18 @368  					    struct cvmx_pip_port_status *status)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  369  {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  370  	union cvmx_pip_stat_ctl pip_stat_ctl;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  371  	union cvmx_pip_stat0_prtx stat0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  372  	union cvmx_pip_stat1_prtx stat1;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  373  	union cvmx_pip_stat2_prtx stat2;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  374  	union cvmx_pip_stat3_prtx stat3;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  375  	union cvmx_pip_stat4_prtx stat4;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  376  	union cvmx_pip_stat5_prtx stat5;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  377  	union cvmx_pip_stat6_prtx stat6;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  378  	union cvmx_pip_stat7_prtx stat7;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  379  	union cvmx_pip_stat8_prtx stat8;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  380  	union cvmx_pip_stat9_prtx stat9;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  381  	union cvmx_pip_stat_inb_pktsx pip_stat_inb_pktsx;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  382  	union cvmx_pip_stat_inb_octsx pip_stat_inb_octsx;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  383  	union cvmx_pip_stat_inb_errsx pip_stat_inb_errsx;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  384  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  385  	pip_stat_ctl.u64 = 0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  386  	pip_stat_ctl.s.rdclr = clear;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  387  	cvmx_write_csr(CVMX_PIP_STAT_CTL, pip_stat_ctl.u64);
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  388  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  389  	stat0.u64 = cvmx_read_csr(CVMX_PIP_STAT0_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  390  	stat1.u64 = cvmx_read_csr(CVMX_PIP_STAT1_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  391  	stat2.u64 = cvmx_read_csr(CVMX_PIP_STAT2_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  392  	stat3.u64 = cvmx_read_csr(CVMX_PIP_STAT3_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  393  	stat4.u64 = cvmx_read_csr(CVMX_PIP_STAT4_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  394  	stat5.u64 = cvmx_read_csr(CVMX_PIP_STAT5_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  395  	stat6.u64 = cvmx_read_csr(CVMX_PIP_STAT6_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  396  	stat7.u64 = cvmx_read_csr(CVMX_PIP_STAT7_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  397  	stat8.u64 = cvmx_read_csr(CVMX_PIP_STAT8_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  398  	stat9.u64 = cvmx_read_csr(CVMX_PIP_STAT9_PRTX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  399  	pip_stat_inb_pktsx.u64 =
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  400  	    cvmx_read_csr(CVMX_PIP_STAT_INB_PKTSX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  401  	pip_stat_inb_octsx.u64 =
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  402  	    cvmx_read_csr(CVMX_PIP_STAT_INB_OCTSX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  403  	pip_stat_inb_errsx.u64 =
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  404  	    cvmx_read_csr(CVMX_PIP_STAT_INB_ERRSX(port_num));
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  405  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  406  	status->dropped_octets = stat0.s.drp_octs;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  407  	status->dropped_packets = stat0.s.drp_pkts;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  408  	status->octets = stat1.s.octs;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  409  	status->pci_raw_packets = stat2.s.raw;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  410  	status->packets = stat2.s.pkts;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  411  	status->multicast_packets = stat3.s.mcst;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  412  	status->broadcast_packets = stat3.s.bcst;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  413  	status->len_64_packets = stat4.s.h64;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  414  	status->len_65_127_packets = stat4.s.h65to127;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  415  	status->len_128_255_packets = stat5.s.h128to255;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  416  	status->len_256_511_packets = stat5.s.h256to511;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  417  	status->len_512_1023_packets = stat6.s.h512to1023;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  418  	status->len_1024_1518_packets = stat6.s.h1024to1518;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  419  	status->len_1519_max_packets = stat7.s.h1519;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  420  	status->fcs_align_err_packets = stat7.s.fcs;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  421  	status->runt_packets = stat8.s.undersz;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  422  	status->runt_crc_packets = stat8.s.frag;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  423  	status->oversize_packets = stat9.s.oversz;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  424  	status->oversize_crc_packets = stat9.s.jabber;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  425  	status->inb_packets = pip_stat_inb_pktsx.s.pkts;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  426  	status->inb_octets = pip_stat_inb_octsx.s.octs;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  427  	status->inb_errors = pip_stat_inb_errsx.s.errs;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  428  
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  429  	if (cvmx_octeon_is_pass1()) {
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  430  		/*
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  431  		 * Kludge to fix Octeon Pass 1 errata - Drop counts
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  432  		 * don't work.
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  433  		 */
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  434  		if (status->inb_packets > status->packets)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  435  			status->dropped_packets =
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  436  			    status->inb_packets - status->packets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  437  		else
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  438  			status->dropped_packets = 0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  439  		if (status->inb_octets - status->inb_packets * 4 >
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  440  		    status->octets)
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  441  			status->dropped_octets =
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  442  			    status->inb_octets - status->inb_packets * 4 -
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  443  			    status->octets;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  444  		else
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  445  			status->dropped_octets = 0;
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  446  	}
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  447  }
80ff0fd3ab6451 drivers/staging/octeon/cvmx-pip.h       David Daney      2009-05-05  448  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ