Lines Matching refs:cgc

714 static int pkt_generic_packet(struct pktcdvd_device *pd, struct packet_command *cgc)  in pkt_generic_packet()  argument
721 rq = scsi_alloc_request(q, (cgc->data_direction == CGC_DATA_WRITE) ? in pkt_generic_packet()
727 if (cgc->buflen) { in pkt_generic_packet()
728 ret = blk_rq_map_kern(q, rq, cgc->buffer, cgc->buflen, in pkt_generic_packet()
734 scmd->cmd_len = COMMAND_SIZE(cgc->cmd[0]); in pkt_generic_packet()
735 memcpy(scmd->cmnd, cgc->cmd, CDROM_PACKET_SIZE); in pkt_generic_packet()
738 if (cgc->quiet) in pkt_generic_packet()
765 struct packet_command *cgc) in pkt_dump_sense() argument
768 struct scsi_sense_hdr *sshdr = cgc->sshdr; in pkt_dump_sense()
772 CDROM_PACKET_SIZE, cgc->cmd, in pkt_dump_sense()
776 dev_err(ddev, "%*ph - no sense\n", CDROM_PACKET_SIZE, cgc->cmd); in pkt_dump_sense()
784 struct packet_command cgc; in pkt_flush_cache() local
786 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_flush_cache()
787 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in pkt_flush_cache()
788 cgc.quiet = 1; in pkt_flush_cache()
795 cgc.cmd[1] = 1 << 1; in pkt_flush_cache()
797 return pkt_generic_packet(pd, &cgc); in pkt_flush_cache()
806 struct packet_command cgc; in pkt_set_speed() local
810 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_set_speed()
811 cgc.sshdr = &sshdr; in pkt_set_speed()
812 cgc.cmd[0] = GPCMD_SET_SPEED; in pkt_set_speed()
813 put_unaligned_be16(read_speed, &cgc.cmd[2]); in pkt_set_speed()
814 put_unaligned_be16(write_speed, &cgc.cmd[4]); in pkt_set_speed()
816 ret = pkt_generic_packet(pd, &cgc); in pkt_set_speed()
818 pkt_dump_sense(pd, &cgc); in pkt_set_speed()
1513 static int pkt_mode_sense(struct pktcdvd_device *pd, struct packet_command *cgc, int page_code, int… in pkt_mode_sense() argument
1515 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in pkt_mode_sense()
1517 cgc->cmd[0] = GPCMD_MODE_SENSE_10; in pkt_mode_sense()
1518 cgc->cmd[2] = page_code | (page_control << 6); in pkt_mode_sense()
1519 put_unaligned_be16(cgc->buflen, &cgc->cmd[7]); in pkt_mode_sense()
1520 cgc->data_direction = CGC_DATA_READ; in pkt_mode_sense()
1521 return pkt_generic_packet(pd, cgc); in pkt_mode_sense()
1524 static int pkt_mode_select(struct pktcdvd_device *pd, struct packet_command *cgc) in pkt_mode_select() argument
1526 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in pkt_mode_select()
1527 memset(cgc->buffer, 0, 2); in pkt_mode_select()
1528 cgc->cmd[0] = GPCMD_MODE_SELECT_10; in pkt_mode_select()
1529 cgc->cmd[1] = 0x10; /* PF */ in pkt_mode_select()
1530 put_unaligned_be16(cgc->buflen, &cgc->cmd[7]); in pkt_mode_select()
1531 cgc->data_direction = CGC_DATA_WRITE; in pkt_mode_select()
1532 return pkt_generic_packet(pd, cgc); in pkt_mode_select()
1537 struct packet_command cgc; in pkt_get_disc_info() local
1541 init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ); in pkt_get_disc_info()
1542 cgc.cmd[0] = GPCMD_READ_DISC_INFO; in pkt_get_disc_info()
1543 cgc.cmd[8] = cgc.buflen = 2; in pkt_get_disc_info()
1544 cgc.quiet = 1; in pkt_get_disc_info()
1546 ret = pkt_generic_packet(pd, &cgc); in pkt_get_disc_info()
1553 cgc.buflen = be16_to_cpu(di->disc_information_length) + in pkt_get_disc_info()
1556 if (cgc.buflen > sizeof(disc_information)) in pkt_get_disc_info()
1557 cgc.buflen = sizeof(disc_information); in pkt_get_disc_info()
1559 cgc.cmd[8] = cgc.buflen; in pkt_get_disc_info()
1560 return pkt_generic_packet(pd, &cgc); in pkt_get_disc_info()
1565 struct packet_command cgc; in pkt_get_track_info() local
1568 init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ); in pkt_get_track_info()
1569 cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO; in pkt_get_track_info()
1570 cgc.cmd[1] = type & 3; in pkt_get_track_info()
1571 put_unaligned_be16(track, &cgc.cmd[4]); in pkt_get_track_info()
1572 cgc.cmd[8] = 8; in pkt_get_track_info()
1573 cgc.quiet = 1; in pkt_get_track_info()
1575 ret = pkt_generic_packet(pd, &cgc); in pkt_get_track_info()
1579 cgc.buflen = be16_to_cpu(ti->track_information_length) + in pkt_get_track_info()
1582 if (cgc.buflen > sizeof(track_information)) in pkt_get_track_info()
1583 cgc.buflen = sizeof(track_information); in pkt_get_track_info()
1585 cgc.cmd[8] = cgc.buflen; in pkt_get_track_info()
1586 return pkt_generic_packet(pd, &cgc); in pkt_get_track_info()
1633 struct packet_command cgc; in pkt_set_write_settings() local
1644 init_cdrom_command(&cgc, buffer, sizeof(*wp), CGC_DATA_READ); in pkt_set_write_settings()
1645 cgc.sshdr = &sshdr; in pkt_set_write_settings()
1646 ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0); in pkt_set_write_settings()
1648 pkt_dump_sense(pd, &cgc); in pkt_set_write_settings()
1660 init_cdrom_command(&cgc, buffer, size, CGC_DATA_READ); in pkt_set_write_settings()
1661 cgc.sshdr = &sshdr; in pkt_set_write_settings()
1662 ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0); in pkt_set_write_settings()
1664 pkt_dump_sense(pd, &cgc); in pkt_set_write_settings()
1704 cgc.buflen = cgc.cmd[8] = size; in pkt_set_write_settings()
1705 ret = pkt_mode_select(pd, &cgc); in pkt_set_write_settings()
1707 pkt_dump_sense(pd, &cgc); in pkt_set_write_settings()
1800 struct packet_command cgc; in pkt_probe_settings() local
1806 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); in pkt_probe_settings()
1807 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in pkt_probe_settings()
1808 cgc.cmd[8] = 8; in pkt_probe_settings()
1809 ret = pkt_generic_packet(pd, &cgc); in pkt_probe_settings()
1902 struct packet_command cgc; in pkt_write_caching() local
1908 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); in pkt_write_caching()
1909 cgc.sshdr = &sshdr; in pkt_write_caching()
1910 cgc.buflen = pd->mode_offset + 12; in pkt_write_caching()
1915 cgc.quiet = 1; in pkt_write_caching()
1917 ret = pkt_mode_sense(pd, &cgc, GPMODE_WCACHING_PAGE, 0); in pkt_write_caching()
1928 cgc.buflen = cgc.cmd[8] = 2 + get_unaligned_be16(&buf[0]); in pkt_write_caching()
1929 ret = pkt_mode_select(pd, &cgc); in pkt_write_caching()
1932 pkt_dump_sense(pd, &cgc); in pkt_write_caching()
1940 struct packet_command cgc; in pkt_lock_door() local
1942 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_lock_door()
1943 cgc.cmd[0] = GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL; in pkt_lock_door()
1944 cgc.cmd[4] = lockflag ? 1 : 0; in pkt_lock_door()
1945 return pkt_generic_packet(pd, &cgc); in pkt_lock_door()
1954 struct packet_command cgc; in pkt_get_max_speed() local
1961 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_UNKNOWN); in pkt_get_max_speed()
1962 cgc.sshdr = &sshdr; in pkt_get_max_speed()
1964 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0); in pkt_get_max_speed()
1966 cgc.buflen = pd->mode_offset + cap_buf[1] + 2 + in pkt_get_max_speed()
1968 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0); in pkt_get_max_speed()
1970 pkt_dump_sense(pd, &cgc); in pkt_get_max_speed()
2016 struct packet_command cgc; in pkt_media_speed() local
2022 init_cdrom_command(&cgc, buf, 2, CGC_DATA_READ); in pkt_media_speed()
2023 cgc.sshdr = &sshdr; in pkt_media_speed()
2024 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP; in pkt_media_speed()
2025 cgc.cmd[1] = 2; in pkt_media_speed()
2026 cgc.cmd[2] = 4; /* READ ATIP */ in pkt_media_speed()
2027 cgc.cmd[8] = 2; in pkt_media_speed()
2028 ret = pkt_generic_packet(pd, &cgc); in pkt_media_speed()
2030 pkt_dump_sense(pd, &cgc); in pkt_media_speed()
2037 init_cdrom_command(&cgc, buf, size, CGC_DATA_READ); in pkt_media_speed()
2038 cgc.sshdr = &sshdr; in pkt_media_speed()
2039 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP; in pkt_media_speed()
2040 cgc.cmd[1] = 2; in pkt_media_speed()
2041 cgc.cmd[2] = 4; in pkt_media_speed()
2042 cgc.cmd[8] = size; in pkt_media_speed()
2043 ret = pkt_generic_packet(pd, &cgc); in pkt_media_speed()
2045 pkt_dump_sense(pd, &cgc); in pkt_media_speed()
2089 struct packet_command cgc; in pkt_perform_opc() local
2095 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_perform_opc()
2096 cgc.sshdr = &sshdr; in pkt_perform_opc()
2097 cgc.timeout = 60*HZ; in pkt_perform_opc()
2098 cgc.cmd[0] = GPCMD_SEND_OPC; in pkt_perform_opc()
2099 cgc.cmd[1] = 1; in pkt_perform_opc()
2100 ret = pkt_generic_packet(pd, &cgc); in pkt_perform_opc()
2102 pkt_dump_sense(pd, &cgc); in pkt_perform_opc()