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