Lines Matching refs:toc
955 struct atapi_toc *toc = info->toc; in ide_cd_read_toc() local
965 if (toc == NULL) { in ide_cd_read_toc()
967 toc = kmalloc(sizeof(struct atapi_toc), GFP_KERNEL); in ide_cd_read_toc()
968 if (toc == NULL) { in ide_cd_read_toc()
973 info->toc = toc; in ide_cd_read_toc()
986 stat = cdrom_read_capacity(drive, &toc->capacity, §ors_per_frame, in ide_cd_read_toc()
989 toc->capacity = 0x1fffff; in ide_cd_read_toc()
991 set_capacity(info->disk, toc->capacity * sectors_per_frame); in ide_cd_read_toc()
993 drive->probed_capacity = toc->capacity * sectors_per_frame; in ide_cd_read_toc()
999 stat = cdrom_read_tocentry(drive, 0, 1, 0, (char *) &toc->hdr, in ide_cd_read_toc()
1005 toc->hdr.first_track = bcd2bin(toc->hdr.first_track); in ide_cd_read_toc()
1006 toc->hdr.last_track = bcd2bin(toc->hdr.last_track); in ide_cd_read_toc()
1009 ntracks = toc->hdr.last_track - toc->hdr.first_track + 1; in ide_cd_read_toc()
1016 stat = cdrom_read_tocentry(drive, toc->hdr.first_track, 1, 0, in ide_cd_read_toc()
1017 (char *)&toc->hdr, in ide_cd_read_toc()
1022 if (stat && toc->hdr.first_track > 1) { in ide_cd_read_toc()
1037 (char *)&toc->hdr, in ide_cd_read_toc()
1046 toc->hdr.first_track = (u8)bin2bcd(CDROM_LEADOUT); in ide_cd_read_toc()
1047 toc->hdr.last_track = (u8)bin2bcd(CDROM_LEADOUT); in ide_cd_read_toc()
1049 toc->hdr.first_track = CDROM_LEADOUT; in ide_cd_read_toc()
1050 toc->hdr.last_track = CDROM_LEADOUT; in ide_cd_read_toc()
1057 toc->hdr.toc_length = be16_to_cpu(toc->hdr.toc_length); in ide_cd_read_toc()
1060 toc->hdr.first_track = bcd2bin(toc->hdr.first_track); in ide_cd_read_toc()
1061 toc->hdr.last_track = bcd2bin(toc->hdr.last_track); in ide_cd_read_toc()
1067 toc->ent[i].track = bcd2bin(toc->ent[i].track); in ide_cd_read_toc()
1068 msf_from_bcd(&toc->ent[i].addr.msf); in ide_cd_read_toc()
1070 toc->ent[i].addr.lba = msf_to_lba(toc->ent[i].addr.msf.minute, in ide_cd_read_toc()
1071 toc->ent[i].addr.msf.second, in ide_cd_read_toc()
1072 toc->ent[i].addr.msf.frame); in ide_cd_read_toc()
1075 if (toc->hdr.first_track != CDROM_LEADOUT) { in ide_cd_read_toc()
1082 toc->last_session_lba = be32_to_cpu(ms_tmp.ent.addr.lba); in ide_cd_read_toc()
1086 toc->last_session_lba = msf_to_lba(0, 2, 0); /* 0m 2s 0f */ in ide_cd_read_toc()
1097 toc->last_session_lba = msf_to_lba(ms_tmp.ent.addr.msf.minute, in ide_cd_read_toc()
1102 toc->xa_flag = (ms_tmp.hdr.first_track != ms_tmp.hdr.last_track); in ide_cd_read_toc()
1106 if (!stat && (last_written > toc->capacity)) { in ide_cd_read_toc()
1107 toc->capacity = last_written; in ide_cd_read_toc()
1108 set_capacity(info->disk, toc->capacity * sectors_per_frame); in ide_cd_read_toc()
1109 drive->probed_capacity = toc->capacity * sectors_per_frame; in ide_cd_read_toc()
1563 kfree(info->toc); in ide_cd_release()