Lines Matching refs:afu
22 struct ocxl_afu *afu; in find_and_get_afu() local
33 afu = idr_find(&minors_idr, afu_minor); in find_and_get_afu()
34 if (afu) in find_and_get_afu()
35 ocxl_afu_get(afu); in find_and_get_afu()
36 return afu; in find_and_get_afu()
39 static int allocate_afu_minor(struct ocxl_afu *afu) in allocate_afu_minor() argument
44 minor = idr_alloc(&minors_idr, afu, 0, OCXL_NUM_MINORS, GFP_KERNEL); in allocate_afu_minor()
49 static void free_afu_minor(struct ocxl_afu *afu) in free_afu_minor() argument
52 idr_remove(&minors_idr, MINOR(afu->dev.devt)); in free_afu_minor()
58 struct ocxl_afu *afu; in afu_open() local
64 afu = find_and_get_afu(inode->i_rdev); in afu_open()
65 if (!afu) in afu_open()
74 rc = ocxl_context_init(ctx, afu, inode->i_mapping); in afu_open()
78 ocxl_afu_put(afu); in afu_open()
82 ocxl_afu_put(afu); in afu_open()
116 arg.afu_version_major = ctx->afu->config.version_major; in afu_ioctl_get_metadata()
117 arg.afu_version_minor = ctx->afu->config.version_minor; in afu_ioctl_get_metadata()
119 arg.pp_mmio_size = ctx->afu->config.pp_mmio_stride; in afu_ioctl_get_metadata()
120 arg.global_mmio_size = ctx->afu->config.global_mmio_size; in afu_ioctl_get_metadata()
155 struct link *link = ctx->afu->fn->link; in afu_ioctl_enable_p9_wait()
472 int ocxl_create_cdev(struct ocxl_afu *afu) in ocxl_create_cdev() argument
476 cdev_init(&afu->cdev, &ocxl_afu_fops); in ocxl_create_cdev()
477 rc = cdev_add(&afu->cdev, afu->dev.devt, 1); in ocxl_create_cdev()
479 dev_err(&afu->dev, "Unable to add afu char device: %d\n", rc); in ocxl_create_cdev()
485 void ocxl_destroy_cdev(struct ocxl_afu *afu) in ocxl_destroy_cdev() argument
487 cdev_del(&afu->cdev); in ocxl_destroy_cdev()
490 int ocxl_register_afu(struct ocxl_afu *afu) in ocxl_register_afu() argument
494 minor = allocate_afu_minor(afu); in ocxl_register_afu()
497 afu->dev.devt = MKDEV(MAJOR(ocxl_dev), minor); in ocxl_register_afu()
498 afu->dev.class = ocxl_class; in ocxl_register_afu()
499 return device_register(&afu->dev); in ocxl_register_afu()
502 void ocxl_unregister_afu(struct ocxl_afu *afu) in ocxl_unregister_afu() argument
504 free_afu_minor(afu); in ocxl_unregister_afu()