Lines Matching refs:work
150 struct cxl_ioctl_start_work work; in afu_ioctl_start_work() local
158 if (copy_from_user(&work, uwork, in afu_ioctl_start_work()
174 if (work.reserved1 || work.reserved2 || work.reserved3 || in afu_ioctl_start_work()
175 work.reserved4 || work.reserved5 || work.reserved6 || in afu_ioctl_start_work()
176 (work.flags & ~CXL_START_WORK_ALL)) { in afu_ioctl_start_work()
181 if (!(work.flags & CXL_START_WORK_NUM_IRQS)) in afu_ioctl_start_work()
182 work.num_interrupts = ctx->afu->pp_irqs; in afu_ioctl_start_work()
183 else if ((work.num_interrupts < ctx->afu->pp_irqs) || in afu_ioctl_start_work()
184 (work.num_interrupts > ctx->afu->irqs_max)) { in afu_ioctl_start_work()
188 if ((rc = afu_register_irqs(ctx, work.num_interrupts))) in afu_ioctl_start_work()
191 if (work.flags & CXL_START_WORK_AMR) in afu_ioctl_start_work()
192 amr = work.amr & mfspr(SPRN_UAMOR); in afu_ioctl_start_work()
194 ctx->mmio_err_ff = !!(work.flags & CXL_START_WORK_ERR_FF); in afu_ioctl_start_work()
204 trace_cxl_attach(ctx, work.work_element_descriptor, work.num_interrupts, amr); in afu_ioctl_start_work()
206 if ((rc = cxl_attach_process(ctx, false, work.work_element_descriptor, in afu_ioctl_start_work()