Lines Matching refs:sc_transfer

390 	}	sc_transfer;  member
1149 ccb = sc->sc_transfer.ccb; in umass_cancel_ccb()
1150 sc->sc_transfer.ccb = NULL; in umass_cancel_ccb()
1154 (sc->sc_transfer.callback) in umass_cancel_ccb()
1155 (sc, ccb, (sc->sc_transfer.data_len - in umass_cancel_ccb()
1156 sc->sc_transfer.actlen), STATUS_WIRE_FAILED); in umass_cancel_ccb()
1268 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_bbb_command_callback()
1275 (sc, ((sc->sc_transfer.dir == DIR_IN) ? UMASS_T_BBB_DATA_READ : in umass_t_bbb_command_callback()
1276 (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()
1532 } else if (sc->sc_transfer.actlen > sc->sc_transfer.data_len) { in umass_t_bbb_status_callback()
1534 sc->sc_transfer.actlen, sc->sc_transfer.data_len); in umass_t_bbb_status_callback()
1540 sc->sc_transfer.ccb = NULL; in umass_t_bbb_status_callback()
1544 (sc->sc_transfer.callback) in umass_t_bbb_status_callback()
1547 sc->sc_transfer.ccb = NULL; in umass_t_bbb_status_callback()
1551 (sc->sc_transfer.callback) in umass_t_bbb_status_callback()
1583 sc->sc_transfer.lun = ccb->ccb_h.target_lun; in umass_command_start()
1591 sc->sc_transfer.dir = data_len ? dir : DIR_NONE; in umass_command_start()
1592 sc->sc_transfer.data_ptr = data_ptr; in umass_command_start()
1593 sc->sc_transfer.data_len = data_len; in umass_command_start()
1594 sc->sc_transfer.data_rem = data_len; in umass_command_start()
1595 sc->sc_transfer.data_timeout = (data_timeout + UMASS_TIMEOUT); in umass_command_start()
1597 sc->sc_transfer.actlen = 0; in umass_command_start()
1598 sc->sc_transfer.callback = callback; in umass_command_start()
1599 sc->sc_transfer.ccb = ccb; in umass_command_start()
1644 union ccb *ccb = sc->sc_transfer.ccb; in umass_cbi_start_status()
1646 sc->sc_transfer.ccb = NULL; in umass_cbi_start_status()
1650 (sc->sc_transfer.callback) in umass_cbi_start_status()
1651 (sc, ccb, (sc->sc_transfer.data_len - in umass_cbi_start_status()
1652 sc->sc_transfer.actlen), STATUS_CMD_UNKNOWN); in umass_cbi_start_status()
1785 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_cbi_command_callback()
1792 if (sc->sc_transfer.dir == DIR_NONE) { in umass_t_cbi_command_callback()
1796 (sc, (sc->sc_transfer.dir == DIR_IN) ? in umass_t_cbi_command_callback()
1816 req.wLength[0] = sc->sc_transfer.cmd_len; in umass_t_cbi_command_callback()
1822 usbd_copy_in(pc, 0, sc->sc_transfer.cmd_data, in umass_t_cbi_command_callback()
1823 sc->sc_transfer.cmd_len); in umass_t_cbi_command_callback()
1826 usbd_xfer_set_frame_len(xfer, 1, sc->sc_transfer.cmd_len); in umass_t_cbi_command_callback()
1828 sc->sc_transfer.cmd_len ? 2 : 1); in umass_t_cbi_command_callback()
1832 sc->sc_transfer.cmd_data, in umass_t_cbi_command_callback()
1833 sc->sc_transfer.cmd_len)); in umass_t_cbi_command_callback()
1847 (sc->sc_transfer.callback == &umass_cam_cb)) { in umass_t_cbi_command_callback()
1848 sc->sc_transfer.ccb = NULL; in umass_t_cbi_command_callback()
1849 (sc->sc_transfer.callback) in umass_t_cbi_command_callback()
1850 (sc, ccb, sc->sc_transfer.data_len, in umass_t_cbi_command_callback()
1872 sc->sc_transfer.data_rem -= actlen; in umass_t_cbi_data_read_callback()
1873 sc->sc_transfer.data_ptr += actlen; in umass_t_cbi_data_read_callback()
1874 sc->sc_transfer.actlen += actlen; in umass_t_cbi_data_read_callback()
1878 sc->sc_transfer.data_rem = 0; in umass_t_cbi_data_read_callback()
1882 max_bulk, sc->sc_transfer.data_rem); in umass_t_cbi_data_read_callback()
1884 if (sc->sc_transfer.data_rem == 0) { in umass_t_cbi_data_read_callback()
1888 if (max_bulk > sc->sc_transfer.data_rem) { in umass_t_cbi_data_read_callback()
1889 max_bulk = sc->sc_transfer.data_rem; in umass_t_cbi_data_read_callback()
1891 usbd_xfer_set_timeout(xfer, sc->sc_transfer.data_timeout); in umass_t_cbi_data_read_callback()
1893 usbd_xfer_set_frame_data(xfer, 0, sc->sc_transfer.data_ptr, in umass_t_cbi_data_read_callback()
1901 (sc->sc_transfer.callback != &umass_cam_cb)) { in umass_t_cbi_data_read_callback()
1928 sc->sc_transfer.data_rem -= actlen; in umass_t_cbi_data_write_callback()
1929 sc->sc_transfer.data_ptr += actlen; in umass_t_cbi_data_write_callback()
1930 sc->sc_transfer.actlen += actlen; in umass_t_cbi_data_write_callback()
1934 sc->sc_transfer.data_rem = 0; in umass_t_cbi_data_write_callback()
1938 max_bulk, sc->sc_transfer.data_rem); in umass_t_cbi_data_write_callback()
1940 if (sc->sc_transfer.data_rem == 0) { in umass_t_cbi_data_write_callback()
1944 if (max_bulk > sc->sc_transfer.data_rem) { in umass_t_cbi_data_write_callback()
1945 max_bulk = sc->sc_transfer.data_rem; in umass_t_cbi_data_write_callback()
1947 usbd_xfer_set_timeout(xfer, sc->sc_transfer.data_timeout); in umass_t_cbi_data_write_callback()
1949 usbd_xfer_set_frame_data(xfer, 0, sc->sc_transfer.data_ptr, in umass_t_cbi_data_write_callback()
1957 (sc->sc_transfer.callback != &umass_cam_cb)) { in umass_t_cbi_data_write_callback()
1977 union ccb *ccb = sc->sc_transfer.ccb; in umass_t_cbi_status_callback()
1994 residue = (sc->sc_transfer.data_len - in umass_t_cbi_status_callback()
1995 sc->sc_transfer.actlen); in umass_t_cbi_status_callback()
2014 sc->sc_transfer.ccb = NULL; in umass_t_cbi_status_callback()
2018 (sc->sc_transfer.callback) in umass_t_cbi_status_callback()
2037 sc->sc_transfer.ccb = NULL; in umass_t_cbi_status_callback()
2041 (sc->sc_transfer.callback) in umass_t_cbi_status_callback()
2189 if (sc->sc_transfer.ccb) { in umass_cam_action()
2221 if (sc->sc_transfer.cmd_data[0] == INQUIRY) { in umass_cam_action()
2230 if ((sc->sc_transfer.cmd_data[1] & SI_EVPD) && in umass_cam_action()
2231 (sc->sc_transfer.cmd_data[2] == SVPD_UNIT_SERIAL_NUMBER) && in umass_cam_action()
2251 (sc->sc_transfer.cmd_data[1] & SI_EVPD)) { in umass_cam_action()
2283 } else if (sc->sc_transfer.cmd_data[0] == PREVENT_ALLOW) { in umass_cam_action()
2290 } else if (sc->sc_transfer.cmd_data[0] == SYNCHRONIZE_CACHE) { in umass_cam_action()
2297 } else if (sc->sc_transfer.cmd_data[0] == START_STOP_UNIT) { in umass_cam_action()
2483 sc->sc_transfer.cmd_data[0] == INQUIRY && in umass_cam_cb()
2484 (sc->sc_transfer.cmd_data[1] & SI_EVPD) && in umass_cam_cb()
2485 sc->sc_transfer.cmd_data[2] == SVPD_SUPPORTED_PAGE_LIST && in umass_cam_cb()
2514 (sc->sc_transfer.cmd_data[0] == INQUIRY)) { in umass_cam_cb()
2660 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_scsi_transform()
2665 sc->sc_transfer.cmd_len = cmd_len; in umass_scsi_transform()
2672 memset(sc->sc_transfer.cmd_data, 0, cmd_len); in umass_scsi_transform()
2673 sc->sc_transfer.cmd_data[0] = START_STOP_UNIT; in umass_scsi_transform()
2674 sc->sc_transfer.cmd_data[4] = SSS_START; in umass_scsi_transform()
2685 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_scsi_transform()
2686 sc->sc_transfer.cmd_data[4] = SHORT_INQUIRY_LENGTH; in umass_scsi_transform()
2692 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_scsi_transform()
2700 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_rbc_transform()
2726 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_rbc_transform()
2729 memset(sc->sc_transfer.cmd_data + cmd_len, in umass_rbc_transform()
2733 sc->sc_transfer.cmd_len = cmd_len; in umass_rbc_transform()
2749 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_ufi_transform()
2755 sc->sc_transfer.cmd_len = UFI_COMMAND_LENGTH; in umass_ufi_transform()
2758 memset(sc->sc_transfer.cmd_data, 0, UFI_COMMAND_LENGTH); in umass_ufi_transform()
2775 sc->sc_transfer.cmd_data[0] = START_STOP_UNIT; in umass_ufi_transform()
2776 sc->sc_transfer.cmd_data[4] = SSS_START; in umass_ufi_transform()
2815 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_ufi_transform()
2827 (cmd_len > sizeof(sc->sc_transfer.cmd_data))) { in umass_atapi_transform()
2833 sc->sc_transfer.cmd_len = ATAPI_COMMAND_LENGTH; in umass_atapi_transform()
2836 memset(sc->sc_transfer.cmd_data, 0, ATAPI_COMMAND_LENGTH); in umass_atapi_transform()
2850 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_atapi_transform()
2852 sc->sc_transfer.cmd_data[4] = SHORT_INQUIRY_LENGTH; in umass_atapi_transform()
2861 sc->sc_transfer.cmd_data[0] = START_STOP_UNIT; in umass_atapi_transform()
2862 sc->sc_transfer.cmd_data[4] = SSS_START; in umass_atapi_transform()
2911 memcpy(sc->sc_transfer.cmd_data, cmd_ptr, cmd_len); in umass_atapi_transform()
2987 uint8_t dir = sc->sc_transfer.dir; in umass_cbi_dump_cmd()
2994 sc->sc_transfer.data_len, in umass_cbi_dump_cmd()