Lines Matching defs:mmc_discinfo

176 static int	mmc_getdiscinfo(struct scsipi_periph *, struct mmc_discinfo *);
1436 return mmc_getdiscinfo(periph, (struct mmc_discinfo *) addr);
2485 mmc_process_feature(struct mmc_discinfo *mmc_discinfo,
2492 flags = mmc_discinfo->mmc_cur;
2494 flags = mmc_discinfo->mmc_cap;
2516 mmc_discinfo->link_block_penalty = rpos[4];
2572 mmc_discinfo->mmc_cur = flags;
2574 mmc_discinfo->mmc_cap = flags;
2580 struct mmc_discinfo *mmc_discinfo)
2592 * Fabricate mmc_discinfo for CD-ROM. Some values are really `dont
2596 mmc_discinfo->disc_state = MMC_STATE_FULL;
2597 mmc_discinfo->last_session_state = MMC_STATE_FULL;
2598 mmc_discinfo->bg_format_state = MMC_BGFSTATE_COMPLETED;
2599 mmc_discinfo->link_block_penalty = 7; /* not relevant */
2619 mmc_discinfo->num_sessions = toc_hdr->last - toc_hdr->first + 1;
2620 mmc_discinfo->first_track = toc_hdr->first;
2621 mmc_discinfo->first_track_last_session = toc_msinfo->tracknr;
2636 mmc_discinfo->last_track_last_session = toc_hdr->last;
2637 mmc_discinfo->num_tracks = toc_hdr->last - toc_hdr->first + 1;
2649 struct mmc_discinfo *mmc_discinfo)
2657 * Fabricate mmc_discinfo for DVD-ROM. Some values are really `dont
2661 mmc_discinfo->disc_state = MMC_STATE_FULL;
2662 mmc_discinfo->last_session_state = MMC_STATE_FULL;
2663 mmc_discinfo->bg_format_state = MMC_BGFSTATE_COMPLETED;
2664 mmc_discinfo->link_block_penalty = 16; /* not relevant */
2684 mmc_discinfo->num_sessions = toc_hdr.last - toc_hdr.first + 1;
2685 mmc_discinfo->num_tracks = mmc_discinfo->num_sessions;
2686 mmc_discinfo->first_track = toc_hdr.first;
2687 mmc_discinfo->first_track_last_session = toc_hdr.last;
2688 mmc_discinfo->last_track_last_session = toc_hdr.last;
2697 struct mmc_discinfo *mmc_discinfo)
2714 memset(mmc_discinfo, 0, sizeof(struct mmc_discinfo));
2715 mmc_discinfo->mmc_profile = 0x00; /* unknown */
2716 mmc_discinfo->mmc_class = MMC_CLASS_UNKN;
2717 mmc_discinfo->mmc_cur = 0;
2718 mmc_discinfo->mmc_cap = 0;
2719 mmc_discinfo->link_block_penalty = 0;
2736 mmc_discinfo->mmc_profile = _2btol(gc->mmc_profile);
2737 mmc_discinfo->mmc_class = mmc_profile2class(mmc_discinfo->mmc_profile);
2740 mmc_discinfo->sector_size = 2048;
2741 error = read_cd_capacity(periph, &mmc_discinfo->sector_size, &last_lba);
2745 mmc_discinfo->last_possible_lba = (uint32_t) last_lba;
2780 mmc_process_feature(mmc_discinfo,
2808 if (mmc_discinfo->mmc_profile == 0x0a) {
2809 if ((mmc_discinfo->mmc_cur & MMC_CAP_SEQUENTIAL) == 0)
2810 mmc_discinfo->mmc_cur |= MMC_CAP_STRICTOVERWRITE;
2811 if (mmc_discinfo->mmc_cur & MMC_CAP_STRICTOVERWRITE)
2812 mmc_discinfo->mmc_cur &= ~MMC_CAP_SEQUENTIAL;
2813 if (mmc_discinfo->mmc_cur & MMC_CAP_MRW) {
2814 mmc_discinfo->mmc_cur &= ~MMC_CAP_SEQUENTIAL;
2815 mmc_discinfo->mmc_cur &= ~MMC_CAP_STRICTOVERWRITE;
2817 mmc_discinfo->mmc_cur &= ~MMC_CAP_HW_DEFECTFREE;
2820 if (mmc_discinfo->mmc_profile == 0x09) {
2821 mmc_discinfo->mmc_cur &= ~MMC_CAP_REWRITABLE;
2826 mmc_discinfo->mmc_profile,
2827 mmc_discinfo->mmc_cur, mmc_discinfo->mmc_cap);
2843 if (mmc_discinfo->mmc_profile == 0x08) /* CD-ROM */
2844 error = mmc_getdiscinfo_cdrom(periph, mmc_discinfo);
2845 else if (mmc_discinfo->mmc_profile == 0x10) /* DVD-ROM */
2846 error = mmc_getdiscinfo_dvdrom(periph, mmc_discinfo);
2853 mmc_discinfo->disc_state = di.disc_state & 3;
2854 mmc_discinfo->last_session_state = (di.disc_state >> 2) & 3;
2855 mmc_discinfo->bg_format_state = (di.disc_state2 & 3);
2859 mmc_discinfo->num_sessions = lsb | (msb << 8);
2861 mmc_discinfo->first_track = di.first_track;
2864 mmc_discinfo->first_track_last_session = lsb | (msb << 8);
2867 mmc_discinfo->last_track_last_session = lsb | (msb << 8);
2869 mmc_discinfo->num_tracks = mmc_discinfo->last_track_last_session -
2870 mmc_discinfo->first_track + 1;
2874 mmc_discinfo->mmc_cur |= MMC_CAP_BLANKABLE;
2877 mmc_discinfo->disc_id = _4btol(di.discid);
2878 mmc_discinfo->disc_flags |= MMC_DFLAGS_DISCIDVALID;
2881 mmc_discinfo->disc_barcode = _8btol(di.disc_bar_code);
2882 mmc_discinfo->disc_flags |= MMC_DFLAGS_BARCODEVALID;
2885 mmc_discinfo->disc_flags |= MMC_DFLAGS_UNRESTRICTED;
2888 mmc_discinfo->application_code = di.application_code;
2889 mmc_discinfo->disc_flags |= MMC_DFLAGS_APPCODEVALID;