Lines Matching refs:sc_transfer
390 } sc_transfer; member
1147 ccb = sc->sc_transfer.ccb; in umass_cancel_ccb()
1148 sc->sc_transfer.ccb = NULL; in umass_cancel_ccb()
1152 (sc->sc_transfer.callback) in umass_cancel_ccb()
1153 (sc, ccb, (sc->sc_transfer.data_len - in umass_cancel_ccb()
1154 sc->sc_transfer.actlen), STATUS_WIRE_FAILED); in umass_cancel_ccb()
1267 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_bbb_command_callback()
1274 (sc, ((sc->sc_transfer.dir == DIR_IN) ? UMASS_T_BBB_DATA_READ : in umass_t_bbb_command_callback()
1275 (sc->sc_transfer.dir == DIR_OUT) ? UMASS_T_BBB_DATA_WRITE : in umass_t_bbb_command_callback()
1303 USETDW(sc->cbw.dCBWDataTransferLength, sc->sc_transfer.data_len); in umass_t_bbb_command_callback()
1314 sc->cbw.bCBWFlags = ((sc->sc_transfer.dir == DIR_IN) ? in umass_t_bbb_command_callback()
1316 sc->cbw.bCBWLUN = sc->sc_transfer.lun; in umass_t_bbb_command_callback()
1318 if (sc->sc_transfer.cmd_len > sizeof(sc->cbw.CBWCDB)) { in umass_t_bbb_command_callback()
1319 sc->sc_transfer.cmd_len = sizeof(sc->cbw.CBWCDB); in umass_t_bbb_command_callback()
1322 sc->cbw.bCDBLength = sc->sc_transfer.cmd_len; in umass_t_bbb_command_callback()
1325 memcpy(sc->cbw.CBWCDB, sc->sc_transfer.cmd_data, in umass_t_bbb_command_callback()
1326 sc->sc_transfer.cmd_len); in umass_t_bbb_command_callback()
1330 sc->sc_transfer.cmd_len, 0, in umass_t_bbb_command_callback()
1332 sc->sc_transfer.cmd_len); in umass_t_bbb_command_callback()
1361 sc->sc_transfer.data_rem -= actlen; in umass_t_bbb_data_read_callback()
1362 sc->sc_transfer.data_ptr += actlen; in umass_t_bbb_data_read_callback()
1363 sc->sc_transfer.actlen += actlen; in umass_t_bbb_data_read_callback()
1367 sc->sc_transfer.data_rem = 0; in umass_t_bbb_data_read_callback()
1371 max_bulk, sc->sc_transfer.data_rem); in umass_t_bbb_data_read_callback()
1373 if (sc->sc_transfer.data_rem == 0) { in umass_t_bbb_data_read_callback()
1377 if (max_bulk > sc->sc_transfer.data_rem) { in umass_t_bbb_data_read_callback()
1378 max_bulk = sc->sc_transfer.data_rem; in umass_t_bbb_data_read_callback()
1380 usbd_xfer_set_timeout(xfer, sc->sc_transfer.data_timeout); in umass_t_bbb_data_read_callback()
1382 usbd_xfer_set_frame_data(xfer, 0, sc->sc_transfer.data_ptr, in umass_t_bbb_data_read_callback()
1416 sc->sc_transfer.data_rem -= actlen; in umass_t_bbb_data_write_callback()
1417 sc->sc_transfer.data_ptr += actlen; in umass_t_bbb_data_write_callback()
1418 sc->sc_transfer.actlen += actlen; in umass_t_bbb_data_write_callback()
1422 sc->sc_transfer.data_rem = 0; in umass_t_bbb_data_write_callback()
1426 max_bulk, sc->sc_transfer.data_rem); in umass_t_bbb_data_write_callback()
1428 if (sc->sc_transfer.data_rem == 0) { in umass_t_bbb_data_write_callback()
1432 if (max_bulk > sc->sc_transfer.data_rem) { in umass_t_bbb_data_write_callback()
1433 max_bulk = sc->sc_transfer.data_rem; in umass_t_bbb_data_write_callback()
1435 usbd_xfer_set_timeout(xfer, sc->sc_transfer.data_timeout); in umass_t_bbb_data_write_callback()
1437 usbd_xfer_set_frame_data(xfer, 0, sc->sc_transfer.data_ptr, in umass_t_bbb_data_write_callback()
1464 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_bbb_status_callback()
1492 residue = (sc->sc_transfer.data_len - in umass_t_bbb_status_callback()
1493 sc->sc_transfer.actlen); in umass_t_bbb_status_callback()
1495 if (residue > sc->sc_transfer.data_len) { in umass_t_bbb_status_callback()
1497 "to %d bytes\n", residue, sc->sc_transfer.data_len); in umass_t_bbb_status_callback()
1498 residue = sc->sc_transfer.data_len; in umass_t_bbb_status_callback()
1533 } else if (sc->sc_transfer.actlen > sc->sc_transfer.data_len) { in umass_t_bbb_status_callback()
1535 sc->sc_transfer.actlen, sc->sc_transfer.data_len); in umass_t_bbb_status_callback()
1541 sc->sc_transfer.ccb = NULL; in umass_t_bbb_status_callback()
1545 (sc->sc_transfer.callback) in umass_t_bbb_status_callback()
1548 sc->sc_transfer.ccb = NULL; in umass_t_bbb_status_callback()
1552 (sc->sc_transfer.callback) in umass_t_bbb_status_callback()
1584 sc->sc_transfer.lun = ccb->ccb_h.target_lun; in umass_command_start()
1592 sc->sc_transfer.dir = data_len ? dir : DIR_NONE; in umass_command_start()
1593 sc->sc_transfer.data_ptr = data_ptr; in umass_command_start()
1594 sc->sc_transfer.data_len = data_len; in umass_command_start()
1595 sc->sc_transfer.data_rem = data_len; in umass_command_start()
1596 sc->sc_transfer.data_timeout = (data_timeout + UMASS_TIMEOUT); in umass_command_start()
1598 sc->sc_transfer.actlen = 0; in umass_command_start()
1599 sc->sc_transfer.callback = callback; in umass_command_start()
1600 sc->sc_transfer.ccb = ccb; in umass_command_start()
1645 union ccb *ccb = sc->sc_transfer.ccb; in umass_cbi_start_status()
1647 sc->sc_transfer.ccb = NULL; in umass_cbi_start_status()
1651 (sc->sc_transfer.callback) in umass_cbi_start_status()
1652 (sc, ccb, (sc->sc_transfer.data_len - in umass_cbi_start_status()
1653 sc->sc_transfer.actlen), STATUS_CMD_UNKNOWN); in umass_cbi_start_status()
1786 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_cbi_command_callback()
1793 if (sc->sc_transfer.dir == DIR_NONE) { in umass_t_cbi_command_callback()
1797 (sc, (sc->sc_transfer.dir == DIR_IN) ? in umass_t_cbi_command_callback()
1818 req.wLength[0] = sc->sc_transfer.cmd_len; in umass_t_cbi_command_callback()
1824 usbd_copy_in(pc, 0, sc->sc_transfer.cmd_data, in umass_t_cbi_command_callback()
1825 sc->sc_transfer.cmd_len); in umass_t_cbi_command_callback()
1828 usbd_xfer_set_frame_len(xfer, 1, sc->sc_transfer.cmd_len); in umass_t_cbi_command_callback()
1830 sc->sc_transfer.cmd_len ? 2 : 1); in umass_t_cbi_command_callback()
1834 sc->sc_transfer.cmd_data, in umass_t_cbi_command_callback()
1835 sc->sc_transfer.cmd_len)); in umass_t_cbi_command_callback()
1849 (sc->sc_transfer.callback == &umass_cam_cb)) { in umass_t_cbi_command_callback()
1850 sc->sc_transfer.ccb = NULL; in umass_t_cbi_command_callback()
1851 (sc->sc_transfer.callback) in umass_t_cbi_command_callback()
1852 (sc, ccb, sc->sc_transfer.data_len, in umass_t_cbi_command_callback()
1874 sc->sc_transfer.data_rem -= actlen; in umass_t_cbi_data_read_callback()
1875 sc->sc_transfer.data_ptr += actlen; in umass_t_cbi_data_read_callback()
1876 sc->sc_transfer.actlen += actlen; in umass_t_cbi_data_read_callback()
1880 sc->sc_transfer.data_rem = 0; in umass_t_cbi_data_read_callback()
1884 max_bulk, sc->sc_transfer.data_rem); in umass_t_cbi_data_read_callback()
1886 if (sc->sc_transfer.data_rem == 0) { in umass_t_cbi_data_read_callback()
1890 if (max_bulk > sc->sc_transfer.data_rem) { in umass_t_cbi_data_read_callback()
1891 max_bulk = sc->sc_transfer.data_rem; in umass_t_cbi_data_read_callback()
1893 usbd_xfer_set_timeout(xfer, sc->sc_transfer.data_timeout); in umass_t_cbi_data_read_callback()
1895 usbd_xfer_set_frame_data(xfer, 0, sc->sc_transfer.data_ptr, in umass_t_cbi_data_read_callback()
1903 (sc->sc_transfer.callback != &umass_cam_cb)) { in umass_t_cbi_data_read_callback()
1930 sc->sc_transfer.data_rem -= actlen; in umass_t_cbi_data_write_callback()
1931 sc->sc_transfer.data_ptr += actlen; in umass_t_cbi_data_write_callback()
1932 sc->sc_transfer.actlen += actlen; in umass_t_cbi_data_write_callback()
1936 sc->sc_transfer.data_rem = 0; in umass_t_cbi_data_write_callback()
1940 max_bulk, sc->sc_transfer.data_rem); in umass_t_cbi_data_write_callback()
1942 if (sc->sc_transfer.data_rem == 0) { in umass_t_cbi_data_write_callback()
1946 if (max_bulk > sc->sc_transfer.data_rem) { in umass_t_cbi_data_write_callback()
1947 max_bulk = sc->sc_transfer.data_rem; in umass_t_cbi_data_write_callback()
1949 usbd_xfer_set_timeout(xfer, sc->sc_transfer.data_timeout); in umass_t_cbi_data_write_callback()
1951 usbd_xfer_set_frame_data(xfer, 0, sc->sc_transfer.data_ptr, in umass_t_cbi_data_write_callback()
1959 (sc->sc_transfer.callback != &umass_cam_cb)) { in umass_t_cbi_data_write_callback()
1979 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_cbi_status_callback()
1996 residue = (sc->sc_transfer.data_len - in umass_t_cbi_status_callback()
1997 sc->sc_transfer.actlen); in umass_t_cbi_status_callback()
2017 sc->sc_transfer.ccb = NULL; in umass_t_cbi_status_callback()
2021 (sc->sc_transfer.callback) in umass_t_cbi_status_callback()
2042 sc->sc_transfer.ccb = NULL; in umass_t_cbi_status_callback()
2046 (sc->sc_transfer.callback) in umass_t_cbi_status_callback()
2183 if (sc->sc_transfer.ccb) { in umass_cam_action()
2216 if (sc->sc_transfer.cmd_data[0] == INQUIRY) { in umass_cam_action()
2225 if ((sc->sc_transfer.cmd_data[1] & SI_EVPD) && in umass_cam_action()
2226 (sc->sc_transfer.cmd_data[2] == SVPD_UNIT_SERIAL_NUMBER) && in umass_cam_action()
2246 (sc->sc_transfer.cmd_data[1] & SI_EVPD)) { in umass_cam_action()
2279 } else if (sc->sc_transfer.cmd_data[0] == PREVENT_ALLOW) { in umass_cam_action()
2286 } else if (sc->sc_transfer.cmd_data[0] == SYNCHRONIZE_CACHE) { in umass_cam_action()
2473 sc->sc_transfer.cmd_data[0] == INQUIRY && in umass_cam_cb()
2474 (sc->sc_transfer.cmd_data[1] & SI_EVPD) && in umass_cam_cb()
2475 sc->sc_transfer.cmd_data[2] == SVPD_SUPPORTED_PAGE_LIST && in umass_cam_cb()
2505 (sc->sc_transfer.cmd_data[0] == INQUIRY)) { in umass_cam_cb()
2651 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_scsi_transform()
2656 sc->sc_transfer.cmd_len = cmd_len; in umass_scsi_transform()
2663 memset(sc->sc_transfer.cmd_data, 0, cmd_len); in umass_scsi_transform()
2664 sc->sc_transfer.cmd_data[0] = START_STOP_UNIT; in umass_scsi_transform()
2665 sc->sc_transfer.cmd_data[4] = SSS_START; in umass_scsi_transform()
2676 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_scsi_transform()
2677 sc->sc_transfer.cmd_data[4] = SHORT_INQUIRY_LENGTH; in umass_scsi_transform()
2683 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_scsi_transform()
2691 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_rbc_transform()
2717 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_rbc_transform()
2720 memset(sc->sc_transfer.cmd_data + cmd_len, in umass_rbc_transform()
2724 sc->sc_transfer.cmd_len = cmd_len; in umass_rbc_transform()
2740 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_ufi_transform()
2746 sc->sc_transfer.cmd_len = UFI_COMMAND_LENGTH; in umass_ufi_transform()
2749 memset(sc->sc_transfer.cmd_data, 0, UFI_COMMAND_LENGTH); in umass_ufi_transform()
2766 sc->sc_transfer.cmd_data[0] = START_STOP_UNIT; in umass_ufi_transform()
2767 sc->sc_transfer.cmd_data[4] = SSS_START; in umass_ufi_transform()
2806 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_ufi_transform()
2818 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_atapi_transform()
2824 sc->sc_transfer.cmd_len = ATAPI_COMMAND_LENGTH; in umass_atapi_transform()
2827 memset(sc->sc_transfer.cmd_data, 0, ATAPI_COMMAND_LENGTH); in umass_atapi_transform()
2841 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_atapi_transform()
2843 sc->sc_transfer.cmd_data[4] = SHORT_INQUIRY_LENGTH; in umass_atapi_transform()
2852 sc->sc_transfer.cmd_data[0] = START_STOP_UNIT; in umass_atapi_transform()
2853 sc->sc_transfer.cmd_data[4] = SSS_START; in umass_atapi_transform()
2902 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_atapi_transform()
2978 uint8_t dir = sc->sc_transfer.dir; in umass_cbi_dump_cmd()
2985 sc->sc_transfer.data_len, in umass_cbi_dump_cmd()