Lines Matching refs:rq

136 	struct raw3270_request *rq;  in raw3270_request_alloc()  local
139 rq = kzalloc(sizeof(struct raw3270_request), GFP_KERNEL | GFP_DMA); in raw3270_request_alloc()
140 if (!rq) in raw3270_request_alloc()
145 rq->buffer = kmalloc(size, GFP_KERNEL | GFP_DMA); in raw3270_request_alloc()
146 if (!rq->buffer) { in raw3270_request_alloc()
147 kfree(rq); in raw3270_request_alloc()
151 rq->size = size; in raw3270_request_alloc()
152 INIT_LIST_HEAD(&rq->list); in raw3270_request_alloc()
157 rq->ccw.cda = __pa(rq->buffer); in raw3270_request_alloc()
158 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_alloc()
160 return rq; in raw3270_request_alloc()
167 raw3270_request_free (struct raw3270_request *rq) in raw3270_request_free() argument
169 kfree(rq->buffer); in raw3270_request_free()
170 kfree(rq); in raw3270_request_free()
177 raw3270_request_reset(struct raw3270_request *rq) in raw3270_request_reset() argument
179 BUG_ON(!list_empty(&rq->list)); in raw3270_request_reset()
180 rq->ccw.cmd_code = 0; in raw3270_request_reset()
181 rq->ccw.count = 0; in raw3270_request_reset()
182 rq->ccw.cda = __pa(rq->buffer); in raw3270_request_reset()
183 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_reset()
184 rq->rescnt = 0; in raw3270_request_reset()
185 rq->rc = 0; in raw3270_request_reset()
192 raw3270_request_set_cmd(struct raw3270_request *rq, u8 cmd) in raw3270_request_set_cmd() argument
194 rq->ccw.cmd_code = cmd; in raw3270_request_set_cmd()
201 raw3270_request_add_data(struct raw3270_request *rq, void *data, size_t size) in raw3270_request_add_data() argument
203 if (size + rq->ccw.count > rq->size) in raw3270_request_add_data()
205 memcpy(rq->buffer + rq->ccw.count, data, size); in raw3270_request_add_data()
206 rq->ccw.count += size; in raw3270_request_add_data()
214 raw3270_request_set_data(struct raw3270_request *rq, void *data, size_t size) in raw3270_request_set_data() argument
216 rq->ccw.cda = __pa(data); in raw3270_request_set_data()
217 rq->ccw.count = size; in raw3270_request_set_data()
224 raw3270_request_set_idal(struct raw3270_request *rq, struct idal_buffer *ib) in raw3270_request_set_idal() argument
226 rq->ccw.cda = __pa(ib->data); in raw3270_request_set_idal()
227 rq->ccw.count = ib->size; in raw3270_request_set_idal()
228 rq->ccw.flags |= CCW_FLAG_IDA; in raw3270_request_set_idal()
235 __raw3270_halt_io(struct raw3270 *rp, struct raw3270_request *rq) in __raw3270_halt_io() argument
240 if (raw3270_request_final(rq)) in __raw3270_halt_io()
245 rc = ccw_device_halt(rp->cdev, (long) rq); in __raw3270_halt_io()
247 rc = ccw_device_clear(rp->cdev, (long) rq); in __raw3270_halt_io()
260 struct raw3270_request *rq) in __raw3270_start() argument
262 rq->view = view; in __raw3270_start()
267 rq->rc = ccw_device_start(rp->cdev, &rq->ccw, in __raw3270_start()
268 (unsigned long) rq, 0, 0); in __raw3270_start()
269 if (rq->rc) { in __raw3270_start()
271 return rq->rc; in __raw3270_start()
274 list_add_tail(&rq->list, &rp->req_queue); in __raw3270_start()
288 raw3270_start(struct raw3270_view *view, struct raw3270_request *rq) in raw3270_start() argument
302 rc = __raw3270_start(rp, view, rq); in raw3270_start()
308 raw3270_start_locked(struct raw3270_view *view, struct raw3270_request *rq) in raw3270_start_locked() argument
320 rc = __raw3270_start(rp, view, rq); in raw3270_start_locked()
325 raw3270_start_irq(struct raw3270_view *view, struct raw3270_request *rq) in raw3270_start_irq() argument
330 rq->view = view; in raw3270_start_irq()
332 list_add_tail(&rq->list, &rp->req_queue); in raw3270_start_irq()
344 struct raw3270_request *rq; in raw3270_irq() local
350 rq = (struct raw3270_request *) intparm; in raw3270_irq()
351 view = rq ? rq->view : rp->view; in raw3270_irq()
356 rq->rc = -EIO; in raw3270_irq()
372 rc = view->fn->intv(view, rq, irb); in raw3270_irq()
386 if (!rq) in raw3270_irq()
388 rq->rc = ccw_device_start(rp->cdev, &rq->ccw, in raw3270_irq()
389 (unsigned long) rq, 0, 0); in raw3270_irq()
390 if (rq->rc == 0) in raw3270_irq()
394 if (!rq) in raw3270_irq()
396 __raw3270_halt_io(rp, rq); in raw3270_irq()
397 rq->rc = -EIO; in raw3270_irq()
402 if (rq) { in raw3270_irq()
403 BUG_ON(list_empty(&rq->list)); in raw3270_irq()
405 list_del_init(&rq->list); in raw3270_irq()
406 if (rq->callback) in raw3270_irq()
407 rq->callback(rq, rq->callback_data); in raw3270_irq()
416 rq = list_entry(rp->req_queue.next,struct raw3270_request,list); in raw3270_irq()
417 rq->rc = ccw_device_start(rp->cdev, &rq->ccw, in raw3270_irq()
418 (unsigned long) rq, 0, 0); in raw3270_irq()
419 if (rq->rc == 0) in raw3270_irq()
422 list_del_init(&rq->list); in raw3270_irq()
423 if (rq->callback) in raw3270_irq()
424 rq->callback(rq, rq->callback_data); in raw3270_irq()
574 raw3270_read_modified_cb(struct raw3270_request *rq, void *data) in raw3270_read_modified_cb() argument
576 struct raw3270 *rp = rq->view->dev; in raw3270_read_modified_cb()
621 raw3270_reset_device_cb(struct raw3270_request *rq, void *data) in raw3270_reset_device_cb() argument
623 struct raw3270 *rp = rq->view->dev; in raw3270_reset_device_cb()
627 if (rq->rc) { in raw3270_reset_device_cb()
689 raw3270_init_irq(struct raw3270_view *view, struct raw3270_request *rq, in raw3270_init_irq() argument
705 if (rq) { in raw3270_init_irq()
708 rq->rc = -EOPNOTSUPP; in raw3270_init_irq()
710 rq->rc = -EIO; in raw3270_init_irq()