Lines Matching refs:cgc

715 static int pkt_generic_packet(struct pktcdvd_device *pd, struct packet_command *cgc)  in pkt_generic_packet()  argument
722 rq = scsi_alloc_request(q, (cgc->data_direction == CGC_DATA_WRITE) ? in pkt_generic_packet()
728 if (cgc->buflen) { in pkt_generic_packet()
729 ret = blk_rq_map_kern(q, rq, cgc->buffer, cgc->buflen, in pkt_generic_packet()
735 scmd->cmd_len = COMMAND_SIZE(cgc->cmd[0]); in pkt_generic_packet()
736 memcpy(scmd->cmnd, cgc->cmd, CDROM_PACKET_SIZE); in pkt_generic_packet()
739 if (cgc->quiet) in pkt_generic_packet()
766 struct packet_command *cgc) in pkt_dump_sense() argument
769 struct scsi_sense_hdr *sshdr = cgc->sshdr; in pkt_dump_sense()
773 CDROM_PACKET_SIZE, cgc->cmd, in pkt_dump_sense()
777 dev_err(ddev, "%*ph - no sense\n", CDROM_PACKET_SIZE, cgc->cmd); in pkt_dump_sense()
785 struct packet_command cgc; in pkt_flush_cache() local
787 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_flush_cache()
788 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in pkt_flush_cache()
789 cgc.quiet = 1; in pkt_flush_cache()
796 cgc.cmd[1] = 1 << 1; in pkt_flush_cache()
798 return pkt_generic_packet(pd, &cgc); in pkt_flush_cache()
807 struct packet_command cgc; in pkt_set_speed() local
811 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_set_speed()
812 cgc.sshdr = &sshdr; in pkt_set_speed()
813 cgc.cmd[0] = GPCMD_SET_SPEED; in pkt_set_speed()
814 put_unaligned_be16(read_speed, &cgc.cmd[2]); in pkt_set_speed()
815 put_unaligned_be16(write_speed, &cgc.cmd[4]); in pkt_set_speed()
817 ret = pkt_generic_packet(pd, &cgc); in pkt_set_speed()
819 pkt_dump_sense(pd, &cgc); in pkt_set_speed()
1507 static int pkt_mode_sense(struct pktcdvd_device *pd, struct packet_command *cgc, int page_code, int… in pkt_mode_sense() argument
1509 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in pkt_mode_sense()
1511 cgc->cmd[0] = GPCMD_MODE_SENSE_10; in pkt_mode_sense()
1512 cgc->cmd[2] = page_code | (page_control << 6); in pkt_mode_sense()
1513 put_unaligned_be16(cgc->buflen, &cgc->cmd[7]); in pkt_mode_sense()
1514 cgc->data_direction = CGC_DATA_READ; in pkt_mode_sense()
1515 return pkt_generic_packet(pd, cgc); in pkt_mode_sense()
1518 static int pkt_mode_select(struct pktcdvd_device *pd, struct packet_command *cgc) in pkt_mode_select() argument
1520 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in pkt_mode_select()
1521 memset(cgc->buffer, 0, 2); in pkt_mode_select()
1522 cgc->cmd[0] = GPCMD_MODE_SELECT_10; in pkt_mode_select()
1523 cgc->cmd[1] = 0x10; /* PF */ in pkt_mode_select()
1524 put_unaligned_be16(cgc->buflen, &cgc->cmd[7]); in pkt_mode_select()
1525 cgc->data_direction = CGC_DATA_WRITE; in pkt_mode_select()
1526 return pkt_generic_packet(pd, cgc); in pkt_mode_select()
1531 struct packet_command cgc; in pkt_get_disc_info() local
1535 init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ); in pkt_get_disc_info()
1536 cgc.cmd[0] = GPCMD_READ_DISC_INFO; in pkt_get_disc_info()
1537 cgc.cmd[8] = cgc.buflen = 2; in pkt_get_disc_info()
1538 cgc.quiet = 1; in pkt_get_disc_info()
1540 ret = pkt_generic_packet(pd, &cgc); in pkt_get_disc_info()
1547 cgc.buflen = be16_to_cpu(di->disc_information_length) + in pkt_get_disc_info()
1550 if (cgc.buflen > sizeof(disc_information)) in pkt_get_disc_info()
1551 cgc.buflen = sizeof(disc_information); in pkt_get_disc_info()
1553 cgc.cmd[8] = cgc.buflen; in pkt_get_disc_info()
1554 return pkt_generic_packet(pd, &cgc); in pkt_get_disc_info()
1559 struct packet_command cgc; in pkt_get_track_info() local
1562 init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ); in pkt_get_track_info()
1563 cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO; in pkt_get_track_info()
1564 cgc.cmd[1] = type & 3; in pkt_get_track_info()
1565 put_unaligned_be16(track, &cgc.cmd[4]); in pkt_get_track_info()
1566 cgc.cmd[8] = 8; in pkt_get_track_info()
1567 cgc.quiet = 1; in pkt_get_track_info()
1569 ret = pkt_generic_packet(pd, &cgc); in pkt_get_track_info()
1573 cgc.buflen = be16_to_cpu(ti->track_information_length) + in pkt_get_track_info()
1576 if (cgc.buflen > sizeof(track_information)) in pkt_get_track_info()
1577 cgc.buflen = sizeof(track_information); in pkt_get_track_info()
1579 cgc.cmd[8] = cgc.buflen; in pkt_get_track_info()
1580 return pkt_generic_packet(pd, &cgc); in pkt_get_track_info()
1627 struct packet_command cgc; in pkt_set_write_settings() local
1638 init_cdrom_command(&cgc, buffer, sizeof(*wp), CGC_DATA_READ); in pkt_set_write_settings()
1639 cgc.sshdr = &sshdr; in pkt_set_write_settings()
1640 ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0); in pkt_set_write_settings()
1642 pkt_dump_sense(pd, &cgc); in pkt_set_write_settings()
1654 init_cdrom_command(&cgc, buffer, size, CGC_DATA_READ); in pkt_set_write_settings()
1655 cgc.sshdr = &sshdr; in pkt_set_write_settings()
1656 ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0); in pkt_set_write_settings()
1658 pkt_dump_sense(pd, &cgc); in pkt_set_write_settings()
1698 cgc.buflen = cgc.cmd[8] = size; in pkt_set_write_settings()
1699 ret = pkt_mode_select(pd, &cgc); in pkt_set_write_settings()
1701 pkt_dump_sense(pd, &cgc); in pkt_set_write_settings()
1794 struct packet_command cgc; in pkt_probe_settings() local
1800 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); in pkt_probe_settings()
1801 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in pkt_probe_settings()
1802 cgc.cmd[8] = 8; in pkt_probe_settings()
1803 ret = pkt_generic_packet(pd, &cgc); in pkt_probe_settings()
1896 struct packet_command cgc; in pkt_write_caching() local
1902 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); in pkt_write_caching()
1903 cgc.sshdr = &sshdr; in pkt_write_caching()
1904 cgc.buflen = pd->mode_offset + 12; in pkt_write_caching()
1909 cgc.quiet = 1; in pkt_write_caching()
1911 ret = pkt_mode_sense(pd, &cgc, GPMODE_WCACHING_PAGE, 0); in pkt_write_caching()
1922 cgc.buflen = cgc.cmd[8] = 2 + get_unaligned_be16(&buf[0]); in pkt_write_caching()
1923 ret = pkt_mode_select(pd, &cgc); in pkt_write_caching()
1926 pkt_dump_sense(pd, &cgc); in pkt_write_caching()
1934 struct packet_command cgc; in pkt_lock_door() local
1936 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_lock_door()
1937 cgc.cmd[0] = GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL; in pkt_lock_door()
1938 cgc.cmd[4] = lockflag ? 1 : 0; in pkt_lock_door()
1939 return pkt_generic_packet(pd, &cgc); in pkt_lock_door()
1948 struct packet_command cgc; in pkt_get_max_speed() local
1955 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_UNKNOWN); in pkt_get_max_speed()
1956 cgc.sshdr = &sshdr; in pkt_get_max_speed()
1958 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0); in pkt_get_max_speed()
1960 cgc.buflen = pd->mode_offset + cap_buf[1] + 2 + in pkt_get_max_speed()
1962 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0); in pkt_get_max_speed()
1964 pkt_dump_sense(pd, &cgc); in pkt_get_max_speed()
2010 struct packet_command cgc; in pkt_media_speed() local
2016 init_cdrom_command(&cgc, buf, 2, CGC_DATA_READ); in pkt_media_speed()
2017 cgc.sshdr = &sshdr; in pkt_media_speed()
2018 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP; in pkt_media_speed()
2019 cgc.cmd[1] = 2; in pkt_media_speed()
2020 cgc.cmd[2] = 4; /* READ ATIP */ in pkt_media_speed()
2021 cgc.cmd[8] = 2; in pkt_media_speed()
2022 ret = pkt_generic_packet(pd, &cgc); in pkt_media_speed()
2024 pkt_dump_sense(pd, &cgc); in pkt_media_speed()
2031 init_cdrom_command(&cgc, buf, size, CGC_DATA_READ); in pkt_media_speed()
2032 cgc.sshdr = &sshdr; in pkt_media_speed()
2033 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP; in pkt_media_speed()
2034 cgc.cmd[1] = 2; in pkt_media_speed()
2035 cgc.cmd[2] = 4; in pkt_media_speed()
2036 cgc.cmd[8] = size; in pkt_media_speed()
2037 ret = pkt_generic_packet(pd, &cgc); in pkt_media_speed()
2039 pkt_dump_sense(pd, &cgc); in pkt_media_speed()
2083 struct packet_command cgc; in pkt_perform_opc() local
2089 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_perform_opc()
2090 cgc.sshdr = &sshdr; in pkt_perform_opc()
2091 cgc.timeout = 60*HZ; in pkt_perform_opc()
2092 cgc.cmd[0] = GPCMD_SEND_OPC; in pkt_perform_opc()
2093 cgc.cmd[1] = 1; in pkt_perform_opc()
2094 ret = pkt_generic_packet(pd, &cgc); in pkt_perform_opc()
2096 pkt_dump_sense(pd, &cgc); in pkt_perform_opc()