~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/cavium-octeon/executive/cvmx-helper-npi.c

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/mips/cavium-octeon/executive/cvmx-helper-npi.c (Architecture mips) and /arch/sparc/cavium-octeon/executive/cvmx-helper-npi.c (Architecture sparc)


  1 /***********************license start*********      1 
  2  * Author: Cavium Networks                        
  3  *                                                
  4  * Contact: support@caviumnetworks.com            
  5  * This file is part of the OCTEON SDK            
  6  *                                                
  7  * Copyright (c) 2003-2008 Cavium Networks        
  8  *                                                
  9  * This file is free software; you can redistr    
 10  * it under the terms of the GNU General Publi    
 11  * published by the Free Software Foundation.     
 12  *                                                
 13  * This file is distributed in the hope that i    
 14  * AS-IS and WITHOUT ANY WARRANTY; without eve    
 15  * of MERCHANTABILITY or FITNESS FOR A PARTICU    
 16  * NONINFRINGEMENT.  See the GNU General Publi    
 17  * details.                                       
 18  *                                                
 19  * You should have received a copy of the GNU     
 20  * along with this file; if not, write to the     
 21  * Foundation, Inc., 51 Franklin St, Fifth Flo    
 22  * or visit http://www.gnu.org/licenses/.         
 23  *                                                
 24  * This file may also be available under a dif    
 25  * Contact Cavium Networks for more informatio    
 26  ***********************license end***********    
 27                                                   
 28 /*                                                
 29  * Functions for NPI initialization, configura    
 30  * and monitoring.                                
 31  */                                               
 32 #include <asm/octeon/octeon.h>                    
 33                                                   
 34 #include <asm/octeon/cvmx-config.h>               
 35                                                   
 36 #include <asm/octeon/cvmx-helper.h>               
 37                                                   
 38 #include <asm/octeon/cvmx-pip-defs.h>             
 39                                                   
 40 /**                                               
 41  * Probe a NPI interface and determine the num    
 42  * connected to it. The NPI interface should s    
 43  * after this call.                               
 44  *                                                
 45  * @interface: Interface to probe                 
 46  *                                                
 47  * Returns Number of ports on the interface. Z    
 48  */                                               
 49 int __cvmx_helper_npi_probe(int interface)        
 50 {                                                 
 51 #if CVMX_PKO_QUEUES_PER_PORT_PCI > 0              
 52         if (OCTEON_IS_MODEL(OCTEON_CN38XX) ||     
 53                 return 4;                         
 54         else if (OCTEON_IS_MODEL(OCTEON_CN56XX    
 55                  && !OCTEON_IS_MODEL(OCTEON_CN    
 56                 /* The packet engines didn't e    
 57                 return 4;                         
 58         else if (OCTEON_IS_MODEL(OCTEON_CN52XX    
 59                  && !OCTEON_IS_MODEL(OCTEON_CN    
 60                 /* The packet engines didn't e    
 61                 return 4;                         
 62 #endif                                            
 63         return 0;                                 
 64 }                                                 
 65                                                   
 66 /**                                               
 67  * Bringup and enable a NPI interface. After t    
 68  * I/O should be fully functional. This is cal    
 69  * enabled but PKO disabled.                      
 70  *                                                
 71  * @interface: Interface to bring up              
 72  *                                                
 73  * Returns Zero on success, negative on failur    
 74  */                                               
 75 int __cvmx_helper_npi_enable(int interface)       
 76 {                                                 
 77         /*                                        
 78          * On CN50XX, CN52XX, and CN56XX we ne    
 79          * checking so packet < 64 bytes and j    
 80          * errors.                                
 81          */                                       
 82         if (!OCTEON_IS_MODEL(OCTEON_CN3XXX) &&    
 83             !OCTEON_IS_MODEL(OCTEON_CN58XX)) {    
 84                 int num_ports = cvmx_helper_po    
 85                 int port;                         
 86                 for (port = 0; port < num_port    
 87                         union cvmx_pip_prt_cfg    
 88                         int ipd_port =            
 89                             cvmx_helper_get_ip    
 90                         port_cfg.u64 =            
 91                             cvmx_read_csr(CVMX    
 92                         port_cfg.s.maxerr_en =    
 93                         port_cfg.s.minerr_en =    
 94                         cvmx_write_csr(CVMX_PI    
 95                                        port_cf    
 96                 }                                 
 97         }                                         
 98                                                   
 99         /* Enables are controlled by the remot    
100         return 0;                                 
101 }                                                 
102                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php