Lines Matching defs:trackinfo
2901 struct mmc_trackinfo *trackinfo)
2919 * Emulate read trackinfo for CD-ROM using the raw-TOC.
2996 if (point == trackinfo->tracknr) {
3000 if (point == trackinfo->tracknr + 1) {
3060 /* trackinfo->tracknr preserved */
3061 trackinfo->sessionnr = track_sessionnr;
3062 trackinfo->track_mode = 7; /* data, incremental */
3063 trackinfo->data_mode = 8; /* 2048 bytes mode1 */
3065 trackinfo->flags = flags;
3066 trackinfo->track_start = track_start;
3067 trackinfo->next_writable = next_writable;
3068 trackinfo->free_blocks = 0;
3069 trackinfo->packet_size = 1;
3070 trackinfo->track_size = track_size;
3071 trackinfo->last_recorded = last_recorded;
3081 struct mmc_trackinfo *trackinfo)
3097 * Emulate read trackinfo for DVD-ROM. We can't use the raw-TOC as the
3165 if (trackinfo->tracknr == tracknr) {
3168 if (trackinfo->tracknr == tracknr+1) {
3189 if (trackinfo->tracknr == last_tracknr) {
3194 /* trackinfo->tracknr preserved */
3195 trackinfo->sessionnr = trackinfo->tracknr;
3196 trackinfo->track_mode = 0; /* unknown */
3197 trackinfo->data_mode = 8; /* 2048 bytes mode1 */
3199 trackinfo->flags = flags;
3200 trackinfo->track_start = track_start;
3201 trackinfo->next_writable = 0;
3202 trackinfo->free_blocks = 0;
3203 trackinfo->packet_size = 16; /* standard length 16 blocks ECC */
3204 trackinfo->track_size = track_size;
3205 trackinfo->last_recorded = 0;
3214 struct mmc_trackinfo *trackinfo)
3223 /* set up SCSI call with track number from trackinfo.tracknr */
3230 /* trackinfo.tracknr contains number of tracks to query */
3231 _lto4b(trackinfo->tracknr, ti_cmd.address);
3238 /* trackinfo call failed, emulate for cd-rom/dvd-rom */
3255 return mmc_gettrackinfo_cdrom(periph, trackinfo);
3257 return mmc_gettrackinfo_dvdrom(periph, trackinfo);
3263 memset(trackinfo, 0, sizeof(struct mmc_trackinfo));
3271 trackinfo->tracknr = ti.track_lsb | (ti.track_msb << 8);
3272 trackinfo->sessionnr = ti.session_lsb | (ti.session_msb << 8);
3273 trackinfo->track_mode = ti.track_info_1 & 0xf;
3274 trackinfo->data_mode = ti.track_info_2 & 0xf;
3293 if ((trackinfo->track_mode & (3<<2)) == 4) /* 01xxb */
3295 if ((trackinfo->track_mode & (1<<2)) == 0) { /* x0xxb */
3297 if (trackinfo->track_mode & (1<<3)) /* 10xxb */
3299 if (trackinfo->track_mode & 1) /* xxx1b */
3303 trackinfo->flags = flags;
3304 trackinfo->track_start = _4btol(ti.track_start);
3305 trackinfo->next_writable = _4btol(ti.next_writable);
3306 trackinfo->free_blocks = _4btol(ti.free_blocks);
3307 trackinfo->packet_size = _4btol(ti.packet_size);
3308 trackinfo->track_size = _4btol(ti.track_size);
3309 trackinfo->last_recorded = _4btol(ti.last_recorded);
3541 struct mmc_trackinfo trackinfo;
3577 trackinfo.tracknr = mmc_writeparams->tracknr;
3578 error = mmc_gettrackinfo(periph, &trackinfo);
3581 if ((trackinfo.flags & MMC_TRACKINFO_BLANK) == 0) {
3582 track_mode = trackinfo.track_mode;
3583 data_mode = trackinfo.data_mode;
3585 mmc_writeparams->blockingnr = trackinfo.packet_size;
3588 /* copy track mode and data mode from trackinfo */