Lines Matching refs:request
60 struct chsc_request *request = private->request; in chsc_subchannel_irq() local
68 if (!request) { in chsc_subchannel_irq()
73 private->request = NULL; in chsc_subchannel_irq()
74 memcpy(&request->irb, irb, sizeof(*irb)); in chsc_subchannel_irq()
76 complete(&request->completion); in chsc_subchannel_irq()
114 if (private->request) { in chsc_subchannel_remove()
115 complete(&private->request->completion); in chsc_subchannel_remove()
243 struct chsc_request *request) in chsc_async() argument
255 if (private->request) { in chsc_async()
273 private->request = request; in chsc_async()
302 static int chsc_examine_irb(struct chsc_request *request) in chsc_examine_irb() argument
306 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb()
308 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb()
309 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb()
310 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb()
314 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb()
316 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb()
318 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb()
320 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_CTRL_CHK) in chsc_examine_irb()
327 struct chsc_request *request; in chsc_ioctl_start() local
338 request = kzalloc(sizeof(*request), GFP_KERNEL); in chsc_ioctl_start()
339 if (!request) { in chsc_ioctl_start()
343 init_completion(&request->completion); in chsc_ioctl_start()
350 ret = chsc_async(chsc_area, request); in chsc_ioctl_start()
353 wait_for_completion(&request->completion); in chsc_ioctl_start()
354 ret = chsc_examine_irb(request); in chsc_ioctl_start()
363 kfree(request); in chsc_ioctl_start()
466 struct chsc_header request; in chsc_ioctl_info_channel_path() member
493 scpcd_area->request.length = 0x0010; in chsc_ioctl_info_channel_path()
494 scpcd_area->request.code = 0x0028; in chsc_ioctl_info_channel_path()
528 struct chsc_header request; in chsc_ioctl_info_cu() member
555 scucd_area->request.length = 0x0010; in chsc_ioctl_info_cu()
556 scucd_area->request.code = 0x0028; in chsc_ioctl_info_cu()
590 struct chsc_header request; in chsc_ioctl_info_sch_cu() member
618 sscud_area->request.length = 0x0010; in chsc_ioctl_info_sch_cu()
619 sscud_area->request.code = 0x0006; in chsc_ioctl_info_sch_cu()
654 struct chsc_header request; in chsc_ioctl_conf_info() member
680 sci_area->request.length = 0x0010; in chsc_ioctl_conf_info()
681 sci_area->request.code = 0x0012; in chsc_ioctl_conf_info()
714 struct chsc_header request; in chsc_ioctl_conf_comp_list() member
751 sccl_area->request.length = 0x0020; in chsc_ioctl_conf_comp_list()
752 sccl_area->request.code = 0x0030; in chsc_ioctl_conf_comp_list()
827 struct chsc_header request; in chsc_ioctl_dcal() member
851 sdcal_area->request.length = 0x0020; in chsc_ioctl_dcal()
852 sdcal_area->request.code = 0x0034; in chsc_ioctl_dcal()