Lines Matching refs:req
111 struct raw3215_req *req; in raw3215_alloc_req() local
115 req = raw3215_freelist; in raw3215_alloc_req()
116 raw3215_freelist = req->next; in raw3215_alloc_req()
118 return req; in raw3215_alloc_req()
124 static inline void raw3215_free_req(struct raw3215_req *req) in raw3215_free_req() argument
128 if (req->type == RAW3215_FREE) in raw3215_free_req()
130 req->type = RAW3215_FREE; in raw3215_free_req()
132 req->next = raw3215_freelist; in raw3215_free_req()
133 raw3215_freelist = req; in raw3215_free_req()
145 struct raw3215_req *req; in raw3215_mk_read_req() local
149 req = raw->queued_read; in raw3215_mk_read_req()
150 if (req == NULL) { in raw3215_mk_read_req()
152 req = raw3215_alloc_req(); in raw3215_mk_read_req()
153 req->type = RAW3215_READ; in raw3215_mk_read_req()
154 req->info = raw; in raw3215_mk_read_req()
155 raw->queued_read = req; in raw3215_mk_read_req()
158 ccw = req->ccws; in raw3215_mk_read_req()
173 struct raw3215_req *req; in raw3215_mk_write_req() local
180 req = raw->queued_write; in raw3215_mk_write_req()
181 if (req == NULL) { in raw3215_mk_write_req()
183 req = raw3215_alloc_req(); in raw3215_mk_write_req()
184 req->type = RAW3215_WRITE; in raw3215_mk_write_req()
185 req->info = raw; in raw3215_mk_write_req()
186 raw->queued_write = req; in raw3215_mk_write_req()
188 raw->written -= req->len; in raw3215_mk_write_req()
191 ccw = req->ccws; in raw3215_mk_write_req()
192 req->start = (raw->head - raw->count + raw->written) & in raw3215_mk_write_req()
200 ix = req->start; in raw3215_mk_write_req()
206 len = ((ix - 1 - req->start) & (RAW3215_BUFFER_SIZE - 1)) + 1; in raw3215_mk_write_req()
209 req->len = len; in raw3215_mk_write_req()
213 req->delayable = (ix == raw->head) && (len < RAW3215_MIN_WRITE); in raw3215_mk_write_req()
215 ix = req->start; in raw3215_mk_write_req()
217 if (ccw > req->ccws) in raw3215_mk_write_req()
236 if (ccw > req->ccws) in raw3215_mk_write_req()
249 struct raw3215_req *req; in raw3215_start_io() local
252 req = raw->queued_read; in raw3215_start_io()
253 if (req != NULL && in raw3215_start_io()
257 res = ccw_device_start(raw->cdev, req->ccws, in raw3215_start_io()
258 (unsigned long) req, 0, 0); in raw3215_start_io()
261 raw->queued_read = req; in raw3215_start_io()
266 req = raw->queued_write; in raw3215_start_io()
267 if (req != NULL && in raw3215_start_io()
271 res = ccw_device_start(raw->cdev, req->ccws, in raw3215_start_io()
272 (unsigned long) req, 0, 0); in raw3215_start_io()
275 raw->queued_write = req; in raw3215_start_io()
368 struct raw3215_req *req; in raw3215_irq() local
374 req = (struct raw3215_req *) intparm; in raw3215_irq()
394 if ((raw = req->info) == NULL) in raw3215_irq()
396 if (req->type == RAW3215_READ) { in raw3215_irq()
398 req->residual = irb->scsw.cmd.count; in raw3215_irq()
404 if ((raw = req->info) == NULL) in raw3215_irq()
406 if (req->type == RAW3215_READ && tty != NULL) { in raw3215_irq()
409 count = 160 - req->residual; in raw3215_irq()
436 } else if (req->type == RAW3215_WRITE) { in raw3215_irq()
437 raw->count -= req->len; in raw3215_irq()
438 raw->written -= req->len; in raw3215_irq()
441 raw3215_free_req(req); in raw3215_irq()
452 if (req != NULL && req->type != RAW3215_FREE) { in raw3215_irq()
453 if (req->type == RAW3215_WRITE) { in raw3215_irq()
454 raw->count -= req->len; in raw3215_irq()
455 raw->written -= req->len; in raw3215_irq()
458 raw3215_free_req(req); in raw3215_irq()
907 struct raw3215_req *req; in con3215_init() local
924 req = kzalloc(sizeof(struct raw3215_req), GFP_KERNEL | GFP_DMA); in con3215_init()
925 req->next = raw3215_freelist; in con3215_init()
926 raw3215_freelist = req; in con3215_init()