Example #1
0
/**
 *  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;
}
Example #2
0
/**
 *  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;
}
Example #4
0
/**
 *  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;
}