Lines Matching refs:adapter
224 struct be_adapter *adapter = netdev_priv(netdev); in be_get_drvinfo() local
228 if (!memcmp(adapter->fw_ver, adapter->fw_on_flash, FW_VER_LEN)) in be_get_drvinfo()
229 strlcpy(drvinfo->fw_version, adapter->fw_ver, in be_get_drvinfo()
233 "%s [%s]", adapter->fw_ver, adapter->fw_on_flash); in be_get_drvinfo()
235 strlcpy(drvinfo->bus_info, pci_name(adapter->pdev), in be_get_drvinfo()
239 static u32 lancer_cmd_get_file_len(struct be_adapter *adapter, u8 *file_name) in lancer_cmd_get_file_len() argument
248 status = lancer_cmd_read_object(adapter, &data_len_cmd, 0, 0, in lancer_cmd_get_file_len()
255 static int lancer_cmd_read_file(struct be_adapter *adapter, u8 *file_name, in lancer_cmd_read_file() argument
265 read_cmd.va = dma_zalloc_coherent(&adapter->pdev->dev, read_cmd.size, in lancer_cmd_read_file()
269 dev_err(&adapter->pdev->dev, in lancer_cmd_read_file()
278 status = lancer_cmd_read_object(adapter, &read_cmd, chunk_size, in lancer_cmd_read_file()
290 dma_free_coherent(&adapter->pdev->dev, read_cmd.size, read_cmd.va, in lancer_cmd_read_file()
298 struct be_adapter *adapter = netdev_priv(netdev); in be_get_reg_len() local
301 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_reg_len()
304 if (be_physfn(adapter)) { in be_get_reg_len()
305 if (lancer_chip(adapter)) in be_get_reg_len()
306 log_size = lancer_cmd_get_file_len(adapter, in be_get_reg_len()
309 be_cmd_get_reg_len(adapter, &log_size); in be_get_reg_len()
317 struct be_adapter *adapter = netdev_priv(netdev); in be_get_regs() local
319 if (be_physfn(adapter)) { in be_get_regs()
321 if (lancer_chip(adapter)) in be_get_regs()
322 lancer_cmd_read_file(adapter, LANCER_FW_DUMP_FILE, in be_get_regs()
325 be_cmd_get_regs(adapter, regs->len, buf); in be_get_regs()
332 struct be_adapter *adapter = netdev_priv(netdev); in be_get_coalesce() local
333 struct be_aic_obj *aic = &adapter->aic_obj[0]; in be_get_coalesce()
355 struct be_adapter *adapter = netdev_priv(netdev); in be_set_coalesce() local
356 struct be_aic_obj *aic = &adapter->aic_obj[0]; in be_set_coalesce()
360 for_all_evt_queues(adapter, eqo, i) { in be_set_coalesce()
374 if (!et->use_adaptive_rx_coalesce && skyhawk_chip(adapter)) in be_set_coalesce()
375 be_eqd_update(adapter, true); in be_set_coalesce()
383 struct be_adapter *adapter = netdev_priv(netdev); in be_get_ethtool_stats() local
390 p = (u8 *)&adapter->drv_stats + et_stats[i].offset; in be_get_ethtool_stats()
395 for_all_rx_queues(adapter, rxo, j) { in be_get_ethtool_stats()
411 for_all_tx_queues(adapter, txo, j) { in be_get_ethtool_stats()
435 struct be_adapter *adapter = netdev_priv(netdev); in be_get_stat_strings() local
444 for (i = 0; i < adapter->num_rx_qs; i++) { in be_get_stat_strings()
451 for (i = 0; i < adapter->num_tx_qs; i++) { in be_get_stat_strings()
470 struct be_adapter *adapter = netdev_priv(netdev); in be_get_sset_count() local
477 adapter->num_rx_qs * ETHTOOL_RXSTATS_NUM + in be_get_sset_count()
478 adapter->num_tx_qs * ETHTOOL_TXSTATS_NUM; in be_get_sset_count()
484 static u32 be_get_port_type(struct be_adapter *adapter) in be_get_port_type() argument
488 switch (adapter->phy.interface_type) { in be_get_port_type()
495 if (adapter->phy.cable_type & SFP_PLUS_COPPER_CABLE) in be_get_port_type()
501 if (adapter->phy.cable_type & QSFP_PLUS_CR4_CABLE) in be_get_port_type()
520 static u32 convert_to_et_setting(struct be_adapter *adapter, u32 if_speeds) in convert_to_et_setting() argument
524 switch (adapter->phy.interface_type) { in convert_to_et_setting()
563 switch (adapter->phy.cable_type) { in convert_to_et_setting()
600 bool be_pause_supported(struct be_adapter *adapter) in be_pause_supported() argument
602 return (adapter->phy.interface_type == PHY_TYPE_SFP_PLUS_10GB || in be_pause_supported()
603 adapter->phy.interface_type == PHY_TYPE_XFP_10GB) ? in be_pause_supported()
609 struct be_adapter *adapter = netdev_priv(netdev); in be_get_settings() local
616 if (adapter->phy.link_speed < 0) { in be_get_settings()
617 status = be_cmd_link_status_query(adapter, &link_speed, in be_get_settings()
620 be_link_status_update(adapter, link_status); in be_get_settings()
623 status = be_cmd_get_phy_info(adapter); in be_get_settings()
625 auto_speeds = adapter->phy.auto_speeds_supported; in be_get_settings()
626 fixed_speeds = adapter->phy.fixed_speeds_supported; in be_get_settings()
628 be_cmd_query_cable_type(adapter); in be_get_settings()
631 convert_to_et_setting(adapter, in be_get_settings()
635 convert_to_et_setting(adapter, auto_speeds); in be_get_settings()
637 ecmd->port = be_get_port_type(adapter); in be_get_settings()
639 if (adapter->phy.auto_speeds_supported) { in be_get_settings()
646 if (be_pause_supported(adapter)) in be_get_settings()
649 switch (adapter->phy.interface_type) { in be_get_settings()
665 adapter->phy.link_speed = ethtool_cmd_speed(ecmd); in be_get_settings()
666 adapter->phy.port_type = ecmd->port; in be_get_settings()
667 adapter->phy.transceiver = ecmd->transceiver; in be_get_settings()
668 adapter->phy.autoneg = ecmd->autoneg; in be_get_settings()
669 adapter->phy.advertising = ecmd->advertising; in be_get_settings()
670 adapter->phy.supported = ecmd->supported; in be_get_settings()
672 ethtool_cmd_speed_set(ecmd, adapter->phy.link_speed); in be_get_settings()
673 ecmd->port = adapter->phy.port_type; in be_get_settings()
674 ecmd->transceiver = adapter->phy.transceiver; in be_get_settings()
675 ecmd->autoneg = adapter->phy.autoneg; in be_get_settings()
676 ecmd->advertising = adapter->phy.advertising; in be_get_settings()
677 ecmd->supported = adapter->phy.supported; in be_get_settings()
681 ecmd->phy_address = adapter->port_num; in be_get_settings()
689 struct be_adapter *adapter = netdev_priv(netdev); in be_get_ringparam() local
691 ring->rx_max_pending = adapter->rx_obj[0].q.len; in be_get_ringparam()
692 ring->rx_pending = adapter->rx_obj[0].q.len; in be_get_ringparam()
693 ring->tx_max_pending = adapter->tx_obj[0].q.len; in be_get_ringparam()
694 ring->tx_pending = adapter->tx_obj[0].q.len; in be_get_ringparam()
700 struct be_adapter *adapter = netdev_priv(netdev); in be_get_pauseparam() local
702 be_cmd_get_flow_control(adapter, &ecmd->tx_pause, &ecmd->rx_pause); in be_get_pauseparam()
703 ecmd->autoneg = adapter->phy.fc_autoneg; in be_get_pauseparam()
709 struct be_adapter *adapter = netdev_priv(netdev); in be_set_pauseparam() local
712 if (ecmd->autoneg != adapter->phy.fc_autoneg) in be_set_pauseparam()
715 status = be_cmd_set_flow_control(adapter, ecmd->tx_pause, in be_set_pauseparam()
718 dev_warn(&adapter->pdev->dev, "Pause param set failed\n"); in be_set_pauseparam()
722 adapter->tx_fc = ecmd->tx_pause; in be_set_pauseparam()
723 adapter->rx_fc = ecmd->rx_pause; in be_set_pauseparam()
730 struct be_adapter *adapter = netdev_priv(netdev); in be_set_phys_id() local
734 be_cmd_get_beacon_state(adapter, adapter->hba_port_num, in be_set_phys_id()
735 &adapter->beacon_state); in be_set_phys_id()
739 be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0, in be_set_phys_id()
744 be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0, in be_set_phys_id()
749 be_cmd_set_beacon_state(adapter, adapter->hba_port_num, 0, 0, in be_set_phys_id()
750 adapter->beacon_state); in be_set_phys_id()
758 struct be_adapter *adapter = netdev_priv(netdev); in be_set_dump() local
759 struct device *dev = &adapter->pdev->dev; in be_set_dump()
762 if (!lancer_chip(adapter) || in be_set_dump()
763 !check_privilege(adapter, MAX_PRIVILEGES)) in be_set_dump()
768 status = lancer_initiate_dump(adapter); in be_set_dump()
773 status = lancer_delete_dump(adapter); in be_set_dump()
786 struct be_adapter *adapter = netdev_priv(netdev); in be_get_wol() local
788 if (adapter->wol_cap & BE_WOL_CAP) { in be_get_wol()
790 if (adapter->wol_en) in be_get_wol()
800 struct be_adapter *adapter = netdev_priv(netdev); in be_set_wol() local
805 if (!(adapter->wol_cap & BE_WOL_CAP)) { in be_set_wol()
806 dev_warn(&adapter->pdev->dev, "WOL not supported\n"); in be_set_wol()
811 adapter->wol_en = true; in be_set_wol()
813 adapter->wol_en = false; in be_set_wol()
818 static int be_test_ddr_dma(struct be_adapter *adapter) in be_test_ddr_dma() argument
827 ddrdma_cmd.va = dma_zalloc_coherent(&adapter->pdev->dev, in be_test_ddr_dma()
834 ret = be_cmd_ddr_dma_test(adapter, pattern[i], in be_test_ddr_dma()
841 dma_free_coherent(&adapter->pdev->dev, ddrdma_cmd.size, ddrdma_cmd.va, in be_test_ddr_dma()
846 static u64 be_loopback_test(struct be_adapter *adapter, u8 loopback_type, in be_loopback_test() argument
851 ret = be_cmd_set_loopback(adapter, adapter->hba_port_num, in be_loopback_test()
856 *status = be_cmd_loopback_test(adapter, adapter->hba_port_num, in be_loopback_test()
859 ret = be_cmd_set_loopback(adapter, adapter->hba_port_num, in be_loopback_test()
870 struct be_adapter *adapter = netdev_priv(netdev); in be_self_test() local
874 if (adapter->function_caps & BE_FUNCTION_CAPS_SUPER_NIC) { in be_self_test()
875 dev_err(&adapter->pdev->dev, "Self test not supported\n"); in be_self_test()
883 if (be_loopback_test(adapter, BE_MAC_LOOPBACK, &data[0]) != 0) in be_self_test()
886 if (be_loopback_test(adapter, BE_PHY_LOOPBACK, &data[1]) != 0) in be_self_test()
890 if (be_loopback_test(adapter, BE_ONE_PORT_EXT_LOOPBACK, in be_self_test()
897 if (!lancer_chip(adapter) && be_test_ddr_dma(adapter) != 0) { in be_self_test()
902 status = be_cmd_link_status_query(adapter, NULL, &link_status, 0); in be_self_test()
914 struct be_adapter *adapter = netdev_priv(netdev); in be_do_flash() local
916 return be_load_fw(adapter, efl->data); in be_do_flash()
921 struct be_adapter *adapter = netdev_priv(netdev); in be_get_eeprom_len() local
923 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_eeprom_len()
926 if (lancer_chip(adapter)) { in be_get_eeprom_len()
927 if (be_physfn(adapter)) in be_get_eeprom_len()
928 return lancer_cmd_get_file_len(adapter, in be_get_eeprom_len()
931 return lancer_cmd_get_file_len(adapter, in be_get_eeprom_len()
941 struct be_adapter *adapter = netdev_priv(netdev); in be_read_eeprom() local
949 if (lancer_chip(adapter)) { in be_read_eeprom()
950 if (be_physfn(adapter)) in be_read_eeprom()
951 return lancer_cmd_read_file(adapter, LANCER_VPD_PF_FILE, in be_read_eeprom()
954 return lancer_cmd_read_file(adapter, LANCER_VPD_VF_FILE, in be_read_eeprom()
958 eeprom->magic = BE_VENDOR_ID | (adapter->pdev->device<<16); in be_read_eeprom()
962 eeprom_cmd.va = dma_zalloc_coherent(&adapter->pdev->dev, in be_read_eeprom()
969 status = be_cmd_get_seeprom_data(adapter, &eeprom_cmd); in be_read_eeprom()
975 dma_free_coherent(&adapter->pdev->dev, eeprom_cmd.size, eeprom_cmd.va, in be_read_eeprom()
983 struct be_adapter *adapter = netdev_priv(netdev); in be_get_msg_level() local
985 return adapter->msg_enable; in be_get_msg_level()
990 struct be_adapter *adapter = netdev_priv(netdev); in be_set_msg_level() local
992 if (adapter->msg_enable == level) in be_set_msg_level()
995 if ((level & NETIF_MSG_HW) != (adapter->msg_enable & NETIF_MSG_HW)) in be_set_msg_level()
996 if (BEx_chip(adapter)) in be_set_msg_level()
997 be_cmd_set_fw_log_level(adapter, level & NETIF_MSG_HW ? in be_set_msg_level()
1000 adapter->msg_enable = level; in be_set_msg_level()
1003 static u64 be_get_rss_hash_opts(struct be_adapter *adapter, u64 flow_type) in be_get_rss_hash_opts() argument
1009 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV4) in be_get_rss_hash_opts()
1011 if (adapter->rss_info.rss_flags & RSS_ENABLE_TCP_IPV4) in be_get_rss_hash_opts()
1015 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV4) in be_get_rss_hash_opts()
1017 if (adapter->rss_info.rss_flags & RSS_ENABLE_UDP_IPV4) in be_get_rss_hash_opts()
1021 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV6) in be_get_rss_hash_opts()
1023 if (adapter->rss_info.rss_flags & RSS_ENABLE_TCP_IPV6) in be_get_rss_hash_opts()
1027 if (adapter->rss_info.rss_flags & RSS_ENABLE_IPV6) in be_get_rss_hash_opts()
1029 if (adapter->rss_info.rss_flags & RSS_ENABLE_UDP_IPV6) in be_get_rss_hash_opts()
1040 struct be_adapter *adapter = netdev_priv(netdev); in be_get_rxnfc() local
1042 if (!be_multi_rxq(adapter)) { in be_get_rxnfc()
1043 dev_info(&adapter->pdev->dev, in be_get_rxnfc()
1050 cmd->data = be_get_rss_hash_opts(adapter, cmd->flow_type); in be_get_rxnfc()
1053 cmd->data = adapter->num_rx_qs - 1; in be_get_rxnfc()
1062 static int be_set_rss_hash_opts(struct be_adapter *adapter, in be_set_rss_hash_opts() argument
1066 u32 rss_flags = adapter->rss_info.rss_flags; in be_set_rss_hash_opts()
1089 BEx_chip(adapter)) in be_set_rss_hash_opts()
1100 BEx_chip(adapter)) in be_set_rss_hash_opts()
1113 if (rss_flags == adapter->rss_info.rss_flags) in be_set_rss_hash_opts()
1116 status = be_cmd_rss_config(adapter, adapter->rss_info.rsstable, in be_set_rss_hash_opts()
1118 adapter->rss_info.rss_hkey); in be_set_rss_hash_opts()
1120 adapter->rss_info.rss_flags = rss_flags; in be_set_rss_hash_opts()
1127 struct be_adapter *adapter = netdev_priv(netdev); in be_set_rxnfc() local
1130 if (!be_multi_rxq(adapter)) { in be_set_rxnfc()
1131 dev_err(&adapter->pdev->dev, in be_set_rxnfc()
1138 status = be_set_rss_hash_opts(adapter, cmd); in be_set_rxnfc()
1150 struct be_adapter *adapter = netdev_priv(netdev); in be_get_channels() local
1152 ch->combined_count = adapter->num_evt_qs; in be_get_channels()
1153 ch->max_combined = be_max_qs(adapter); in be_get_channels()
1159 struct be_adapter *adapter = netdev_priv(netdev); in be_set_channels() local
1163 !ch->combined_count || ch->combined_count > be_max_qs(adapter)) in be_set_channels()
1166 adapter->cfg_num_qs = ch->combined_count; in be_set_channels()
1168 status = be_update_queues(adapter); in be_set_channels()
1185 struct be_adapter *adapter = netdev_priv(netdev); in be_get_rxfh() local
1187 struct rss_info *rss = &adapter->rss_info; in be_get_rxfh()
1207 struct be_adapter *adapter = netdev_priv(netdev); in be_set_rxfh() local
1219 rxo = &adapter->rx_obj[j]; in be_set_rxfh()
1221 adapter->rss_info.rss_queue[i] = j; in be_set_rxfh()
1224 memcpy(rsstable, adapter->rss_info.rsstable, in be_set_rxfh()
1229 hkey = adapter->rss_info.rss_hkey; in be_set_rxfh()
1231 rc = be_cmd_rss_config(adapter, rsstable, in be_set_rxfh()
1232 adapter->rss_info.rss_flags, in be_set_rxfh()
1235 adapter->rss_info.rss_flags = RSS_ENABLE_NONE; in be_set_rxfh()
1238 memcpy(adapter->rss_info.rss_hkey, hkey, RSS_HASH_KEY_LEN); in be_set_rxfh()
1239 memcpy(adapter->rss_info.rsstable, rsstable, in be_set_rxfh()
1247 struct be_adapter *adapter = netdev_priv(netdev); in be_get_module_info() local
1251 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_module_info()
1254 status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0, in be_get_module_info()
1271 struct be_adapter *adapter = netdev_priv(netdev); in be_get_module_eeprom() local
1274 if (!check_privilege(adapter, MAX_PRIVILEGES)) in be_get_module_eeprom()
1277 status = be_cmd_read_port_transceiver_data(adapter, TR_PAGE_A0, in be_get_module_eeprom()
1283 status = be_cmd_read_port_transceiver_data(adapter, in be_get_module_eeprom()