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