crypto: qat - relocate and rename adf_sriov_prepare_restart()
The function adf_sriov_prepare_restart() is used in adf_sriov.c to stop and shutdown a device preserving its configuration. Since this function will be re-used by the logic that allows to reconfigure the device through sysfs, move it to adf_init.c and rename it as adf_dev_shutdown_cache_cfg(); Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com> Reviewed-by: Adam Guerin <adam.guerin@intel.com> Reviewed-by: Fiona Trahe <fiona.trahe@intel.com> Reviewed-by: Wojciech Ziemba <wojciech.ziemba@intel.com> Reviewed-by: Vladis Dronov <vdronov@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
92bf269fbf
commit
16c1ed95d1
3 changed files with 28 additions and 27 deletions
|
@ -56,6 +56,7 @@ int adf_dev_init(struct adf_accel_dev *accel_dev);
|
||||||
int adf_dev_start(struct adf_accel_dev *accel_dev);
|
int adf_dev_start(struct adf_accel_dev *accel_dev);
|
||||||
void adf_dev_stop(struct adf_accel_dev *accel_dev);
|
void adf_dev_stop(struct adf_accel_dev *accel_dev);
|
||||||
void adf_dev_shutdown(struct adf_accel_dev *accel_dev);
|
void adf_dev_shutdown(struct adf_accel_dev *accel_dev);
|
||||||
|
int adf_dev_shutdown_cache_cfg(struct adf_accel_dev *accel_dev);
|
||||||
|
|
||||||
void adf_devmgr_update_class_index(struct adf_hw_device_data *hw_data);
|
void adf_devmgr_update_class_index(struct adf_hw_device_data *hw_data);
|
||||||
void adf_clean_vf_map(bool);
|
void adf_clean_vf_map(bool);
|
||||||
|
|
|
@ -363,3 +363,29 @@ int adf_dev_restarted_notify(struct adf_accel_dev *accel_dev)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int adf_dev_shutdown_cache_cfg(struct adf_accel_dev *accel_dev)
|
||||||
|
{
|
||||||
|
char services[ADF_CFG_MAX_VAL_LEN_IN_BYTES] = {0};
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = adf_cfg_get_param_value(accel_dev, ADF_GENERAL_SEC,
|
||||||
|
ADF_SERVICES_ENABLED, services);
|
||||||
|
|
||||||
|
adf_dev_stop(accel_dev);
|
||||||
|
adf_dev_shutdown(accel_dev);
|
||||||
|
|
||||||
|
if (!ret) {
|
||||||
|
ret = adf_cfg_section_add(accel_dev, ADF_GENERAL_SEC);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
ret = adf_cfg_add_key_value_param(accel_dev, ADF_GENERAL_SEC,
|
||||||
|
ADF_SERVICES_ENABLED,
|
||||||
|
services, ADF_STR);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -120,32 +120,6 @@ void adf_disable_sriov(struct adf_accel_dev *accel_dev)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(adf_disable_sriov);
|
EXPORT_SYMBOL_GPL(adf_disable_sriov);
|
||||||
|
|
||||||
static int adf_sriov_prepare_restart(struct adf_accel_dev *accel_dev)
|
|
||||||
{
|
|
||||||
char services[ADF_CFG_MAX_VAL_LEN_IN_BYTES] = {0};
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = adf_cfg_get_param_value(accel_dev, ADF_GENERAL_SEC,
|
|
||||||
ADF_SERVICES_ENABLED, services);
|
|
||||||
|
|
||||||
adf_dev_stop(accel_dev);
|
|
||||||
adf_dev_shutdown(accel_dev);
|
|
||||||
|
|
||||||
if (!ret) {
|
|
||||||
ret = adf_cfg_section_add(accel_dev, ADF_GENERAL_SEC);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
ret = adf_cfg_add_key_value_param(accel_dev, ADF_GENERAL_SEC,
|
|
||||||
ADF_SERVICES_ENABLED,
|
|
||||||
services, ADF_STR);
|
|
||||||
if (ret)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* adf_sriov_configure() - Enable SRIOV for the device
|
* adf_sriov_configure() - Enable SRIOV for the device
|
||||||
* @pdev: Pointer to PCI device.
|
* @pdev: Pointer to PCI device.
|
||||||
|
@ -185,7 +159,7 @@ int adf_sriov_configure(struct pci_dev *pdev, int numvfs)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = adf_sriov_prepare_restart(accel_dev);
|
ret = adf_dev_shutdown_cache_cfg(accel_dev);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue