Lines Matching refs:hw

62  *  @hw: pointer to the HW structure
70 s32 e1000_mng_enable_host_if_generic(struct e1000_hw *hw)
77 if (!hw->mac.arc_subsystem_valid) {
83 hicr = E1000_READ_REG(hw, E1000_HICR);
90 hicr = E1000_READ_REG(hw, E1000_HICR);
106 * @hw: pointer to the HW structure
111 bool e1000_check_mng_mode_generic(struct e1000_hw *hw)
113 u32 fwsm = E1000_READ_REG(hw, E1000_FWSM);
124 * @hw: pointer to the HW structure
129 bool e1000_enable_tx_pkt_filtering_generic(struct e1000_hw *hw)
131 struct e1000_host_mng_dhcp_cookie *hdr = &hw->mng_cookie;
132 u32 *buffer = (u32 *)&hw->mng_cookie;
139 hw->mac.tx_pkt_filtering = TRUE;
142 if (!hw->mac.ops.check_mng_mode(hw)) {
143 hw->mac.tx_pkt_filtering = FALSE;
144 return hw->mac.tx_pkt_filtering;
150 ret_val = e1000_mng_enable_host_if_generic(hw);
152 hw->mac.tx_pkt_filtering = FALSE;
153 return hw->mac.tx_pkt_filtering;
160 *(buffer + i) = E1000_READ_REG_ARRAY_DWORD(hw, E1000_HOST_IF,
171 hw->mac.tx_pkt_filtering = TRUE;
172 return hw->mac.tx_pkt_filtering;
177 hw->mac.tx_pkt_filtering = FALSE;
179 return hw->mac.tx_pkt_filtering;
184 * @hw: pointer to the HW structure
189 s32 e1000_mng_write_cmd_header_generic(struct e1000_hw *hw,
203 E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, i,
205 E1000_WRITE_FLUSH(hw);
213 * @hw: pointer to the HW structure
223 s32 e1000_mng_host_if_write_generic(struct e1000_hw *hw, u8 *buffer,
243 data = E1000_READ_REG_ARRAY_DWORD(hw, E1000_HOST_IF, offset);
248 E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, offset, data);
268 E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, offset + i,
280 E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, offset + i,
289 * @hw: pointer to the HW structure
295 s32 e1000_mng_write_dhcp_info_generic(struct e1000_hw *hw, u8 *buffer,
311 ret_val = e1000_mng_enable_host_if_generic(hw);
316 ret_val = e1000_mng_host_if_write_generic(hw, buffer, length,
322 ret_val = e1000_mng_write_cmd_header_generic(hw, &hdr);
327 hicr = E1000_READ_REG(hw, E1000_HICR);
328 E1000_WRITE_REG(hw, E1000_HICR, hicr | E1000_HICR_C);
335 * @hw: pointer to the HW structure
340 bool e1000_enable_mng_pass_thru(struct e1000_hw *hw)
347 if (!hw->mac.asf_firmware_present)
350 manc = E1000_READ_REG(hw, E1000_MANC);
355 if (hw->mac.has_fwsm) {
356 fwsm = E1000_READ_REG(hw, E1000_FWSM);
357 factps = E1000_READ_REG(hw, E1000_FACTPS);
363 } else if ((hw->mac.type == e1000_82574) ||
364 (hw->mac.type == e1000_82583)) {
368 factps = E1000_READ_REG(hw, E1000_FACTPS);
369 ret_val = e1000_read_nvm(hw, NVM_INIT_CONTROL2_REG, 1, &data);
387 * @hw: pointer to the HW structure
394 s32 e1000_host_interface_command(struct e1000_hw *hw, u8 *buffer, u32 length)
400 if (!(hw->mac.arc_subsystem_valid)) {
405 if (!hw->mac.asf_firmware_present) {
417 hicr = E1000_READ_REG(hw, E1000_HICR);
430 E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF, i,
434 E1000_WRITE_REG(hw, E1000_HICR, hicr | E1000_HICR_C);
437 hicr = E1000_READ_REG(hw, E1000_HICR);
445 (!(E1000_READ_REG(hw, E1000_HICR) & E1000_HICR_SV))) {
451 *((u32 *)buffer + i) = E1000_READ_REG_ARRAY_DWORD(hw,
460 * @hw: pointer to the HW structure
467 s32 e1000_load_firmware(struct e1000_hw *hw, u8 *buffer, u32 length)
473 if (hw->mac.type < e1000_i210) {
479 hicr = E1000_READ_REG(hw, E1000_HICR);
495 icr = E1000_READ_REG(hw, E1000_ICR_V2);
498 hicr = E1000_READ_REG(hw, E1000_HICR);
500 E1000_WRITE_REG(hw, E1000_HICR, hicr);
502 E1000_WRITE_REG(hw, E1000_HICR, hicr);
503 E1000_WRITE_FLUSH(hw);
507 icr = E1000_READ_REG(hw, E1000_ICR_V2);
521 fwsm = E1000_READ_REG(hw, E1000_FWSM);
548 E1000_WRITE_REG(hw, E1000_HIBBA, hibba);
551 E1000_WRITE_REG_ARRAY_DWORD(hw, E1000_HOST_IF,
557 hicr = E1000_READ_REG(hw, E1000_HICR);
558 E1000_WRITE_REG(hw, E1000_HICR, hicr | E1000_HICR_C);
561 hicr = E1000_READ_REG(hw, E1000_HICR);