Lines Matching refs:cgc

346 				      struct packet_command *cgc)  in cdrom_dummy_generic_packet()  argument
348 if (cgc->sense) { in cdrom_dummy_generic_packet()
349 cgc->sense->sense_key = 0x05; in cdrom_dummy_generic_packet()
350 cgc->sense->asc = 0x20; in cdrom_dummy_generic_packet()
351 cgc->sense->ascq = 0x00; in cdrom_dummy_generic_packet()
354 cgc->stat = -EIO; in cdrom_dummy_generic_packet()
360 struct packet_command cgc; in cdrom_flush_cache() local
362 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_flush_cache()
363 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in cdrom_flush_cache()
365 cgc.timeout = 5 * 60 * HZ; in cdrom_flush_cache()
367 return cdi->ops->generic_packet(cdi, &cgc); in cdrom_flush_cache()
375 struct packet_command cgc; in cdrom_get_disc_info() local
379 init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ); in cdrom_get_disc_info()
380 cgc.cmd[0] = GPCMD_READ_DISC_INFO; in cdrom_get_disc_info()
381 cgc.cmd[8] = cgc.buflen = 2; in cdrom_get_disc_info()
382 cgc.quiet = 1; in cdrom_get_disc_info()
384 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_disc_info()
397 cgc.cmd[8] = cgc.buflen = buflen; in cdrom_get_disc_info()
398 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_disc_info()
423 struct packet_command cgc; in cdrom_mrw_probe_pc() local
426 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_mrw_probe_pc()
428 cgc.timeout = HZ; in cdrom_mrw_probe_pc()
429 cgc.quiet = 1; in cdrom_mrw_probe_pc()
431 if (!cdrom_mode_sense(cdi, &cgc, MRW_MODE_PC, 0)) { in cdrom_mrw_probe_pc()
434 } else if (!cdrom_mode_sense(cdi, &cgc, MRW_MODE_PC_PRE1, 0)) { in cdrom_mrw_probe_pc()
444 struct packet_command cgc; in cdrom_is_mrw() local
451 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_is_mrw()
453 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in cdrom_is_mrw()
454 cgc.cmd[3] = CDF_MRW; in cdrom_is_mrw()
455 cgc.cmd[8] = sizeof(buffer); in cdrom_is_mrw()
456 cgc.quiet = 1; in cdrom_is_mrw()
458 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_is_mrw()
476 struct packet_command cgc; in cdrom_mrw_bgformat() local
485 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_WRITE); in cdrom_mrw_bgformat()
486 cgc.cmd[0] = GPCMD_FORMAT_UNIT; in cdrom_mrw_bgformat()
487 cgc.cmd[1] = (1 << 4) | 1; in cdrom_mrw_bgformat()
489 cgc.timeout = 5 * 60 * HZ; in cdrom_mrw_bgformat()
508 ret = cdi->ops->generic_packet(cdi, &cgc); in cdrom_mrw_bgformat()
517 struct packet_command cgc; in cdrom_mrw_bgformat_susp() local
519 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_mrw_bgformat_susp()
520 cgc.cmd[0] = GPCMD_CLOSE_TRACK; in cdrom_mrw_bgformat_susp()
525 cgc.cmd[1] = !!immed; in cdrom_mrw_bgformat_susp()
526 cgc.cmd[2] = 1 << 1; in cdrom_mrw_bgformat_susp()
528 cgc.timeout = 5 * 60 * HZ; in cdrom_mrw_bgformat_susp()
530 return cdi->ops->generic_packet(cdi, &cgc); in cdrom_mrw_bgformat_susp()
556 struct packet_command cgc; in cdrom_mrw_set_lba_space() local
561 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_mrw_set_lba_space()
563 cgc.buffer = buffer; in cdrom_mrw_set_lba_space()
564 cgc.buflen = sizeof(buffer); in cdrom_mrw_set_lba_space()
566 ret = cdrom_mode_sense(cdi, &cgc, cdi->mrw_mode_page, 0); in cdrom_mrw_set_lba_space()
575 cgc.buflen = size; in cdrom_mrw_set_lba_space()
577 ret = cdrom_mode_select(cdi, &cgc); in cdrom_mrw_set_lba_space()
662 struct packet_command cgc; in cdrom_get_media_event() local
666 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_get_media_event()
667 cgc.cmd[0] = GPCMD_GET_EVENT_STATUS_NOTIFICATION; in cdrom_get_media_event()
668 cgc.cmd[1] = 1; /* IMMED */ in cdrom_get_media_event()
669 cgc.cmd[4] = 1 << 4; /* media event */ in cdrom_get_media_event()
670 cgc.cmd[8] = sizeof(buffer); in cdrom_get_media_event()
671 cgc.quiet = 1; in cdrom_get_media_event()
673 if (cdi->ops->generic_packet(cdi, &cgc)) in cdrom_get_media_event()
689 struct packet_command cgc; in cdrom_get_random_writable() local
693 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_get_random_writable()
695 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; /* often 0x46 */ in cdrom_get_random_writable()
696 cgc.cmd[3] = CDF_RWRT; /* often 0x0020 */ in cdrom_get_random_writable()
697 cgc.cmd[8] = sizeof(buffer); /* often 0x18 */ in cdrom_get_random_writable()
698 cgc.quiet = 1; in cdrom_get_random_writable()
700 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_get_random_writable()
709 struct packet_command cgc; in cdrom_has_defect_mgt() local
714 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_has_defect_mgt()
716 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in cdrom_has_defect_mgt()
717 cgc.cmd[3] = CDF_HWDM; in cdrom_has_defect_mgt()
718 cgc.cmd[8] = sizeof(buffer); in cdrom_has_defect_mgt()
719 cgc.quiet = 1; in cdrom_has_defect_mgt()
721 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_has_defect_mgt()
817 struct packet_command cgc; in mo_open_write() local
821 init_cdrom_command(&cgc, &buffer, 4, CGC_DATA_READ); in mo_open_write()
822 cgc.quiet = 1; in mo_open_write()
829 ret = cdrom_mode_sense(cdi, &cgc, GPMODE_ALL_PAGES, 0); in mo_open_write()
831 ret = cdrom_mode_sense(cdi, &cgc, GPMODE_VENDOR_PAGE, 0); in mo_open_write()
833 cgc.buflen = 255; in mo_open_write()
834 ret = cdrom_mode_sense(cdi, &cgc, GPMODE_ALL_PAGES, 0); in mo_open_write()
863 struct packet_command cgc; in cdrom_mmc3_profile() local
867 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_mmc3_profile()
869 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in cdrom_mmc3_profile()
870 cgc.cmd[1] = 0; in cdrom_mmc3_profile()
871 cgc.cmd[2] = cgc.cmd[3] = 0; /* Starting Feature Number */ in cdrom_mmc3_profile()
872 cgc.cmd[8] = sizeof(buffer); /* Allocation Length */ in cdrom_mmc3_profile()
873 cgc.quiet = 1; in cdrom_mmc3_profile()
875 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_mmc3_profile()
944 struct packet_command cgc; in cdrom_dvd_rw_close_write() local
958 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_dvd_rw_close_write()
959 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in cdrom_dvd_rw_close_write()
960 cgc.timeout = 30*HZ; in cdrom_dvd_rw_close_write()
961 cdi->ops->generic_packet(cdi, &cgc); in cdrom_dvd_rw_close_write()
963 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_dvd_rw_close_write()
964 cgc.cmd[0] = GPCMD_CLOSE_TRACK; in cdrom_dvd_rw_close_write()
965 cgc.timeout = 3000*HZ; in cdrom_dvd_rw_close_write()
966 cgc.quiet = 1; in cdrom_dvd_rw_close_write()
967 cdi->ops->generic_packet(cdi, &cgc); in cdrom_dvd_rw_close_write()
969 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_dvd_rw_close_write()
970 cgc.cmd[0] = GPCMD_CLOSE_TRACK; in cdrom_dvd_rw_close_write()
971 cgc.cmd[2] = 2; /* Close session */ in cdrom_dvd_rw_close_write()
972 cgc.quiet = 1; in cdrom_dvd_rw_close_write()
973 cgc.timeout = 3000*HZ; in cdrom_dvd_rw_close_write()
974 cdi->ops->generic_packet(cdi, &cgc); in cdrom_dvd_rw_close_write()
1296 struct packet_command cgc; in cdrom_read_mech_status() local
1318 init_cdrom_command(&cgc, buf, length, CGC_DATA_READ); in cdrom_read_mech_status()
1319 cgc.cmd[0] = GPCMD_MECHANISM_STATUS; in cdrom_read_mech_status()
1320 cgc.cmd[8] = (length >> 8) & 0xff; in cdrom_read_mech_status()
1321 cgc.cmd[9] = length & 0xff; in cdrom_read_mech_status()
1322 return cdo->generic_packet(cdi, &cgc); in cdrom_read_mech_status()
1379 struct packet_command cgc; in cdrom_load_unload() local
1385 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_load_unload()
1386 cgc.cmd[0] = GPCMD_LOAD_UNLOAD; in cdrom_load_unload()
1387 cgc.cmd[4] = 2 + (slot >= 0); in cdrom_load_unload()
1388 cgc.cmd[8] = slot; in cdrom_load_unload()
1389 cgc.timeout = 60 * HZ; in cdrom_load_unload()
1395 cgc.cmd[0] = GPCMD_TEST_UNIT_READY; in cdrom_load_unload()
1396 cgc.cmd[7] = slot; in cdrom_load_unload()
1397 cgc.cmd[4] = cgc.cmd[8] = 0; in cdrom_load_unload()
1401 return cdi->ops->generic_packet(cdi, &cgc); in cdrom_load_unload()
1580 void init_cdrom_command(struct packet_command *cgc, void *buf, int len, in init_cdrom_command() argument
1583 memset(cgc, 0, sizeof(struct packet_command)); in init_cdrom_command()
1586 cgc->buffer = (char *) buf; in init_cdrom_command()
1587 cgc->buflen = len; in init_cdrom_command()
1588 cgc->data_direction = type; in init_cdrom_command()
1589 cgc->timeout = CDROM_DEF_TIMEOUT; in init_cdrom_command()
1597 static void setup_report_key(struct packet_command *cgc, unsigned agid, unsigned type) in setup_report_key() argument
1599 cgc->cmd[0] = GPCMD_REPORT_KEY; in setup_report_key()
1600 cgc->cmd[10] = type | (agid << 6); in setup_report_key()
1603 cgc->buflen = 8; in setup_report_key()
1607 cgc->buflen = 16; in setup_report_key()
1611 cgc->buflen = 12; in setup_report_key()
1615 cgc->cmd[9] = cgc->buflen; in setup_report_key()
1616 cgc->data_direction = CGC_DATA_READ; in setup_report_key()
1619 static void setup_send_key(struct packet_command *cgc, unsigned agid, unsigned type) in setup_send_key() argument
1621 cgc->cmd[0] = GPCMD_SEND_KEY; in setup_send_key()
1622 cgc->cmd[10] = type | (agid << 6); in setup_send_key()
1625 cgc->buflen = 16; in setup_send_key()
1629 cgc->buflen = 12; in setup_send_key()
1633 cgc->buflen = 8; in setup_send_key()
1637 cgc->cmd[9] = cgc->buflen; in setup_send_key()
1638 cgc->data_direction = CGC_DATA_WRITE; in setup_send_key()
1645 struct packet_command cgc; in dvd_do_auth() local
1650 init_cdrom_command(&cgc, buf, 0, CGC_DATA_READ); in dvd_do_auth()
1656 cgc.quiet = 1; in dvd_do_auth()
1657 setup_report_key(&cgc, ai->lsa.agid, 0); in dvd_do_auth()
1659 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1668 setup_report_key(&cgc, ai->lsk.agid, 2); in dvd_do_auth()
1670 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1679 setup_report_key(&cgc, ai->lsc.agid, 1); in dvd_do_auth()
1681 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1691 cgc.quiet = 1; in dvd_do_auth()
1692 setup_report_key(&cgc, ai->lstk.agid, 4); in dvd_do_auth()
1693 cgc.cmd[5] = ai->lstk.lba; in dvd_do_auth()
1694 cgc.cmd[4] = ai->lstk.lba >> 8; in dvd_do_auth()
1695 cgc.cmd[3] = ai->lstk.lba >> 16; in dvd_do_auth()
1696 cgc.cmd[2] = ai->lstk.lba >> 24; in dvd_do_auth()
1698 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1710 setup_report_key(&cgc, ai->lsasf.agid, 5); in dvd_do_auth()
1712 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1721 setup_send_key(&cgc, ai->hsc.agid, 1); in dvd_do_auth()
1725 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1733 setup_send_key(&cgc, ai->hsk.agid, 3); in dvd_do_auth()
1737 if ((ret = cdo->generic_packet(cdi, &cgc))) { in dvd_do_auth()
1746 cgc.quiet = 1; in dvd_do_auth()
1748 setup_report_key(&cgc, ai->lsa.agid, 0x3f); in dvd_do_auth()
1749 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1756 setup_report_key(&cgc, 0, 8); in dvd_do_auth()
1758 cgc.buffer = (char *) &rpc_state; in dvd_do_auth()
1760 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1773 setup_send_key(&cgc, 0, 6); in dvd_do_auth()
1777 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1790 struct packet_command *cgc) in dvd_read_physical() argument
1800 init_cdrom_command(cgc, buf, sizeof(buf), CGC_DATA_READ); in dvd_read_physical()
1801 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_physical()
1802 cgc->cmd[6] = layer_num; in dvd_read_physical()
1803 cgc->cmd[7] = s->type; in dvd_read_physical()
1804 cgc->cmd[9] = cgc->buflen & 0xff; in dvd_read_physical()
1809 cgc->quiet = 1; in dvd_read_physical()
1811 ret = cdo->generic_packet(cdi, cgc); in dvd_read_physical()
1841 struct packet_command *cgc) in dvd_read_copyright() argument
1847 init_cdrom_command(cgc, buf, sizeof(buf), CGC_DATA_READ); in dvd_read_copyright()
1848 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_copyright()
1849 cgc->cmd[6] = s->copyright.layer_num; in dvd_read_copyright()
1850 cgc->cmd[7] = s->type; in dvd_read_copyright()
1851 cgc->cmd[8] = cgc->buflen >> 8; in dvd_read_copyright()
1852 cgc->cmd[9] = cgc->buflen & 0xff; in dvd_read_copyright()
1854 ret = cdo->generic_packet(cdi, cgc); in dvd_read_copyright()
1865 struct packet_command *cgc) in dvd_read_disckey() argument
1877 init_cdrom_command(cgc, buf, size, CGC_DATA_READ); in dvd_read_disckey()
1878 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_disckey()
1879 cgc->cmd[7] = s->type; in dvd_read_disckey()
1880 cgc->cmd[8] = size >> 8; in dvd_read_disckey()
1881 cgc->cmd[9] = size & 0xff; in dvd_read_disckey()
1882 cgc->cmd[10] = s->disckey.agid << 6; in dvd_read_disckey()
1884 ret = cdo->generic_packet(cdi, cgc); in dvd_read_disckey()
1893 struct packet_command *cgc) in dvd_read_bca() argument
1903 init_cdrom_command(cgc, buf, size, CGC_DATA_READ); in dvd_read_bca()
1904 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_bca()
1905 cgc->cmd[7] = s->type; in dvd_read_bca()
1906 cgc->cmd[9] = cgc->buflen & 0xff; in dvd_read_bca()
1908 ret = cdo->generic_packet(cdi, cgc); in dvd_read_bca()
1927 struct packet_command *cgc) in dvd_read_manufact() argument
1939 init_cdrom_command(cgc, buf, size, CGC_DATA_READ); in dvd_read_manufact()
1940 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_manufact()
1941 cgc->cmd[7] = s->type; in dvd_read_manufact()
1942 cgc->cmd[8] = size >> 8; in dvd_read_manufact()
1943 cgc->cmd[9] = size & 0xff; in dvd_read_manufact()
1945 ret = cdo->generic_packet(cdi, cgc); in dvd_read_manufact()
1969 struct packet_command *cgc) in dvd_read_struct() argument
1973 return dvd_read_physical(cdi, s, cgc); in dvd_read_struct()
1976 return dvd_read_copyright(cdi, s, cgc); in dvd_read_struct()
1979 return dvd_read_disckey(cdi, s, cgc); in dvd_read_struct()
1982 return dvd_read_bca(cdi, s, cgc); in dvd_read_struct()
1985 return dvd_read_manufact(cdi, s, cgc); in dvd_read_struct()
1995 struct packet_command *cgc, in cdrom_mode_sense() argument
2000 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_mode_sense()
2002 cgc->cmd[0] = GPCMD_MODE_SENSE_10; in cdrom_mode_sense()
2003 cgc->cmd[2] = page_code | (page_control << 6); in cdrom_mode_sense()
2004 cgc->cmd[7] = cgc->buflen >> 8; in cdrom_mode_sense()
2005 cgc->cmd[8] = cgc->buflen & 0xff; in cdrom_mode_sense()
2006 cgc->data_direction = CGC_DATA_READ; in cdrom_mode_sense()
2007 return cdo->generic_packet(cdi, cgc); in cdrom_mode_sense()
2011 struct packet_command *cgc) in cdrom_mode_select() argument
2015 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_mode_select()
2016 memset(cgc->buffer, 0, 2); in cdrom_mode_select()
2017 cgc->cmd[0] = GPCMD_MODE_SELECT_10; in cdrom_mode_select()
2018 cgc->cmd[1] = 0x10; /* PF */ in cdrom_mode_select()
2019 cgc->cmd[7] = cgc->buflen >> 8; in cdrom_mode_select()
2020 cgc->cmd[8] = cgc->buflen & 0xff; in cdrom_mode_select()
2021 cgc->data_direction = CGC_DATA_WRITE; in cdrom_mode_select()
2022 return cdo->generic_packet(cdi, cgc); in cdrom_mode_select()
2029 struct packet_command cgc; in cdrom_read_subchannel() local
2033 init_cdrom_command(&cgc, buffer, 16, CGC_DATA_READ); in cdrom_read_subchannel()
2034 cgc.cmd[0] = GPCMD_READ_SUBCHANNEL; in cdrom_read_subchannel()
2035 cgc.cmd[1] = 2; /* MSF addressing */ in cdrom_read_subchannel()
2036 cgc.cmd[2] = 0x40; /* request subQ data */ in cdrom_read_subchannel()
2037 cgc.cmd[3] = mcn ? 2 : 1; in cdrom_read_subchannel()
2038 cgc.cmd[8] = 16; in cdrom_read_subchannel()
2040 if ((ret = cdo->generic_packet(cdi, &cgc))) in cdrom_read_subchannel()
2043 subchnl->cdsc_audiostatus = cgc.buffer[1]; in cdrom_read_subchannel()
2045 subchnl->cdsc_ctrl = cgc.buffer[5] & 0xf; in cdrom_read_subchannel()
2046 subchnl->cdsc_trk = cgc.buffer[6]; in cdrom_read_subchannel()
2047 subchnl->cdsc_ind = cgc.buffer[7]; in cdrom_read_subchannel()
2049 subchnl->cdsc_reladdr.msf.minute = cgc.buffer[13]; in cdrom_read_subchannel()
2050 subchnl->cdsc_reladdr.msf.second = cgc.buffer[14]; in cdrom_read_subchannel()
2051 subchnl->cdsc_reladdr.msf.frame = cgc.buffer[15]; in cdrom_read_subchannel()
2052 subchnl->cdsc_absaddr.msf.minute = cgc.buffer[9]; in cdrom_read_subchannel()
2053 subchnl->cdsc_absaddr.msf.second = cgc.buffer[10]; in cdrom_read_subchannel()
2054 subchnl->cdsc_absaddr.msf.frame = cgc.buffer[11]; in cdrom_read_subchannel()
2063 struct packet_command *cgc, int lba, in cdrom_read_cd() argument
2068 memset(&cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_read_cd()
2069 cgc->cmd[0] = GPCMD_READ_10; in cdrom_read_cd()
2070 cgc->cmd[2] = (lba >> 24) & 0xff; in cdrom_read_cd()
2071 cgc->cmd[3] = (lba >> 16) & 0xff; in cdrom_read_cd()
2072 cgc->cmd[4] = (lba >> 8) & 0xff; in cdrom_read_cd()
2073 cgc->cmd[5] = lba & 0xff; in cdrom_read_cd()
2074 cgc->cmd[6] = (nblocks >> 16) & 0xff; in cdrom_read_cd()
2075 cgc->cmd[7] = (nblocks >> 8) & 0xff; in cdrom_read_cd()
2076 cgc->cmd[8] = nblocks & 0xff; in cdrom_read_cd()
2077 cgc->buflen = blocksize * nblocks; in cdrom_read_cd()
2078 return cdo->generic_packet(cdi, cgc); in cdrom_read_cd()
2083 struct packet_command *cgc, in cdrom_read_block() argument
2088 memset(&cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_read_block()
2089 cgc->cmd[0] = GPCMD_READ_CD; in cdrom_read_block()
2091 cgc->cmd[1] = format << 2; in cdrom_read_block()
2093 cgc->cmd[2] = (lba >> 24) & 0xff; in cdrom_read_block()
2094 cgc->cmd[3] = (lba >> 16) & 0xff; in cdrom_read_block()
2095 cgc->cmd[4] = (lba >> 8) & 0xff; in cdrom_read_block()
2096 cgc->cmd[5] = lba & 0xff; in cdrom_read_block()
2098 cgc->cmd[6] = (nblocks >> 16) & 0xff; in cdrom_read_block()
2099 cgc->cmd[7] = (nblocks >> 8) & 0xff; in cdrom_read_block()
2100 cgc->cmd[8] = nblocks & 0xff; in cdrom_read_block()
2101 cgc->buflen = blksize * nblocks; in cdrom_read_block()
2105 case CD_FRAMESIZE_RAW0 : cgc->cmd[9] = 0x58; break; in cdrom_read_block()
2106 case CD_FRAMESIZE_RAW1 : cgc->cmd[9] = 0x78; break; in cdrom_read_block()
2107 case CD_FRAMESIZE_RAW : cgc->cmd[9] = 0xf8; break; in cdrom_read_block()
2108 default : cgc->cmd[9] = 0x10; in cdrom_read_block()
2111 return cdo->generic_packet(cdi, cgc); in cdrom_read_block()
2117 struct packet_command cgc; in cdrom_read_cdda_old() local
2123 memset(&cgc, 0, sizeof(cgc)); in cdrom_read_cdda_old()
2130 cgc.buffer = kmalloc(CD_FRAMESIZE_RAW * nr, GFP_KERNEL); in cdrom_read_cdda_old()
2131 if (cgc.buffer) in cdrom_read_cdda_old()
2140 cgc.data_direction = CGC_DATA_READ; in cdrom_read_cdda_old()
2145 ret = cdrom_read_block(cdi, &cgc, lba, nr, 1, CD_FRAMESIZE_RAW); in cdrom_read_cdda_old()
2148 if (copy_to_user(ubuf, cgc.buffer, CD_FRAMESIZE_RAW * nr)) { in cdrom_read_cdda_old()
2156 kfree(cgc.buffer); in cdrom_read_cdda_old()
2758 struct packet_command cgc; in cdrom_switch_blocksize() local
2766 memset(&cgc, 0, sizeof(cgc)); in cdrom_switch_blocksize()
2767 cgc.cmd[0] = 0x15; in cdrom_switch_blocksize()
2768 cgc.cmd[1] = 1 << 4; in cdrom_switch_blocksize()
2769 cgc.cmd[4] = 12; in cdrom_switch_blocksize()
2770 cgc.buflen = sizeof(mh); in cdrom_switch_blocksize()
2771 cgc.buffer = (char *) &mh; in cdrom_switch_blocksize()
2772 cgc.data_direction = CGC_DATA_WRITE; in cdrom_switch_blocksize()
2777 return cdo->generic_packet(cdi, &cgc); in cdrom_switch_blocksize()
2784 struct packet_command cgc; in cdrom_get_track_info() local
2787 init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ); in cdrom_get_track_info()
2788 cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO; in cdrom_get_track_info()
2789 cgc.cmd[1] = type & 3; in cdrom_get_track_info()
2790 cgc.cmd[4] = (track & 0xff00) >> 8; in cdrom_get_track_info()
2791 cgc.cmd[5] = track & 0xff; in cdrom_get_track_info()
2792 cgc.cmd[8] = 8; in cdrom_get_track_info()
2793 cgc.quiet = 1; in cdrom_get_track_info()
2795 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_track_info()
2805 cgc.cmd[8] = cgc.buflen = buflen; in cdrom_get_track_info()
2806 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_track_info()
2930 struct packet_command *cgc, in mmc_ioctl_cdrom_read_data() argument
2957 cgc->buffer = kzalloc(blocksize, GFP_KERNEL); in mmc_ioctl_cdrom_read_data()
2958 if (cgc->buffer == NULL) in mmc_ioctl_cdrom_read_data()
2962 cgc->sense = &sense; in mmc_ioctl_cdrom_read_data()
2963 cgc->data_direction = CGC_DATA_READ; in mmc_ioctl_cdrom_read_data()
2964 ret = cdrom_read_block(cdi, cgc, lba, 1, format, blocksize); in mmc_ioctl_cdrom_read_data()
2976 cgc->sense = NULL; in mmc_ioctl_cdrom_read_data()
2977 ret = cdrom_read_cd(cdi, cgc, lba, blocksize, 1); in mmc_ioctl_cdrom_read_data()
2980 if (!ret && copy_to_user(arg, cgc->buffer, blocksize)) in mmc_ioctl_cdrom_read_data()
2983 kfree(cgc->buffer); in mmc_ioctl_cdrom_read_data()
3040 struct packet_command *cgc) in mmc_ioctl_cdrom_play_msf() argument
3047 cgc->cmd[0] = GPCMD_PLAY_AUDIO_MSF; in mmc_ioctl_cdrom_play_msf()
3048 cgc->cmd[3] = msf.cdmsf_min0; in mmc_ioctl_cdrom_play_msf()
3049 cgc->cmd[4] = msf.cdmsf_sec0; in mmc_ioctl_cdrom_play_msf()
3050 cgc->cmd[5] = msf.cdmsf_frame0; in mmc_ioctl_cdrom_play_msf()
3051 cgc->cmd[6] = msf.cdmsf_min1; in mmc_ioctl_cdrom_play_msf()
3052 cgc->cmd[7] = msf.cdmsf_sec1; in mmc_ioctl_cdrom_play_msf()
3053 cgc->cmd[8] = msf.cdmsf_frame1; in mmc_ioctl_cdrom_play_msf()
3054 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_play_msf()
3055 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_play_msf()
3060 struct packet_command *cgc) in mmc_ioctl_cdrom_play_blk() argument
3067 cgc->cmd[0] = GPCMD_PLAY_AUDIO_10; in mmc_ioctl_cdrom_play_blk()
3068 cgc->cmd[2] = (blk.from >> 24) & 0xff; in mmc_ioctl_cdrom_play_blk()
3069 cgc->cmd[3] = (blk.from >> 16) & 0xff; in mmc_ioctl_cdrom_play_blk()
3070 cgc->cmd[4] = (blk.from >> 8) & 0xff; in mmc_ioctl_cdrom_play_blk()
3071 cgc->cmd[5] = blk.from & 0xff; in mmc_ioctl_cdrom_play_blk()
3072 cgc->cmd[7] = (blk.len >> 8) & 0xff; in mmc_ioctl_cdrom_play_blk()
3073 cgc->cmd[8] = blk.len & 0xff; in mmc_ioctl_cdrom_play_blk()
3074 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_play_blk()
3075 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_play_blk()
3080 struct packet_command *cgc, in mmc_ioctl_cdrom_volume() argument
3095 cgc->buffer = buffer; in mmc_ioctl_cdrom_volume()
3096 cgc->buflen = 24; in mmc_ioctl_cdrom_volume()
3097 ret = cdrom_mode_sense(cdi, cgc, GPMODE_AUDIO_CTL_PAGE, 0); in mmc_ioctl_cdrom_volume()
3110 if (offset + 16 > cgc->buflen) { in mmc_ioctl_cdrom_volume()
3111 cgc->buflen = offset + 16; in mmc_ioctl_cdrom_volume()
3112 ret = cdrom_mode_sense(cdi, cgc, in mmc_ioctl_cdrom_volume()
3137 cgc->buffer = mask; in mmc_ioctl_cdrom_volume()
3138 ret = cdrom_mode_sense(cdi, cgc, GPMODE_AUDIO_CTL_PAGE, 1); in mmc_ioctl_cdrom_volume()
3148 cgc->buffer = buffer + offset - 8; in mmc_ioctl_cdrom_volume()
3149 memset(cgc->buffer, 0, 8); in mmc_ioctl_cdrom_volume()
3150 return cdrom_mode_select(cdi, cgc); in mmc_ioctl_cdrom_volume()
3154 struct packet_command *cgc, in mmc_ioctl_cdrom_start_stop() argument
3159 cgc->cmd[0] = GPCMD_START_STOP_UNIT; in mmc_ioctl_cdrom_start_stop()
3160 cgc->cmd[1] = 1; in mmc_ioctl_cdrom_start_stop()
3161 cgc->cmd[4] = (cmd == CDROMSTART) ? 1 : 0; in mmc_ioctl_cdrom_start_stop()
3162 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_start_stop()
3163 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_start_stop()
3167 struct packet_command *cgc, in mmc_ioctl_cdrom_pause_resume() argument
3172 cgc->cmd[0] = GPCMD_PAUSE_RESUME; in mmc_ioctl_cdrom_pause_resume()
3173 cgc->cmd[8] = (cmd == CDROMRESUME) ? 1 : 0; in mmc_ioctl_cdrom_pause_resume()
3174 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_pause_resume()
3175 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_pause_resume()
3180 struct packet_command *cgc) in mmc_ioctl_dvd_read_struct() argument
3199 ret = dvd_read_struct(cdi, s, cgc); in mmc_ioctl_dvd_read_struct()
3259 struct packet_command cgc; in mmc_ioctl() local
3262 memset(&cgc, 0, sizeof(cgc)); in mmc_ioctl()
3270 return mmc_ioctl_cdrom_read_data(cdi, userptr, &cgc, cmd); in mmc_ioctl()
3276 return mmc_ioctl_cdrom_play_msf(cdi, userptr, &cgc); in mmc_ioctl()
3278 return mmc_ioctl_cdrom_play_blk(cdi, userptr, &cgc); in mmc_ioctl()
3281 return mmc_ioctl_cdrom_volume(cdi, userptr, &cgc, cmd); in mmc_ioctl()
3284 return mmc_ioctl_cdrom_start_stop(cdi, &cgc, cmd); in mmc_ioctl()
3287 return mmc_ioctl_cdrom_pause_resume(cdi, &cgc, cmd); in mmc_ioctl()
3289 return mmc_ioctl_dvd_read_struct(cdi, userptr, &cgc); in mmc_ioctl()