Lines Matching defs:cgc
700 static int pkt_generic_packet(struct pktcdvd_device *pd, struct packet_command *cgc)
706 rq = blk_get_request(q, (cgc->data_direction == CGC_DATA_WRITE) ?
711 if (cgc->buflen) {
712 ret = blk_rq_map_kern(q, rq, cgc->buffer, cgc->buflen,
718 scsi_req(rq)->cmd_len = COMMAND_SIZE(cgc->cmd[0]);
719 memcpy(scsi_req(rq)->cmd, cgc->cmd, CDROM_PACKET_SIZE);
722 if (cgc->quiet)
749 struct packet_command *cgc)
751 struct scsi_sense_hdr *sshdr = cgc->sshdr;
755 CDROM_PACKET_SIZE, cgc->cmd,
759 pkt_err(pd, "%*ph - no sense\n", CDROM_PACKET_SIZE, cgc->cmd);
767 struct packet_command cgc;
769 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE);
770 cgc.cmd[0] = GPCMD_FLUSH_CACHE;
771 cgc.quiet = 1;
778 cgc.cmd[1] = 1 << 1;
780 return pkt_generic_packet(pd, &cgc);
789 struct packet_command cgc;
793 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE);
794 cgc.sshdr = &sshdr;
795 cgc.cmd[0] = GPCMD_SET_SPEED;
796 cgc.cmd[2] = (read_speed >> 8) & 0xff;
797 cgc.cmd[3] = read_speed & 0xff;
798 cgc.cmd[4] = (write_speed >> 8) & 0xff;
799 cgc.cmd[5] = write_speed & 0xff;
801 ret = pkt_generic_packet(pd, &cgc);
803 pkt_dump_sense(pd, &cgc);
1468 static int pkt_mode_sense(struct pktcdvd_device *pd, struct packet_command *cgc, int page_code, int page_control)
1470 memset(cgc->cmd, 0, sizeof(cgc->cmd));
1472 cgc->cmd[0] = GPCMD_MODE_SENSE_10;
1473 cgc->cmd[2] = page_code | (page_control << 6);
1474 cgc->cmd[7] = cgc->buflen >> 8;
1475 cgc->cmd[8] = cgc->buflen & 0xff;
1476 cgc->data_direction = CGC_DATA_READ;
1477 return pkt_generic_packet(pd, cgc);
1480 static int pkt_mode_select(struct pktcdvd_device *pd, struct packet_command *cgc)
1482 memset(cgc->cmd, 0, sizeof(cgc->cmd));
1483 memset(cgc->buffer, 0, 2);
1484 cgc->cmd[0] = GPCMD_MODE_SELECT_10;
1485 cgc->cmd[1] = 0x10; /* PF */
1486 cgc->cmd[7] = cgc->buflen >> 8;
1487 cgc->cmd[8] = cgc->buflen & 0xff;
1488 cgc->data_direction = CGC_DATA_WRITE;
1489 return pkt_generic_packet(pd, cgc);
1494 struct packet_command cgc;
1498 init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ);
1499 cgc.cmd[0] = GPCMD_READ_DISC_INFO;
1500 cgc.cmd[8] = cgc.buflen = 2;
1501 cgc.quiet = 1;
1503 ret = pkt_generic_packet(pd, &cgc);
1510 cgc.buflen = be16_to_cpu(di->disc_information_length) +
1513 if (cgc.buflen > sizeof(disc_information))
1514 cgc.buflen = sizeof(disc_information);
1516 cgc.cmd[8] = cgc.buflen;
1517 return pkt_generic_packet(pd, &cgc);
1522 struct packet_command cgc;
1525 init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ);
1526 cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO;
1527 cgc.cmd[1] = type & 3;
1528 cgc.cmd[4] = (track & 0xff00) >> 8;
1529 cgc.cmd[5] = track & 0xff;
1530 cgc.cmd[8] = 8;
1531 cgc.quiet = 1;
1533 ret = pkt_generic_packet(pd, &cgc);
1537 cgc.buflen = be16_to_cpu(ti->track_information_length) +
1540 if (cgc.buflen > sizeof(track_information))
1541 cgc.buflen = sizeof(track_information);
1543 cgc.cmd[8] = cgc.buflen;
1544 return pkt_generic_packet(pd, &cgc);
1590 struct packet_command cgc;
1601 init_cdrom_command(&cgc, buffer, sizeof(*wp), CGC_DATA_READ);
1602 cgc.sshdr = &sshdr;
1603 ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0);
1605 pkt_dump_sense(pd, &cgc);
1617 init_cdrom_command(&cgc, buffer, size, CGC_DATA_READ);
1618 cgc.sshdr = &sshdr;
1619 ret = pkt_mode_sense(pd, &cgc, GPMODE_WRITE_PARMS_PAGE, 0);
1621 pkt_dump_sense(pd, &cgc);
1661 cgc.buflen = cgc.cmd[8] = size;
1662 ret = pkt_mode_select(pd, &cgc);
1664 pkt_dump_sense(pd, &cgc);
1753 struct packet_command cgc;
1759 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ);
1760 cgc.cmd[0] = GPCMD_GET_CONFIGURATION;
1761 cgc.cmd[8] = 8;
1762 ret = pkt_generic_packet(pd, &cgc);
1855 struct packet_command cgc;
1860 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_READ);
1861 cgc.sshdr = &sshdr;
1862 cgc.buflen = pd->mode_offset + 12;
1867 cgc.quiet = 1;
1869 ret = pkt_mode_sense(pd, &cgc, GPMODE_WCACHING_PAGE, 0);
1875 cgc.buflen = cgc.cmd[8] = 2 + ((buf[0] << 8) | (buf[1] & 0xff));
1876 ret = pkt_mode_select(pd, &cgc);
1879 pkt_dump_sense(pd, &cgc);
1887 struct packet_command cgc;
1889 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE);
1890 cgc.cmd[0] = GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL;
1891 cgc.cmd[4] = lockflag ? 1 : 0;
1892 return pkt_generic_packet(pd, &cgc);
1901 struct packet_command cgc;
1908 init_cdrom_command(&cgc, buf, sizeof(buf), CGC_DATA_UNKNOWN);
1909 cgc.sshdr = &sshdr;
1911 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0);
1913 cgc.buflen = pd->mode_offset + cap_buf[1] + 2 +
1915 ret = pkt_mode_sense(pd, &cgc, GPMODE_CAPABILITIES_PAGE, 0);
1917 pkt_dump_sense(pd, &cgc);
1962 struct packet_command cgc;
1968 init_cdrom_command(&cgc, buf, 2, CGC_DATA_READ);
1969 cgc.sshdr = &sshdr;
1970 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP;
1971 cgc.cmd[1] = 2;
1972 cgc.cmd[2] = 4; /* READ ATIP */
1973 cgc.cmd[8] = 2;
1974 ret = pkt_generic_packet(pd, &cgc);
1976 pkt_dump_sense(pd, &cgc);
1983 init_cdrom_command(&cgc, buf, size, CGC_DATA_READ);
1984 cgc.sshdr = &sshdr;
1985 cgc.cmd[0] = GPCMD_READ_TOC_PMA_ATIP;
1986 cgc.cmd[1] = 2;
1987 cgc.cmd[2] = 4;
1988 cgc.cmd[8] = size;
1989 ret = pkt_generic_packet(pd, &cgc);
1991 pkt_dump_sense(pd, &cgc);
2034 struct packet_command cgc;
2040 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE);
2041 cgc.sshdr = &sshdr;
2042 cgc.timeout = 60*HZ;
2043 cgc.cmd[0] = GPCMD_SEND_OPC;
2044 cgc.cmd[1] = 1;
2045 ret = pkt_generic_packet(pd, &cgc);
2047 pkt_dump_sense(pd, &cgc);