wdc_c 68 dev/ata/ata.c struct wdc_command wdc_c; wdc_c 76 dev/ata/ata.c bzero(&wdc_c, sizeof(struct wdc_command)); wdc_c 79 dev/ata/ata.c wdc_c.r_command = WDCC_IDENTIFY; wdc_c 80 dev/ata/ata.c wdc_c.r_st_bmask = WDCS_DRDY; wdc_c 81 dev/ata/ata.c wdc_c.r_st_pmask = 0; wdc_c 82 dev/ata/ata.c wdc_c.timeout = 3000; /* 3s */ wdc_c 84 dev/ata/ata.c wdc_c.r_command = ATAPI_IDENTIFY_DEVICE; wdc_c 85 dev/ata/ata.c wdc_c.r_st_bmask = 0; wdc_c 86 dev/ata/ata.c wdc_c.r_st_pmask = 0; wdc_c 87 dev/ata/ata.c wdc_c.timeout = 10000; /* 10s */ wdc_c 93 dev/ata/ata.c wdc_c.flags = AT_READ | flags; wdc_c 94 dev/ata/ata.c wdc_c.data = tb; wdc_c 95 dev/ata/ata.c wdc_c.bcount = ATAPARAMS_SIZE; wdc_c 97 dev/ata/ata.c if ((ret = wdc_exec_command(drvp, &wdc_c)) != WDC_COMPLETE) { wdc_c 103 dev/ata/ata.c if (wdc_c.flags & (AT_ERROR | AT_TIMEOU | AT_DF)) { wdc_c 105 dev/ata/ata.c wdc_c.flags), DEBUG_PROBE); wdc_c 158 dev/ata/ata.c struct wdc_command wdc_c; wdc_c 163 dev/ata/ata.c bzero(&wdc_c, sizeof(struct wdc_command)); wdc_c 165 dev/ata/ata.c wdc_c.r_command = SET_FEATURES; wdc_c 166 dev/ata/ata.c wdc_c.r_st_bmask = 0; wdc_c 167 dev/ata/ata.c wdc_c.r_st_pmask = 0; wdc_c 168 dev/ata/ata.c wdc_c.r_precomp = WDSF_SET_MODE; wdc_c 169 dev/ata/ata.c wdc_c.r_count = mode; wdc_c 170 dev/ata/ata.c wdc_c.flags = flags; wdc_c 171 dev/ata/ata.c wdc_c.timeout = 1000; /* 1s */ wdc_c 172 dev/ata/ata.c if (wdc_exec_command(drvp, &wdc_c) != WDC_COMPLETE) wdc_c 176 dev/ata/ata.c __func__, wdc_c.flags), DEBUG_PROBE); wdc_c 178 dev/ata/ata.c if (wdc_c.flags & (AT_ERROR | AT_TIMEOU | AT_DF)) { wdc_c 226 dev/ata/wd.c struct wdc_command wdc_c; wdc_c 332 dev/ata/wd.c bzero(&wdc_c, sizeof(struct wdc_command)); wdc_c 334 dev/ata/wd.c wdc_c.r_command = WDCC_SEC_FREEZE_LOCK; wdc_c 335 dev/ata/wd.c wdc_c.timeout = 1000; wdc_c 336 dev/ata/wd.c wdc_c.flags = at_poll; wdc_c 337 dev/ata/wd.c if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) { wdc_c 1153 dev/ata/wd.c struct wdc_command wdc_c; wdc_c 1157 dev/ata/wd.c bzero(&wdc_c, sizeof(struct wdc_command)); wdc_c 1158 dev/ata/wd.c wdc_c.r_command = (wd->sc_flags & WDF_LBA48 ? WDCC_FLUSHCACHE_EXT : wdc_c 1160 dev/ata/wd.c wdc_c.r_st_bmask = WDCS_DRDY; wdc_c 1161 dev/ata/wd.c wdc_c.r_st_pmask = WDCS_DRDY; wdc_c 1163 dev/ata/wd.c wdc_c.flags = AT_POLL; wdc_c 1165 dev/ata/wd.c wdc_c.flags = AT_WAIT; wdc_c 1167 dev/ata/wd.c wdc_c.timeout = 30000; /* 30s timeout */ wdc_c 1168 dev/ata/wd.c if (wdc_exec_command(wd->drvp, &wdc_c) != WDC_COMPLETE) { wdc_c 1172 dev/ata/wd.c if (wdc_c.flags & AT_TIMEOU) { wdc_c 1176 dev/ata/wd.c if (wdc_c.flags & AT_DF) { wdc_c 1680 dev/ic/wdc.c wdc_exec_command(drvp, wdc_c) wdc_c 1682 dev/ic/wdc.c struct wdc_command *wdc_c; wdc_c 1693 dev/ic/wdc.c xfer = wdc_get_xfer(wdc_c->flags & AT_WAIT ? WDC_CANSLEEP : wdc_c 1699 dev/ic/wdc.c if (wdc_c->flags & AT_POLL) wdc_c 1702 dev/ic/wdc.c xfer->databuf = wdc_c->data; wdc_c 1703 dev/ic/wdc.c xfer->c_bcount = wdc_c->bcount; wdc_c 1704 dev/ic/wdc.c xfer->cmd = wdc_c; wdc_c 1712 dev/ic/wdc.c if ((wdc_c->flags & AT_POLL) != 0 && wdc_c 1713 dev/ic/wdc.c (wdc_c->flags & AT_DONE) == 0) wdc_c 1716 dev/ic/wdc.c if (wdc_c->flags & AT_DONE) { wdc_c 1719 dev/ic/wdc.c if (wdc_c->flags & AT_WAIT) { wdc_c 1723 dev/ic/wdc.c while ((wdc_c->flags & AT_DONE) == 0) { wdc_c 1724 dev/ic/wdc.c tsleep(wdc_c, PRIBIO, "wdccmd", 0); wdc_c 1741 dev/ic/wdc.c struct wdc_command *wdc_c = xfer->cmd; wdc_c 1761 dev/ic/wdc.c if (wdc_c->r_command != ATAPI_SOFT_RESET) { wdc_c 1762 dev/ic/wdc.c if (wdcwait(chp, wdc_c->r_st_bmask | WDCS_DRQ, wdc_c 1763 dev/ic/wdc.c wdc_c->r_st_bmask, wdc_c->timeout) != 0) { wdc_c 1769 dev/ic/wdc.c wdccommand(chp, drive, wdc_c->r_command, wdc_c->r_cyl, wdc_c->r_head, wdc_c 1770 dev/ic/wdc.c wdc_c->r_sector, wdc_c->r_count, wdc_c->r_precomp); wdc_c 1772 dev/ic/wdc.c if ((wdc_c->flags & AT_WRITE) == AT_WRITE) { wdc_c 1775 dev/ic/wdc.c if (wait_for_unbusy(chp, wdc_c->timeout) != 0) wdc_c 1783 dev/ic/wdc.c if (wait_for_drq(chp, wdc_c->timeout) != 0) wdc_c 1787 dev/ic/wdc.c wdc_c->data, wdc_c->bcount); wdc_c 1790 dev/ic/wdc.c if ((wdc_c->flags & AT_POLL) == 0) { wdc_c 1792 dev/ic/wdc.c timeout_add(&chp->ch_timo, wdc_c->timeout / 1000 * hz); wdc_c 1805 dev/ic/wdc.c wdc_c->flags |= AT_TIMEOU; wdc_c 1816 dev/ic/wdc.c struct wdc_command *wdc_c = xfer->cmd; wdc_c 1817 dev/ic/wdc.c int bcount = wdc_c->bcount; wdc_c 1818 dev/ic/wdc.c char *data = wdc_c->data; wdc_c 1822 dev/ic/wdc.c if (wdcwait(chp, wdc_c->r_st_pmask, wdc_c->r_st_pmask, wdc_c 1823 dev/ic/wdc.c (irq == 0) ? wdc_c->timeout : 0)) { wdc_c 1826 dev/ic/wdc.c wdc_c->flags |= AT_TIMEOU; wdc_c 1831 dev/ic/wdc.c if (wdc_c->flags & AT_READ) { wdc_c 1833 dev/ic/wdc.c wdc_c->flags |= AT_TIMEOU; wdc_c 1850 dev/ic/wdc.c struct wdc_command *wdc_c = xfer->cmd; wdc_c 1856 dev/ic/wdc.c wdc_c->flags |= AT_DF; wdc_c 1858 dev/ic/wdc.c wdc_c->flags |= AT_ERROR; wdc_c 1859 dev/ic/wdc.c wdc_c->r_error = chp->ch_error; wdc_c 1861 dev/ic/wdc.c wdc_c->flags |= AT_DONE; wdc_c 1862 dev/ic/wdc.c if ((wdc_c->flags & AT_READREG) != 0 && wdc_c 1863 dev/ic/wdc.c (wdc_c->flags & (AT_ERROR | AT_DF)) == 0) { wdc_c 1864 dev/ic/wdc.c wdc_c->r_head = CHP_READ_REG(chp, wdr_sdh); wdc_c 1865 dev/ic/wdc.c wdc_c->r_cyl = CHP_READ_REG(chp, wdr_cyl_hi) << 8; wdc_c 1866 dev/ic/wdc.c wdc_c->r_cyl |= CHP_READ_REG(chp, wdr_cyl_lo); wdc_c 1867 dev/ic/wdc.c wdc_c->r_sector = CHP_READ_REG(chp, wdr_sector); wdc_c 1868 dev/ic/wdc.c wdc_c->r_count = CHP_READ_REG(chp, wdr_seccnt); wdc_c 1869 dev/ic/wdc.c wdc_c->r_error = CHP_READ_REG(chp, wdr_error); wdc_c 1870 dev/ic/wdc.c wdc_c->r_precomp = wdc_c->r_error; wdc_c 1882 dev/ic/wdc.c if (wdc_c->flags & AT_WAIT) wdc_c 1883 dev/ic/wdc.c wakeup(wdc_c); wdc_c 1885 dev/ic/wdc.c if (wdc_c->callback) wdc_c 1886 dev/ic/wdc.c wdc_c->callback(wdc_c->callback_arg); wdc_c 2192 dev/ic/wdc.c struct wdc_command wdc_c; wdc_c 2203 dev/ic/wdc.c bzero(&wdc_c, sizeof(wdc_c)); wdc_c 2225 dev/ic/wdc.c wdc_c.flags |= AT_READ; wdc_c 2227 dev/ic/wdc.c wdc_c.flags |= AT_WRITE; wdc_c 2230 dev/ic/wdc.c wdc_c.flags |= AT_READREG; wdc_c 2232 dev/ic/wdc.c wdc_c.flags |= AT_WAIT; wdc_c 2234 dev/ic/wdc.c wdc_c.timeout = wi->wi_atareq.timeout; wdc_c 2235 dev/ic/wdc.c wdc_c.r_command = wi->wi_atareq.command; wdc_c 2236 dev/ic/wdc.c wdc_c.r_head = wi->wi_atareq.head & 0x0f; wdc_c 2237 dev/ic/wdc.c wdc_c.r_cyl = wi->wi_atareq.cylinder; wdc_c 2238 dev/ic/wdc.c wdc_c.r_sector = wi->wi_atareq.sec_num; wdc_c 2239 dev/ic/wdc.c wdc_c.r_count = wi->wi_atareq.sec_count; wdc_c 2240 dev/ic/wdc.c wdc_c.r_precomp = wi->wi_atareq.features; wdc_c 2242 dev/ic/wdc.c wdc_c.r_st_bmask = 0; wdc_c 2243 dev/ic/wdc.c wdc_c.r_st_pmask = 0; wdc_c 2244 dev/ic/wdc.c if (wdc_c.r_command == WDCC_IDENTIFY) wdc_c 2245 dev/ic/wdc.c wdc_c.r_command = ATAPI_IDENTIFY_DEVICE; wdc_c 2247 dev/ic/wdc.c wdc_c.r_st_bmask = WDCS_DRDY; wdc_c 2248 dev/ic/wdc.c wdc_c.r_st_pmask = WDCS_DRDY; wdc_c 2250 dev/ic/wdc.c wdc_c.data = wi->wi_bp.b_data; wdc_c 2251 dev/ic/wdc.c wdc_c.bcount = wi->wi_bp.b_bcount; wdc_c 2253 dev/ic/wdc.c if (wdc_exec_command(wi->wi_drvp, &wdc_c) != WDC_COMPLETE) { wdc_c 2258 dev/ic/wdc.c if (wdc_c.flags & (AT_ERROR | AT_TIMEOU | AT_DF)) { wdc_c 2259 dev/ic/wdc.c if (wdc_c.flags & AT_ERROR) { wdc_c 2261 dev/ic/wdc.c wi->wi_atareq.error = wdc_c.r_error; wdc_c 2262 dev/ic/wdc.c } else if (wdc_c.flags & AT_DF) wdc_c 2269 dev/ic/wdc.c wi->wi_atareq.head = wdc_c.r_head ; wdc_c 2270 dev/ic/wdc.c wi->wi_atareq.cylinder = wdc_c.r_cyl; wdc_c 2271 dev/ic/wdc.c wi->wi_atareq.sec_num = wdc_c.r_sector; wdc_c 2272 dev/ic/wdc.c wi->wi_atareq.sec_count = wdc_c.r_count; wdc_c 2273 dev/ic/wdc.c wi->wi_atareq.features = wdc_c.r_precomp; wdc_c 2274 dev/ic/wdc.c wi->wi_atareq.error = wdc_c.r_error;