Lines Matching refs:mac
59 * ixgbe_init_ops_X540 - Inits func ptrs and MAC type
62 * Initialize the function pointers and assign the MAC type for X540.
67 struct ixgbe_mac_info *mac = &hw->mac;
93 /* MAC */
94 mac->ops.reset_hw = ixgbe_reset_hw_X540;
95 mac->ops.enable_relaxed_ordering = ixgbe_enable_relaxed_ordering_gen2;
96 mac->ops.get_media_type = ixgbe_get_media_type_X540;
97 mac->ops.get_supported_physical_layer =
99 mac->ops.read_analog_reg8 = NULL;
100 mac->ops.write_analog_reg8 = NULL;
101 mac->ops.start_hw = ixgbe_start_hw_X540;
102 mac->ops.get_san_mac_addr = ixgbe_get_san_mac_addr_generic;
103 mac->ops.set_san_mac_addr = ixgbe_set_san_mac_addr_generic;
104 mac->ops.get_device_caps = ixgbe_get_device_caps_generic;
105 mac->ops.get_wwn_prefix = ixgbe_get_wwn_prefix_generic;
106 mac->ops.get_fcoe_boot_status = ixgbe_get_fcoe_boot_status_generic;
107 mac->ops.acquire_swfw_sync = ixgbe_acquire_swfw_sync_X540;
108 mac->ops.release_swfw_sync = ixgbe_release_swfw_sync_X540;
109 mac->ops.init_swfw_sync = ixgbe_init_swfw_sync_X540;
110 mac->ops.disable_sec_rx_path = ixgbe_disable_sec_rx_path_generic;
111 mac->ops.enable_sec_rx_path = ixgbe_enable_sec_rx_path_generic;
114 mac->ops.set_vmdq = ixgbe_set_vmdq_generic;
115 mac->ops.set_vmdq_san_mac = ixgbe_set_vmdq_san_mac_generic;
116 mac->ops.clear_vmdq = ixgbe_clear_vmdq_generic;
117 mac->ops.insert_mac_addr = ixgbe_insert_mac_addr_generic;
118 mac->rar_highwater = 1;
119 mac->ops.set_vfta = ixgbe_set_vfta_generic;
120 mac->ops.set_vlvf = ixgbe_set_vlvf_generic;
121 mac->ops.clear_vfta = ixgbe_clear_vfta_generic;
122 mac->ops.init_uta_tables = ixgbe_init_uta_tables_generic;
123 mac->ops.set_mac_anti_spoofing = ixgbe_set_mac_anti_spoofing;
124 mac->ops.set_vlan_anti_spoofing = ixgbe_set_vlan_anti_spoofing;
127 mac->ops.get_link_capabilities =
129 mac->ops.setup_link = ixgbe_setup_mac_link_X540;
130 mac->ops.setup_rxpba = ixgbe_set_rxpba_generic;
131 mac->ops.check_link = ixgbe_check_mac_link_generic;
132 mac->ops.bypass_rw = ixgbe_bypass_rw_generic;
133 mac->ops.bypass_valid_rd = ixgbe_bypass_valid_rd_generic;
134 mac->ops.bypass_set = ixgbe_bypass_set_generic;
135 mac->ops.bypass_rd_eep = ixgbe_bypass_rd_eep_generic;
137 mac->mcft_size = IXGBE_X540_MC_TBL_SIZE;
138 mac->vft_size = IXGBE_X540_VFT_TBL_SIZE;
139 mac->num_rar_entries = IXGBE_X540_RAR_ENTRIES;
140 mac->rx_pb_size = IXGBE_X540_RX_PB_SIZE;
141 mac->max_rx_queues = IXGBE_X540_MAX_RX_QUEUES;
142 mac->max_tx_queues = IXGBE_X540_MAX_TX_QUEUES;
143 mac->max_msix_vectors = ixgbe_get_pcie_msix_count_generic(hw);
150 mac->arc_subsystem_valid = !!(IXGBE_READ_REG(hw, IXGBE_FWSM_BY_MAC(hw))
157 mac->ops.blink_led_start = ixgbe_blink_led_start_X540;
158 mac->ops.blink_led_stop = ixgbe_blink_led_stop_X540;
161 mac->ops.set_fw_drv_ver = ixgbe_set_fw_drv_ver_generic;
163 mac->ops.get_rtrup2tc = ixgbe_dcb_get_rtrup2tc_generic;
227 status = hw->mac.ops.stop_adapter(hw);
235 status = hw->mac.ops.acquire_swfw_sync(hw, swfw_mask);
245 hw->mac.ops.release_swfw_sync(hw, swfw_mask);
267 if (hw->mac.flags & IXGBE_FLAGS_DOUBLE_RESET_REQUIRED) {
268 hw->mac.flags &= ~IXGBE_FLAGS_DOUBLE_RESET_REQUIRED;
275 /* Store the permanent mac address */
276 hw->mac.ops.get_mac_addr(hw, hw->mac.perm_addr);
279 * Store MAC address from RAR0, clear receive address registers, and
281 * since we modify this value when programming the SAN MAC address.
283 hw->mac.num_rar_entries = 128;
284 hw->mac.ops.init_rx_addrs(hw);
286 /* Store the permanent SAN mac address */
287 hw->mac.ops.get_san_mac_addr(hw, hw->mac.san_addr);
289 /* Add the SAN MAC address to the RAR only if it's a valid address */
290 if (ixgbe_validate_mac_addr(hw->mac.san_addr) == 0) {
291 /* Save the SAN MAC RAR index */
292 hw->mac.san_mac_rar_index = hw->mac.num_rar_entries - 1;
294 hw->mac.ops.set_rar(hw, hw->mac.san_mac_rar_index,
295 hw->mac.san_addr, 0, IXGBE_RAH_AV);
298 hw->mac.ops.clear_vmdq(hw, hw->mac.san_mac_rar_index,
301 /* Reserve the last RAR for the SAN MAC address */
302 hw->mac.num_rar_entries--;
306 hw->mac.ops.get_wwn_prefix(hw, &hw->mac.wwnn_prefix,
307 &hw->mac.wwpn_prefix);
359 if (hw->mac.type == ixgbe_mac_X550) {
412 if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM) ==
415 hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
438 if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM) ==
442 hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
463 if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM) ==
466 hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
489 if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM) ==
493 hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
606 if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
637 hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
667 if (hw->mac.ops.acquire_swfw_sync(hw, IXGBE_GSSR_EEP_SM))
686 hw->mac.ops.release_swfw_sync(hw, IXGBE_GSSR_EEP_SM);
720 if (hw->mac.type == ixgbe_mac_X540 && hw->revision_id == 0) {
798 if (hw->mac.type >= ixgbe_mac_X550)
1028 * register to work. Force link and speed in the MAC if link is down.
1031 hw->mac.ops.check_link(hw, &speed, &link_up, FALSE);
1072 /* Unforce link and speed in the MAC. */