ocxl_context
int ocxl_afu_irq_alloc(struct ocxl_context *ctx, int *irq_id)
static void afu_irq_free(struct afu_irq *irq, struct ocxl_context *ctx)
int ocxl_afu_irq_free(struct ocxl_context *ctx, int irq_id)
void ocxl_afu_irq_free_all(struct ocxl_context *ctx)
u64 ocxl_afu_irq_get_addr(struct ocxl_context *ctx, int irq_id)
int ocxl_irq_offset_to_id(struct ocxl_context *ctx, u64 offset)
u64 ocxl_irq_id_to_offset(struct ocxl_context *ctx, int irq_id)
int ocxl_irq_set_handler(struct ocxl_context *ctx, int irq_id,
static int setup_afu_irq(struct ocxl_context *ctx, struct afu_irq *irq)
struct ocxl_context *ctx;
u64 offset, struct ocxl_context *ctx)
struct ocxl_context *ctx = vma->vm_file->private_data;
static int check_mmap_afu_irq(struct ocxl_context *ctx,
static int check_mmap_mmio(struct ocxl_context *ctx,
int ocxl_context_mmap(struct ocxl_context *ctx, struct vm_area_struct *vma)
int ocxl_context_detach(struct ocxl_context *ctx)
struct ocxl_context *ctx;
void ocxl_context_free(struct ocxl_context *ctx)
struct ocxl_context *ctx = data;
int ocxl_context_attach(struct ocxl_context *ctx, u64 amr, struct mm_struct *mm)
int ocxl_context_alloc(struct ocxl_context **context, struct ocxl_afu *afu,
u64 offset, struct ocxl_context *ctx)
static long afu_ioctl_enable_p9_wait(struct ocxl_context *ctx,
static long afu_ioctl_get_features(struct ocxl_context *ctx,
struct ocxl_context *ctx = file->private_data;
struct ocxl_context *ctx = file->private_data;
static bool has_xsl_error(struct ocxl_context *ctx)
static bool afu_events_pending(struct ocxl_context *ctx)
struct ocxl_context *ctx = file->private_data;
static ssize_t append_xsl_error(struct ocxl_context *ctx,
struct ocxl_context *ctx = file->private_data;
struct ocxl_context *ctx = file->private_data;
struct ocxl_context *ctx;
static long afu_ioctl_attach(struct ocxl_context *ctx,
static long afu_ioctl_get_metadata(struct ocxl_context *ctx,
int ocxl_context_mmap(struct ocxl_context *ctx,
int ocxl_irq_offset_to_id(struct ocxl_context *ctx, u64 offset);
u64 ocxl_irq_id_to_offset(struct ocxl_context *ctx, int irq_id);
void ocxl_afu_irq_free_all(struct ocxl_context *ctx);
DEFINE_EVENT(ocxl_context, ocxl_context_add,
DEFINE_EVENT(ocxl_context, ocxl_context_remove,
DECLARE_EVENT_CLASS(ocxl_context,
int ocxl_context_alloc(struct ocxl_context **context, struct ocxl_afu *afu,
void ocxl_context_free(struct ocxl_context *ctx);
int ocxl_context_attach(struct ocxl_context *ctx, u64 amr,
int ocxl_context_detach(struct ocxl_context *ctx);
int ocxl_afu_irq_alloc(struct ocxl_context *ctx, int *irq_id);
int ocxl_afu_irq_free(struct ocxl_context *ctx, int irq_id);
u64 ocxl_afu_irq_get_addr(struct ocxl_context *ctx, int irq_id);
int ocxl_irq_set_handler(struct ocxl_context *ctx, int irq_id,
struct ocxl_context;