Commit 4d3f59bf authored by Przemek Kitszel's avatar Przemek Kitszel Committed by Tony Nguyen
Browse files

ice: split ice_init_hw() out from ice_init_dev()



Split ice_init_hw() call out from ice_init_dev(). Such move enables
pulling the former to be even earlier on call path, what would enable
moving ice_adapter init to be between the two (in subsequent commit).
Such move enables ice_adapter to know about number of PFs.

Do the same for ice_deinit_hw(), so the init and deinit calls could
be easily mirrored.
Next commit will rename unrelated goto labels to unroll prefix.

Reviewed-by: default avatarMarcin Szycik <marcin.szycik@linux.intel.com>
Signed-off-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent c37dd67c
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -1207,9 +1207,15 @@ static int ice_devlink_reinit_up(struct ice_pf *pf)
	struct ice_vsi *vsi = ice_get_main_vsi(pf);
	int err;

	err = ice_init_hw(&pf->hw);
	if (err) {
		dev_err(ice_pf_to_dev(pf), "ice_init_hw failed: %d\n", err);
		return err;
	}

	err = ice_init_dev(pf);
	if (err)
		return err;
		goto unroll_hw_init;

	vsi->flags = ICE_VSI_FLAG_INIT;

@@ -1232,6 +1238,8 @@ static int ice_devlink_reinit_up(struct ice_pf *pf)
	rtnl_unlock();
err_vsi_cfg:
	ice_deinit_dev(pf);
unroll_hw_init:
	ice_deinit_hw(&pf->hw);
	return err;
}

+11 −11
Original line number Diff line number Diff line
@@ -4755,12 +4755,6 @@ int ice_init_dev(struct ice_pf *pf)
	struct ice_hw *hw = &pf->hw;
	int err;

	err = ice_init_hw(hw);
	if (err) {
		dev_err(dev, "ice_init_hw failed: %d\n", err);
		return err;
	}

	ice_init_feature_support(pf);

	err = ice_init_ddp_config(hw, pf);
@@ -4781,7 +4775,7 @@ int ice_init_dev(struct ice_pf *pf)
	err = ice_init_pf(pf);
	if (err) {
		dev_err(dev, "ice_init_pf failed: %d\n", err);
		goto err_init_pf;
		return err;
	}

	pf->hw.udp_tunnel_nic.set_port = ice_udp_tunnel_set_port;
@@ -4825,8 +4819,6 @@ int ice_init_dev(struct ice_pf *pf)
	ice_clear_interrupt_scheme(pf);
err_init_interrupt_scheme:
	ice_deinit_pf(pf);
err_init_pf:
	ice_deinit_hw(hw);
	return err;
}

@@ -5319,9 +5311,15 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
		hw->debug_mask = debug;
#endif

	err = ice_init_hw(hw);
	if (err) {
		dev_err(dev, "ice_init_hw failed: %d\n", err);
		goto unroll_adapter;
	}

	err = ice_init(pf);
	if (err)
		goto err_init;
		goto unroll_hw_init;

	devl_lock(priv_to_devlink(pf));
	err = ice_load(pf);
@@ -5340,7 +5338,9 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
err_load:
	devl_unlock(priv_to_devlink(pf));
	ice_deinit(pf);
err_init:
unroll_hw_init:
	ice_deinit_hw(hw);
unroll_adapter:
	ice_adapter_put(pdev);
	return err;
}