as bus_dmamem_alloc_range() is missing we use the ISA dma tag on i386.
The iorange for the dma registers now gets allocated near the used range.
Chances are high, that this range is valid on this PCI bus.
This one is really ugly :-)
Approved by: Lennart Augustsson <augustss@netbsd.org>
autonegotiation to take place if IFM_AUTO is selected in mii_media_set.
Make the gem driver use it. (XXX hme probably should use it but I can't
test that).
- make sure that the driver checks the battery presence at acpibat_update()
if the battery has been not present, because the driver sometimes
(i.e. boot time or resuming time) miss to sense the presence.
- make sure that the driver always update the status at acpibat_gtredata();
I misunderstood about ACPI_NOTIFY_BatteryStatusChanged event.
it is very slow to access to EC on some machines (i.e. CASIO FIVA 2xx).
- clean the flags up.
- add locks while updating informations.
- some cosmetic changes.
acpi_is_global_locked() functions.
AcpiGlobalLock() API should be used to acquire lock between BIOS and OS.
This API cannot be used to lock between threads of the OS side,
because this function immediately returns if the lock is already acquired
by the OS. c.f. AcpiEvAcquireGlobalLock()@evmisc.c
- make sure that acpiec driver uses above functions.
- use ACPI_ALLOCATE_BUFFER instead of twice calls of AcpiEvaluateObject(),
in acpi_eval_string()/acpi_eval_struct().
Twice AcpiEvaluateObject() calls may cause twice side effects
to ACPI machine / hardware and this may be wrong in some cases.
in mii_readreg()/mii_writereg(). Also restore this bit based on the
currently selected media instance every time we need to reinitialise
the interface.
what the rest of the pseudo-device attach infrastructure expects. It
didn't cause any harm that the function signature was wrong because it
ignored what it was passed.