Lines Matching refs:csb

2572 	struct fdcsb *csb;  in fdrawioctl()  local
2642 csb = &fdc->c_csb; in fdrawioctl()
2643 csb->csb_unit = (uchar_t)unit; in fdrawioctl()
2647 csb->csb_cmds[i] = fdr.fdr_cmd[i]; in fdrawioctl()
2648 csb->csb_ncmds = (uchar_t)fdr.fdr_cnum; in fdrawioctl()
2650 csb->csb_maxretry = 0; /* let the application deal with errors */ in fdrawioctl()
2651 csb->csb_retrys = 0; in fdrawioctl()
2663 csb->csb_cmds[2] = csb->csb_cmds[2] & 0xFE; in fdrawioctl()
2665 csb->csb_cmds[2] = csb->csb_cmds[2] | 0x1; in fdrawioctl()
2667 csb->csb_opflags = CSB_OFNORESULTS; in fdrawioctl()
2668 csb->csb_nrslts = 0; in fdrawioctl()
2673 csb->csb_cmds[1] = csb->csb_cmds[1] | (unit & DRV_MASK); in fdrawioctl()
2674 csb->csb_opflags = CSB_OFIMMEDIATE; in fdrawioctl()
2675 csb->csb_nrslts = 1; in fdrawioctl()
2681 csb->csb_cmds[1] = csb->csb_cmds[1] | (unit & DRV_MASK); in fdrawioctl()
2682 csb->csb_opflags = CSB_OFSEEKOPS + CSB_OFTIMEIT; in fdrawioctl()
2683 csb->csb_nrslts = 2; in fdrawioctl()
2691 csb->csb_cmds[1] = csb->csb_cmds[1] | (unit & DRV_MASK); in fdrawioctl()
2692 csb->csb_opflags = CSB_OFXFEROPS + CSB_OFTIMEIT; in fdrawioctl()
2693 csb->csb_nrslts = NRBRW; in fdrawioctl()
2760 csb->csb_cmds[1] = csb->csb_cmds[1] | (unit & DRV_MASK); in fdrawioctl()
2762 csb->csb_cmds[1] |= IPS; in fdrawioctl()
2763 csb->csb_opflags = CSB_OFXFEROPS + CSB_OFTIMEIT; in fdrawioctl()
2764 csb->csb_nrslts = NRBRW; in fdrawioctl()
2773 if ((csb->csb_opflags & CSB_OFXFEROPS) && (fdr.fdr_nbytes == 0)) { in fdrawioctl()
2778 csb->csb_opflags |= CSB_OFRAWIOCTL; in fdrawioctl()
2838 csb->csb_addr = fa; in fdrawioctl()
2839 csb->csb_len = fc; in fdrawioctl()
2841 csb->csb_addr = 0; in fdrawioctl()
2842 csb->csb_len = 0; in fdrawioctl()
2845 csb->csb_addr = fa; in fdrawioctl()
2846 csb->csb_len = fc; in fdrawioctl()
2850 (C, "cmd: %x %x %x %x %x %x %x %x %x %x\n", csb->csb_cmds[0], in fdrawioctl()
2851 csb->csb_cmds[1], csb->csb_cmds[2], csb->csb_cmds[3], in fdrawioctl()
2852 csb->csb_cmds[4], csb->csb_cmds[5], csb->csb_cmds[6], in fdrawioctl()
2853 csb->csb_cmds[7], csb->csb_cmds[8], csb->csb_cmds[9])); in fdrawioctl()
2856 csb->csb_ncmds, csb->csb_opflags, (void *)csb->csb_addr, in fdrawioctl()
2857 csb->csb_len)); in fdrawioctl()
2867 if ((csb->csb_opflags & CSB_OFNORESULTS) || in fdrawioctl()
2868 (csb->csb_opflags & CSB_OFIMMEDIATE)) { in fdrawioctl()
2876 (C, "rslt: %x %x %x %x %x %x %x %x %x %x\n", csb->csb_rslt[0], in fdrawioctl()
2877 csb->csb_rslt[1], csb->csb_rslt[2], csb->csb_rslt[3], in fdrawioctl()
2878 csb->csb_rslt[4], csb->csb_rslt[5], csb->csb_rslt[6], in fdrawioctl()
2879 csb->csb_rslt[7], csb->csb_rslt[8], csb->csb_rslt[9])); in fdrawioctl()
2904 for (i = 0; (int)i <= (int)csb->csb_nrslts; i++) in fdrawioctl()
2905 fdr.fdr_result[i] = csb->csb_rslt[i]; in fdrawioctl()
2952 struct fdcsb *csb; in fdformat() local
2969 csb = &fdc->c_csb; in fdformat()
2974 csb->csb_unit = (uchar_t)unit; in fdformat()
2988 csb->csb_nrslts = NRBRW; in fdformat()
2989 csb->csb_opflags = CSB_OFXFEROPS | CSB_OFTIMEIT; in fdformat()
2991 csb->csb_cmds[0] = FDRAW_FORMAT; in fdformat()
2993 csb->csb_cmds[0] |= MFM; in fdformat()
2994 csb->csb_cmds[1] = (hd << 2) | (unit & 0x03); in fdformat()
2995 csb->csb_cmds[2] = ch->fdc_medium ? 3 : 2; in fdformat()
2996 csb->csb_cmds[3] = ch->fdc_secptrack; in fdformat()
2997 csb->csb_cmds[4] = GPLF; in fdformat()
2998 csb->csb_cmds[5] = FDATA; in fdformat()
2999 csb->csb_ncmds = 6; in fdformat()
3000 csb->csb_maxretry = rwretry; in fdformat()
3001 csb->csb_retrys = 0; in fdformat()
3011 csb->csb_len = (uint_t)4 * ch->fdc_secptrack; in fdformat()
3019 cmdresult = ddi_dma_mem_alloc(fdc->c_dmahandle, csb->csb_len, in fdformat()
3030 if (fdstart_dma(fdc, fd, csb->csb_len) != 0) { in fdformat()
3039 csb->csb_len = (uint_t)4 * ch->fdc_secptrack + 16; in fdformat()
3040 fd = kmem_zalloc(csb->csb_len, KM_SLEEP); in fdformat()
3044 csb->csb_addr = (caddr_t)fd; in fdformat()
3054 if (csb->csb_cmdstat) in fdformat()
3061 kmem_free((caddr_t)fmthdrs, csb->csb_len); in fdformat()
3088 struct fdcsb *csb; in fdstart() local
3155 csb = &fdc->c_csb; in fdstart()
3156 csb->csb_unit = unit; /* floppy unit number */ in fdstart()
3175 csb->csb_cmds[0] = SK | FDRAW_RDCMD | MFM; in fdstart()
3177 csb->csb_cmds[0] = MT | SK | FDRAW_RDCMD | MFM; in fdstart()
3180 csb->csb_cmds[0] = FDRAW_WRCMD | MFM; in fdstart()
3182 csb->csb_cmds[0] = MT | FDRAW_WRCMD | MFM; in fdstart()
3192 csb->csb_cmds[5] = ch->fdc_medium ? 3 : 2; /* sector size */ in fdstart()
3193 csb->csb_cmds[6] = ch->fdc_secptrack; /* EOT-# of sectors/trk */ in fdstart()
3194 csb->csb_cmds[7] = GPLN; /* GPL - gap 3 size code */ in fdstart()
3195 csb->csb_cmds[8] = SSSDTL; /* DTL - be 0xFF if N != 0 */ in fdstart()
3197 csb->csb_ncmds = NCBRW; /* number of command bytes */ in fdstart()
3198 csb->csb_nrslts = NRBRW; /* number of result bytes */ in fdstart()
3204 csb->csb_opflags = CSB_OFXFEROPS | CSB_OFTIMEIT; in fdstart()
3303 csb->csb_cmds[1] = (head << 2) | unit; in fdstart()
3305 csb->csb_cmds[1] |= IPS; in fdstart()
3307 csb->csb_cmds[2] = cyl; /* C - cylinder address */ in fdstart()
3308 csb->csb_cmds[3] = head; /* H - head number */ in fdstart()
3309 csb->csb_cmds[4] = sect; /* R - sector number */ in fdstart()
3311 csb->csb_cmds[6] = sect + in fdstart()
3314 csb->csb_len = tlen; in fdstart()
3316 csb->csb_addr = temp_addr; in fdstart()
3318 csb->csb_addr = addr; in fdstart()
3321 csb->csb_maxretry = rwretry; in fdstart()
3322 csb->csb_retrys = 0; in fdstart()
3330 csb->csb_addr = fdc->dma_buf; in fdstart()
3332 if (csb->csb_read != CSB_READ) { in fdstart()
3338 if (fdstart_dma(fdc, csb->csb_addr, in fdstart()
3382 (csb->csb_read == CSB_READ)) { in fdstart()
3604 struct fdcsb *csb; in fdexec() local
3614 csb = &fdc->c_csb; in fdexec()
3615 unit = csb->csb_unit; in fdexec()
3622 fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); in fdexec()
3673 switch (csb->csb_cmds[0] & 0x1f) { in fdexec()
3695 csb->csb_raddr = 0; in fdexec()
3696 csb->csb_rlen = 0; in fdexec()
3697 if (csb->csb_opflags & CSB_OFSEEKOPS) { in fdexec()
3698 csb->csb_opmode = 2; in fdexec()
3699 } else if (csb->csb_opflags & CSB_OFIMMEDIATE) { in fdexec()
3700 csb->csb_opmode = 0; in fdexec()
3702 csb->csb_opmode = 1; /* normal data xfer commands */ in fdexec()
3703 csb->csb_raddr = csb->csb_addr; in fdexec()
3704 csb->csb_rlen = csb->csb_len; in fdexec()
3707 bzero((caddr_t)csb->csb_rslt, 10); in fdexec()
3708 csb->csb_status = 0; in fdexec()
3709 csb->csb_cmdstat = 0; in fdexec()
3757 csb->csb_cmdstat = 1; /* XXX TBD ERRS NYD for now */ in fdexec()
3764 for (i = 0; i < (int)csb->csb_ncmds; i++) { in fdexec()
3774 csb->csb_cmdstat = 1; in fdexec()
3780 Set_Fifo(fdc, csb->csb_cmds[i]); in fdexec()
3783 (C, "fdexec: sent 0x%x, Msr 0x%x\n", csb->csb_cmds[i], in fdexec()
3793 if (csb->csb_opflags & CSB_OFTIMEIT) { in fdexec()
3802 if (csb->csb_opflags & CSB_OFNORESULTS) { in fdexec()
3821 csb->csb_cmdstat = 1; in fdexec()
3837 if (csb->csb_opflags & CSB_OFIMMEDIATE) { in fdexec()
3839 csb->csb_nrslts = 0; in fdexec()
3848 csb->csb_rslt[csb->csb_nrslts++] = in fdexec()
3858 Msr(fdc), csb->csb_nrslts)); in fdexec()
3860 csb->csb_status = 2; in fdexec()
3893 ((csb->csb_rslt[0] & IC_SR0) == 0x40) && in fdexec()
3894 (csb->csb_rslt[1] & EN_SR1)) in fdexec()
3895 csb->csb_rslt[0] &= ~IC_SR0; in fdexec()
3904 if (((csb->csb_rslt[0] & IC_SR0) || (fdc->c_csb.csb_dcsr_rslt) || in fdexec()
3905 (csb->csb_status)) && in fdexec()
3906 ((csb->csb_cmds[0] != FDRAW_SENSE_DRV) && in fdexec()
3907 (csb->csb_cmds[0] != DUMPREG))) { in fdexec()
4005 struct fdcsb *csb; in fdrecover() local
4008 csb = &fdc->c_csb; in fdrecover()
4014 csb->csb_rslt[1] |= TO_SR1; in fdrecover()
4016 (C, "fd%d: %s timed out\n", csb->csb_unit, in fdrecover()
4017 fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); in fdrecover()
4044 if (csb->csb_rslt[1] & DE_SR1) { in fdrecover()
4047 if (csb->csb_rslt[1] & OR_SR1) { in fdrecover()
4050 if (csb->csb_rslt[1] & (ND_SR1+MA_SR1)) { in fdrecover()
4053 if (csb->csb_rslt[1] & TO_SR1) { in fdrecover()
4062 if (csb->csb_opflags & CSB_OFRAWIOCTL) { in fdrecover()
4071 if (csb->csb_dcsr_rslt == 1) { in fdrecover()
4080 if (csb->csb_dma_rslt == 1) { in fdrecover()
4082 (C, "fd%d: DMA interface error\n", csb->csb_unit)); in fdrecover()
4092 csb->csb_retrys++; in fdrecover()
4093 if (csb->csb_retrys > csb->csb_maxretry) { in fdrecover()
4096 0, fdcmds[csb->csb_cmds[0] & 0x1f].cmdname, in fdrecover()
4097 csb->csb_rslt[0], csb->csb_rslt[1], csb->csb_rslt[2])); in fdrecover()
4098 if (csb->csb_rslt[1] & NW_SR1) { in fdrecover()
4102 if (csb->csb_rslt[1] & DE_SR1) { in fdrecover()
4107 if (csb->csb_rslt[1] & OR_SR1) { in fdrecover()
4114 if (csb->csb_retrys <= rwretry) in fdrecover()
4121 if (csb->csb_rslt[1] & (ND_SR1+MA_SR1)) { in fdrecover()
4126 if (csb->csb_rslt[1] & TO_SR1) { in fdrecover()
4131 csb->csb_cmdstat = 1; /* failed - give up */ in fdrecover()
4135 if (csb->csb_opflags & CSB_OFSEEKOPS) { in fdrecover()
4138 (C, "fd%d: %s error : st0 0x%x\n", csb->csb_unit, in fdrecover()
4139 fdcmds[csb->csb_cmds[0] & 0x1f].cmdname, in fdrecover()
4140 csb->csb_rslt[0])); in fdrecover()
4142 if (csb->csb_opflags & CSB_OFXFEROPS) { in fdrecover()
4146 csb->csb_unit, fdcmds[csb->csb_cmds[0] & 0x1f].cmdname, in fdrecover()
4147 csb->csb_rslt[0], csb->csb_rslt[1], csb->csb_rslt[2])); in fdrecover()
4605 struct fdcsb *csb; in fd_lointr() local
4607 csb = &fdc->c_csb; in fd_lointr()
4609 csb->csb_opmode)); in fd_lointr()
4613 if (csb->csb_opmode != 4) { in fd_lointr()
4625 csb->csb_opmode = 0; in fd_lointr()
4651 csb->csb_rslt[0], csb->csb_rslt[1], csb->csb_rslt[2])); in fd_lointr()
4668 struct fdcsb *csb; in fdwatch() local
4685 csb = &fdc->c_csb; in fdwatch()
4691 old_opmode = csb->csb_opmode; in fdwatch()
4694 (C, "fd%d: timeout, opmode:%d\n", csb->csb_unit, old_opmode)); in fdwatch()
4696 csb->csb_opmode = 4; in fdwatch()
4700 fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); in fdwatch()
4702 csb->csb_status = CSB_CMDTO; in fdwatch()
4770 struct fdcsb *csb; in fdreset() local
4863 csb = &fdc->c_csb; in fdreset()
4866 csb->csb_unit = fdc->c_un->un_unit_no; in fdreset()
4867 csb->csb_nrslts = 0; in fdreset()
4868 csb->csb_opflags = CSB_OFNORESULTS; in fdreset()
4869 csb->csb_maxretry = 0; in fdreset()
4870 csb->csb_retrys = 0; in fdreset()
4872 csb->csb_read = CSB_NULL; in fdreset()
4876 csb->csb_cmds[0] = FDRAW_SPECIFY; in fdreset()
4877 csb->csb_cmds[1] = fdspec[0]; /* step rate, head unload time */ in fdreset()
4879 csb->csb_cmds[2] = SPEC_DMA_MODE; in fdreset()
4881 csb->csb_cmds[2] = fdspec[1]; /* head load time, DMA mode */ in fdreset()
4883 csb->csb_ncmds = 3; in fdreset()
4891 csb->csb_cmds[0] = CONFIGURE; in fdreset()
4892 csb->csb_cmds[1] = fdconf[0]; /* motor info, motor delays */ in fdreset()
4893 csb->csb_cmds[2] = fdconf[1]; /* enaimplsk, disapoll, fifothru */ in fdreset()
4894 csb->csb_cmds[3] = fdconf[2]; /* track precomp */ in fdreset()
4895 csb->csb_ncmds = 4; in fdreset()
4897 csb->csb_read = CSB_NULL; in fdreset()
4899 csb->csb_retrys = 0; in fdreset()
4929 struct fdcsb *csb; in fdrecalseek() local
4938 csb = &fdc->c_csb; in fdrecalseek()
4939 csb->csb_unit = (uchar_t)unit; in fdrecalseek()
4940 csb->csb_cmds[1] = unit & 0x03; in fdrecalseek()
4943 csb->csb_cmds[0] = FDRAW_REZERO; in fdrecalseek()
4944 csb->csb_ncmds = 2; in fdrecalseek()
4946 csb->csb_cmds[0] = FDRAW_SEEK; in fdrecalseek()
4947 csb->csb_cmds[2] = (uchar_t)arg; in fdrecalseek()
4948 csb->csb_ncmds = 3; in fdrecalseek()
4950 csb->csb_nrslts = 2; /* 2 for SENSE INTERRUPTS */ in fdrecalseek()
4951 csb->csb_opflags = CSB_OFSEEKOPS | CSB_OFTIMEIT; in fdrecalseek()
4956 csb->csb_maxretry = skretry; in fdrecalseek()
4957 csb->csb_retrys = 0; in fdrecalseek()
4972 if ((csb->csb_rslt[0] & IC_SR0) || csb->csb_cmdstat) in fdrecalseek()
4989 struct fdcsb *csb; in fdsensedrv() local
4993 csb = &fdc->c_csb; in fdsensedrv()
4996 csb->csb_unit = (uchar_t)unit; in fdsensedrv()
4997 csb->csb_opflags = CSB_OFIMMEDIATE; in fdsensedrv()
4998 csb->csb_cmds[0] = FDRAW_SENSE_DRV; in fdsensedrv()
5000 csb->csb_cmds[1] = MOT | (unit & 0x03); in fdsensedrv()
5001 csb->csb_ncmds = 2; in fdsensedrv()
5002 csb->csb_nrslts = 1; in fdsensedrv()
5003 csb->csb_maxretry = skretry; in fdsensedrv()
5004 csb->csb_retrys = 0; in fdsensedrv()
5010 (C, "fdsensedrv: result 0x%x", csb->csb_rslt[0])); in fdsensedrv()
5012 return (csb->csb_rslt[0]); /* return status byte 3 */ in fdsensedrv()
5026 struct fdcsb *csb; in fdcheckdisk() local
5039 csb = &fdc->c_csb; in fdcheckdisk()
5041 bzero((caddr_t)csb, sizeof (*csb)); in fdcheckdisk()
5076 if (fdsense_chng(fdc, csb->csb_unit)) { in fdcheckdisk()
5446 struct fdcsb *csb; in fdrw() local
5475 csb = &fdc->c_csb; in fdrw()
5482 csb->csb_cmds[0] = SK + FDRAW_RDCMD; in fdrw()
5484 csb->csb_cmds[0] = MT + SK + FDRAW_RDCMD; in fdrw()
5490 csb->csb_cmds[0] = FDRAW_WRCMD; in fdrw()
5492 csb->csb_cmds[0] = MT + FDRAW_WRCMD; in fdrw()
5501 csb->csb_cmds[0] |= MFM; in fdrw()
5502 csb->csb_cmds[1] = (uchar_t)(unit | ((head & 0x1) << 2)); in fdrw()
5504 csb->csb_cmds[1] |= IPS; in fdrw()
5505 csb->csb_cmds[2] = (uchar_t)cyl; in fdrw()
5506 csb->csb_cmds[3] = (uchar_t)head; in fdrw()
5507 csb->csb_cmds[4] = (uchar_t)sector; in fdrw()
5508 csb->csb_cmds[5] = ch->fdc_medium ? 3 : 2; /* sector size code */ in fdrw()
5513 csb->csb_cmds[6] = sector + (len / ch->fdc_sec_size) - 1; in fdrw()
5515 csb->csb_cmds[6] = in fdrw()
5517 csb->csb_len = len; in fdrw()
5518 csb->csb_cmds[7] = GPLN; in fdrw()
5519 csb->csb_cmds[8] = SSSDTL; in fdrw()
5520 csb->csb_ncmds = NCBRW; in fdrw()
5521 csb->csb_len = len; in fdrw()
5522 csb->csb_maxretry = 2; in fdrw()
5523 csb->csb_retrys = 0; in fdrw()
5524 bzero(csb->csb_rslt, NRBRW); in fdrw()
5525 csb->csb_nrslts = NRBRW; in fdrw()
5526 csb->csb_opflags = CSB_OFXFEROPS | CSB_OFTIMEIT; in fdrw()
5570 csb->csb_addr = dma_addr; in fdrw()
5573 csb->csb_addr = bufp; in fdrw()
5602 if (csb->csb_cmdstat) in fdrw()