Lines Matching +full:bit +full:- +full:banging
1 /*-
2 * Copyright (c) 2001 Alcove - Nicolas Souchu
75 ((u_char)bus_read_1(viapm->iores, port))
77 (bus_write_1(viapm->iores, port, (u_char)(val)))
86 #define VIAPM_LOCK(sc) mtx_lock(&(sc)->lock)
87 #define VIAPM_UNLOCK(sc) mtx_unlock(&(sc)->lock)
88 #define VIAPM_LOCK_ASSERT(sc) mtx_assert(&(sc)->lock, MA_OWNED)
198 viapm->type = VIAPM_TYP_586B_3040E; in viapm_586b_probe()
199 viapm->iorid = VIAPM_586B_3040E_BASE; in viapm_586b_probe()
209 viapm->type = VIAPM_TYP_586B_3040F; in viapm_586b_probe()
210 viapm->iorid = VIAPM_586B_3040F_BASE; in viapm_586b_probe()
218 viapm->base = pci_read_config(dev, viapm->iorid, 4) & in viapm_586b_probe()
225 if (bus_set_resource(dev, SYS_RES_IOPORT, viapm->iorid, in viapm_586b_probe()
226 viapm->base, 256)) { in viapm_586b_probe()
253 viapm->type = VIAPM_TYP_596B; in viapm_pro_probe()
259 viapm->type = VIAPM_TYP_596B; in viapm_pro_probe()
265 viapm->type = VIAPM_TYP_686A; in viapm_pro_probe()
272 viapm->type = VIAPM_TYP_UNKNOWN; in viapm_pro_probe()
278 viapm->type = VIAPM_TYP_UNKNOWN; in viapm_pro_probe()
284 viapm->type = VIAPM_TYP_UNKNOWN; in viapm_pro_probe()
290 viapm->type = VIAPM_TYP_UNKNOWN; in viapm_pro_probe()
308 viapm->base = pci_read_config(dev, base_cfgreg, 4) & VIAPM_PRO_BA_MASK; in viapm_pro_probe()
314 viapm->iorid = base_cfgreg; in viapm_pro_probe()
315 if (bus_set_resource(dev, SYS_RES_IOPORT, viapm->iorid, in viapm_pro_probe()
316 viapm->base, 16)) { in viapm_pro_probe()
318 viapm->base); in viapm_pro_probe()
323 device_printf(dev, "SMBus I/O base at 0x%x\n", viapm->base); in viapm_pro_probe()
342 mtx_init(&viapm->lock, device_get_nameunit(dev), "viapm", MTX_DEF); in viapm_pro_attach()
343 if (!(viapm->iores = bus_alloc_resource_any(dev, SYS_RES_IOPORT, in viapm_pro_attach()
344 &viapm->iorid, RF_ACTIVE))) { in viapm_pro_attach()
354 viapm->irqrid = 0; in viapm_pro_attach()
355 if (!(viapm->irqres = bus_alloc_resource(dev, SYS_RES_IRQ, in viapm_pro_attach()
356 &viapm->irqrid, 9, 9, 1, in viapm_pro_attach()
362 if (bus_setup_intr(dev, viapm->irqres, INTR_TYPE_MISC | INTR_MPSAFE, in viapm_pro_attach()
363 (driver_intr_t *) viasmb_intr, viapm, &viapm->irqih)) { in viapm_pro_attach()
374 viapm->smbus = device_add_child(dev, "smbus", DEVICE_UNIT_ANY); in viapm_pro_attach()
392 /* If this device is a PCI-ISA bridge, then attach an ISA bus. */ in viapm_pro_attach()
400 if (viapm->iores) in viapm_pro_attach()
401 bus_release_resource(dev, SYS_RES_IOPORT, viapm->iorid, viapm->iores); in viapm_pro_attach()
403 if (viapm->irqres) in viapm_pro_attach()
404 bus_release_resource(dev, SYS_RES_IRQ, viapm->irqrid, viapm->irqres); in viapm_pro_attach()
406 mtx_destroy(&viapm->lock); in viapm_pro_attach()
416 mtx_init(&viapm->lock, device_get_nameunit(dev), "viapm", MTX_DEF); in viapm_586b_attach()
417 if (!(viapm->iores = bus_alloc_resource_any(dev, SYS_RES_IOPORT, in viapm_586b_attach()
418 &viapm->iorid, RF_ACTIVE | RF_SHAREABLE))) { in viapm_586b_attach()
425 /* add generic bit-banging code */ in viapm_586b_attach()
426 if (!(viapm->iicbb = device_add_child(dev, "iicbb", DEVICE_UNIT_ANY))) in viapm_586b_attach()
434 if (viapm->iores) in viapm_586b_attach()
436 viapm->iorid, viapm->iores); in viapm_586b_attach()
437 mtx_destroy(&viapm->lock); in viapm_586b_attach()
448 if (viapm->iores) in viapm_586b_detach()
449 bus_release_resource(dev, SYS_RES_IOPORT, viapm->iorid, in viapm_586b_detach()
450 viapm->iores); in viapm_586b_detach()
451 mtx_destroy(&viapm->lock); in viapm_586b_detach()
463 bus_release_resource(dev, SYS_RES_IOPORT, viapm->iorid, viapm->iores); in viapm_pro_detach()
466 bus_release_resource(dev, SYS_RES_IRQ, viapm->irqrid, viapm->irqres); in viapm_pro_detach()
468 mtx_destroy(&viapm->lock); in viapm_pro_detach()
597 while(count--) { in viapm_wait()
869 /* fill the 32-byte internal buffer */ in viasmb_bwrite()
913 /* read the 32-byte internal buffer */ in viasmb_bread()