Lines Matching refs:accel_dev
110 static int adf_enable_sriov(struct adf_accel_dev *accel_dev) in adf_enable_sriov() argument
112 struct pci_dev *pdev = accel_to_pci_dev(accel_dev); in adf_enable_sriov()
114 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_enable_sriov()
116 &GET_BARS(accel_dev)[hw_data->get_misc_bar_id(hw_data)]; in adf_enable_sriov()
122 for (i = 0, vf_info = accel_dev->pf.vf_info; i < totalvfs; in adf_enable_sriov()
125 vf_info->accel_dev = accel_dev; in adf_enable_sriov()
152 adf_enable_vf2pf_interrupts(accel_dev, GENMASK_ULL(totalvfs - 1, 0)); in adf_enable_sriov()
171 void adf_disable_sriov(struct adf_accel_dev *accel_dev) in adf_disable_sriov() argument
173 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_disable_sriov()
175 &GET_BARS(accel_dev)[hw_data->get_misc_bar_id(hw_data)]; in adf_disable_sriov()
177 int totalvfs = pci_sriov_get_totalvfs(accel_to_pci_dev(accel_dev)); in adf_disable_sriov()
182 if (!accel_dev->pf.vf_info) in adf_disable_sriov()
185 adf_pf2vf_notify_restarting(accel_dev); in adf_disable_sriov()
187 pci_disable_sriov(accel_to_pci_dev(accel_dev)); in adf_disable_sriov()
190 adf_disable_vf2pf_interrupts(accel_dev, 0xFFFFFFFF); in adf_disable_sriov()
206 for (i = 0, vf = accel_dev->pf.vf_info; i < totalvfs; i++, vf++) { in adf_disable_sriov()
212 kfree(accel_dev->pf.vf_info); in adf_disable_sriov()
213 accel_dev->pf.vf_info = NULL; in adf_disable_sriov()
227 struct adf_accel_dev *accel_dev = adf_devmgr_pci_to_accel_dev(pdev); in adf_sriov_configure() local
232 if (!accel_dev) { in adf_sriov_configure()
240 if (accel_dev->pf.vf_info) { in adf_sriov_configure()
245 if (adf_dev_started(accel_dev)) { in adf_sriov_configure()
246 if (adf_devmgr_in_reset(accel_dev) || in adf_sriov_configure()
247 adf_dev_in_use(accel_dev)) { in adf_sriov_configure()
248 dev_err(&GET_DEV(accel_dev), "Device busy\n"); in adf_sriov_configure()
252 if (adf_dev_stop(accel_dev)) { in adf_sriov_configure()
253 dev_err(&GET_DEV(accel_dev), in adf_sriov_configure()
255 accel_dev->accel_id); in adf_sriov_configure()
259 adf_dev_shutdown(accel_dev); in adf_sriov_configure()
262 if (adf_cfg_section_add(accel_dev, ADF_KERNEL_SEC)) in adf_sriov_configure()
265 if (adf_cfg_add_key_value_param(accel_dev, ADF_KERNEL_SEC, in adf_sriov_configure()
269 set_bit(ADF_STATUS_CONFIGURED, &accel_dev->status); in adf_sriov_configure()
272 accel_dev->pf.vf_info = kcalloc(totalvfs, in adf_sriov_configure()
275 if (!accel_dev->pf.vf_info) in adf_sriov_configure()
278 if (adf_dev_init(accel_dev)) { in adf_sriov_configure()
279 dev_err(&GET_DEV(accel_dev), "Failed to init qat_dev%d\n", in adf_sriov_configure()
280 accel_dev->accel_id); in adf_sriov_configure()
284 if (adf_dev_start(accel_dev)) { in adf_sriov_configure()
285 dev_err(&GET_DEV(accel_dev), "Failed to start qat_dev%d\n", in adf_sriov_configure()
286 accel_dev->accel_id); in adf_sriov_configure()
290 ret = adf_enable_sriov(accel_dev); in adf_sriov_configure()