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 dev_err(&GET_DEV(accel_dev), "Device not configured\n"); in adf_dev_init()
77 if (adf_init_etr_data(accel_dev)) { in adf_dev_init()
78 dev_err(&GET_DEV(accel_dev), "Failed initialize etr\n"); in adf_dev_init()
82 if (hw_data->init_admin_comms && hw_data->init_admin_comms(accel_dev)) { in adf_dev_init()
83 dev_err(&GET_DEV(accel_dev), "Failed initialize admin comms\n"); in adf_dev_init()
87 if (hw_data->init_arb && hw_data->init_arb(accel_dev)) { in adf_dev_init()
88 dev_err(&GET_DEV(accel_dev), "Failed initialize hw arbiter\n"); in adf_dev_init()
92 if (adf_ae_init(accel_dev)) { in adf_dev_init()
93 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
97 set_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status); in adf_dev_init()
99 if (adf_ae_fw_load(accel_dev)) { in adf_dev_init()
100 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
104 set_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_init()
106 if (hw_data->alloc_irq(accel_dev)) { in adf_dev_init()
107 dev_err(&GET_DEV(accel_dev), "Failed to allocate interrupts\n"); in adf_dev_init()
110 set_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_init()
112 hw_data->enable_ints(accel_dev); in adf_dev_init()
113 hw_data->enable_error_correction(accel_dev); in adf_dev_init()
115 ret = hw_data->enable_pfvf_comms(accel_dev); in adf_dev_init()
126 if (service->event_hld(accel_dev, ADF_EVENT_INIT)) { in adf_dev_init()
127 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
132 set_bit(accel_dev->accel_id, service->init_status); in adf_dev_init()
149 int adf_dev_start(struct adf_accel_dev *accel_dev) in adf_dev_start() argument
151 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_start()
155 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
157 if (adf_ae_start(accel_dev)) { in adf_dev_start()
158 dev_err(&GET_DEV(accel_dev), "AE Start Failed\n"); in adf_dev_start()
161 set_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_start()
163 if (hw_data->send_admin_init(accel_dev)) { in adf_dev_start()
164 dev_err(&GET_DEV(accel_dev), "Failed to send init message\n"); in adf_dev_start()
170 hw_data->set_ssm_wdtimer(accel_dev); in adf_dev_start()
174 if (service->event_hld(accel_dev, ADF_EVENT_START)) { in adf_dev_start()
175 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
180 set_bit(accel_dev->accel_id, service->start_status); in adf_dev_start()
183 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
184 set_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
186 if (!list_empty(&accel_dev->crypto_list) && in adf_dev_start()
188 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
190 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
191 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
208 void adf_dev_stop(struct adf_accel_dev *accel_dev) in adf_dev_stop() argument
215 if (!adf_dev_started(accel_dev) && in adf_dev_stop()
216 !test_bit(ADF_STATUS_STARTING, &accel_dev->status)) in adf_dev_stop()
219 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_stop()
220 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_stop()
222 if (!list_empty(&accel_dev->crypto_list)) { in adf_dev_stop()
229 if (!test_bit(accel_dev->accel_id, service->start_status)) in adf_dev_stop()
231 ret = service->event_hld(accel_dev, ADF_EVENT_STOP); in adf_dev_stop()
233 clear_bit(accel_dev->accel_id, service->start_status); in adf_dev_stop()
236 clear_bit(accel_dev->accel_id, service->start_status); in adf_dev_stop()
243 if (test_bit(ADF_STATUS_AE_STARTED, &accel_dev->status)) { in adf_dev_stop()
244 if (adf_ae_stop(accel_dev)) in adf_dev_stop()
245 dev_err(&GET_DEV(accel_dev), "failed to stop AE\n"); in adf_dev_stop()
247 clear_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_stop()
259 void adf_dev_shutdown(struct adf_accel_dev *accel_dev) in adf_dev_shutdown() argument
261 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_shutdown()
266 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
271 if (test_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status)) { in adf_dev_shutdown()
272 adf_ae_fw_release(accel_dev); in adf_dev_shutdown()
273 clear_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_shutdown()
276 if (test_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status)) { in adf_dev_shutdown()
277 if (adf_ae_shutdown(accel_dev)) in adf_dev_shutdown()
278 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
282 &accel_dev->status); in adf_dev_shutdown()
287 if (!test_bit(accel_dev->accel_id, service->init_status)) in adf_dev_shutdown()
289 if (service->event_hld(accel_dev, ADF_EVENT_SHUTDOWN)) in adf_dev_shutdown()
290 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
294 clear_bit(accel_dev->accel_id, service->init_status); in adf_dev_shutdown()
297 hw_data->disable_iov(accel_dev); in adf_dev_shutdown()
299 if (test_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status)) { in adf_dev_shutdown()
300 hw_data->free_irq(accel_dev); in adf_dev_shutdown()
301 clear_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_shutdown()
305 if (!test_bit(ADF_STATUS_RESTARTING, &accel_dev->status)) in adf_dev_shutdown()
306 adf_cfg_del_all(accel_dev); in adf_dev_shutdown()
309 hw_data->exit_arb(accel_dev); in adf_dev_shutdown()
312 hw_data->exit_admin_comms(accel_dev); in adf_dev_shutdown()
314 adf_cleanup_etr_data(accel_dev); in adf_dev_shutdown()
315 adf_dev_restore(accel_dev); in adf_dev_shutdown()
319 int adf_dev_restarting_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarting_notify() argument
326 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTING)) in adf_dev_restarting_notify()
327 dev_err(&GET_DEV(accel_dev), in adf_dev_restarting_notify()
334 int adf_dev_restarted_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarted_notify() argument
341 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTED)) in adf_dev_restarted_notify()
342 dev_err(&GET_DEV(accel_dev), in adf_dev_restarted_notify()