/linux-4.1.27/drivers/staging/octeon/ |
H A D | ethernet-util.h | 42 * @ipd_port: Port to check 46 static inline int INTERFACE(int ipd_port) INTERFACE() argument 48 if (ipd_port < 32) /* Interface 0 or 1 for RGMII,GMII,SPI, etc */ INTERFACE() 49 return ipd_port >> 4; INTERFACE() 50 else if (ipd_port < 36) /* Interface 2 for NPI */ INTERFACE() 52 else if (ipd_port < 40) /* Interface 3 for loopback */ INTERFACE() 54 else if (ipd_port == 40) /* Non existent interface for POW0 */ INTERFACE() 56 panic("Illegal ipd_port %d passed to INTERFACE\n", ipd_port); INTERFACE() 61 * @ipd_port: Port to check 65 static inline int INDEX(int ipd_port) INDEX() argument 67 if (ipd_port < 32) INDEX() 68 return ipd_port & 15; INDEX() 69 return ipd_port & 3; INDEX()
|
/linux-4.1.27/arch/mips/cavium-octeon/executive/ |
H A D | cvmx-helper-board.c | 49 * cvmx_override_board_link_get(int ipd_port) is a function 56 cvmx_helper_link_info_t(*cvmx_override_board_link_get) (int ipd_port) = 71 * @ipd_port: Octeon IPD port to get the MII address for. 75 int cvmx_helper_board_get_mii_address(int ipd_port) cvmx_helper_board_get_mii_address() argument 86 if ((ipd_port >= 16) && (ipd_port < 20)) cvmx_helper_board_get_mii_address() 87 return ipd_port - 16; cvmx_helper_board_get_mii_address() 100 if (ipd_port == 0) cvmx_helper_board_get_mii_address() 102 else if (ipd_port == 1) cvmx_helper_board_get_mii_address() 108 if ((ipd_port >= 0) && (ipd_port < 4)) cvmx_helper_board_get_mii_address() 109 return ipd_port; cvmx_helper_board_get_mii_address() 110 else if ((ipd_port >= 16) && (ipd_port < 20)) cvmx_helper_board_get_mii_address() 111 return ipd_port - 16 + 4; cvmx_helper_board_get_mii_address() 121 if ((ipd_port >= CVMX_HELPER_BOARD_MGMT_IPD_PORT) && cvmx_helper_board_get_mii_address() 122 (ipd_port < (CVMX_HELPER_BOARD_MGMT_IPD_PORT + 2))) cvmx_helper_board_get_mii_address() 123 return ipd_port - CVMX_HELPER_BOARD_MGMT_IPD_PORT; cvmx_helper_board_get_mii_address() 128 if ((ipd_port >= 0) && (ipd_port < 4)) cvmx_helper_board_get_mii_address() 129 return ipd_port + 2; cvmx_helper_board_get_mii_address() 136 if (ipd_port == CVMX_HELPER_BOARD_MGMT_IPD_PORT) cvmx_helper_board_get_mii_address() 142 if ((ipd_port >= 0) && (ipd_port < 4)) cvmx_helper_board_get_mii_address() 143 return ipd_port + 1; cvmx_helper_board_get_mii_address() 147 if (ipd_port == 2) cvmx_helper_board_get_mii_address() 153 if ((ipd_port >= 16) && (ipd_port < 20)) cvmx_helper_board_get_mii_address() 154 return ipd_port - 16 + 1; cvmx_helper_board_get_mii_address() 161 if (ipd_port >= 0 && ipd_port <= 3) cvmx_helper_board_get_mii_address() 162 return (ipd_port + 0x1f) & 0x1f; cvmx_helper_board_get_mii_address() 166 if (ipd_port >= 0 && ipd_port <= 1) cvmx_helper_board_get_mii_address() 167 return ipd_port + 1; cvmx_helper_board_get_mii_address() 178 if (ipd_port >= 0 && ipd_port <= 3) cvmx_helper_board_get_mii_address() 179 return ipd_port; cvmx_helper_board_get_mii_address() 180 else if (ipd_port >= 16 && ipd_port <= 19) cvmx_helper_board_get_mii_address() 181 return ipd_port - 16 + 4; cvmx_helper_board_get_mii_address() 185 if (ipd_port >= 0 && ipd_port <= 2) cvmx_helper_board_get_mii_address() 186 return 7 - ipd_port; cvmx_helper_board_get_mii_address() 194 if (ipd_port == 2) cvmx_helper_board_get_mii_address() 219 * @ipd_port: IPD input port associated with the port we want to get link 225 cvmx_helper_link_info_t __cvmx_helper_board_link_get(int ipd_port) __cvmx_helper_board_link_get() argument 233 return cvmx_override_board_link_get(ipd_port); __cvmx_helper_board_link_get() 254 if (ipd_port == 1) { __cvmx_helper_board_link_get() 264 if (ipd_port == 1) { __cvmx_helper_board_link_get() 274 if (ipd_port == 2) { __cvmx_helper_board_link_get() 287 if (ipd_port == 0 || ipd_port == 1) { __cvmx_helper_board_link_get() 300 phy_addr = cvmx_helper_board_get_mii_address(ipd_port); __cvmx_helper_board_link_get() 412 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_board_link_get() 413 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_board_link_get()
|
H A D | cvmx-helper.c | 50 * cvmx_override_pko_queue_priority(int ipd_port, uint64_t 60 * cvmx_override_ipd_port_setup(int ipd_port) is a function 67 void (*cvmx_override_ipd_port_setup) (int ipd_port); 358 * @ipd_port: Port to configure. This follows the IPD numbering, not the 363 static int __cvmx_helper_port_setup_ipd(int ipd_port) __cvmx_helper_port_setup_ipd() argument 368 port_config.u64 = cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port)); __cvmx_helper_port_setup_ipd() 369 tag_config.u64 = cvmx_read_csr(CVMX_PIP_PRT_TAGX(ipd_port)); __cvmx_helper_port_setup_ipd() 372 port_config.s.qos = ipd_port & 0x7; __cvmx_helper_port_setup_ipd() 396 cvmx_pip_config_port(ipd_port, port_config, tag_config); __cvmx_helper_port_setup_ipd() 400 cvmx_override_ipd_port_setup(ipd_port); __cvmx_helper_port_setup_ipd() 559 int ipd_port = cvmx_helper_get_ipd_port(interface, 0); __cvmx_helper_interface_setup_ipd() local 563 __cvmx_helper_port_setup_ipd(ipd_port); __cvmx_helper_interface_setup_ipd() 564 ipd_port++; __cvmx_helper_interface_setup_ipd() 622 int ipd_port = cvmx_helper_get_ipd_port(interface, 0); __cvmx_helper_interface_setup_pko() local 630 cvmx_override_pko_queue_priority(ipd_port, priorities); __cvmx_helper_interface_setup_pko() 632 cvmx_pko_config_port(ipd_port, __cvmx_helper_interface_setup_pko() 633 cvmx_pko_get_base_queue_per_core(ipd_port, __cvmx_helper_interface_setup_pko() 635 cvmx_pko_get_num_queues(ipd_port), __cvmx_helper_interface_setup_pko() 637 ipd_port++; __cvmx_helper_interface_setup_pko() 1091 * cvmx_helper_link_set(ipd_port, cvmx_helper_link_get(ipd_port)); 1093 * @ipd_port: IPD/PKO port to auto configure 1097 cvmx_helper_link_info_t cvmx_helper_link_autoconf(int ipd_port) cvmx_helper_link_autoconf() argument 1100 int interface = cvmx_helper_get_interface_num(ipd_port); cvmx_helper_link_autoconf() 1101 int index = cvmx_helper_get_interface_index_num(ipd_port); cvmx_helper_link_autoconf() 1108 link_info = cvmx_helper_link_get(ipd_port); cvmx_helper_link_autoconf() 1109 if (link_info.u64 == port_link_info[ipd_port].u64) cvmx_helper_link_autoconf() 1113 cvmx_helper_link_set(ipd_port, link_info); cvmx_helper_link_autoconf() 1119 return port_link_info[ipd_port]; cvmx_helper_link_autoconf() 1129 * @ipd_port: IPD/PKO port to query 1133 cvmx_helper_link_info_t cvmx_helper_link_get(int ipd_port) cvmx_helper_link_get() argument 1136 int interface = cvmx_helper_get_interface_num(ipd_port); cvmx_helper_link_get() 1137 int index = cvmx_helper_get_interface_index_num(ipd_port); cvmx_helper_link_get() 1152 result = __cvmx_helper_xaui_link_get(ipd_port); cvmx_helper_link_get() 1156 result = __cvmx_helper_rgmii_link_get(ipd_port); cvmx_helper_link_get() 1164 result = __cvmx_helper_rgmii_link_get(ipd_port); cvmx_helper_link_get() 1167 result = __cvmx_helper_spi_link_get(ipd_port); cvmx_helper_link_get() 1171 result = __cvmx_helper_sgmii_link_get(ipd_port); cvmx_helper_link_get() 1189 * @ipd_port: IPD/PKO port to configure 1194 int cvmx_helper_link_set(int ipd_port, cvmx_helper_link_info_t link_info) cvmx_helper_link_set() argument 1197 int interface = cvmx_helper_get_interface_num(ipd_port); cvmx_helper_link_set() 1198 int index = cvmx_helper_get_interface_index_num(ipd_port); cvmx_helper_link_set() 1208 result = __cvmx_helper_xaui_link_set(ipd_port, link_info); cvmx_helper_link_set() 1216 result = __cvmx_helper_rgmii_link_set(ipd_port, link_info); cvmx_helper_link_set() 1219 result = __cvmx_helper_spi_link_set(ipd_port, link_info); cvmx_helper_link_set() 1223 result = __cvmx_helper_sgmii_link_set(ipd_port, link_info); cvmx_helper_link_set() 1233 port_link_info[ipd_port].u64 = link_info.u64; cvmx_helper_link_set() 1243 * @ipd_port: IPD/PKO port to loopback. 1251 int cvmx_helper_configure_loopback(int ipd_port, int enable_internal, cvmx_helper_configure_loopback() argument 1255 int interface = cvmx_helper_get_interface_num(ipd_port); cvmx_helper_configure_loopback() 1256 int index = cvmx_helper_get_interface_index_num(ipd_port); cvmx_helper_configure_loopback() 1270 __cvmx_helper_xaui_configure_loopback(ipd_port, cvmx_helper_configure_loopback() 1277 __cvmx_helper_rgmii_configure_loopback(ipd_port, cvmx_helper_configure_loopback() 1284 __cvmx_helper_sgmii_configure_loopback(ipd_port, cvmx_helper_configure_loopback()
|
H A D | cvmx-helper-spi.c | 114 int ipd_port; __cvmx_helper_spi_enable() local 115 for (ipd_port = interface * 16; ipd_port < interface * 16 + num_ports; __cvmx_helper_spi_enable() 116 ipd_port++) { __cvmx_helper_spi_enable() 118 port_config.u64 = cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port)); __cvmx_helper_spi_enable() 120 cvmx_write_csr(CVMX_PIP_PRT_CFGX(ipd_port), port_config.u64); __cvmx_helper_spi_enable() 141 * @ipd_port: IPD/PKO port to query 145 cvmx_helper_link_info_t __cvmx_helper_spi_link_get(int ipd_port) __cvmx_helper_spi_link_get() argument 148 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_spi_link_get() 149 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_spi_link_get() 194 * @ipd_port: IPD/PKO port to configure 199 int __cvmx_helper_spi_link_set(int ipd_port, cvmx_helper_link_info_t link_info) __cvmx_helper_spi_link_set() argument
|
H A D | cvmx-helper-util.c | 393 * @ipd_port: IPD/PKO port number 397 int cvmx_helper_get_interface_num(int ipd_port) cvmx_helper_get_interface_num() argument 399 if (ipd_port < 16) cvmx_helper_get_interface_num() 401 else if (ipd_port < 32) cvmx_helper_get_interface_num() 403 else if (ipd_port < 36) cvmx_helper_get_interface_num() 405 else if (ipd_port < 40) cvmx_helper_get_interface_num() 419 * @ipd_port: IPD/PKO port number 423 int cvmx_helper_get_interface_index_num(int ipd_port) cvmx_helper_get_interface_index_num() argument 425 if (ipd_port < 32) cvmx_helper_get_interface_index_num() 426 return ipd_port & 15; cvmx_helper_get_interface_index_num() 427 else if (ipd_port < 36) cvmx_helper_get_interface_index_num() 428 return ipd_port & 3; cvmx_helper_get_interface_index_num() 429 else if (ipd_port < 40) cvmx_helper_get_interface_index_num() 430 return ipd_port & 3; cvmx_helper_get_interface_index_num()
|
H A D | cvmx-helper-rgmii.c | 266 * @ipd_port: IPD/PKO port to query 270 cvmx_helper_link_info_t __cvmx_helper_rgmii_link_get(int ipd_port) __cvmx_helper_rgmii_link_get() argument 272 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_rgmii_link_get() 273 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_rgmii_link_get() 286 return __cvmx_helper_board_link_get(ipd_port); __cvmx_helper_rgmii_link_get() 296 * @ipd_port: IPD/PKO port to configure 301 int __cvmx_helper_rgmii_link_set(int ipd_port, __cvmx_helper_rgmii_link_set() argument 305 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_rgmii_link_set() 306 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_rgmii_link_set() 331 for (i = 0; i < cvmx_pko_get_num_queues(ipd_port); i++) { __cvmx_helper_rgmii_link_set() 332 int queue = cvmx_pko_get_base_queue(ipd_port) + i; __cvmx_helper_rgmii_link_set() 335 pko_mem_queue_qos.s.pid = ipd_port; __cvmx_helper_rgmii_link_set() 443 for (i = 0; i < cvmx_pko_get_num_queues(ipd_port); i++) { __cvmx_helper_rgmii_link_set() 444 int queue = cvmx_pko_get_base_queue(ipd_port) + i; __cvmx_helper_rgmii_link_set() 465 * @ipd_port: IPD/PKO port to loopback. 473 int __cvmx_helper_rgmii_configure_loopback(int ipd_port, int enable_internal, __cvmx_helper_rgmii_configure_loopback() argument 476 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_rgmii_configure_loopback() 477 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_rgmii_configure_loopback()
|
H A D | cvmx-helper-loop.c | 58 int ipd_port = cvmx_helper_get_ipd_port(interface, port); __cvmx_helper_loop_probe() local 59 port_cfg.u64 = cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port)); __cvmx_helper_loop_probe() 62 cvmx_write_csr(CVMX_PIP_PRT_CFGX(ipd_port), port_cfg.u64); __cvmx_helper_loop_probe()
|
H A D | cvmx-helper-sgmii.c | 318 int ipd_port = cvmx_helper_get_ipd_port(interface, index); __cvmx_helper_sgmii_hardware_init() local 326 __cvmx_helper_sgmii_link_set(ipd_port, __cvmx_helper_sgmii_hardware_init() 327 __cvmx_helper_sgmii_link_get(ipd_port)); __cvmx_helper_sgmii_hardware_init() 397 * @ipd_port: IPD/PKO port to query 401 cvmx_helper_link_info_t __cvmx_helper_sgmii_link_get(int ipd_port) __cvmx_helper_sgmii_link_get() argument 405 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_sgmii_link_get() 406 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_sgmii_link_get() 494 result = __cvmx_helper_board_link_get(ipd_port); __cvmx_helper_sgmii_link_get() 507 * @ipd_port: IPD/PKO port to configure 512 int __cvmx_helper_sgmii_link_set(int ipd_port, __cvmx_helper_sgmii_link_set() argument 515 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_sgmii_link_set() 516 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_sgmii_link_set() 528 * @ipd_port: IPD/PKO port to loopback. 536 int __cvmx_helper_sgmii_configure_loopback(int ipd_port, int enable_internal, __cvmx_helper_sgmii_configure_loopback() argument 539 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_sgmii_configure_loopback() 540 int index = cvmx_helper_get_interface_index_num(ipd_port); __cvmx_helper_sgmii_configure_loopback()
|
H A D | cvmx-helper-xaui.c | 251 * @ipd_port: IPD/PKO port to query 255 cvmx_helper_link_info_t __cvmx_helper_xaui_link_get(int ipd_port) __cvmx_helper_xaui_link_get() argument 257 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_xaui_link_get() 291 * @ipd_port: IPD/PKO port to configure 296 int __cvmx_helper_xaui_link_set(int ipd_port, cvmx_helper_link_info_t link_info) __cvmx_helper_xaui_link_set() argument 298 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_xaui_link_set() 322 * @ipd_port: IPD/PKO port to loopback. 330 extern int __cvmx_helper_xaui_configure_loopback(int ipd_port, __cvmx_helper_xaui_configure_loopback() argument 334 int interface = cvmx_helper_get_interface_num(ipd_port); __cvmx_helper_xaui_configure_loopback()
|
H A D | cvmx-helper-npi.c | 100 int ipd_port = __cvmx_helper_npi_enable() local 103 cvmx_read_csr(CVMX_PIP_PRT_CFGX(ipd_port)); __cvmx_helper_npi_enable() 106 cvmx_write_csr(CVMX_PIP_PRT_CFGX(ipd_port), __cvmx_helper_npi_enable()
|
/linux-4.1.27/arch/mips/include/asm/octeon/ |
H A D | cvmx-helper-rgmii.h | 73 * @ipd_port: IPD/PKO port to query 77 extern cvmx_helper_link_info_t __cvmx_helper_rgmii_link_get(int ipd_port); 86 * @ipd_port: IPD/PKO port to configure 91 extern int __cvmx_helper_rgmii_link_set(int ipd_port, 99 * @ipd_port: IPD/PKO port to loopback. 107 extern int __cvmx_helper_rgmii_configure_loopback(int ipd_port,
|
H A D | cvmx-helper-sgmii.h | 67 * @ipd_port: IPD/PKO port to query 71 extern cvmx_helper_link_info_t __cvmx_helper_sgmii_link_get(int ipd_port); 80 * @ipd_port: IPD/PKO port to configure 85 extern int __cvmx_helper_sgmii_link_set(int ipd_port, 93 * @ipd_port: IPD/PKO port to loopback. 101 extern int __cvmx_helper_sgmii_configure_loopback(int ipd_port,
|
H A D | cvmx-helper-xaui.h | 67 * @ipd_port: IPD/PKO port to query 71 extern cvmx_helper_link_info_t __cvmx_helper_xaui_link_get(int ipd_port); 80 * @ipd_port: IPD/PKO port to configure 85 extern int __cvmx_helper_xaui_link_set(int ipd_port, 93 * @ipd_port: IPD/PKO port to loopback. 101 extern int __cvmx_helper_xaui_configure_loopback(int ipd_port,
|
H A D | cvmx-helper.h | 74 * cvmx_override_pko_queue_priority(int ipd_port, uint64_t 84 * cvmx_override_ipd_port_setup(int ipd_port) is a function 91 extern void (*cvmx_override_ipd_port_setup) (int ipd_port); 161 * cvmx_helper_link_set(ipd_port, cvmx_helper_link_get(ipd_port)); 163 * @ipd_port: IPD/PKO port to auto configure 167 extern cvmx_helper_link_info_t cvmx_helper_link_autoconf(int ipd_port); 175 * @ipd_port: IPD/PKO port to query 179 extern cvmx_helper_link_info_t cvmx_helper_link_get(int ipd_port); 188 * @ipd_port: IPD/PKO port to configure 193 extern int cvmx_helper_link_set(int ipd_port, 215 * @ipd_port: IPD/PKO port to loopback. 223 extern int cvmx_helper_configure_loopback(int ipd_port, int enable_internal,
|
H A D | cvmx-helper-spi.h | 64 * @ipd_port: IPD/PKO port to query 68 extern cvmx_helper_link_info_t __cvmx_helper_spi_link_get(int ipd_port); 77 * @ipd_port: IPD/PKO port to configure 82 extern int __cvmx_helper_spi_link_set(int ipd_port,
|
H A D | cvmx-helper-board.h | 61 * cvmx_override_board_link_get(int ipd_port) is a function 68 extern cvmx_helper_link_info_t(*cvmx_override_board_link_get) (int ipd_port); 82 * @ipd_port: Octeon IPD port to get the MII address for. 86 extern int cvmx_helper_board_get_mii_address(int ipd_port); 120 * @ipd_port: IPD input port associated with the port we want to get link 126 extern cvmx_helper_link_info_t __cvmx_helper_board_link_get(int ipd_port);
|
H A D | cvmx-helper-util.h | 199 * @ipd_port: IPD/PKO port number 203 extern int cvmx_helper_get_interface_num(int ipd_port); 209 * @ipd_port: IPD/PKO port number 213 extern int cvmx_helper_get_interface_index_num(int ipd_port);
|
/linux-4.1.27/arch/mips/cavium-octeon/ |
H A D | octeon-platform.c | 568 int ipd_port; octeon_fdt_pip_port() local 580 ipd_port = (0x100 * i) + (0x10 * p) + 0x800; octeon_fdt_pip_port() 582 ipd_port = 16 * i + p; octeon_fdt_pip_port() 584 phy_addr = cvmx_helper_board_get_mii_address(ipd_port); octeon_fdt_pip_port()
|