Lines Matching refs:adapter
223 struct be_adapter *adapter = netdev_priv(netdev); in be_get_drvinfo() local
227 if (!memcmp(adapter->fw_ver, adapter->fw_on_flash, FW_VER_LEN)) in be_get_drvinfo()
228 strlcpy(drvinfo->fw_version, adapter->fw_ver, in be_get_drvinfo()
232 "%s [%s]", adapter->fw_ver, adapter->fw_on_flash); in be_get_drvinfo()
234 strlcpy(drvinfo->bus_info, pci_name(adapter->pdev), in be_get_drvinfo()
241 static u32 lancer_cmd_get_file_len(struct be_adapter *adapter, u8 *file_name) in lancer_cmd_get_file_len() argument
250 status = lancer_cmd_read_object(adapter, &data_len_cmd, 0, 0, in lancer_cmd_get_file_len()
257 static int lancer_cmd_read_file(struct be_adapter *adapter, u8 *file_name, in lancer_cmd_read_file() argument
267 read_cmd.va = dma_zalloc_coherent(&adapter->pdev->dev, read_cmd.size, in lancer_cmd_read_file()
271 dev_err(&adapter->pdev->dev, in lancer_cmd_read_file()
280 status = lancer_cmd_read_object(adapter, &read_cmd, chunk_size, in lancer_cmd_read_file()
292 dma_free_coherent(&adapter->pdev->dev, read_cmd.size, read_cmd.va, in lancer_cmd_read_file()
300 struct be_adapter *adapter = netdev_priv(netdev); in be_get_reg_len() local
303 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_reg_len()
306 if (be_physfn(adapter)) { in be_get_reg_len()
307 if (lancer_chip(adapter)) in be_get_reg_len()
308 log_size = lancer_cmd_get_file_len(adapter, in be_get_reg_len()
311 be_cmd_get_reg_len(adapter, &log_size); in be_get_reg_len()
319 struct be_adapter *adapter = netdev_priv(netdev); in be_get_regs() local
321 if (be_physfn(adapter)) { in be_get_regs()
323 if (lancer_chip(adapter)) in be_get_regs()
324 lancer_cmd_read_file(adapter, LANCER_FW_DUMP_FILE, in be_get_regs()
327 be_cmd_get_regs(adapter, regs->len, buf); in be_get_regs()
334 struct be_adapter *adapter = netdev_priv(netdev); in be_get_coalesce() local
335 struct be_aic_obj *aic = &adapter->aic_obj[0]; in be_get_coalesce()
357 struct be_adapter *adapter = netdev_priv(netdev); in be_set_coalesce() local
358 struct be_aic_obj *aic = &adapter->aic_obj[0]; in be_set_coalesce()
362 for_all_evt_queues(adapter, eqo, i) { in be_set_coalesce()
377 struct be_adapter *adapter = netdev_priv(netdev); in be_get_ethtool_stats() local
384 p = (u8 *)&adapter->drv_stats + et_stats[i].offset; in be_get_ethtool_stats()
389 for_all_rx_queues(adapter, rxo, j) { in be_get_ethtool_stats()
405 for_all_tx_queues(adapter, txo, j) { in be_get_ethtool_stats()
429 struct be_adapter *adapter = netdev_priv(netdev); in be_get_stat_strings() local
438 for (i = 0; i < adapter->num_rx_qs; i++) { in be_get_stat_strings()
445 for (i = 0; i < adapter->num_tx_qs; i++) { in be_get_stat_strings()
464 struct be_adapter *adapter = netdev_priv(netdev); in be_get_sset_count() local
471 adapter->num_rx_qs * ETHTOOL_RXSTATS_NUM + in be_get_sset_count()
472 adapter->num_tx_qs * ETHTOOL_TXSTATS_NUM; in be_get_sset_count()
478 static u32 be_get_port_type(struct be_adapter *adapter) in be_get_port_type() argument
482 switch (adapter->phy.interface_type) { in be_get_port_type()
489 if (adapter->phy.cable_type & SFP_PLUS_COPPER_CABLE) in be_get_port_type()
495 if (adapter->phy.cable_type & QSFP_PLUS_CR4_CABLE) in be_get_port_type()
514 static u32 convert_to_et_setting(struct be_adapter *adapter, u32 if_speeds) in convert_to_et_setting() argument
518 switch (adapter->phy.interface_type) { in convert_to_et_setting()
557 switch (adapter->phy.cable_type) { in convert_to_et_setting()
594 bool be_pause_supported(struct be_adapter *adapter) in be_pause_supported() argument
596 return (adapter->phy.interface_type == PHY_TYPE_SFP_PLUS_10GB || in be_pause_supported()
597 adapter->phy.interface_type == PHY_TYPE_XFP_10GB) ? in be_pause_supported()
603 struct be_adapter *adapter = netdev_priv(netdev); in be_get_settings() local
610 if (adapter->phy.link_speed < 0) { in be_get_settings()
611 status = be_cmd_link_status_query(adapter, &link_speed, in be_get_settings()
614 be_link_status_update(adapter, link_status); in be_get_settings()
617 status = be_cmd_get_phy_info(adapter); in be_get_settings()
619 auto_speeds = adapter->phy.auto_speeds_supported; in be_get_settings()
620 fixed_speeds = adapter->phy.fixed_speeds_supported; in be_get_settings()
622 be_cmd_query_cable_type(adapter); in be_get_settings()
625 convert_to_et_setting(adapter, in be_get_settings()
629 convert_to_et_setting(adapter, auto_speeds); in be_get_settings()
631 ecmd->port = be_get_port_type(adapter); in be_get_settings()
633 if (adapter->phy.auto_speeds_supported) { in be_get_settings()
640 if (be_pause_supported(adapter)) in be_get_settings()
643 switch (adapter->phy.interface_type) { in be_get_settings()
659 adapter->phy.link_speed = ethtool_cmd_speed(ecmd); in be_get_settings()
660 adapter->phy.port_type = ecmd->port; in be_get_settings()
661 adapter->phy.transceiver = ecmd->transceiver; in be_get_settings()
662 adapter->phy.autoneg = ecmd->autoneg; in be_get_settings()
663 adapter->phy.advertising = ecmd->advertising; in be_get_settings()
664 adapter->phy.supported = ecmd->supported; in be_get_settings()
666 ethtool_cmd_speed_set(ecmd, adapter->phy.link_speed); in be_get_settings()
667 ecmd->port = adapter->phy.port_type; in be_get_settings()
668 ecmd->transceiver = adapter->phy.transceiver; in be_get_settings()
669 ecmd->autoneg = adapter->phy.autoneg; in be_get_settings()
670 ecmd->advertising = adapter->phy.advertising; in be_get_settings()
671 ecmd->supported = adapter->phy.supported; in be_get_settings()
675 ecmd->phy_address = adapter->port_num; in be_get_settings()
683 struct be_adapter *adapter = netdev_priv(netdev); in be_get_ringparam() local
685 ring->rx_max_pending = adapter->rx_obj[0].q.len; in be_get_ringparam()
686 ring->rx_pending = adapter->rx_obj[0].q.len; in be_get_ringparam()
687 ring->tx_max_pending = adapter->tx_obj[0].q.len; in be_get_ringparam()
688 ring->tx_pending = adapter->tx_obj[0].q.len; in be_get_ringparam()
694 struct be_adapter *adapter = netdev_priv(netdev); in be_get_pauseparam() local
696 be_cmd_get_flow_control(adapter, &ecmd->tx_pause, &ecmd->rx_pause); in be_get_pauseparam()
697 ecmd->autoneg = adapter->phy.fc_autoneg; in be_get_pauseparam()
703 struct be_adapter *adapter = netdev_priv(netdev); in be_set_pauseparam() local
706 if (ecmd->autoneg != adapter->phy.fc_autoneg) in be_set_pauseparam()
709 status = be_cmd_set_flow_control(adapter, ecmd->tx_pause, in be_set_pauseparam()
712 dev_warn(&adapter->pdev->dev, "Pause param set failed\n"); in be_set_pauseparam()
716 adapter->tx_fc = ecmd->tx_pause; in be_set_pauseparam()
717 adapter->rx_fc = ecmd->rx_pause; in be_set_pauseparam()
724 struct be_adapter *adapter = netdev_priv(netdev); in be_set_phys_id() local
728 be_cmd_get_beacon_state(adapter, adapter->hba_port_num, in be_set_phys_id()
729 &adapter->beacon_state); in be_set_phys_id()
733 be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0, in be_set_phys_id()
738 be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0, in be_set_phys_id()
743 be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0, in be_set_phys_id()
744 adapter->beacon_state); in be_set_phys_id()
752 struct be_adapter *adapter = netdev_priv(netdev); in be_set_dump() local
753 struct device *dev = &adapter->pdev->dev; in be_set_dump()
756 if (!lancer_chip(adapter) || in be_set_dump()
757 !check_privilege(adapter, MAX_PRIVILEGES)) in be_set_dump()
762 status = lancer_initiate_dump(adapter); in be_set_dump()
767 status = lancer_delete_dump(adapter); in be_set_dump()
780 struct be_adapter *adapter = netdev_priv(netdev); in be_get_wol() local
782 if (adapter->wol_cap & BE_WOL_CAP) { in be_get_wol()
784 if (adapter->wol_en) in be_get_wol()
794 struct be_adapter *adapter = netdev_priv(netdev); in be_set_wol() local
799 if (!(adapter->wol_cap & BE_WOL_CAP)) { in be_set_wol()
800 dev_warn(&adapter->pdev->dev, "WOL not supported\n"); in be_set_wol()
805 adapter->wol_en = true; in be_set_wol()
807 adapter->wol_en = false; in be_set_wol()
812 static int be_test_ddr_dma(struct be_adapter *adapter) in be_test_ddr_dma() argument
821 ddrdma_cmd.va = dma_zalloc_coherent(&adapter->pdev->dev, in be_test_ddr_dma()
828 ret = be_cmd_ddr_dma_test(adapter, pattern[i], in be_test_ddr_dma()
835 dma_free_coherent(&adapter->pdev->dev, ddrdma_cmd.size, ddrdma_cmd.va, in be_test_ddr_dma()
840 static u64 be_loopback_test(struct be_adapter *adapter, u8 loopback_type, in be_loopback_test() argument
843 be_cmd_set_loopback(adapter, adapter->hba_port_num, loopback_type, 1); in be_loopback_test()
844 *status = be_cmd_loopback_test(adapter, adapter->hba_port_num, in be_loopback_test()
846 be_cmd_set_loopback(adapter, adapter->hba_port_num, BE_NO_LOOPBACK, 1); in be_loopback_test()
853 struct be_adapter *adapter = netdev_priv(netdev); in be_self_test() local
857 if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC) { in be_self_test()
858 dev_err(&adapter->pdev->dev, "Self test not supported\n"); in be_self_test()
866 if (be_loopback_test(adapter, BE_MAC_LOOPBACK, &data[0]) != 0) in be_self_test()
869 if (be_loopback_test(adapter, BE_PHY_LOOPBACK, &data[1]) != 0) in be_self_test()
873 if (be_loopback_test(adapter, BE_ONE_PORT_EXT_LOOPBACK, in be_self_test()
880 if (!lancer_chip(adapter) && be_test_ddr_dma(adapter) != 0) { in be_self_test()
885 status = be_cmd_link_status_query(adapter, NULL, &link_status, 0); in be_self_test()
897 struct be_adapter *adapter = netdev_priv(netdev); in be_do_flash() local
899 return be_load_fw(adapter, efl->data); in be_do_flash()
904 struct be_adapter *adapter = netdev_priv(netdev); in be_get_eeprom_len() local
906 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_eeprom_len()
909 if (lancer_chip(adapter)) { in be_get_eeprom_len()
910 if (be_physfn(adapter)) in be_get_eeprom_len()
911 return lancer_cmd_get_file_len(adapter, in be_get_eeprom_len()
914 return lancer_cmd_get_file_len(adapter, in be_get_eeprom_len()
924 struct be_adapter *adapter = netdev_priv(netdev); in be_read_eeprom() local
932 if (lancer_chip(adapter)) { in be_read_eeprom()
933 if (be_physfn(adapter)) in be_read_eeprom()
934 return lancer_cmd_read_file(adapter, LANCER_VPD_PF_FILE, in be_read_eeprom()
937 return lancer_cmd_read_file(adapter, LANCER_VPD_VF_FILE, in be_read_eeprom()
941 eeprom->magic = BE_VENDOR_ID | (adapter->pdev->device<<16); in be_read_eeprom()
945 eeprom_cmd.va = dma_zalloc_coherent(&adapter->pdev->dev, in be_read_eeprom()
952 status = be_cmd_get_seeprom_data(adapter, &eeprom_cmd); in be_read_eeprom()
958 dma_free_coherent(&adapter->pdev->dev, eeprom_cmd.size, eeprom_cmd.va, in be_read_eeprom()
966 struct be_adapter *adapter = netdev_priv(netdev); in be_get_msg_level() local
968 return adapter->msg_enable; in be_get_msg_level()
973 struct be_adapter *adapter = netdev_priv(netdev); in be_set_msg_level() local
975 if (adapter->msg_enable == level) in be_set_msg_level()
978 if ((level & NETIF_MSG_HW) != (adapter->msg_enable & NETIF_MSG_HW)) in be_set_msg_level()
979 if (BEx_chip(adapter)) in be_set_msg_level()
980 be_cmd_set_fw_log_level(adapter, level & NETIF_MSG_HW ? in be_set_msg_level()
983 adapter->msg_enable = level; in be_set_msg_level()
986 static u64 be_get_rss_hash_opts(struct be_adapter *adapter, u64 flow_type) in be_get_rss_hash_opts() argument
992 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV4) in be_get_rss_hash_opts()
994 if (adapter->rss_info.rss_flags & RSS_ENABLE_TCP_IPV4) in be_get_rss_hash_opts()
998 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV4) in be_get_rss_hash_opts()
1000 if (adapter->rss_info.rss_flags & RSS_ENABLE_UDP_IPV4) in be_get_rss_hash_opts()
1004 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV6) in be_get_rss_hash_opts()
1006 if (adapter->rss_info.rss_flags & RSS_ENABLE_TCP_IPV6) in be_get_rss_hash_opts()
1010 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV6) in be_get_rss_hash_opts()
1012 if (adapter->rss_info.rss_flags & RSS_ENABLE_UDP_IPV6) in be_get_rss_hash_opts()
1023 struct be_adapter *adapter = netdev_priv(netdev); in be_get_rxnfc() local
1025 if (!be_multi_rxq(adapter)) { in be_get_rxnfc()
1026 dev_info(&adapter->pdev->dev, in be_get_rxnfc()
1033 cmd->data = be_get_rss_hash_opts(adapter, cmd->flow_type); in be_get_rxnfc()
1036 cmd->data = adapter->num_rx_qs - 1; in be_get_rxnfc()
1045 static int be_set_rss_hash_opts(struct be_adapter *adapter, in be_set_rss_hash_opts() argument
1051 u32 rss_flags = adapter->rss_info.rss_flags; in be_set_rss_hash_opts()
1074 BEx_chip(adapter)) in be_set_rss_hash_opts()
1085 BEx_chip(adapter)) in be_set_rss_hash_opts()
1098 if (rss_flags == adapter->rss_info.rss_flags) in be_set_rss_hash_opts()
1101 if (be_multi_rxq(adapter)) { in be_set_rss_hash_opts()
1102 for (j = 0; j < 128; j += adapter->num_rss_qs) { in be_set_rss_hash_opts()
1103 for_all_rss_queues(adapter, rxo, i) { in be_set_rss_hash_opts()
1111 status = be_cmd_rss_config(adapter, adapter->rss_info.rsstable, in be_set_rss_hash_opts()
1112 rss_flags, 128, adapter->rss_info.rss_hkey); in be_set_rss_hash_opts()
1114 adapter->rss_info.rss_flags = rss_flags; in be_set_rss_hash_opts()
1121 struct be_adapter *adapter = netdev_priv(netdev); in be_set_rxnfc() local
1124 if (!be_multi_rxq(adapter)) { in be_set_rxnfc()
1125 dev_err(&adapter->pdev->dev, in be_set_rxnfc()
1132 status = be_set_rss_hash_opts(adapter, cmd); in be_set_rxnfc()
1144 struct be_adapter *adapter = netdev_priv(netdev); in be_get_channels() local
1146 ch->combined_count = adapter->num_evt_qs; in be_get_channels()
1147 ch->max_combined = be_max_qs(adapter); in be_get_channels()
1153 struct be_adapter *adapter = netdev_priv(netdev); in be_set_channels() local
1157 !ch->combined_count || ch->combined_count > be_max_qs(adapter)) in be_set_channels()
1160 adapter->cfg_num_qs = ch->combined_count; in be_set_channels()
1162 status = be_update_queues(adapter); in be_set_channels()
1179 struct be_adapter *adapter = netdev_priv(netdev); in be_get_rxfh() local
1181 struct rss_info *rss = &adapter->rss_info; in be_get_rxfh()
1201 struct be_adapter *adapter = netdev_priv(netdev); in be_set_rxfh() local
1213 rxo = &adapter->rx_obj[j]; in be_set_rxfh()
1215 adapter->rss_info.rss_queue[i] = j; in be_set_rxfh()
1218 memcpy(rsstable, adapter->rss_info.rsstable, in be_set_rxfh()
1223 hkey = adapter->rss_info.rss_hkey; in be_set_rxfh()
1225 rc = be_cmd_rss_config(adapter, rsstable, in be_set_rxfh()
1226 adapter->rss_info.rss_flags, in be_set_rxfh()
1229 adapter->rss_info.rss_flags = RSS_ENABLE_NONE; in be_set_rxfh()
1232 memcpy(adapter->rss_info.rss_hkey, hkey, RSS_HASH_KEY_LEN); in be_set_rxfh()
1233 memcpy(adapter->rss_info.rsstable, rsstable, in be_set_rxfh()
1241 struct be_adapter *adapter = netdev_priv(netdev); in be_get_module_info() local
1245 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_module_info()
1248 status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0, in be_get_module_info()
1265 struct be_adapter *adapter = netdev_priv(netdev); in be_get_module_eeprom() local
1268 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_module_eeprom()
1271 status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0, in be_get_module_eeprom()
1277 status = be_cmd_read_port_transceiver_data(adapter, in be_get_module_eeprom()