/** * e1000_init_nvm_params_i210 - Initialize i210 NVM function pointers * @hw: pointer to the HW structure * * Initialize the i210/i211 NVM parameters and function pointers. **/ static s32 e1000_init_nvm_params_i210(struct e1000_hw *hw) { s32 ret_val; struct e1000_nvm_info *nvm = &hw->nvm; DEBUGFUNC("e1000_init_nvm_params_i210"); ret_val = e1000_init_nvm_params_82575(hw); nvm->ops.acquire = e1000_acquire_nvm_i210; nvm->ops.release = e1000_release_nvm_i210; nvm->ops.valid_led_default = e1000_valid_led_default_i210; if (e1000_get_flash_presence_i210(hw)) { hw->nvm.type = e1000_nvm_flash_hw; nvm->ops.read = e1000_read_nvm_srrd_i210; nvm->ops.write = e1000_write_nvm_srwr_i210; nvm->ops.validate = e1000_validate_nvm_checksum_i210; nvm->ops.update = e1000_update_nvm_checksum_i210; } else { hw->nvm.type = e1000_nvm_invm; nvm->ops.read = e1000_read_invm_i210; nvm->ops.write = e1000_null_write_nvm; nvm->ops.validate = e1000_null_ops_generic; nvm->ops.update = e1000_null_ops_generic; } return ret_val; }
/** * e1000_init_hw_i210 - Init hw for I210/I211 * @hw: pointer to the HW structure * * Called to initialize hw for i210 hw family. **/ s32 e1000_init_hw_i210(struct e1000_hw *hw) { s32 ret_val; DEBUGFUNC("e1000_init_hw_i210"); if ((hw->mac.type >= e1000_i210) && !(e1000_get_flash_presence_i210(hw))) { ret_val = e1000_pll_workaround_i210(hw); if (ret_val != E1000_SUCCESS) return ret_val; } ret_val = e1000_init_hw_82575(hw); return ret_val; }
/** * e1000_init_function_pointers_i210 - Init func ptrs. * @hw: pointer to the HW structure * * Called to initialize all function pointers and parameters. **/ void e1000_init_function_pointers_i210(struct e1000_hw *hw) { e1000_init_function_pointers_82575(hw); switch (hw->mac.type) { case e1000_i210: if (e1000_get_flash_presence_i210(hw)) hw->nvm.ops.init_params = e1000_init_nvm_params_i210; else hw->nvm.ops.init_params = e1000_init_nvm_params_i211; break; case e1000_i211: hw->nvm.ops.init_params = e1000_init_nvm_params_i211; break; default: break; } return; }
/** * e1000_init_function_pointers_i210 - Init func ptrs. * @hw: pointer to the HW structure * * Called to initialize all function pointers and parameters. **/ void e1000_init_function_pointers_i210(struct e1000_hw *hw) { e1000_init_function_pointers_82575(hw); switch (hw->mac.type) { case e1000_i210: #if defined(QV_RELEASE) && defined(SPRINGVILLE_FLASHLESS_HW) if (e1000_get_flash_presence_i210(hw)) hw->nvm.ops.init_params = e1000_init_nvm_params_i210; else hw->nvm.ops.init_params = e1000_init_nvm_params_i211; #else hw->nvm.ops.init_params = e1000_init_nvm_params_i210; #endif /* QV_RELEASE && SPRINGVILLE_FLASHLESS_HW */ break; case e1000_i211: hw->nvm.ops.init_params = e1000_init_nvm_params_i211; break; default: break; } return; }