Lines Matching refs:cgc
354 struct packet_command *cgc) in cdrom_dummy_generic_packet() argument
356 if (cgc->sshdr) { in cdrom_dummy_generic_packet()
357 cgc->sshdr->sense_key = 0x05; in cdrom_dummy_generic_packet()
358 cgc->sshdr->asc = 0x20; in cdrom_dummy_generic_packet()
359 cgc->sshdr->ascq = 0x00; in cdrom_dummy_generic_packet()
362 cgc->stat = -EIO; in cdrom_dummy_generic_packet()
369 struct packet_command cgc; in cdrom_flush_cache() local
371 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_flush_cache()
372 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in cdrom_flush_cache()
374 cgc.timeout = 5 * 60 * HZ; in cdrom_flush_cache()
376 return cdi->ops->generic_packet(cdi, &cgc); in cdrom_flush_cache()
384 struct packet_command cgc; in cdrom_get_disc_info() local
388 init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ); in cdrom_get_disc_info()
389 cgc.cmd[0] = GPCMD_READ_DISC_INFO; in cdrom_get_disc_info()
390 cgc.cmd[8] = cgc.buflen = 2; in cdrom_get_disc_info()
391 cgc.quiet = 1; in cdrom_get_disc_info()
393 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_disc_info()
406 cgc.cmd[8] = cgc.buflen = buflen; in cdrom_get_disc_info()
407 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_disc_info()
432 struct packet_command cgc; in cdrom_mrw_probe_pc() local
435 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_mrw_probe_pc()
437 cgc.timeout = HZ; in cdrom_mrw_probe_pc()
438 cgc.quiet = 1; in cdrom_mrw_probe_pc()
440 if (!cdrom_mode_sense(cdi, &cgc, MRW_MODE_PC, 0)) { in cdrom_mrw_probe_pc()
443 } else if (!cdrom_mode_sense(cdi, &cgc, MRW_MODE_PC_PRE1, 0)) { in cdrom_mrw_probe_pc()
453 struct packet_command cgc; in cdrom_is_mrw() local
460 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_is_mrw()
462 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in cdrom_is_mrw()
463 cgc.cmd[3] = CDF_MRW; in cdrom_is_mrw()
464 cgc.cmd[8] = sizeof(buffer); in cdrom_is_mrw()
465 cgc.quiet = 1; in cdrom_is_mrw()
467 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_is_mrw()
485 struct packet_command cgc; in cdrom_mrw_bgformat() local
494 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_WRITE); in cdrom_mrw_bgformat()
495 cgc.cmd[0] = GPCMD_FORMAT_UNIT; in cdrom_mrw_bgformat()
496 cgc.cmd[1] = (1 << 4) | 1; in cdrom_mrw_bgformat()
498 cgc.timeout = 5 * 60 * HZ; in cdrom_mrw_bgformat()
517 ret = cdi->ops->generic_packet(cdi, &cgc); in cdrom_mrw_bgformat()
526 struct packet_command cgc; in cdrom_mrw_bgformat_susp() local
528 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_mrw_bgformat_susp()
529 cgc.cmd[0] = GPCMD_CLOSE_TRACK; in cdrom_mrw_bgformat_susp()
534 cgc.cmd[1] = !!immed; in cdrom_mrw_bgformat_susp()
535 cgc.cmd[2] = 1 << 1; in cdrom_mrw_bgformat_susp()
537 cgc.timeout = 5 * 60 * HZ; in cdrom_mrw_bgformat_susp()
539 return cdi->ops->generic_packet(cdi, &cgc); in cdrom_mrw_bgformat_susp()
565 struct packet_command cgc; in cdrom_mrw_set_lba_space() local
570 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_mrw_set_lba_space()
572 cgc.buffer = buffer; in cdrom_mrw_set_lba_space()
573 cgc.buflen = sizeof(buffer); in cdrom_mrw_set_lba_space()
575 ret = cdrom_mode_sense(cdi, &cgc, cdi->mrw_mode_page, 0); in cdrom_mrw_set_lba_space()
584 cgc.buflen = size; in cdrom_mrw_set_lba_space()
586 ret = cdrom_mode_select(cdi, &cgc); in cdrom_mrw_set_lba_space()
671 struct packet_command cgc; in cdrom_get_media_event() local
675 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_get_media_event()
676 cgc.cmd[0] = GPCMD_GET_EVENT_STATUS_NOTIFICATION; in cdrom_get_media_event()
677 cgc.cmd[1] = 1; /* IMMED */ in cdrom_get_media_event()
678 cgc.cmd[4] = 1 << 4; /* media event */ in cdrom_get_media_event()
679 cgc.cmd[8] = sizeof(buffer); in cdrom_get_media_event()
680 cgc.quiet = 1; in cdrom_get_media_event()
682 if (cdi->ops->generic_packet(cdi, &cgc)) in cdrom_get_media_event()
698 struct packet_command cgc; in cdrom_get_random_writable() local
702 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_get_random_writable()
704 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; /* often 0x46 */ in cdrom_get_random_writable()
705 cgc.cmd[3] = CDF_RWRT; /* often 0x0020 */ in cdrom_get_random_writable()
706 cgc.cmd[8] = sizeof(buffer); /* often 0x18 */ in cdrom_get_random_writable()
707 cgc.quiet = 1; in cdrom_get_random_writable()
709 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_get_random_writable()
718 struct packet_command cgc; in cdrom_has_defect_mgt() local
723 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_has_defect_mgt()
725 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in cdrom_has_defect_mgt()
726 cgc.cmd[3] = CDF_HWDM; in cdrom_has_defect_mgt()
727 cgc.cmd[8] = sizeof(buffer); in cdrom_has_defect_mgt()
728 cgc.quiet = 1; in cdrom_has_defect_mgt()
730 if ((ret = cdi->ops->generic_packet(cdi, &cgc))) in cdrom_has_defect_mgt()
826 struct packet_command cgc; in mo_open_write() local
830 init_cdrom_command(&cgc, &buffer, 4, CGC_DATA_READ); in mo_open_write()
831 cgc.quiet = 1; in mo_open_write()
838 ret = cdrom_mode_sense(cdi, &cgc, GPMODE_ALL_PAGES, 0); in mo_open_write()
840 ret = cdrom_mode_sense(cdi, &cgc, GPMODE_VENDOR_PAGE, 0); in mo_open_write()
842 cgc.buflen = 255; in mo_open_write()
843 ret = cdrom_mode_sense(cdi, &cgc, GPMODE_ALL_PAGES, 0); in mo_open_write()
872 struct packet_command cgc; in cdrom_mmc3_profile() local
876 init_cdrom_command(&cgc, buffer, sizeof(buffer), CGC_DATA_READ); in cdrom_mmc3_profile()
878 cgc.cmd[0] = GPCMD_GET_CONFIGURATION; in cdrom_mmc3_profile()
879 cgc.cmd[1] = 0; in cdrom_mmc3_profile()
880 cgc.cmd[2] = cgc.cmd[3] = 0; /* Starting Feature Number */ in cdrom_mmc3_profile()
881 cgc.cmd[8] = sizeof(buffer); /* Allocation Length */ in cdrom_mmc3_profile()
882 cgc.quiet = 1; in cdrom_mmc3_profile()
884 if (cdi->ops->generic_packet(cdi, &cgc)) in cdrom_mmc3_profile()
953 struct packet_command cgc; in cdrom_dvd_rw_close_write() local
967 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_dvd_rw_close_write()
968 cgc.cmd[0] = GPCMD_FLUSH_CACHE; in cdrom_dvd_rw_close_write()
969 cgc.timeout = 30*HZ; in cdrom_dvd_rw_close_write()
970 cdi->ops->generic_packet(cdi, &cgc); in cdrom_dvd_rw_close_write()
972 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_dvd_rw_close_write()
973 cgc.cmd[0] = GPCMD_CLOSE_TRACK; in cdrom_dvd_rw_close_write()
974 cgc.timeout = 3000*HZ; in cdrom_dvd_rw_close_write()
975 cgc.quiet = 1; in cdrom_dvd_rw_close_write()
976 cdi->ops->generic_packet(cdi, &cgc); in cdrom_dvd_rw_close_write()
978 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_dvd_rw_close_write()
979 cgc.cmd[0] = GPCMD_CLOSE_TRACK; in cdrom_dvd_rw_close_write()
980 cgc.cmd[2] = 2; /* Close session */ in cdrom_dvd_rw_close_write()
981 cgc.quiet = 1; in cdrom_dvd_rw_close_write()
982 cgc.timeout = 3000*HZ; in cdrom_dvd_rw_close_write()
983 cdi->ops->generic_packet(cdi, &cgc); in cdrom_dvd_rw_close_write()
1309 struct packet_command cgc; in cdrom_read_mech_status() local
1331 init_cdrom_command(&cgc, buf, length, CGC_DATA_READ); in cdrom_read_mech_status()
1332 cgc.cmd[0] = GPCMD_MECHANISM_STATUS; in cdrom_read_mech_status()
1333 cgc.cmd[8] = (length >> 8) & 0xff; in cdrom_read_mech_status()
1334 cgc.cmd[9] = length & 0xff; in cdrom_read_mech_status()
1335 return cdo->generic_packet(cdi, &cgc); in cdrom_read_mech_status()
1392 struct packet_command cgc; in cdrom_load_unload() local
1398 init_cdrom_command(&cgc, NULL, 0, CGC_DATA_NONE); in cdrom_load_unload()
1399 cgc.cmd[0] = GPCMD_LOAD_UNLOAD; in cdrom_load_unload()
1400 cgc.cmd[4] = 2 + (slot >= 0); in cdrom_load_unload()
1401 cgc.cmd[8] = slot; in cdrom_load_unload()
1402 cgc.timeout = 60 * HZ; in cdrom_load_unload()
1408 cgc.cmd[0] = GPCMD_TEST_UNIT_READY; in cdrom_load_unload()
1409 cgc.cmd[7] = slot; in cdrom_load_unload()
1410 cgc.cmd[4] = cgc.cmd[8] = 0; in cdrom_load_unload()
1414 return cdi->ops->generic_packet(cdi, &cgc); in cdrom_load_unload()
1575 void init_cdrom_command(struct packet_command *cgc, void *buf, int len, in init_cdrom_command() argument
1578 memset(cgc, 0, sizeof(struct packet_command)); in init_cdrom_command()
1581 cgc->buffer = (char *) buf; in init_cdrom_command()
1582 cgc->buflen = len; in init_cdrom_command()
1583 cgc->data_direction = type; in init_cdrom_command()
1584 cgc->timeout = CDROM_DEF_TIMEOUT; in init_cdrom_command()
1592 static void setup_report_key(struct packet_command *cgc, unsigned agid, unsigned type) in setup_report_key() argument
1594 cgc->cmd[0] = GPCMD_REPORT_KEY; in setup_report_key()
1595 cgc->cmd[10] = type | (agid << 6); in setup_report_key()
1598 cgc->buflen = 8; in setup_report_key()
1602 cgc->buflen = 16; in setup_report_key()
1606 cgc->buflen = 12; in setup_report_key()
1610 cgc->cmd[9] = cgc->buflen; in setup_report_key()
1611 cgc->data_direction = CGC_DATA_READ; in setup_report_key()
1614 static void setup_send_key(struct packet_command *cgc, unsigned agid, unsigned type) in setup_send_key() argument
1616 cgc->cmd[0] = GPCMD_SEND_KEY; in setup_send_key()
1617 cgc->cmd[10] = type | (agid << 6); in setup_send_key()
1620 cgc->buflen = 16; in setup_send_key()
1624 cgc->buflen = 12; in setup_send_key()
1628 cgc->buflen = 8; in setup_send_key()
1632 cgc->cmd[9] = cgc->buflen; in setup_send_key()
1633 cgc->data_direction = CGC_DATA_WRITE; in setup_send_key()
1640 struct packet_command cgc; in dvd_do_auth() local
1645 init_cdrom_command(&cgc, buf, 0, CGC_DATA_READ); in dvd_do_auth()
1651 cgc.quiet = 1; in dvd_do_auth()
1652 setup_report_key(&cgc, ai->lsa.agid, 0); in dvd_do_auth()
1654 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1663 setup_report_key(&cgc, ai->lsk.agid, 2); in dvd_do_auth()
1665 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1674 setup_report_key(&cgc, ai->lsc.agid, 1); in dvd_do_auth()
1676 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1686 cgc.quiet = 1; in dvd_do_auth()
1687 setup_report_key(&cgc, ai->lstk.agid, 4); in dvd_do_auth()
1688 cgc.cmd[5] = ai->lstk.lba; in dvd_do_auth()
1689 cgc.cmd[4] = ai->lstk.lba >> 8; in dvd_do_auth()
1690 cgc.cmd[3] = ai->lstk.lba >> 16; in dvd_do_auth()
1691 cgc.cmd[2] = ai->lstk.lba >> 24; in dvd_do_auth()
1693 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1705 setup_report_key(&cgc, ai->lsasf.agid, 5); in dvd_do_auth()
1707 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1716 setup_send_key(&cgc, ai->hsc.agid, 1); in dvd_do_auth()
1720 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1728 setup_send_key(&cgc, ai->hsk.agid, 3); in dvd_do_auth()
1732 if ((ret = cdo->generic_packet(cdi, &cgc))) { in dvd_do_auth()
1741 cgc.quiet = 1; in dvd_do_auth()
1743 setup_report_key(&cgc, ai->lsa.agid, 0x3f); in dvd_do_auth()
1744 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1751 setup_report_key(&cgc, 0, 8); in dvd_do_auth()
1753 cgc.buffer = (char *) &rpc_state; in dvd_do_auth()
1755 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1768 setup_send_key(&cgc, 0, 6); in dvd_do_auth()
1772 if ((ret = cdo->generic_packet(cdi, &cgc))) in dvd_do_auth()
1785 struct packet_command *cgc) in dvd_read_physical() argument
1795 init_cdrom_command(cgc, buf, sizeof(buf), CGC_DATA_READ); in dvd_read_physical()
1796 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_physical()
1797 cgc->cmd[6] = layer_num; in dvd_read_physical()
1798 cgc->cmd[7] = s->type; in dvd_read_physical()
1799 cgc->cmd[9] = cgc->buflen & 0xff; in dvd_read_physical()
1804 cgc->quiet = 1; in dvd_read_physical()
1806 ret = cdo->generic_packet(cdi, cgc); in dvd_read_physical()
1836 struct packet_command *cgc) in dvd_read_copyright() argument
1842 init_cdrom_command(cgc, buf, sizeof(buf), CGC_DATA_READ); in dvd_read_copyright()
1843 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_copyright()
1844 cgc->cmd[6] = s->copyright.layer_num; in dvd_read_copyright()
1845 cgc->cmd[7] = s->type; in dvd_read_copyright()
1846 cgc->cmd[8] = cgc->buflen >> 8; in dvd_read_copyright()
1847 cgc->cmd[9] = cgc->buflen & 0xff; in dvd_read_copyright()
1849 ret = cdo->generic_packet(cdi, cgc); in dvd_read_copyright()
1860 struct packet_command *cgc) in dvd_read_disckey() argument
1872 init_cdrom_command(cgc, buf, size, CGC_DATA_READ); in dvd_read_disckey()
1873 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_disckey()
1874 cgc->cmd[7] = s->type; in dvd_read_disckey()
1875 cgc->cmd[8] = size >> 8; in dvd_read_disckey()
1876 cgc->cmd[9] = size & 0xff; in dvd_read_disckey()
1877 cgc->cmd[10] = s->disckey.agid << 6; in dvd_read_disckey()
1879 ret = cdo->generic_packet(cdi, cgc); in dvd_read_disckey()
1888 struct packet_command *cgc) in dvd_read_bca() argument
1898 init_cdrom_command(cgc, buf, size, CGC_DATA_READ); in dvd_read_bca()
1899 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_bca()
1900 cgc->cmd[7] = s->type; in dvd_read_bca()
1901 cgc->cmd[9] = cgc->buflen & 0xff; in dvd_read_bca()
1903 ret = cdo->generic_packet(cdi, cgc); in dvd_read_bca()
1922 struct packet_command *cgc) in dvd_read_manufact() argument
1934 init_cdrom_command(cgc, buf, size, CGC_DATA_READ); in dvd_read_manufact()
1935 cgc->cmd[0] = GPCMD_READ_DVD_STRUCTURE; in dvd_read_manufact()
1936 cgc->cmd[7] = s->type; in dvd_read_manufact()
1937 cgc->cmd[8] = size >> 8; in dvd_read_manufact()
1938 cgc->cmd[9] = size & 0xff; in dvd_read_manufact()
1940 ret = cdo->generic_packet(cdi, cgc); in dvd_read_manufact()
1964 struct packet_command *cgc) in dvd_read_struct() argument
1968 return dvd_read_physical(cdi, s, cgc); in dvd_read_struct()
1971 return dvd_read_copyright(cdi, s, cgc); in dvd_read_struct()
1974 return dvd_read_disckey(cdi, s, cgc); in dvd_read_struct()
1977 return dvd_read_bca(cdi, s, cgc); in dvd_read_struct()
1980 return dvd_read_manufact(cdi, s, cgc); in dvd_read_struct()
1990 struct packet_command *cgc, in cdrom_mode_sense() argument
1995 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_mode_sense()
1997 cgc->cmd[0] = GPCMD_MODE_SENSE_10; in cdrom_mode_sense()
1998 cgc->cmd[2] = page_code | (page_control << 6); in cdrom_mode_sense()
1999 cgc->cmd[7] = cgc->buflen >> 8; in cdrom_mode_sense()
2000 cgc->cmd[8] = cgc->buflen & 0xff; in cdrom_mode_sense()
2001 cgc->data_direction = CGC_DATA_READ; in cdrom_mode_sense()
2002 return cdo->generic_packet(cdi, cgc); in cdrom_mode_sense()
2006 struct packet_command *cgc) in cdrom_mode_select() argument
2010 memset(cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_mode_select()
2011 memset(cgc->buffer, 0, 2); in cdrom_mode_select()
2012 cgc->cmd[0] = GPCMD_MODE_SELECT_10; in cdrom_mode_select()
2013 cgc->cmd[1] = 0x10; /* PF */ in cdrom_mode_select()
2014 cgc->cmd[7] = cgc->buflen >> 8; in cdrom_mode_select()
2015 cgc->cmd[8] = cgc->buflen & 0xff; in cdrom_mode_select()
2016 cgc->data_direction = CGC_DATA_WRITE; in cdrom_mode_select()
2017 return cdo->generic_packet(cdi, cgc); in cdrom_mode_select()
2024 struct packet_command cgc; in cdrom_read_subchannel() local
2028 init_cdrom_command(&cgc, buffer, 16, CGC_DATA_READ); in cdrom_read_subchannel()
2029 cgc.cmd[0] = GPCMD_READ_SUBCHANNEL; in cdrom_read_subchannel()
2030 cgc.cmd[1] = subchnl->cdsc_format;/* MSF or LBA addressing */ in cdrom_read_subchannel()
2031 cgc.cmd[2] = 0x40; /* request subQ data */ in cdrom_read_subchannel()
2032 cgc.cmd[3] = mcn ? 2 : 1; in cdrom_read_subchannel()
2033 cgc.cmd[8] = 16; in cdrom_read_subchannel()
2035 if ((ret = cdo->generic_packet(cdi, &cgc))) in cdrom_read_subchannel()
2038 subchnl->cdsc_audiostatus = cgc.buffer[1]; in cdrom_read_subchannel()
2039 subchnl->cdsc_ctrl = cgc.buffer[5] & 0xf; in cdrom_read_subchannel()
2040 subchnl->cdsc_trk = cgc.buffer[6]; in cdrom_read_subchannel()
2041 subchnl->cdsc_ind = cgc.buffer[7]; in cdrom_read_subchannel()
2044 subchnl->cdsc_absaddr.lba = ((cgc.buffer[8] << 24) | in cdrom_read_subchannel()
2045 (cgc.buffer[9] << 16) | in cdrom_read_subchannel()
2046 (cgc.buffer[10] << 8) | in cdrom_read_subchannel()
2047 (cgc.buffer[11])); in cdrom_read_subchannel()
2048 subchnl->cdsc_reladdr.lba = ((cgc.buffer[12] << 24) | in cdrom_read_subchannel()
2049 (cgc.buffer[13] << 16) | in cdrom_read_subchannel()
2050 (cgc.buffer[14] << 8) | in cdrom_read_subchannel()
2051 (cgc.buffer[15])); in cdrom_read_subchannel()
2053 subchnl->cdsc_reladdr.msf.minute = cgc.buffer[13]; in cdrom_read_subchannel()
2054 subchnl->cdsc_reladdr.msf.second = cgc.buffer[14]; in cdrom_read_subchannel()
2055 subchnl->cdsc_reladdr.msf.frame = cgc.buffer[15]; in cdrom_read_subchannel()
2056 subchnl->cdsc_absaddr.msf.minute = cgc.buffer[9]; in cdrom_read_subchannel()
2057 subchnl->cdsc_absaddr.msf.second = cgc.buffer[10]; in cdrom_read_subchannel()
2058 subchnl->cdsc_absaddr.msf.frame = cgc.buffer[11]; in cdrom_read_subchannel()
2068 struct packet_command *cgc, int lba, in cdrom_read_cd() argument
2073 memset(&cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_read_cd()
2074 cgc->cmd[0] = GPCMD_READ_10; in cdrom_read_cd()
2075 cgc->cmd[2] = (lba >> 24) & 0xff; in cdrom_read_cd()
2076 cgc->cmd[3] = (lba >> 16) & 0xff; in cdrom_read_cd()
2077 cgc->cmd[4] = (lba >> 8) & 0xff; in cdrom_read_cd()
2078 cgc->cmd[5] = lba & 0xff; in cdrom_read_cd()
2079 cgc->cmd[6] = (nblocks >> 16) & 0xff; in cdrom_read_cd()
2080 cgc->cmd[7] = (nblocks >> 8) & 0xff; in cdrom_read_cd()
2081 cgc->cmd[8] = nblocks & 0xff; in cdrom_read_cd()
2082 cgc->buflen = blocksize * nblocks; in cdrom_read_cd()
2083 return cdo->generic_packet(cdi, cgc); in cdrom_read_cd()
2088 struct packet_command *cgc, in cdrom_read_block() argument
2093 memset(&cgc->cmd, 0, sizeof(cgc->cmd)); in cdrom_read_block()
2094 cgc->cmd[0] = GPCMD_READ_CD; in cdrom_read_block()
2096 cgc->cmd[1] = format << 2; in cdrom_read_block()
2098 cgc->cmd[2] = (lba >> 24) & 0xff; in cdrom_read_block()
2099 cgc->cmd[3] = (lba >> 16) & 0xff; in cdrom_read_block()
2100 cgc->cmd[4] = (lba >> 8) & 0xff; in cdrom_read_block()
2101 cgc->cmd[5] = lba & 0xff; in cdrom_read_block()
2103 cgc->cmd[6] = (nblocks >> 16) & 0xff; in cdrom_read_block()
2104 cgc->cmd[7] = (nblocks >> 8) & 0xff; in cdrom_read_block()
2105 cgc->cmd[8] = nblocks & 0xff; in cdrom_read_block()
2106 cgc->buflen = blksize * nblocks; in cdrom_read_block()
2110 case CD_FRAMESIZE_RAW0 : cgc->cmd[9] = 0x58; break; in cdrom_read_block()
2111 case CD_FRAMESIZE_RAW1 : cgc->cmd[9] = 0x78; break; in cdrom_read_block()
2112 case CD_FRAMESIZE_RAW : cgc->cmd[9] = 0xf8; break; in cdrom_read_block()
2113 default : cgc->cmd[9] = 0x10; in cdrom_read_block()
2116 return cdo->generic_packet(cdi, cgc); in cdrom_read_block()
2122 struct packet_command cgc; in cdrom_read_cdda_old() local
2128 memset(&cgc, 0, sizeof(cgc)); in cdrom_read_cdda_old()
2135 cgc.buffer = kmalloc_array(nr, CD_FRAMESIZE_RAW, GFP_KERNEL); in cdrom_read_cdda_old()
2136 if (cgc.buffer) in cdrom_read_cdda_old()
2145 cgc.data_direction = CGC_DATA_READ; in cdrom_read_cdda_old()
2150 ret = cdrom_read_block(cdi, &cgc, lba, nr, 1, CD_FRAMESIZE_RAW); in cdrom_read_cdda_old()
2153 if (copy_to_user(ubuf, cgc.buffer, CD_FRAMESIZE_RAW * nr)) { in cdrom_read_cdda_old()
2161 kfree(cgc.buffer); in cdrom_read_cdda_old()
2776 struct packet_command cgc; in cdrom_switch_blocksize() local
2784 memset(&cgc, 0, sizeof(cgc)); in cdrom_switch_blocksize()
2785 cgc.cmd[0] = 0x15; in cdrom_switch_blocksize()
2786 cgc.cmd[1] = 1 << 4; in cdrom_switch_blocksize()
2787 cgc.cmd[4] = 12; in cdrom_switch_blocksize()
2788 cgc.buflen = sizeof(mh); in cdrom_switch_blocksize()
2789 cgc.buffer = (char *) &mh; in cdrom_switch_blocksize()
2790 cgc.data_direction = CGC_DATA_WRITE; in cdrom_switch_blocksize()
2795 return cdo->generic_packet(cdi, &cgc); in cdrom_switch_blocksize()
2802 struct packet_command cgc; in cdrom_get_track_info() local
2805 init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ); in cdrom_get_track_info()
2806 cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO; in cdrom_get_track_info()
2807 cgc.cmd[1] = type & 3; in cdrom_get_track_info()
2808 cgc.cmd[4] = (track & 0xff00) >> 8; in cdrom_get_track_info()
2809 cgc.cmd[5] = track & 0xff; in cdrom_get_track_info()
2810 cgc.cmd[8] = 8; in cdrom_get_track_info()
2811 cgc.quiet = 1; in cdrom_get_track_info()
2813 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_track_info()
2823 cgc.cmd[8] = cgc.buflen = buflen; in cdrom_get_track_info()
2824 ret = cdo->generic_packet(cdi, &cgc); in cdrom_get_track_info()
2951 struct packet_command *cgc, in mmc_ioctl_cdrom_read_data() argument
2978 cgc->buffer = kzalloc(blocksize, GFP_KERNEL); in mmc_ioctl_cdrom_read_data()
2979 if (cgc->buffer == NULL) in mmc_ioctl_cdrom_read_data()
2983 cgc->sshdr = &sshdr; in mmc_ioctl_cdrom_read_data()
2984 cgc->data_direction = CGC_DATA_READ; in mmc_ioctl_cdrom_read_data()
2985 ret = cdrom_read_block(cdi, cgc, lba, 1, format, blocksize); in mmc_ioctl_cdrom_read_data()
2998 cgc->sshdr = NULL; in mmc_ioctl_cdrom_read_data()
2999 ret = cdrom_read_cd(cdi, cgc, lba, blocksize, 1); in mmc_ioctl_cdrom_read_data()
3003 if (!ret && copy_to_user(arg, cgc->buffer, blocksize)) in mmc_ioctl_cdrom_read_data()
3006 kfree(cgc->buffer); in mmc_ioctl_cdrom_read_data()
3085 struct packet_command *cgc) in mmc_ioctl_cdrom_play_msf() argument
3092 cgc->cmd[0] = GPCMD_PLAY_AUDIO_MSF; in mmc_ioctl_cdrom_play_msf()
3093 cgc->cmd[3] = msf.cdmsf_min0; in mmc_ioctl_cdrom_play_msf()
3094 cgc->cmd[4] = msf.cdmsf_sec0; in mmc_ioctl_cdrom_play_msf()
3095 cgc->cmd[5] = msf.cdmsf_frame0; in mmc_ioctl_cdrom_play_msf()
3096 cgc->cmd[6] = msf.cdmsf_min1; in mmc_ioctl_cdrom_play_msf()
3097 cgc->cmd[7] = msf.cdmsf_sec1; in mmc_ioctl_cdrom_play_msf()
3098 cgc->cmd[8] = msf.cdmsf_frame1; in mmc_ioctl_cdrom_play_msf()
3099 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_play_msf()
3100 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_play_msf()
3105 struct packet_command *cgc) in mmc_ioctl_cdrom_play_blk() argument
3112 cgc->cmd[0] = GPCMD_PLAY_AUDIO_10; in mmc_ioctl_cdrom_play_blk()
3113 cgc->cmd[2] = (blk.from >> 24) & 0xff; in mmc_ioctl_cdrom_play_blk()
3114 cgc->cmd[3] = (blk.from >> 16) & 0xff; in mmc_ioctl_cdrom_play_blk()
3115 cgc->cmd[4] = (blk.from >> 8) & 0xff; in mmc_ioctl_cdrom_play_blk()
3116 cgc->cmd[5] = blk.from & 0xff; in mmc_ioctl_cdrom_play_blk()
3117 cgc->cmd[7] = (blk.len >> 8) & 0xff; in mmc_ioctl_cdrom_play_blk()
3118 cgc->cmd[8] = blk.len & 0xff; in mmc_ioctl_cdrom_play_blk()
3119 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_play_blk()
3120 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_play_blk()
3125 struct packet_command *cgc, in mmc_ioctl_cdrom_volume() argument
3140 cgc->buffer = buffer; in mmc_ioctl_cdrom_volume()
3141 cgc->buflen = 24; in mmc_ioctl_cdrom_volume()
3142 ret = cdrom_mode_sense(cdi, cgc, GPMODE_AUDIO_CTL_PAGE, 0); in mmc_ioctl_cdrom_volume()
3155 if (offset + 16 > cgc->buflen) { in mmc_ioctl_cdrom_volume()
3156 cgc->buflen = offset + 16; in mmc_ioctl_cdrom_volume()
3157 ret = cdrom_mode_sense(cdi, cgc, in mmc_ioctl_cdrom_volume()
3182 cgc->buffer = mask; in mmc_ioctl_cdrom_volume()
3183 ret = cdrom_mode_sense(cdi, cgc, GPMODE_AUDIO_CTL_PAGE, 1); in mmc_ioctl_cdrom_volume()
3193 cgc->buffer = buffer + offset - 8; in mmc_ioctl_cdrom_volume()
3194 memset(cgc->buffer, 0, 8); in mmc_ioctl_cdrom_volume()
3195 return cdrom_mode_select(cdi, cgc); in mmc_ioctl_cdrom_volume()
3199 struct packet_command *cgc, in mmc_ioctl_cdrom_start_stop() argument
3204 cgc->cmd[0] = GPCMD_START_STOP_UNIT; in mmc_ioctl_cdrom_start_stop()
3205 cgc->cmd[1] = 1; in mmc_ioctl_cdrom_start_stop()
3206 cgc->cmd[4] = (cmd == CDROMSTART) ? 1 : 0; in mmc_ioctl_cdrom_start_stop()
3207 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_start_stop()
3208 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_start_stop()
3212 struct packet_command *cgc, in mmc_ioctl_cdrom_pause_resume() argument
3217 cgc->cmd[0] = GPCMD_PAUSE_RESUME; in mmc_ioctl_cdrom_pause_resume()
3218 cgc->cmd[8] = (cmd == CDROMRESUME) ? 1 : 0; in mmc_ioctl_cdrom_pause_resume()
3219 cgc->data_direction = CGC_DATA_NONE; in mmc_ioctl_cdrom_pause_resume()
3220 return cdo->generic_packet(cdi, cgc); in mmc_ioctl_cdrom_pause_resume()
3225 struct packet_command *cgc) in mmc_ioctl_dvd_read_struct() argument
3240 ret = dvd_read_struct(cdi, s, cgc); in mmc_ioctl_dvd_read_struct()
3301 struct packet_command cgc; in mmc_ioctl() local
3304 memset(&cgc, 0, sizeof(cgc)); in mmc_ioctl()
3312 return mmc_ioctl_cdrom_read_data(cdi, userptr, &cgc, cmd); in mmc_ioctl()
3318 return mmc_ioctl_cdrom_play_msf(cdi, userptr, &cgc); in mmc_ioctl()
3320 return mmc_ioctl_cdrom_play_blk(cdi, userptr, &cgc); in mmc_ioctl()
3323 return mmc_ioctl_cdrom_volume(cdi, userptr, &cgc, cmd); in mmc_ioctl()
3326 return mmc_ioctl_cdrom_start_stop(cdi, &cgc, cmd); in mmc_ioctl()
3329 return mmc_ioctl_cdrom_pause_resume(cdi, &cgc, cmd); in mmc_ioctl()
3331 return mmc_ioctl_dvd_read_struct(cdi, userptr, &cgc); in mmc_ioctl()