Lines Matching refs:req
87 static int macii_send_request(struct adb_request *req, int sync);
88 static int macii_write(struct adb_request *req);
124 static int request_is_queued(struct adb_request *req) { in request_is_queued() argument
130 if (cur == req) { in request_is_queued()
206 static struct adb_request req; in macii_queue_poll() local
216 BUG_ON(request_is_queued(&req)); in macii_queue_poll()
218 adb_request(&req, NULL, ADBREQ_NOSEND, 1, in macii_queue_poll()
221 req.sent = 0; in macii_queue_poll()
222 req.complete = 0; in macii_queue_poll()
223 req.reply_len = 0; in macii_queue_poll()
224 req.next = current_req; in macii_queue_poll()
227 current_req = &req; in macii_queue_poll()
229 current_req = &req; in macii_queue_poll()
230 last_req = &req; in macii_queue_poll()
235 static int macii_send_request(struct adb_request *req, int sync) in macii_send_request() argument
240 BUG_ON(request_is_queued(req)); in macii_send_request()
243 err = macii_write(req); in macii_send_request()
247 while (!req->complete) { in macii_send_request()
250 BUG_ON(request_is_queued(req)); in macii_send_request()
257 static int macii_write(struct adb_request *req) in macii_write() argument
259 if (req->nbytes < 2 || req->data[0] != ADB_PACKET || req->nbytes > 15) { in macii_write()
260 req->complete = 1; in macii_write()
264 req->next = NULL; in macii_write()
265 req->sent = 0; in macii_write()
266 req->complete = 0; in macii_write()
267 req->reply_len = 0; in macii_write()
270 last_req->next = req; in macii_write()
271 last_req = req; in macii_write()
273 current_req = req; in macii_write()
274 last_req = req; in macii_write()
283 static struct adb_request req; in macii_autopoll() local
298 adb_request(&req, NULL, ADBREQ_NOSEND, 1, in macii_autopoll()
300 err = macii_write(&req); in macii_autopoll()
328 static struct adb_request req; in macii_reset_bus() local
330 if (request_is_queued(&req)) in macii_reset_bus()
334 adb_request(&req, NULL, 0, 1, ADB_BUSRESET); in macii_reset_bus()
345 struct adb_request *req; in macii_start() local
347 req = current_req; in macii_start()
349 BUG_ON(req == NULL); in macii_start()
359 command_byte = req->data[1]; in macii_start()
363 via[SR] = req->data[1]; in macii_start()
391 struct adb_request *req; in macii_interrupt() local
435 req = current_req; in macii_interrupt()
436 if (data_index >= req->nbytes) { in macii_interrupt()
437 req->sent = 1; in macii_interrupt()
440 if (req->reply_expected) { in macii_interrupt()
443 req->complete = 1; in macii_interrupt()
444 current_req = req->next; in macii_interrupt()
445 if (req->done) (*req->done)(req); in macii_interrupt()
462 via[SR] = req->data[data_index++]; in macii_interrupt()
520 req = current_req; in macii_interrupt()
521 req->reply_len = reply_len; in macii_interrupt()
522 req->complete = 1; in macii_interrupt()
523 current_req = req->next; in macii_interrupt()
524 if (req->done) (*req->done)(req); in macii_interrupt()