Lines Matching refs:cgc
707 static int pkt_generic_packet(struct pktcdvd_device *pd, struct packet_command *cgc) in pkt_generic_packet() argument
713 rq = blk_get_request(q, (cgc->data_direction == CGC_DATA_WRITE) ? in pkt_generic_packet()
716 if (cgc->buflen) { in pkt_generic_packet()
717 if (blk_rq_map_kern(q, rq, cgc->buffer, cgc->buflen, __GFP_WAIT)) in pkt_generic_packet()
721 rq->cmd_len = COMMAND_SIZE(cgc->cmd[0]); in pkt_generic_packet()
722 memcpy(rq->cmd, cgc->cmd, CDROM_PACKET_SIZE); in pkt_generic_packet()
726 if (cgc->quiet) in pkt_generic_packet()
741 static void pkt_dump_sense(struct packet_command *cgc) in pkt_dump_sense() argument
747 struct request_sense *sense = cgc->sense; in pkt_dump_sense()
751 printk(" %02x", cgc->cmd[i]); in pkt_dump_sense()
774 struct packet_command cgc; in pkt_flush_cache() local
776 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_flush_cache()
777 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in pkt_flush_cache()
778 cgc.quiet = 1; in pkt_flush_cache()
785 cgc.cmd[1] = 1 << 1; in pkt_flush_cache()
787 return pkt_generic_packet(pd, &cgc); in pkt_flush_cache()
796 struct packet_command cgc; in pkt_set_speed() local
800 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_set_speed()
801 cgc.sense = &sense; in pkt_set_speed()
802 cgc.cmd[0] = GPCMD_SET_SPEED; in pkt_set_speed()
803 cgc.cmd[2] = (read_speed >> 8) & 0xff; in pkt_set_speed()
804 cgc.cmd[3] = read_speed & 0xff; in pkt_set_speed()
805 cgc.cmd[4] = (write_speed >> 8) & 0xff; in pkt_set_speed()
806 cgc.cmd[5] = write_speed & 0xff; in pkt_set_speed()
808 if ((ret = pkt_generic_packet(pd, &cgc))) in pkt_set_speed()
809 pkt_dump_sense(&cgc); in pkt_set_speed()
1571 static int pkt_mode_sense(struct pktcdvd_device *pd, struct packet_command *cgc, int page_code, int… in pkt_mode_sense() argument
1573 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in pkt_mode_sense()
1575 cgc->cmd[0] = GPCMD_MODE_SENSE_10; in pkt_mode_sense()
1576 cgc->cmd[2] = page_code | (page_control << 6); in pkt_mode_sense()
1577 cgc->cmd[7] = cgc->buflen >> 8; in pkt_mode_sense()
1578 cgc->cmd[8] = cgc->buflen & 0xff; in pkt_mode_sense()
1579 cgc->data_direction = CGC_DATA_READ; in pkt_mode_sense()
1580 return pkt_generic_packet(pd, cgc); in pkt_mode_sense()
1583 static int pkt_mode_select(struct pktcdvd_device *pd, struct packet_command *cgc) in pkt_mode_select() argument
1585 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in pkt_mode_select()
1586 memset(cgc->buffer, 0, 2); in pkt_mode_select()
1587 cgc->cmd[0] = GPCMD_MODE_SELECT_10; in pkt_mode_select()
1588 cgc->cmd[1] = 0x10; /* PF */ in pkt_mode_select()
1589 cgc->cmd[7] = cgc->buflen >> 8; in pkt_mode_select()
1590 cgc->cmd[8] = cgc->buflen & 0xff; in pkt_mode_select()
1591 cgc->data_direction = CGC_DATA_WRITE; in pkt_mode_select()
1592 return pkt_generic_packet(pd, cgc); in pkt_mode_select()
1597 struct packet_command cgc; in pkt_get_disc_info() local
1601 init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ); in pkt_get_disc_info()
1602 cgc.cmd[0] = GPCMD_READ_DISC_INFO; in pkt_get_disc_info()
1603 cgc.cmd[8] = cgc.buflen = 2; in pkt_get_disc_info()
1604 cgc.quiet = 1; in pkt_get_disc_info()
1606 if ((ret = pkt_generic_packet(pd, &cgc))) in pkt_get_disc_info()
1612 cgc.buflen = be16_to_cpu(di->disc_information_length) + in pkt_get_disc_info()
1615 if (cgc.buflen > sizeof(disc_information)) in pkt_get_disc_info()
1616 cgc.buflen = sizeof(disc_information); in pkt_get_disc_info()
1618 cgc.cmd[8] = cgc.buflen; in pkt_get_disc_info()
1619 return pkt_generic_packet(pd, &cgc); in pkt_get_disc_info()
1624 struct packet_command cgc; in pkt_get_track_info() local
1627 init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ); in pkt_get_track_info()
1628 cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO; in pkt_get_track_info()
1629 cgc.cmd[1] = type & 3; in pkt_get_track_info()
1630 cgc.cmd[4] = (track & 0xff00) >> 8; in pkt_get_track_info()
1631 cgc.cmd[5] = track & 0xff; in pkt_get_track_info()
1632 cgc.cmd[8] = 8; in pkt_get_track_info()
1633 cgc.quiet = 1; in pkt_get_track_info()
1635 if ((ret = pkt_generic_packet(pd, &cgc))) in pkt_get_track_info()
1638 cgc.buflen = be16_to_cpu(ti->track_information_length) + in pkt_get_track_info()
1641 if (cgc.buflen > sizeof(track_information)) in pkt_get_track_info()
1642 cgc.buflen = sizeof(track_information); in pkt_get_track_info()
1644 cgc.cmd[8] = cgc.buflen; in pkt_get_track_info()
1645 return pkt_generic_packet(pd, &cgc); in pkt_get_track_info()
1688 struct packet_command cgc; in pkt_set_write_settings() local
1699 init_cdrom_command(&cgc, buffer, sizeof(*wp), CGC_DATA_READ); in pkt_set_write_settings()
1700 cgc.sense = &sense; in pkt_set_write_settings()
1701 if ((ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0))) { in pkt_set_write_settings()
1702 pkt_dump_sense(&cgc); in pkt_set_write_settings()
1714 init_cdrom_command(&cgc, buffer, size, CGC_DATA_READ); in pkt_set_write_settings()
1715 cgc.sense = &sense; in pkt_set_write_settings()
1716 if ((ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0))) { in pkt_set_write_settings()
1717 pkt_dump_sense(&cgc); in pkt_set_write_settings()
1757 cgc.buflen = cgc.cmd[8] = size; in pkt_set_write_settings()
1758 if ((ret = pkt_mode_select(pd, &cgc))) { in pkt_set_write_settings()
1759 pkt_dump_sense(&cgc); in pkt_set_write_settings()
1847 struct packet_command cgc; in pkt_probe_settings() local
1853 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); in pkt_probe_settings()
1854 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in pkt_probe_settings()
1855 cgc.cmd[8] = 8; in pkt_probe_settings()
1856 ret = pkt_generic_packet(pd, &cgc); in pkt_probe_settings()
1947 struct packet_command cgc; in pkt_write_caching() local
1952 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ); in pkt_write_caching()
1953 cgc.sense = &sense; in pkt_write_caching()
1954 cgc.buflen = pd->mode_offset + 12; in pkt_write_caching()
1959 cgc.quiet = 1; in pkt_write_caching()
1961 if ((ret = pkt_mode_sense(pd, &cgc, GPMODE_WCACHING_PAGE, 0))) in pkt_write_caching()
1966 cgc.buflen = cgc.cmd[8] = 2 + ((buf[0] << 8) | (buf[1] & 0xff)); in pkt_write_caching()
1967 ret = pkt_mode_select(pd, &cgc); in pkt_write_caching()
1970 pkt_dump_sense(&cgc); in pkt_write_caching()
1978 struct packet_command cgc; in pkt_lock_door() local
1980 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_lock_door()
1981 cgc.cmd[0] = GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL; in pkt_lock_door()
1982 cgc.cmd[4] = lockflag ? 1 : 0; in pkt_lock_door()
1983 return pkt_generic_packet(pd, &cgc); in pkt_lock_door()
1992 struct packet_command cgc; in pkt_get_max_speed() local
1999 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_UNKNOWN); in pkt_get_max_speed()
2000 cgc.sense = &sense; in pkt_get_max_speed()
2002 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0); in pkt_get_max_speed()
2004 cgc.buflen = pd->mode_offset + cap_buf[1] + 2 + in pkt_get_max_speed()
2006 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0); in pkt_get_max_speed()
2008 pkt_dump_sense(&cgc); in pkt_get_max_speed()
2053 struct packet_command cgc; in pkt_media_speed() local
2059 init_cdrom_command(&cgc, buf, 2, CGC_DATA_READ); in pkt_media_speed()
2060 cgc.sense = &sense; in pkt_media_speed()
2061 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP; in pkt_media_speed()
2062 cgc.cmd[1] = 2; in pkt_media_speed()
2063 cgc.cmd[2] = 4; /* READ ATIP */ in pkt_media_speed()
2064 cgc.cmd[8] = 2; in pkt_media_speed()
2065 ret = pkt_generic_packet(pd, &cgc); in pkt_media_speed()
2067 pkt_dump_sense(&cgc); in pkt_media_speed()
2074 init_cdrom_command(&cgc, buf, size, CGC_DATA_READ); in pkt_media_speed()
2075 cgc.sense = &sense; in pkt_media_speed()
2076 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP; in pkt_media_speed()
2077 cgc.cmd[1] = 2; in pkt_media_speed()
2078 cgc.cmd[2] = 4; in pkt_media_speed()
2079 cgc.cmd[8] = size; in pkt_media_speed()
2080 ret = pkt_generic_packet(pd, &cgc); in pkt_media_speed()
2082 pkt_dump_sense(&cgc); in pkt_media_speed()
2125 struct packet_command cgc; in pkt_perform_opc() local
2131 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in pkt_perform_opc()
2132 cgc.sense = &sense; in pkt_perform_opc()
2133 cgc.timeout = 60*HZ; in pkt_perform_opc()
2134 cgc.cmd[0] = GPCMD_SEND_OPC; in pkt_perform_opc()
2135 cgc.cmd[1] = 1; in pkt_perform_opc()
2136 if ((ret = pkt_generic_packet(pd, &cgc))) in pkt_perform_opc()
2137 pkt_dump_sense(&cgc); in pkt_perform_opc()