Lines Matching refs:accel

46 	struct adf_uio_control_accel *accel;  member
55 struct adf_uio_control_accel *accel = NULL; in adf_release_bundle() local
62 accel = handle->accel; in adf_release_bundle()
63 bundle = &accel->bundle[handle->bundle]; in adf_release_bundle()
66 adf_uio_do_cleanup_orphan(bundle->hardware_bundle_number, accel); in adf_release_bundle()
82 mtx_lock(&accel->lock); in adf_release_bundle()
95 adf_dev_put(accel->accel_dev); in adf_release_bundle()
96 accel->num_handles--; in adf_release_bundle()
98 if (!accel->num_handles) { in adf_release_bundle()
99 cv_broadcast(&accel->cleanup_ok); in adf_release_bundle()
103 mtx_unlock(&accel->lock); in adf_release_bundle()
109 struct adf_uio_control_accel *accel = NULL; in adf_add_mem_fd() local
127 accel = accel_dev->accel; in adf_add_mem_fd()
128 mtx_lock(&accel->lock); in adf_add_mem_fd()
131 mtx_unlock(&accel->lock); in adf_add_mem_fd()
135 mtx_lock(&accel->lock); in adf_add_mem_fd()
150 mtx_unlock(&accel->lock); in adf_add_mem_fd()
159 struct adf_uio_control_accel *accel = accel_dev->accel; in adf_uio_map_bar() local
172 accel->bar->base_addr + offset + in adf_uio_map_bar()
191 struct adf_uio_control_accel *accel = NULL; in adf_alloc_bundle() local
200 accel = accel_dev->accel; in adf_alloc_bundle()
202 handle->accel = accel; in adf_alloc_bundle()
205 mtx_lock(&accel->lock); in adf_alloc_bundle()
207 accel->num_handles++; in adf_alloc_bundle()
208 mtx_unlock(&accel->lock); in adf_alloc_bundle()
264 struct adf_uio_control_accel *accel = NULL; in adf_uio_mmap_single() local
273 if (!handle->accel) { in adf_uio_mmap_single()
277 accel = handle->accel; in adf_uio_mmap_single()
279 if (!accel->accel_dev) { in adf_uio_mmap_single()
284 bundle = &accel->bundle[handle->bundle]; in adf_uio_mmap_single()
305 adf_uio_init_accel_ctrl(struct adf_uio_control_accel *accel, in adf_uio_init_accel_ctrl() argument
313 accel->nb_bundles = nb_bundles; in adf_uio_init_accel_ctrl()
314 accel->total_used_bundles = 0; in adf_uio_init_accel_ctrl()
318 bundle = &accel->bundle[i]; in adf_uio_init_accel_ctrl()
325 priv->accel = accel; in adf_uio_init_accel_ctrl()
329 if (!accel->bar) in adf_uio_init_accel_ctrl()
332 bundle->csr_addr = (void *)accel->bar->virt_addr; in adf_uio_init_accel_ctrl()
340 adf_uio_init_bundle_dev(struct adf_uio_control_accel *accel, in adf_uio_init_bundle_dev() argument
348 bundle = &accel->bundle[i]; in adf_uio_init_bundle_dev()
362 struct adf_uio_control_accel *accel = NULL; in adf_uio_register() local
379 accel = malloc(sizeof(*accel) + in adf_uio_register()
384 mtx_init(&accel->lock, "qat uio", NULL, MTX_DEF); in adf_uio_register()
385 accel->accel_dev = accel_dev; in adf_uio_register()
386 accel->bar = accel_dev->accel_pci_dev.pci_bars + in adf_uio_register()
389 adf_uio_init_accel_ctrl(accel, accel_dev, nb_bundles); in adf_uio_register()
390 accel->cdev = make_dev(&adf_uio_cdevsw, in adf_uio_register()
397 if (accel->cdev == NULL) { in adf_uio_register()
398 mtx_destroy(&accel->lock); in adf_uio_register()
401 accel->cdev->si_drv1 = accel_dev; in adf_uio_register()
402 accel_dev->accel = accel; in adf_uio_register()
403 cv_init(&accel->cleanup_ok, "uio_accel_cv"); in adf_uio_register()
405 adf_uio_init_bundle_dev(accel, accel_dev, nb_bundles); in adf_uio_register()
409 free(accel, M_QAT); in adf_uio_register()
417 struct adf_uio_control_accel *accel = accel_dev->accel; in adf_uio_remove() local
421 if (accel) { in adf_uio_remove()
423 for (i = 0; i < accel->nb_bundles; i++) { in adf_uio_remove()
424 bundle = &accel->bundle[i]; in adf_uio_remove()
428 destroy_dev(accel->cdev); in adf_uio_remove()
429 mtx_lock(&accel->lock); in adf_uio_remove()
430 while (accel->num_handles) { in adf_uio_remove()
431 cv_timedwait_sig(&accel->cleanup_ok, in adf_uio_remove()
432 &accel->lock, in adf_uio_remove()
435 mtx_unlock(&accel->lock); in adf_uio_remove()
436 mtx_destroy(&accel->lock); in adf_uio_remove()
437 cv_destroy(&accel->cleanup_ok); in adf_uio_remove()
438 free(accel, M_QAT); in adf_uio_remove()
439 accel_dev->accel = NULL; in adf_uio_remove()