Lines Matching refs:ppbus
46 device_t ppbus; member
86 ppstry(device_t ppbus, int send, int expect) in ppstry() argument
90 ppb_wdtr(ppbus, send); in ppstry()
91 i = ppb_rdtr(ppbus); in ppstry()
108 device_t ppbus = device_get_parent(dev); in ppsattach() local
132 ppb_init_callout(ppbus, &sc->timeout, 0); in ppsattach()
134 sc->ppbus = ppbus; in ppsattach()
135 unit = device_get_unit(ppbus); in ppsattach()
141 sc->pps[0].driver_mtx = ppb_get_lock(ppbus); in ppsattach()
146 ppb_lock(ppbus); in ppsattach()
147 if (ppb_request_bus(ppbus, dev, PPB_DONTWAIT)) { in ppsattach()
148 ppb_unlock(ppbus); in ppsattach()
153 i = ppb_set_mode(sc->ppbus, PPB_EPP); in ppsattach()
154 PRVERBOSE("EPP: %d %d\n", i, PPB_IN_EPP_MODE(sc->ppbus)); in ppsattach()
158 ppb_wctr(ppbus, i); in ppsattach()
159 if (ppstry(ppbus, 0x00, 0x00)) in ppsattach()
161 if (ppstry(ppbus, 0x55, 0x55)) in ppsattach()
163 if (ppstry(ppbus, 0xaa, 0xaa)) in ppsattach()
165 if (ppstry(ppbus, 0xff, 0xff)) in ppsattach()
169 ppb_wctr(ppbus, i); in ppsattach()
170 PRVERBOSE("CTR = %02x (%02x)\n", ppb_rctr(ppbus), i); in ppsattach()
171 if (ppstry(ppbus, 0x00, 0x00)) in ppsattach()
173 if (ppstry(ppbus, 0x55, 0x00)) in ppsattach()
175 if (ppstry(ppbus, 0xaa, 0x00)) in ppsattach()
177 if (ppstry(ppbus, 0xff, 0x00)) in ppsattach()
181 ppb_wctr(ppbus, i); in ppsattach()
182 PRVERBOSE("CTR = %02x (%02x)\n", ppb_rctr(ppbus), i); in ppsattach()
183 ppstry(ppbus, 0x00, 0xff); in ppsattach()
184 ppstry(ppbus, 0x55, 0xff); in ppsattach()
185 ppstry(ppbus, 0xaa, 0xff); in ppsattach()
186 ppstry(ppbus, 0xff, 0xff); in ppsattach()
187 ppb_unlock(ppbus); in ppsattach()
195 sc->pps[i].driver_mtx = ppb_get_lock(ppbus); in ppsattach()
200 ppb_lock(ppbus); in ppsattach()
202 i = ppb_set_mode(sc->ppbus, PPB_COMPATIBLE); in ppsattach()
203 ppb_release_bus(ppbus, dev); in ppsattach()
204 ppb_unlock(ppbus); in ppsattach()
213 device_t ppbus = sc->ppbus; in ppsopen() local
223 ppb_lock(ppbus); in ppsopen()
227 if (ppb_request_bus(ppbus, ppsdev, PPB_WAIT|PPB_INTR)) { in ppsopen()
228 ppb_unlock(ppbus); in ppsopen()
233 i = ppb_set_mode(sc->ppbus, PPB_PS2); in ppsopen()
234 PRVERBOSE("EPP: %d %d\n", i, PPB_IN_EPP_MODE(sc->ppbus)); in ppsopen()
237 ppb_wctr(ppbus, i); in ppsopen()
242 sc->lastdata = ppb_rdtr(sc->ppbus); in ppsopen()
245 ppb_unlock(ppbus); in ppsopen()
258 ppb_lock(sc->ppbus); in ppsclose()
264 device_t ppbus = sc->ppbus; in ppsclose() local
266 ppb_wdtr(ppbus, 0); in ppsclose()
267 ppb_wctr(ppbus, 0); in ppsclose()
269 ppb_set_mode(ppbus, PPB_COMPATIBLE); in ppsclose()
270 ppb_release_bus(ppbus, ppsdev); in ppsclose()
272 ppb_unlock(sc->ppbus); in ppsclose()
284 i = ppb_rdtr(sc->ppbus); in ppshcpoll()
306 ppb_assert_locked(sc->ppbus); in ppsintr()
308 if (!(ppb_rstr(sc->ppbus) & nACK)) in ppsintr()
312 ppb_wctr(sc->ppbus, IRQENABLE | AUTOFEED); in ppsintr()
315 ppb_wctr(sc->ppbus, IRQENABLE); in ppsintr()
325 ppb_lock(sc->ppbus); in ppsioctl()
327 ppb_unlock(sc->ppbus); in ppsioctl()
345 DRIVER_MODULE(pps, ppbus, pps_driver, 0, 0);
346 MODULE_DEPEND(pps, ppbus, 1, 1, 1);