Lines Matching refs:accel_dev

103 int adf_dev_init(struct adf_accel_dev *accel_dev)  in adf_dev_init()  argument
107 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_init()
110 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
115 if (!test_bit(ADF_STATUS_CONFIGURED, &accel_dev->status)) { in adf_dev_init()
116 dev_err(&GET_DEV(accel_dev), "Device not configured\n"); in adf_dev_init()
120 if (adf_init_etr_data(accel_dev)) { in adf_dev_init()
121 dev_err(&GET_DEV(accel_dev), "Failed initialize etr\n"); in adf_dev_init()
125 if (hw_data->init_admin_comms && hw_data->init_admin_comms(accel_dev)) { in adf_dev_init()
126 dev_err(&GET_DEV(accel_dev), "Failed initialize admin comms\n"); in adf_dev_init()
130 if (hw_data->init_arb && hw_data->init_arb(accel_dev)) { in adf_dev_init()
131 dev_err(&GET_DEV(accel_dev), "Failed initialize hw arbiter\n"); in adf_dev_init()
135 hw_data->enable_ints(accel_dev); in adf_dev_init()
137 if (adf_ae_init(accel_dev)) { in adf_dev_init()
138 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
142 set_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status); in adf_dev_init()
144 if (adf_ae_fw_load(accel_dev)) { in adf_dev_init()
145 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
149 set_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_init()
151 if (hw_data->alloc_irq(accel_dev)) { in adf_dev_init()
152 dev_err(&GET_DEV(accel_dev), "Failed to allocate interrupts\n"); in adf_dev_init()
155 set_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_init()
164 if (service->event_hld(accel_dev, ADF_EVENT_INIT)) { in adf_dev_init()
165 dev_err(&GET_DEV(accel_dev), in adf_dev_init()
170 set_bit(accel_dev->accel_id, service->init_status); in adf_dev_init()
173 hw_data->enable_error_correction(accel_dev); in adf_dev_init()
174 hw_data->enable_vf2pf_comms(accel_dev); in adf_dev_init()
190 int adf_dev_start(struct adf_accel_dev *accel_dev) in adf_dev_start() argument
192 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_start()
196 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
198 if (adf_ae_start(accel_dev)) { in adf_dev_start()
199 dev_err(&GET_DEV(accel_dev), "AE Start Failed\n"); in adf_dev_start()
202 set_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_start()
204 if (hw_data->send_admin_init(accel_dev)) { in adf_dev_start()
205 dev_err(&GET_DEV(accel_dev), "Failed to send init message\n"); in adf_dev_start()
211 if (service->event_hld(accel_dev, ADF_EVENT_START)) { in adf_dev_start()
212 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
217 set_bit(accel_dev->accel_id, service->start_status); in adf_dev_start()
220 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
221 set_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
223 if (!list_empty(&accel_dev->crypto_list) && in adf_dev_start()
225 dev_err(&GET_DEV(accel_dev), in adf_dev_start()
227 set_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_start()
228 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_start()
245 void adf_dev_stop(struct adf_accel_dev *accel_dev) in adf_dev_stop() argument
252 if (!adf_dev_started(accel_dev) && in adf_dev_stop()
253 !test_bit(ADF_STATUS_STARTING, &accel_dev->status)) in adf_dev_stop()
256 clear_bit(ADF_STATUS_STARTING, &accel_dev->status); in adf_dev_stop()
257 clear_bit(ADF_STATUS_STARTED, &accel_dev->status); in adf_dev_stop()
259 if (!list_empty(&accel_dev->crypto_list)) { in adf_dev_stop()
266 if (!test_bit(accel_dev->accel_id, service->start_status)) in adf_dev_stop()
268 ret = service->event_hld(accel_dev, ADF_EVENT_STOP); in adf_dev_stop()
270 clear_bit(accel_dev->accel_id, service->start_status); in adf_dev_stop()
273 clear_bit(accel_dev->accel_id, service->start_status); in adf_dev_stop()
280 if (test_bit(ADF_STATUS_AE_STARTED, &accel_dev->status)) { in adf_dev_stop()
281 if (adf_ae_stop(accel_dev)) in adf_dev_stop()
282 dev_err(&GET_DEV(accel_dev), "failed to stop AE\n"); in adf_dev_stop()
284 clear_bit(ADF_STATUS_AE_STARTED, &accel_dev->status); in adf_dev_stop()
296 void adf_dev_shutdown(struct adf_accel_dev *accel_dev) in adf_dev_shutdown() argument
298 struct adf_hw_device_data *hw_data = accel_dev->hw_device; in adf_dev_shutdown()
303 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
308 if (test_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status)) { in adf_dev_shutdown()
309 adf_ae_fw_release(accel_dev); in adf_dev_shutdown()
310 clear_bit(ADF_STATUS_AE_UCODE_LOADED, &accel_dev->status); in adf_dev_shutdown()
313 if (test_bit(ADF_STATUS_AE_INITIALISED, &accel_dev->status)) { in adf_dev_shutdown()
314 if (adf_ae_shutdown(accel_dev)) in adf_dev_shutdown()
315 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
319 &accel_dev->status); in adf_dev_shutdown()
324 if (!test_bit(accel_dev->accel_id, service->init_status)) in adf_dev_shutdown()
326 if (service->event_hld(accel_dev, ADF_EVENT_SHUTDOWN)) in adf_dev_shutdown()
327 dev_err(&GET_DEV(accel_dev), in adf_dev_shutdown()
331 clear_bit(accel_dev->accel_id, service->init_status); in adf_dev_shutdown()
334 hw_data->disable_iov(accel_dev); in adf_dev_shutdown()
336 if (test_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status)) { in adf_dev_shutdown()
337 hw_data->free_irq(accel_dev); in adf_dev_shutdown()
338 clear_bit(ADF_STATUS_IRQ_ALLOCATED, &accel_dev->status); in adf_dev_shutdown()
342 if (!test_bit(ADF_STATUS_RESTARTING, &accel_dev->status)) in adf_dev_shutdown()
343 adf_cfg_del_all(accel_dev); in adf_dev_shutdown()
346 hw_data->exit_arb(accel_dev); in adf_dev_shutdown()
349 hw_data->exit_admin_comms(accel_dev); in adf_dev_shutdown()
351 adf_cleanup_etr_data(accel_dev); in adf_dev_shutdown()
352 adf_dev_restore(accel_dev); in adf_dev_shutdown()
356 int adf_dev_restarting_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarting_notify() argument
363 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTING)) in adf_dev_restarting_notify()
364 dev_err(&GET_DEV(accel_dev), in adf_dev_restarting_notify()
371 int adf_dev_restarted_notify(struct adf_accel_dev *accel_dev) in adf_dev_restarted_notify() argument
378 if (service->event_hld(accel_dev, ADF_EVENT_RESTARTED)) in adf_dev_restarted_notify()
379 dev_err(&GET_DEV(accel_dev), in adf_dev_restarted_notify()