Lines Matching refs:accel_dev

119 int adf_dev_init(struct adf_accel_dev *accel_dev)  in adf_dev_init()  argument
123 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_init()
126 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
131 if (!test_bit(ADF_STATUS_CONFIGURED, &accel_dev->status)) { in adf_dev_init()
132 dev_err(&GET_DEV(accel_dev), "Device not configured\n"); in adf_dev_init()
136 if (adf_init_etr_data(accel_dev)) { in adf_dev_init()
137 dev_err(&GET_DEV(accel_dev), "Failed initialize etr\n"); in adf_dev_init()
141 if (hw_data->init_admin_comms && hw_data->init_admin_comms(accel_dev)) { in adf_dev_init()
142 dev_err(&GET_DEV(accel_dev), "Failed initialize admin comms\n"); in adf_dev_init()
146 if (hw_data->init_arb && hw_data->init_arb(accel_dev)) { in adf_dev_init()
147 dev_err(&GET_DEV(accel_dev), "Failed initialize hw arbiter\n"); in adf_dev_init()
151 hw_data->enable_ints(accel_dev); in adf_dev_init()
153 if (adf_ae_init(accel_dev)) { in adf_dev_init()
154 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
158 set_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status); in adf_dev_init()
160 if (adf_ae_fw_load(accel_dev)) { in adf_dev_init()
161 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
165 set_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_init()
167 if (hw_data->alloc_irq(accel_dev)) { in adf_dev_init()
168 dev_err(&GET_DEV(accel_dev), "Failed to allocate interrupts\n"); in adf_dev_init()
171 set_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_init()
182 if (service->event_hld(accel_dev, ADF_EVENT_INIT)) { in adf_dev_init()
183 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
188 set_bit(accel_dev->accel_id, &service->init_status); in adf_dev_init()
194 if (service->event_hld(accel_dev, ADF_EVENT_INIT)) { in adf_dev_init()
195 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
200 set_bit(accel_dev->accel_id, &service->init_status); in adf_dev_init()
203 hw_data->enable_error_correction(accel_dev); in adf_dev_init()
219 int adf_dev_start(struct adf_accel_dev *accel_dev) in adf_dev_start() argument
224 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
226 if (adf_ae_start(accel_dev)) { in adf_dev_start()
227 dev_err(&GET_DEV(accel_dev), "AE Start Failed\n"); in adf_dev_start()
230 set_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_start()
236 if (service->event_hld(accel_dev, ADF_EVENT_START)) { in adf_dev_start()
237 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
242 set_bit(accel_dev->accel_id, &service->start_status); in adf_dev_start()
248 if (service->event_hld(accel_dev, ADF_EVENT_START)) { in adf_dev_start()
249 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
254 set_bit(accel_dev->accel_id, &service->start_status); in adf_dev_start()
257 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
258 set_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
261 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
263 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
264 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
281 int adf_dev_stop(struct adf_accel_dev *accel_dev) in adf_dev_stop() argument
288 if (!adf_dev_started(accel_dev) && in adf_dev_stop()
289 !test_bit(ADF_STATUS_STARTING, &accel_dev->status)) { in adf_dev_stop()
292 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_stop()
293 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_stop()
296 dev_err(&GET_DEV(accel_dev), in adf_dev_stop()
303 if (!test_bit(accel_dev->accel_id, &service->start_status)) in adf_dev_stop()
305 ret = service->event_hld(accel_dev, ADF_EVENT_STOP); in adf_dev_stop()
307 clear_bit(accel_dev->accel_id, &service->start_status); in adf_dev_stop()
310 clear_bit(accel_dev->accel_id, &service->start_status); in adf_dev_stop()
317 if (!test_bit(accel_dev->accel_id, &service->start_status)) in adf_dev_stop()
319 if (service->event_hld(accel_dev, ADF_EVENT_STOP)) in adf_dev_stop()
320 dev_err(&GET_DEV(accel_dev), in adf_dev_stop()
324 clear_bit(accel_dev->accel_id, &service->start_status); in adf_dev_stop()
330 if (test_bit(ADF_STATUS_AE_STARTED, &accel_dev->status)) { in adf_dev_stop()
331 if (adf_ae_stop(accel_dev)) in adf_dev_stop()
332 dev_err(&GET_DEV(accel_dev), "failed to stop AE\n"); in adf_dev_stop()
334 clear_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_stop()
348 void adf_dev_shutdown(struct adf_accel_dev *accel_dev) in adf_dev_shutdown() argument
350 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_shutdown()
355 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
360 if (test_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status)) { in adf_dev_shutdown()
361 adf_ae_fw_release(accel_dev); in adf_dev_shutdown()
362 clear_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_shutdown()
365 if (test_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status)) { in adf_dev_shutdown()
366 if (adf_ae_shutdown(accel_dev)) in adf_dev_shutdown()
367 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
371 &accel_dev->status); in adf_dev_shutdown()
378 if (!test_bit(accel_dev->accel_id, &service->init_status)) in adf_dev_shutdown()
380 if (service->event_hld(accel_dev, ADF_EVENT_SHUTDOWN)) in adf_dev_shutdown()
381 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
385 clear_bit(accel_dev->accel_id, &service->init_status); in adf_dev_shutdown()
391 if (!test_bit(accel_dev->accel_id, &service->init_status)) in adf_dev_shutdown()
393 if (service->event_hld(accel_dev, ADF_EVENT_SHUTDOWN)) in adf_dev_shutdown()
394 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
398 clear_bit(accel_dev->accel_id, &service->init_status); in adf_dev_shutdown()
401 if (test_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status)) { in adf_dev_shutdown()
402 hw_data->free_irq(accel_dev); in adf_dev_shutdown()
403 clear_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_shutdown()
407 if (!test_bit(ADF_STATUS_RESTARTING, &accel_dev->status)) in adf_dev_shutdown()
408 adf_cfg_del_all(accel_dev); in adf_dev_shutdown()
411 hw_data->exit_arb(accel_dev); in adf_dev_shutdown()
414 hw_data->exit_admin_comms(accel_dev); in adf_dev_shutdown()
416 adf_cleanup_etr_data(accel_dev); in adf_dev_shutdown()
420 int adf_dev_restarting_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarting_notify() argument
429 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTING)) in adf_dev_restarting_notify()
430 dev_err(&GET_DEV(accel_dev), in adf_dev_restarting_notify()
438 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTING)) in adf_dev_restarting_notify()
439 dev_err(&GET_DEV(accel_dev), in adf_dev_restarting_notify()
446 int adf_dev_restarted_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarted_notify() argument
455 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTED)) in adf_dev_restarted_notify()
456 dev_err(&GET_DEV(accel_dev), in adf_dev_restarted_notify()
464 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTED)) in adf_dev_restarted_notify()
465 dev_err(&GET_DEV(accel_dev), in adf_dev_restarted_notify()