Lines Matching refs:request

74 static zx_status_t ax88772b_set_value(ax88772b_t* eth, uint8_t request, uint16_t value) {
76 request, value, 0, NULL, 0, ZX_TIME_INFINITE, NULL);
79 static zx_status_t ax88772b_get_value(ax88772b_t* eth, uint8_t request, uint16_t* value_addr) {
81 request, 0, 0, value_addr, sizeof(uint16_t), ZX_TIME_INFINITE, NULL);
156 static void ax88772b_recv(ax88772b_t* eth, usb_request_t* request) {
157 size_t len = request->response.actual;
159 zx_status_t status = usb_req_mmap(&eth->usb, request, (void*)&pkt);
195 // Send a netbuf to the USB interface using the provided request
196 static zx_status_t ax88772b_send(ax88772b_t* eth, usb_request_t* request, ethmac_netbuf_t* netbuf) {
213 usb_req_copy_to(&eth->usb, request, header, ETH_HEADER_SIZE, 0);
214 usb_req_copy_to(&eth->usb, request, netbuf->data, length, ETH_HEADER_SIZE);
215 request->header.length = length + ETH_HEADER_SIZE;
218 usb_request_queue(&eth->usb, request);
222 static void ax88772b_read_complete(usb_request_t* request, void* cookie) {
225 if (request->response.status == ZX_ERR_IO_NOT_PRESENT) {
226 usb_req_release(&eth->usb, request);
231 if (request->response.status == ZX_ERR_IO_REFUSED) {
234 } else if (request->response.status == ZX_ERR_IO_INVALID) {
241 } else if ((request->response.status == ZX_OK) && eth->ifc) {
242 ax88772b_recv(eth, request);
247 usb_request_queue(&eth->usb, request);
249 list_add_head(&eth->free_read_reqs, &request->node);
254 static void ax88772b_write_complete(usb_request_t* request, void* cookie) {
257 if (request->response.status == ZX_ERR_IO_NOT_PRESENT) {
258 usb_req_release(&eth->usb, request);
264 // If we have any netbufs that are waiting to be sent, reuse the request we just got back
267 zx_status_t send_result = ax88772b_send(eth, request, netbuf);
272 list_add_tail(&eth->free_write_reqs, &request->node);
275 if (request->response.status == ZX_ERR_IO_REFUSED) {
278 } else if (request->response.status == ZX_ERR_IO_INVALID) {
290 static void ax88772b_interrupt_complete(usb_request_t* request, void* cookie) {
293 if (request->response.status == ZX_ERR_IO_NOT_PRESENT) {
294 usb_req_release(&eth->usb, request);
299 if (request->response.status == ZX_OK && request->response.actual == sizeof(eth->status)) {
302 usb_req_copy_from(&eth->usb, request, status, sizeof(status), 0);
332 list_add_head(&eth->free_intr_reqs, &request->node);
355 usb_request_t* request = containerof(node, usb_request_t, node);
357 status = ax88772b_send(eth, request, netbuf);