Lines Matching refs:work
138 struct cxl_ioctl_start_work work; in afu_ioctl_start_work() local
146 if (copy_from_user(&work, uwork, in afu_ioctl_start_work()
162 if (work.reserved1 || work.reserved2 || work.reserved3 || in afu_ioctl_start_work()
163 work.reserved4 || work.reserved5 || work.reserved6 || in afu_ioctl_start_work()
164 (work.flags & ~CXL_START_WORK_ALL)) { in afu_ioctl_start_work()
169 if (!(work.flags & CXL_START_WORK_NUM_IRQS)) in afu_ioctl_start_work()
170 work.num_interrupts = ctx->afu->pp_irqs; in afu_ioctl_start_work()
171 else if ((work.num_interrupts < ctx->afu->pp_irqs) || in afu_ioctl_start_work()
172 (work.num_interrupts > ctx->afu->irqs_max)) { in afu_ioctl_start_work()
176 if ((rc = afu_register_irqs(ctx, work.num_interrupts))) in afu_ioctl_start_work()
179 if (work.flags & CXL_START_WORK_AMR) in afu_ioctl_start_work()
180 amr = work.amr & mfspr(SPRN_UAMOR); in afu_ioctl_start_work()
190 trace_cxl_attach(ctx, work.work_element_descriptor, work.num_interrupts, amr); in afu_ioctl_start_work()
192 if ((rc = cxl_attach_process(ctx, false, work.work_element_descriptor, in afu_ioctl_start_work()