Lines Matching full:request
205 struct tape_request *request; in tape_3592_kekl_query() local
214 request = tape_alloc_request(2, sizeof(*order)); in tape_3592_kekl_query()
215 if (IS_ERR(request)) { in tape_3592_kekl_query()
216 rc = PTR_ERR(request); in tape_3592_kekl_query()
219 order = request->cpdata; in tape_3592_kekl_query()
223 request->op = TO_KEKL_QUERY; in tape_3592_kekl_query()
224 tape_ccw_cc(request->cpaddr, PERF_SUBSYS_FUNC, sizeof(*order), order); in tape_3592_kekl_query()
225 tape_ccw_end(request->cpaddr + 1, READ_SS_DATA, sizeof(*int_kekls), in tape_3592_kekl_query()
227 rc = tape_do_io(device, request); in tape_3592_kekl_query()
234 tape_free_request(request); in tape_3592_kekl_query()
278 struct tape_request *request; in tape_3592_kekl_set() local
288 request = tape_alloc_request(1, sizeof(*order)); in tape_3592_kekl_set()
289 if (IS_ERR(request)) in tape_3592_kekl_set()
290 return PTR_ERR(request); in tape_3592_kekl_set()
291 order = request->cpdata; in tape_3592_kekl_set()
297 request->op = TO_KEKL_SET; in tape_3592_kekl_set()
298 tape_ccw_end(request->cpaddr, PERF_SUBSYS_FUNC, sizeof(*order), order); in tape_3592_kekl_set()
300 return tape_do_io_free(device, request); in tape_3592_kekl_set()
330 struct tape_request *request; in __tape_3592_enable_crypt() local
336 request = tape_alloc_request(2, 72); in __tape_3592_enable_crypt()
337 if (IS_ERR(request)) in __tape_3592_enable_crypt()
338 return request; in __tape_3592_enable_crypt()
339 data = request->cpdata; in __tape_3592_enable_crypt()
350 request->op = TO_CRYPT_ON; in __tape_3592_enable_crypt()
351 tape_ccw_cc(request->cpaddr, MODE_SET_CB, 36, data); in __tape_3592_enable_crypt()
352 tape_ccw_end(request->cpaddr + 1, MODE_SET_CB, 36, data + 36); in __tape_3592_enable_crypt()
353 return request; in __tape_3592_enable_crypt()
358 struct tape_request *request; in tape_3592_enable_crypt() local
360 request = __tape_3592_enable_crypt(device); in tape_3592_enable_crypt()
361 if (IS_ERR(request)) in tape_3592_enable_crypt()
362 return PTR_ERR(request); in tape_3592_enable_crypt()
363 return tape_do_io_free(device, request); in tape_3592_enable_crypt()
368 struct tape_request *request; in tape_3592_enable_crypt_async() local
370 request = __tape_3592_enable_crypt(device); in tape_3592_enable_crypt_async()
371 if (!IS_ERR(request)) in tape_3592_enable_crypt_async()
372 tape_do_io_async_free(device, request); in tape_3592_enable_crypt_async()
380 struct tape_request *request; in __tape_3592_disable_crypt() local
386 request = tape_alloc_request(2, 72); in __tape_3592_disable_crypt()
387 if (IS_ERR(request)) in __tape_3592_disable_crypt()
388 return request; in __tape_3592_disable_crypt()
389 data = request->cpdata; in __tape_3592_disable_crypt()
397 request->op = TO_CRYPT_OFF; in __tape_3592_disable_crypt()
398 tape_ccw_cc(request->cpaddr, MODE_SET_CB, 36, data); in __tape_3592_disable_crypt()
399 tape_ccw_end(request->cpaddr + 1, MODE_SET_CB, 36, data + 36); in __tape_3592_disable_crypt()
401 return request; in __tape_3592_disable_crypt()
406 struct tape_request *request; in tape_3592_disable_crypt() local
408 request = __tape_3592_disable_crypt(device); in tape_3592_disable_crypt()
409 if (IS_ERR(request)) in tape_3592_disable_crypt()
410 return PTR_ERR(request); in tape_3592_disable_crypt()
411 return tape_do_io_free(device, request); in tape_3592_disable_crypt()
416 struct tape_request *request; in tape_3592_disable_crypt_async() local
418 request = __tape_3592_disable_crypt(device); in tape_3592_disable_crypt_async()
419 if (!IS_ERR(request)) in tape_3592_disable_crypt_async()
420 tape_do_io_async_free(device, request); in tape_3592_disable_crypt_async()
496 struct tape_request *request; in tape_3590_sense_medium() local
498 request = tape_alloc_request(1, 128); in tape_3590_sense_medium()
499 if (IS_ERR(request)) in tape_3590_sense_medium()
500 return PTR_ERR(request); in tape_3590_sense_medium()
501 request->op = TO_MSEN; in tape_3590_sense_medium()
502 tape_ccw_end(request->cpaddr, MEDIUM_SENSE, 128, request->cpdata); in tape_3590_sense_medium()
503 return tape_do_io_free(device, request); in tape_3590_sense_medium()
508 struct tape_request *request; in tape_3590_sense_medium_async() local
510 request = tape_alloc_request(1, 128); in tape_3590_sense_medium_async()
511 if (IS_ERR(request)) in tape_3590_sense_medium_async()
513 request->op = TO_MSEN; in tape_3590_sense_medium_async()
514 tape_ccw_end(request->cpaddr, MEDIUM_SENSE, 128, request->cpdata); in tape_3590_sense_medium_async()
515 tape_do_io_async_free(device, request); in tape_3590_sense_medium_async()
539 struct tape_request *request; in tape_3590_mtseek() local
542 request = tape_alloc_request(3, 4); in tape_3590_mtseek()
543 if (IS_ERR(request)) in tape_3590_mtseek()
544 return PTR_ERR(request); in tape_3590_mtseek()
545 request->op = TO_LBL; in tape_3590_mtseek()
546 tape_ccw_cc(request->cpaddr, MODE_SET_DB, 1, device->modeset_byte); in tape_3590_mtseek()
547 *(__u32 *) request->cpdata = count; in tape_3590_mtseek()
548 tape_ccw_cc(request->cpaddr + 1, LOCATE, 4, request->cpdata); in tape_3590_mtseek()
549 tape_ccw_end(request->cpaddr + 2, NOP, 0, NULL); in tape_3590_mtseek()
550 return tape_do_io_free(device, request); in tape_3590_mtseek()
559 struct tape_request *request) in tape_3590_read_opposite() argument
565 * transform the request to a read backward, followed by a in tape_3590_read_opposite()
568 request->op = TO_RBA; in tape_3590_read_opposite()
569 tape_ccw_cc(request->cpaddr, MODE_SET_DB, 1, device->modeset_byte); in tape_3590_read_opposite()
571 tape_ccw_cc_idal(request->cpaddr + 1, data->read_back_op, in tape_3590_read_opposite()
573 tape_ccw_cc(request->cpaddr + 2, FORSPACEBLOCK, 0, NULL); in tape_3590_read_opposite()
574 tape_ccw_end(request->cpaddr + 3, NOP, 0, NULL); in tape_3590_read_opposite()
583 * After a "read attention message" request there are two possible
596 struct tape_request *request; in tape_3590_read_attmsg_async() local
599 request = tape_alloc_request(3, 4096); in tape_3590_read_attmsg_async()
600 if (IS_ERR(request)) in tape_3590_read_attmsg_async()
602 request->op = TO_READ_ATTMSG; in tape_3590_read_attmsg_async()
603 buf = request->cpdata; in tape_3590_read_attmsg_async()
606 tape_ccw_cc(request->cpaddr, PERFORM_SS_FUNC, 12, buf); in tape_3590_read_attmsg_async()
607 tape_ccw_cc(request->cpaddr + 1, READ_SS_DATA, 4096 - 12, buf + 12); in tape_3590_read_attmsg_async()
608 tape_ccw_end(request->cpaddr + 2, NOP, 0, NULL); in tape_3590_read_attmsg_async()
609 tape_do_io_async_free(device, request); in tape_3590_read_attmsg_async()
707 tape_3590_done(struct tape_device *device, struct tape_request *request) in tape_3590_done() argument
710 DBF_EVENT(6, "%s done\n", tape_op_verbose[request->op]); in tape_3590_done()
712 switch (request->op) { in tape_3590_done()
733 tape_3590_med_state_set(device, request->cpdata); in tape_3590_done()
765 tape_3590_erp_succeeded(struct tape_device *device, struct tape_request *request) in tape_3590_erp_succeeded() argument
768 tape_op_verbose[request->op]); in tape_3590_erp_succeeded()
769 return tape_3590_done(device, request); in tape_3590_erp_succeeded()
776 tape_3590_erp_failed(struct tape_device *device, struct tape_request *request, in tape_3590_erp_failed() argument
780 tape_op_verbose[request->op]); in tape_3590_erp_failed()
781 tape_dump_sense_dbf(device, request, irb); in tape_3590_erp_failed()
789 tape_3590_erp_retry(struct tape_device *device, struct tape_request *request, in tape_3590_erp_retry() argument
792 DBF_EVENT(2, "Retry: %s\n", tape_op_verbose[request->op]); in tape_3590_erp_retry()
793 tape_dump_sense_dbf(device, request, irb); in tape_3590_erp_retry()
824 tape_3590_erp_basic(struct tape_device *device, struct tape_request *request, in tape_3590_erp_basic() argument
833 return tape_3590_erp_failed(device, request, irb, rc); in tape_3590_erp_basic()
835 return tape_3590_erp_succeeded(device, request); in tape_3590_erp_basic()
837 return tape_3590_erp_retry(device, request, irb); in tape_3590_erp_basic()
839 return tape_3590_erp_failed(device, request, irb, rc); in tape_3590_erp_basic()
851 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_buf_log() argument
857 return tape_3590_erp_basic(device, request, irb, -EIO); in tape_3590_erp_read_buf_log()
864 tape_3590_erp_swap(struct tape_device *device, struct tape_request *request, in tape_3590_erp_swap() argument
875 return tape_3590_erp_basic(device, request, irb, -EIO); in tape_3590_erp_swap()
883 struct tape_request *request, struct irb *irb) in tape_3590_erp_long_busy() argument
894 struct tape_request *request, struct irb *irb) in tape_3590_erp_special_interrupt() argument
896 return tape_3590_erp_basic(device, request, irb, -EIO); in tape_3590_erp_special_interrupt()
904 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_alternate() argument
925 tape_3590_read_opposite(device, request); in tape_3590_erp_read_alternate()
926 return tape_3590_erp_retry(device, request, irb); in tape_3590_erp_read_alternate()
934 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_opposite() argument
936 switch (request->op) { in tape_3590_erp_read_opposite()
942 tape_3590_read_opposite(device, request); in tape_3590_erp_read_opposite()
943 return tape_3590_erp_retry(device, request, irb); in tape_3590_erp_read_opposite()
946 return tape_3590_erp_failed(device, request, irb, -EIO); in tape_3590_erp_read_opposite()
949 return tape_3590_erp_failed(device, request, irb, -EIO); in tape_3590_erp_read_opposite()
1303 struct tape_request *request, struct irb *irb) in tape_3590_crypt_error() argument
1314 return tape_3590_erp_basic(device, request, irb, -EKEYREJECTED); in tape_3590_crypt_error()
1317 return tape_3590_erp_basic(device, request, irb, -ENOTCONN); in tape_3590_crypt_error()
1322 return tape_3590_erp_basic(device, request, irb, -ENOKEY); in tape_3590_crypt_error()
1331 tape_3590_unit_check(struct tape_device *device, struct tape_request *request, in tape_3590_unit_check() argument
1349 return tape_3590_erp_read_buf_log(device, request, irb); in tape_3590_unit_check()
1353 return tape_3590_erp_read_alternate(device, request, irb); in tape_3590_unit_check()
1358 return tape_3590_erp_special_interrupt(device, request, irb); in tape_3590_unit_check()
1360 return tape_3590_crypt_error(device, request, irb); in tape_3590_unit_check()
1365 return tape_3590_erp_basic(device, request, irb, -ENOSPC); in tape_3590_unit_check()
1369 return tape_3590_erp_basic(device, request, irb, -ENOSPC); in tape_3590_unit_check()
1372 return tape_3590_erp_basic(device, request, irb, -ENOSPC); in tape_3590_unit_check()
1377 return tape_3590_erp_basic(device, request, irb, -EIO); in tape_3590_unit_check()
1383 return tape_3590_erp_basic(device, request, irb, 0); in tape_3590_unit_check()
1392 return tape_3590_erp_basic(device, request, irb, -ENOMEDIUM); in tape_3590_unit_check()
1397 return tape_3590_erp_basic(device, request, irb, -EBUSY); in tape_3590_unit_check()
1400 return tape_3590_erp_long_busy(device, request, irb); in tape_3590_unit_check()
1406 return tape_3590_erp_swap(device, request, irb); in tape_3590_unit_check()
1411 return tape_3590_erp_read_opposite(device, request, in tape_3590_unit_check()
1414 return tape_3590_erp_basic(device, request, irb, -EIO); in tape_3590_unit_check()
1422 return tape_3590_erp_swap(device, request, irb); in tape_3590_unit_check()
1426 return tape_3590_erp_basic(device, request, irb, -EMEDIUMTYPE); in tape_3590_unit_check()
1432 return tape_3590_erp_basic(device, request, irb, -ENOMEDIUM); in tape_3590_unit_check()
1435 return tape_3590_erp_basic(device, request, irb, -EMEDIUMTYPE); in tape_3590_unit_check()
1438 return tape_3590_erp_basic(device, request, irb, -EPERM); in tape_3590_unit_check()
1442 return tape_3590_erp_basic(device, request, irb, -EPERM); in tape_3590_unit_check()
1444 return tape_3590_erp_basic(device, request, irb, -EIO); in tape_3590_unit_check()
1452 tape_3590_irq(struct tape_device *device, struct tape_request *request, in tape_3590_irq() argument
1455 if (request == NULL) in tape_3590_irq()
1460 (request->op == TO_WRI)) { in tape_3590_irq()
1463 return tape_3590_erp_failed(device, request, irb, -ENOSPC); in tape_3590_irq()
1467 return tape_3590_unit_check(device, request, irb); in tape_3590_irq()
1471 if (request->op == TO_FSB || request->op == TO_BSB) in tape_3590_irq()
1472 request->rescnt++; in tape_3590_irq()
1477 return tape_3590_done(device, request); in tape_3590_irq()
1491 tape_dump_sense_dbf(device, request, irb); in tape_3590_irq()
1500 struct tape_request *request; in tape_3590_read_dev_chars() local
1502 request = tape_alloc_request(1, sizeof(*rdc_data)); in tape_3590_read_dev_chars()
1503 if (IS_ERR(request)) in tape_3590_read_dev_chars()
1504 return PTR_ERR(request); in tape_3590_read_dev_chars()
1505 request->op = TO_RDC; in tape_3590_read_dev_chars()
1506 tape_ccw_end(request->cpaddr, CCW_CMD_RDC, sizeof(*rdc_data), in tape_3590_read_dev_chars()
1507 request->cpdata); in tape_3590_read_dev_chars()
1508 rc = tape_do_io(device, request); in tape_3590_read_dev_chars()
1510 memcpy(rdc_data, request->cpdata, sizeof(*rdc_data)); in tape_3590_read_dev_chars()
1511 tape_free_request(request); in tape_3590_read_dev_chars()