toc
struct cd_tocdata toc;
softc->toc.header.ending_track + 1)
softc->toc.header.ending_track + 1)
softc->toc.header.ending_track + 1;
softc->toc.header.starting_track;
softc->toc.header.starting_track;
|| (st > (softc->toc.header.ending_track -
softc->toc.header.starting_track))) {
sentry = &softc->toc.entries[st].addr;
eentry = &softc->toc.entries[et].addr;
bzero(&softc->toc, sizeof(softc->toc));
toch = &softc->toc.header;
bzero(&softc->toc, sizeof(softc->toc));
(u_int8_t *)&softc->toc, toclen + sizeof(*toch),
bzero(&softc->toc, sizeof(softc->toc));
softc->toc.entries[cdindex - toch->starting_track] =
softc->toc.entries[cdindex].track =
bcd2bin(softc->toc.entries[cdindex].track);
if (softc->toc.entries[cdindex].track == toch->starting_track) {
if (softc->toc.entries[cdindex].control & 0x04)
if (ata_atapicmd(dev, ccb, (caddr_t)&cdp->toc, len,
bzero(&cdp->toc, sizeof(cdp->toc));
ntracks = cdp->toc.hdr.ending_track - cdp->toc.hdr.starting_track + 1;
bzero(&cdp->toc, sizeof(cdp->toc));
if (ata_atapicmd(dev, ccb, (caddr_t)&cdp->toc, len,
bzero(&cdp->toc, sizeof(cdp->toc));
cdp->toc.hdr.len = ntohs(cdp->toc.hdr.len);
cdp->block_size = (cdp->toc.tab[0].control & 4) ? 2048 : 2352;
bzero(&cdp->toc, sizeof(cdp->toc));
if (cdp->disk_size && cdp->toc.hdr.ending_track) {
cdp->toc.hdr.ending_track-cdp->toc.hdr.starting_track+1);
if (cdp->toc.tab[0].control & 4)
if (!cdp->toc.hdr.ending_track) {
bcopy(&cdp->toc.hdr, ap->a_data, sizeof(cdp->toc.hdr));
struct toc *toc = &cdp->toc;
if (!toc->hdr.ending_track) {
if (te->data_len < sizeof(toc->tab[0]) ||
(te->data_len % sizeof(toc->tab[0])) != 0 ||
starting_track = toc->hdr.starting_track;
starting_track = toc->hdr.ending_track + 1;
else if (starting_track < toc->hdr.starting_track ||
starting_track > toc->hdr.ending_track + 1) {
len = ((toc->hdr.ending_track + 1 - starting_track) + 1) *
sizeof(toc->tab[0]);
if (len > sizeof(toc->tab)) {
toc = kmalloc(sizeof(struct toc), M_ACD, M_INTWAIT);
bcopy(&cdp->toc, toc, sizeof(struct toc));
entry = toc->tab + (toc->hdr.ending_track + 1 -
toc->hdr.starting_track) + 1;
while (--entry >= toc->tab) {
error = copyout(toc->tab + starting_track - toc->hdr.starting_track,
kfree(toc, M_ACD);
struct toc *toc = &cdp->toc;
if (!toc->hdr.ending_track) {
track = toc->hdr.starting_track;
track = toc->hdr.ending_track + 1;
else if (track < toc->hdr.starting_track ||
track > toc->hdr.ending_track + 1) {
toc = kmalloc(sizeof(struct toc), M_ACD, M_INTWAIT);
bcopy(&cdp->toc, toc, sizeof(struct toc));
entry = toc->tab + (track - toc->hdr.starting_track);
bcopy(toc->tab + track - toc->hdr.starting_track,
kfree(toc, M_ACD);
if (!cdp->toc.hdr.ending_track) {
if (args->end_track < cdp->toc.hdr.ending_track + 1)
if (args->end_track > cdp->toc.hdr.ending_track + 1)
args->end_track = cdp->toc.hdr.ending_track + 1;
t1 = args->start_track - cdp->toc.hdr.starting_track;
t2 = args->end_track - cdp->toc.hdr.starting_track;
t1 > (cdp->toc.hdr.ending_track-cdp->toc.hdr.starting_track)) {
error = acd_play(dev, ntohl(cdp->toc.tab[t1].addr.lba),
ntohl(cdp->toc.tab[t2].addr.lba));
blocksize = (cdp->toc.tab[track - 1].control & 4) ? 2048 : 2352;
lastlba = ntohl(cdp->toc.tab[track].addr.lba);
lba += ntohl(cdp->toc.tab[track - 1].addr.lba);
bzero(&cdp->toc, sizeof(cdp->toc));
struct toc toc; /* table of disc contents */
if (!smu_data->toc) {
struct SMU_DRAMData_TOC *toc;
smu_data->toc = kzalloc(sizeof(struct SMU_DRAMData_TOC), GFP_KERNEL);
if (!smu_data->toc)
toc = smu_data->toc;
toc->num_entries = 0;
toc->structure_version = 1;
UCODE_ID_RLC_G, &toc->entry[toc->num_entries++]),
UCODE_ID_CP_CE, &toc->entry[toc->num_entries++]),
UCODE_ID_CP_PFP, &toc->entry[toc->num_entries++]),
UCODE_ID_CP_ME, &toc->entry[toc->num_entries++]),
UCODE_ID_CP_MEC, &toc->entry[toc->num_entries++]),
UCODE_ID_CP_MEC_JT1, &toc->entry[toc->num_entries++]),
UCODE_ID_CP_MEC_JT2, &toc->entry[toc->num_entries++]),
UCODE_ID_SDMA0, &toc->entry[toc->num_entries++]),
UCODE_ID_SDMA1, &toc->entry[toc->num_entries++]),
UCODE_ID_MEC_STORAGE, &toc->entry[toc->num_entries++]),
memcpy_toio(smu_data->header_buffer.kaddr, smu_data->toc,
kfree(smu_data->toc);
smu_data->toc = NULL;
kfree(smu_data->toc);
smu_data->toc = NULL;
struct SMU_DRAMData_TOC *toc;
struct TOC *toc = (struct TOC *)smu8_smu->toc_buffer.kaddr;
struct SMU_Task *task = &toc->tasks[smu8_smu->toc_entry_used_count++];
struct TOC *toc = (struct TOC *)smu8_smu->toc_buffer.kaddr;
struct SMU_Task *task = &toc->tasks[smu8_smu->toc_entry_used_count++];
struct TOC *toc = (struct TOC *)smu8_smu->toc_buffer.kaddr;
toc->JobList[i] = (uint8_t)IGNORE_JOB;
struct TOC *toc = (struct TOC *)smu8_smu->toc_buffer.kaddr;
toc->JobList[JOB_GFX_SAVE] = (uint8_t)smu8_smu->toc_entry_used_count;
struct TOC *toc = (struct TOC *)smu8_smu->toc_buffer.kaddr;
toc->JobList[JOB_GFX_RESTORE] = (uint8_t)smu8_smu->toc_entry_used_count;
c = atomic_swap_ptr((void *)&cc->toc, NULL);
if (cc->toc == NULL)
if (c->verifier->toc != c) {
c, c->verifier, c->verifier->toc, c,
c = cc->toc;
if (atomic_cmpset_ptr(&cc->toc, NULL, c))
if (cc->toc == NULL)
cc->toc = c;
struct _callout *toc; /* opaque internal pointer */
if ((cc)->toc) \
((cc)->toc->qarg = (cc)->toc->rarg = (_arg)); \
#define callout_arg(cc) ((cc)->toc ? (cc)->toc->rarg : NULL)
#define callout_func(cc) ((cc)->toc ? (cc)->toc->rfunc : NULL)