Lines Matching refs:interface

366 	if (xi.interface >= cvmx_helper_get_number_of_interfaces())  in __cvmx_helper_get_num_ipd_ports()
369 piface = &cvmx_interfaces[xi.node][xi.interface]; in __cvmx_helper_get_num_ipd_ports()
378 if (xi.interface >= cvmx_helper_get_number_of_interfaces()) in __cvmx_helper_get_pko_padding()
381 piface = &cvmx_interfaces[xi.node][xi.interface]; in __cvmx_helper_get_pko_padding()
396 if (xi.interface >= cvmx_helper_get_number_of_interfaces()) in __cvmx_helper_init_interface()
399 piface = &cvmx_interfaces[xi.node][xi.interface]; in __cvmx_helper_init_interface()
409 snprintf(name, sizeof(name), "__int_%d_link_info", xi.interface); in __cvmx_helper_init_interface()
417 debug("iface %d failed to alloc link info\n", xi.interface); in __cvmx_helper_init_interface()
436 if (xi.interface >= cvmx_helper_get_number_of_interfaces()) in __cvmx_helper_set_link_info()
439 piface = &cvmx_interfaces[xi.node][xi.interface]; in __cvmx_helper_set_link_info()
457 if (xi.interface >= cvmx_helper_get_number_of_interfaces()) in __cvmx_helper_get_link_info()
459 piface = &cvmx_interfaces[xi.node][xi.interface]; in __cvmx_helper_get_link_info()
477 return cvmx_interfaces[xi.node][xi.interface].cvif_has_fcs; in __cvmx_helper_get_has_fcs()
489 extern cvmx_helper_link_info_t __cvmx_helper_get_link_info(int interface, int port);
534 int __cvmx_helper_early_ports_on_interface(int interface) in __cvmx_helper_early_ports_on_interface() argument
539 return cvmx_helper_interface_enumerate(interface); in __cvmx_helper_early_ports_on_interface()
541 ports = cvmx_helper_interface_enumerate(interface); in __cvmx_helper_early_ports_on_interface()
542 ports = __cvmx_helper_board_interface_probe(interface, ports); in __cvmx_helper_early_ports_on_interface()
568 static cvmx_helper_interface_mode_t __cvmx_get_mode_cn70xx(int interface) in __cvmx_get_mode_cn70xx() argument
571 if (interface < 2) { in __cvmx_get_mode_cn70xx()
573 cvmx_qlm_get_dlm_mode(0, interface); in __cvmx_get_mode_cn70xx()
576 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_cn70xx()
578 iface_ops[interface] = &iface_ops_qsgmii; in __cvmx_get_mode_cn70xx()
580 iface_ops[interface] = &iface_ops_rxaui; in __cvmx_get_mode_cn70xx()
582 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn70xx()
583 } else if (interface == 2) { /* DPI */ in __cvmx_get_mode_cn70xx()
584 iface_ops[interface] = &iface_ops_npi; in __cvmx_get_mode_cn70xx()
585 } else if (interface == 3) { /* LOOP */ in __cvmx_get_mode_cn70xx()
586 iface_ops[interface] = &iface_ops_loop; in __cvmx_get_mode_cn70xx()
587 } else if (interface == 4) { /* RGMII (AGL) */ in __cvmx_get_mode_cn70xx()
592 iface_ops[interface] = &iface_ops_agl; in __cvmx_get_mode_cn70xx()
594 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn70xx()
596 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn70xx()
599 return iface_ops[interface]->mode; in __cvmx_get_mode_cn70xx()
610 if (xi.interface < 6) { in __cvmx_get_mode_cn78xx()
615 iface_node_ops[xi.node][xi.interface] = &iface_ops_dis; in __cvmx_get_mode_cn78xx()
616 return iface_node_ops[xi.node][xi.interface]->mode; in __cvmx_get_mode_cn78xx()
621 iface_node_ops[xi.node][xi.interface] = &iface_ops_bgx_sgmii; in __cvmx_get_mode_cn78xx()
623 iface_node_ops[xi.node][xi.interface] = &iface_ops_bgx_xaui; in __cvmx_get_mode_cn78xx()
625 iface_node_ops[xi.node][xi.interface] = &iface_ops_bgx_xlaui; in __cvmx_get_mode_cn78xx()
627 iface_node_ops[xi.node][xi.interface] = &iface_ops_bgx_xfi; in __cvmx_get_mode_cn78xx()
629 iface_node_ops[xi.node][xi.interface] = &iface_ops_bgx_rxaui; in __cvmx_get_mode_cn78xx()
631 iface_node_ops[xi.node][xi.interface] = &iface_ops_dis; in __cvmx_get_mode_cn78xx()
632 } else if (xi.interface < 8) { in __cvmx_get_mode_cn78xx()
638 if (xi.interface == 6) { in __cvmx_get_mode_cn78xx()
727 } else if (xi.interface == 8) { /* DPI */ in __cvmx_get_mode_cn78xx()
733 iface_node_ops[xi.node][xi.interface] = in __cvmx_get_mode_cn78xx()
735 return iface_node_ops[xi.node][xi.interface]->mode; in __cvmx_get_mode_cn78xx()
738 iface_node_ops[xi.node][xi.interface] = &iface_ops_dis; in __cvmx_get_mode_cn78xx()
739 } else if (xi.interface == 9) { /* LOOP */ in __cvmx_get_mode_cn78xx()
740 iface_node_ops[xi.node][xi.interface] = &iface_ops_loop; in __cvmx_get_mode_cn78xx()
742 iface_node_ops[xi.node][xi.interface] = &iface_ops_dis; in __cvmx_get_mode_cn78xx()
745 return iface_node_ops[xi.node][xi.interface]->mode; in __cvmx_get_mode_cn78xx()
755 int interface = xi.interface; in __cvmx_get_mode_cn73xx() local
758 if (interface < 3) { in __cvmx_get_mode_cn73xx()
763 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn73xx()
764 return iface_ops[interface]->mode; in __cvmx_get_mode_cn73xx()
773 iface_ops[interface] = &iface_ops_bgx_sgmii; in __cvmx_get_mode_cn73xx()
777 iface_ops[interface] = &iface_ops_bgx_xaui; in __cvmx_get_mode_cn73xx()
782 iface_ops[interface] = &iface_ops_bgx_rxaui; in __cvmx_get_mode_cn73xx()
786 iface_ops[interface] = &iface_ops_bgx_xlaui; in __cvmx_get_mode_cn73xx()
791 iface_ops[interface] = &iface_ops_bgx_xfi; in __cvmx_get_mode_cn73xx()
796 iface_ops[interface] = &iface_ops_bgx_10G_KR; in __cvmx_get_mode_cn73xx()
800 iface_ops[interface] = &iface_ops_bgx_40G_KR4; in __cvmx_get_mode_cn73xx()
803 iface_ops[interface] = &iface_ops_bgx_mixed; in __cvmx_get_mode_cn73xx()
806 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn73xx()
809 } else if (interface == 3) { /* DPI */ in __cvmx_get_mode_cn73xx()
810 iface_ops[interface] = &iface_ops_npi; in __cvmx_get_mode_cn73xx()
811 } else if (interface == 4) { /* LOOP */ in __cvmx_get_mode_cn73xx()
812 iface_ops[interface] = &iface_ops_loop; in __cvmx_get_mode_cn73xx()
814 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn73xx()
817 return iface_ops[interface]->mode; in __cvmx_get_mode_cn73xx()
832 int interface = xi.interface; in __cvmx_get_mode_cnf75xx() local
835 if (interface < 1) { in __cvmx_get_mode_cnf75xx()
840 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cnf75xx()
841 return iface_ops[interface]->mode; in __cvmx_get_mode_cnf75xx()
848 iface_ops[interface] = &iface_ops_bgx_sgmii; in __cvmx_get_mode_cnf75xx()
851 iface_ops[interface] = &iface_ops_bgx_xfi; in __cvmx_get_mode_cnf75xx()
854 iface_ops[interface] = &iface_ops_bgx_10G_KR; in __cvmx_get_mode_cnf75xx()
857 iface_ops[interface] = &iface_ops_bgx_mixed; in __cvmx_get_mode_cnf75xx()
860 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cnf75xx()
863 } else if ((interface < 3) && OCTEON_IS_MODEL(OCTEON_CNF75XX)) { in __cvmx_get_mode_cnf75xx()
866 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cnf75xx()
867 } else if (interface == 3) { /* DPI */ in __cvmx_get_mode_cnf75xx()
868 iface_ops[interface] = &iface_ops_npi; in __cvmx_get_mode_cnf75xx()
869 } else if (interface == 4) { /* LOOP */ in __cvmx_get_mode_cnf75xx()
870 iface_ops[interface] = &iface_ops_loop; in __cvmx_get_mode_cnf75xx()
872 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cnf75xx()
875 return iface_ops[interface]->mode; in __cvmx_get_mode_cnf75xx()
882 static cvmx_helper_interface_mode_t __cvmx_get_mode_cn68xx(int interface) in __cvmx_get_mode_cn68xx() argument
886 switch (interface) { in __cvmx_get_mode_cn68xx()
891 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
893 iface_ops[interface] = &iface_ops_rxaui; in __cvmx_get_mode_cn68xx()
895 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_cn68xx()
897 iface_ops[interface] = &iface_ops_xaui; in __cvmx_get_mode_cn68xx()
899 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
906 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
908 iface_ops[interface] = &iface_ops_rxaui; in __cvmx_get_mode_cn68xx()
910 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
916 qlm_cfg.u64 = csr_rd(CVMX_MIO_QLMX_CFG(interface)); in __cvmx_get_mode_cn68xx()
919 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
921 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_cn68xx()
923 iface_ops[interface] = &iface_ops_xaui; in __cvmx_get_mode_cn68xx()
925 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
930 qlm_cfg.u64 = csr_rd(CVMX_MIO_QLMX_CFG(interface - 4)); in __cvmx_get_mode_cn68xx()
933 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
935 iface_ops[interface] = &iface_ops_ilk; in __cvmx_get_mode_cn68xx()
937 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
948 iface_ops[interface] = &iface_ops_npi; in __cvmx_get_mode_cn68xx()
950 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
954 iface_ops[interface] = &iface_ops_loop; in __cvmx_get_mode_cn68xx()
958 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_cn68xx()
962 return iface_ops[interface]->mode; in __cvmx_get_mode_cn68xx()
969 static cvmx_helper_interface_mode_t __cvmx_get_mode_octeon2(int interface) in __cvmx_get_mode_octeon2() argument
974 return __cvmx_get_mode_cn68xx(interface); in __cvmx_get_mode_octeon2()
976 if (interface == 2) { in __cvmx_get_mode_octeon2()
977 iface_ops[interface] = &iface_ops_npi; in __cvmx_get_mode_octeon2()
978 } else if (interface == 3) { in __cvmx_get_mode_octeon2()
979 iface_ops[interface] = &iface_ops_loop; in __cvmx_get_mode_octeon2()
981 (interface == 4 || interface == 5)) || in __cvmx_get_mode_octeon2()
982 (OCTEON_IS_MODEL(OCTEON_CN66XX) && interface >= 4 && in __cvmx_get_mode_octeon2()
983 interface <= 7)) { in __cvmx_get_mode_octeon2()
987 if ((interface == 5 || interface == 7) && in __cvmx_get_mode_octeon2()
989 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
990 } else if (interface == 5 && OCTEON_IS_MODEL(OCTEON_CN66XX)) { in __cvmx_get_mode_octeon2()
995 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
999 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1005 if (interface == 0) { in __cvmx_get_mode_octeon2()
1007 } else if (interface == 1) { in __cvmx_get_mode_octeon2()
1010 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1011 return iface_ops[interface]->mode; in __cvmx_get_mode_octeon2()
1015 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1017 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_octeon2()
1019 iface_ops[interface] = &iface_ops_xaui; in __cvmx_get_mode_octeon2()
1021 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1025 if (interface == 0) { in __cvmx_get_mode_octeon2()
1027 } else if (interface == 1) { in __cvmx_get_mode_octeon2()
1030 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1031 return iface_ops[interface]->mode; in __cvmx_get_mode_octeon2()
1035 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1037 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_octeon2()
1039 iface_ops[interface] = &iface_ops_xaui; in __cvmx_get_mode_octeon2()
1041 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1043 if (interface == 0) { in __cvmx_get_mode_octeon2()
1048 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_octeon2()
1050 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1052 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1054 } else if (interface == 1 && OCTEON_IS_MODEL(OCTEON_CN63XX)) { in __cvmx_get_mode_octeon2()
1055 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1057 mode.u64 = csr_rd(CVMX_GMXX_INF_MODE(interface)); in __cvmx_get_mode_octeon2()
1062 iface_ops[interface] = &iface_ops_sgmii; in __cvmx_get_mode_octeon2()
1066 iface_ops[interface] = &iface_ops_xaui; in __cvmx_get_mode_octeon2()
1070 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1075 iface_ops[interface] = &iface_ops_dis; in __cvmx_get_mode_octeon2()
1077 iface_ops[interface] = &iface_ops_gmii; in __cvmx_get_mode_octeon2()
1079 iface_ops[interface] = &iface_ops_rgmii; in __cvmx_get_mode_octeon2()
1083 return iface_ops[interface]->mode; in __cvmx_get_mode_octeon2()
1100 if (xi.interface < 0 || in cvmx_helper_interface_get_mode()
1101 xi.interface >= cvmx_helper_get_number_of_interfaces()) in cvmx_helper_interface_get_mode()
1109 if (iface_node_ops[xi.node][xi.interface]) { in cvmx_helper_interface_get_mode()
1112 mode = iface_node_ops[xi.node][xi.interface]->mode; in cvmx_helper_interface_get_mode()
1120 return __cvmx_get_mode_cn70xx(xi.interface); in cvmx_helper_interface_get_mode()
1143 return __cvmx_get_mode_octeon2(xi.interface); in cvmx_helper_interface_get_mode()
1148 if (xi.interface == 2) { in cvmx_helper_interface_get_mode()
1149 iface_ops[xi.interface] = &iface_ops_npi; in cvmx_helper_interface_get_mode()
1150 } else if (xi.interface == 3) { in cvmx_helper_interface_get_mode()
1151 iface_ops[xi.interface] = &iface_ops_dis; in cvmx_helper_interface_get_mode()
1155 mode.u64 = csr_rd(CVMX_GMXX_INF_MODE(xi.interface)); in cvmx_helper_interface_get_mode()
1158 iface_ops[xi.interface] = &iface_ops_dis; in cvmx_helper_interface_get_mode()
1160 iface_ops[xi.interface] = &iface_ops_gmii; in cvmx_helper_interface_get_mode()
1162 iface_ops[xi.interface] = &iface_ops_rgmii; in cvmx_helper_interface_get_mode()
1165 return iface_ops[xi.interface]->mode; in cvmx_helper_interface_get_mode()
1182 if (iface_node_ops[xi.node][xi.interface]->enumerate) in cvmx_helper_interface_enumerate()
1183 result = iface_node_ops[xi.node][xi.interface]->enumerate(xiface); in cvmx_helper_interface_enumerate()
1216 if (iface_node_ops[xi.node][xi.interface]->probe) in cvmx_helper_interface_probe()
1217 nports = iface_node_ops[xi.node][xi.interface]->probe(xiface); in cvmx_helper_interface_probe()
1219 switch (iface_node_ops[xi.node][xi.interface]->mode) { in cvmx_helper_interface_probe()
1308 int interface, xiface, ports; in __cvmx_helper_global_setup_backpressure() local
1319 for (interface = 0; interface < num_interfaces; interface++) { in __cvmx_helper_global_setup_backpressure()
1320 xiface = cvmx_helper_node_interface_to_xiface(node, interface); in __cvmx_helper_global_setup_backpressure()
1361 cvmx_gmx_set_backpressure_override(interface, bpmask); in __cvmx_helper_global_setup_backpressure()
1366 cvmx_agl_set_backpressure_override(interface, bpmask); in __cvmx_helper_global_setup_backpressure()
1390 if (iface_node_ops[xi.node][xi.interface]->enable) in __cvmx_helper_packet_hardware_enable()
1391 result = iface_node_ops[xi.node][xi.interface]->enable(xiface); in __cvmx_helper_packet_hardware_enable()
1410 int interface; in cvmx_helper_ipd_and_packet_input_enable_node() local
1426 for (interface = 0; interface < num_interfaces; interface++) { in cvmx_helper_ipd_and_packet_input_enable_node()
1427 int xiface = cvmx_helper_node_interface_to_xiface(node, interface); in cvmx_helper_ipd_and_packet_input_enable_node()
1456 int interface; in cvmx_helper_initialize_packet_io_node() local
1504 for (interface = 0; interface < num_interfaces; interface++) { in cvmx_helper_initialize_packet_io_node()
1505 xiface = cvmx_helper_node_interface_to_xiface(node, interface); in cvmx_helper_initialize_packet_io_node()
1529 for (interface = 0; interface < num_interfaces; interface++) { in cvmx_helper_initialize_packet_io_node()
1530 xiface = cvmx_helper_node_interface_to_xiface(node, interface); in cvmx_helper_initialize_packet_io_node()
1535 node, interface, in cvmx_helper_initialize_packet_io_node()
1544 result |= __cvmx_helper_interface_setup_pko(interface); in cvmx_helper_initialize_packet_io_node()
1610 int cvmx_gmx_set_backpressure_override(u32 interface, uint32_t port_mask) in cvmx_gmx_set_backpressure_override() argument
1614 if (port_mask & ~0xf || interface & ~0x1) in cvmx_gmx_set_backpressure_override()
1616 if (interface >= CVMX_HELPER_MAX_GMX) in cvmx_gmx_set_backpressure_override()
1622 csr_wr(CVMX_GMXX_TX_OVR_BP(interface), gmxx_tx_ovr_bp.u64); in cvmx_gmx_set_backpressure_override()
1639 int cvmx_agl_set_backpressure_override(u32 interface, uint32_t port_mask) in cvmx_agl_set_backpressure_override() argument
1642 int port = cvmx_helper_agl_get_port(interface); in cvmx_agl_set_backpressure_override()
1671 int interface = xi.interface; in cvmx_helper_link_autoconf() local
1673 if (interface == -1 || index == -1 || index >= cvmx_helper_ports_on_interface(xiface)) { in cvmx_helper_link_autoconf()
1723 if (iface_node_ops[xi.node][xi.interface]->link_get) in cvmx_helper_link_get()
1724 result = iface_node_ops[xi.node][xi.interface]->link_get(xipd_port); in cvmx_helper_link_get()
1764 if (iface_node_ops[xi.node][xi.interface]->link_set) in cvmx_helper_link_set()
1765 result = iface_node_ops[xi.node][xi.interface]->link_set(xipd_port, link_info); in cvmx_helper_link_set()