Lines Matching refs:accel_dev

59 int adf_dev_init(struct adf_accel_dev *accel_dev)  in adf_dev_init()  argument
63 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_init()
67 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
72 if (!test_bit(ADF_STATUS_CONFIGURED, &accel_dev->status) && in adf_dev_init()
73 !accel_dev->is_vf) { in adf_dev_init()
74 dev_err(&GET_DEV(accel_dev), "Device not configured\n"); in adf_dev_init()
78 if (adf_init_etr_data(accel_dev)) { in adf_dev_init()
79 dev_err(&GET_DEV(accel_dev), "Failed initialize etr\n"); in adf_dev_init()
83 if (hw_data->init_device && hw_data->init_device(accel_dev)) { in adf_dev_init()
84 dev_err(&GET_DEV(accel_dev), "Failed to initialize device\n"); in adf_dev_init()
88 if (hw_data->init_admin_comms && hw_data->init_admin_comms(accel_dev)) { in adf_dev_init()
89 dev_err(&GET_DEV(accel_dev), "Failed initialize admin comms\n"); in adf_dev_init()
93 if (hw_data->init_arb && hw_data->init_arb(accel_dev)) { in adf_dev_init()
94 dev_err(&GET_DEV(accel_dev), "Failed initialize hw arbiter\n"); in adf_dev_init()
98 if (adf_ae_init(accel_dev)) { in adf_dev_init()
99 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
103 set_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status); in adf_dev_init()
105 if (adf_ae_fw_load(accel_dev)) { in adf_dev_init()
106 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
110 set_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_init()
112 if (hw_data->alloc_irq(accel_dev)) { in adf_dev_init()
113 dev_err(&GET_DEV(accel_dev), "Failed to allocate interrupts\n"); in adf_dev_init()
116 set_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_init()
118 hw_data->enable_ints(accel_dev); in adf_dev_init()
119 hw_data->enable_error_correction(accel_dev); in adf_dev_init()
121 ret = hw_data->pfvf_ops.enable_comms(accel_dev); in adf_dev_init()
125 if (!test_bit(ADF_STATUS_CONFIGURED, &accel_dev->status) && in adf_dev_init()
126 accel_dev->is_vf) { in adf_dev_init()
127 if (qat_crypto_vf_dev_config(accel_dev)) in adf_dev_init()
138 if (service->event_hld(accel_dev, ADF_EVENT_INIT)) { in adf_dev_init()
139 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
144 set_bit(accel_dev->accel_id, service->init_status); in adf_dev_init()
161 int adf_dev_start(struct adf_accel_dev *accel_dev) in adf_dev_start() argument
163 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_start()
167 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
169 if (adf_ae_start(accel_dev)) { in adf_dev_start()
170 dev_err(&GET_DEV(accel_dev), "AE Start Failed\n"); in adf_dev_start()
173 set_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_start()
175 if (hw_data->send_admin_init(accel_dev)) { in adf_dev_start()
176 dev_err(&GET_DEV(accel_dev), "Failed to send init message\n"); in adf_dev_start()
182 hw_data->set_ssm_wdtimer(accel_dev); in adf_dev_start()
185 if (hw_data->enable_pm && hw_data->enable_pm(accel_dev)) { in adf_dev_start()
186 dev_err(&GET_DEV(accel_dev), "Failed to configure Power Management\n"); in adf_dev_start()
192 if (service->event_hld(accel_dev, ADF_EVENT_START)) { in adf_dev_start()
193 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
198 set_bit(accel_dev->accel_id, service->start_status); in adf_dev_start()
201 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
202 set_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
204 if (!list_empty(&accel_dev->crypto_list) && in adf_dev_start()
206 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
208 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
209 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
226 void adf_dev_stop(struct adf_accel_dev *accel_dev) in adf_dev_stop() argument
233 if (!adf_dev_started(accel_dev) && in adf_dev_stop()
234 !test_bit(ADF_STATUS_STARTING, &accel_dev->status)) in adf_dev_stop()
237 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_stop()
238 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_stop()
240 if (!list_empty(&accel_dev->crypto_list)) { in adf_dev_stop()
247 if (!test_bit(accel_dev->accel_id, service->start_status)) in adf_dev_stop()
249 ret = service->event_hld(accel_dev, ADF_EVENT_STOP); in adf_dev_stop()
251 clear_bit(accel_dev->accel_id, service->start_status); in adf_dev_stop()
254 clear_bit(accel_dev->accel_id, service->start_status); in adf_dev_stop()
261 if (test_bit(ADF_STATUS_AE_STARTED, &accel_dev->status)) { in adf_dev_stop()
262 if (adf_ae_stop(accel_dev)) in adf_dev_stop()
263 dev_err(&GET_DEV(accel_dev), "failed to stop AE\n"); in adf_dev_stop()
265 clear_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_stop()
277 void adf_dev_shutdown(struct adf_accel_dev *accel_dev) in adf_dev_shutdown() argument
279 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_shutdown()
284 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
289 if (test_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status)) { in adf_dev_shutdown()
290 adf_ae_fw_release(accel_dev); in adf_dev_shutdown()
291 clear_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_shutdown()
294 if (test_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status)) { in adf_dev_shutdown()
295 if (adf_ae_shutdown(accel_dev)) in adf_dev_shutdown()
296 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
300 &accel_dev->status); in adf_dev_shutdown()
305 if (!test_bit(accel_dev->accel_id, service->init_status)) in adf_dev_shutdown()
307 if (service->event_hld(accel_dev, ADF_EVENT_SHUTDOWN)) in adf_dev_shutdown()
308 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
312 clear_bit(accel_dev->accel_id, service->init_status); in adf_dev_shutdown()
315 hw_data->disable_iov(accel_dev); in adf_dev_shutdown()
317 if (test_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status)) { in adf_dev_shutdown()
318 hw_data->free_irq(accel_dev); in adf_dev_shutdown()
319 clear_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_shutdown()
323 if (!test_bit(ADF_STATUS_RESTARTING, &accel_dev->status)) in adf_dev_shutdown()
324 adf_cfg_del_all(accel_dev); in adf_dev_shutdown()
327 hw_data->exit_arb(accel_dev); in adf_dev_shutdown()
330 hw_data->exit_admin_comms(accel_dev); in adf_dev_shutdown()
332 adf_cleanup_etr_data(accel_dev); in adf_dev_shutdown()
333 adf_dev_restore(accel_dev); in adf_dev_shutdown()
337 int adf_dev_restarting_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarting_notify() argument
344 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTING)) in adf_dev_restarting_notify()
345 dev_err(&GET_DEV(accel_dev), in adf_dev_restarting_notify()
352 int adf_dev_restarted_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarted_notify() argument
359 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTED)) in adf_dev_restarted_notify()
360 dev_err(&GET_DEV(accel_dev), in adf_dev_restarted_notify()
367 int adf_dev_shutdown_cache_cfg(struct adf_accel_dev *accel_dev) in adf_dev_shutdown_cache_cfg() argument
372 ret = adf_cfg_get_param_value(accel_dev, ADF_GENERAL_SEC, in adf_dev_shutdown_cache_cfg()
375 adf_dev_stop(accel_dev); in adf_dev_shutdown_cache_cfg()
376 adf_dev_shutdown(accel_dev); in adf_dev_shutdown_cache_cfg()
379 ret = adf_cfg_section_add(accel_dev, ADF_GENERAL_SEC); in adf_dev_shutdown_cache_cfg()
383 ret = adf_cfg_add_key_value_param(accel_dev, ADF_GENERAL_SEC, in adf_dev_shutdown_cache_cfg()