Lines Matching refs:req
177 static int cuda_send_request(struct adb_request *req, int sync);
187 static int cuda_write(struct adb_request *req);
189 int cuda_request(struct adb_request *req,
206 struct adb_request req;
225 cuda_request(&req, NULL, 3, CUDA_PACKET, CUDA_AUTOPOLL, 1);
226 while (!req.complete)
234 struct adb_request req;
278 cuda_request(&req, NULL, 3, CUDA_PACKET, CUDA_AUTOPOLL, 1);
279 while (!req.complete)
427 cuda_send_request(struct adb_request *req, int sync)
432 req->complete = 1;
436 req->reply_expected = 1;
438 i = cuda_write(req);
443 while (!req->complete)
454 struct adb_request req;
459 cuda_request(&req, NULL, 3, CUDA_PACKET, CUDA_AUTOPOLL, (devs? 1: 0));
460 while (!req.complete)
469 struct adb_request req;
474 cuda_request(&req, NULL, 2, ADB_PACKET, 0); /* maybe? */
475 while (!req.complete)
483 cuda_request(struct adb_request *req, void (*done)(struct adb_request *),
490 req->complete = 1;
494 req->nbytes = nbytes;
495 req->done = done;
498 req->data[i] = va_arg(list, int);
500 req->reply_expected = 1;
501 return cuda_write(req);
506 cuda_write(struct adb_request *req)
510 if (req->nbytes < 2 || req->data[0] > CUDA_PACKET) {
511 req->complete = 1;
514 req->next = NULL;
515 req->sent = 0;
516 req->complete = 0;
517 req->reply_len = 0;
521 last_req->next = req;
522 last_req = req;
524 current_req = req;
525 last_req = req;
568 struct adb_request *req = NULL;
636 req = current_req;
637 if (data_index >= req->nbytes) {
641 req->sent = 1;
642 if (req->reply_expected) {
645 current_req = req->next;
652 out_8(&via[SR], req->data[data_index++]);
686 req = current_req;
687 req->reply_len = reply_ptr - req->reply;
688 if (req->data[0] == ADB_PACKET) {
690 if (req->reply_len <= 2 || (req->reply[1] & 2) != 0) {
692 req->reply_len = 0;
695 req->reply_len -= 2;
696 memmove(req->reply, req->reply + 2, req->reply_len);
699 current_req = req->next;
726 if (complete && req) {
727 void (*done)(struct adb_request *) = req->done;
729 req->complete = 1;
731 * struct request will survive to setting req->complete to 1
734 (*done)(req);
777 struct adb_request req;
780 if (cuda_request(&req, NULL, 2, CUDA_PACKET, CUDA_GET_TIME) < 0)
782 while (!req.complete)
784 if (req.reply_len != 7)
785 pr_err("%s: got %d byte reply\n", __func__, req.reply_len);
786 now = (req.reply[3] << 24) + (req.reply[4] << 16) +
787 (req.reply[5] << 8) + req.reply[6];
794 struct adb_request req;
797 if (cuda_request(&req, NULL, 6, CUDA_PACKET, CUDA_SET_TIME,
800 while (!req.complete)
802 if ((req.reply_len != 3) && (req.reply_len != 7))
803 pr_err("%s: got %d byte reply\n", __func__, req.reply_len);