| Age | Commit message (Collapse) | Author |
|
|
|
|
|
We don't actually use the registers for the other localities, and
some older TPMs only have the first locality exposed via ACPI.
|
|
|
|
|
|
in virtio_mmio and virtio_acpi
This should fix build failure on evbarm.
|
|
|
|
|
|
|
|
wssattach eventually calls ad1848_attach that prints the chip name
with ": %s". Usually that is a continuation of the attachment line,
e.g.
audiocs0 at ebus0 bar 14 offset 0x200000 line 3: CS4231A
but the wss? at acpi?: ... line we print is so long that we terminate
it and start a new one exclusively for ad1848_attach. Hence we do NOT
want the colon that _dev version supplies, it will be supplied by the
callee.
|
|
wss has two attributes, "wss" and "audiobus", and this call didn't
specify an iattr for opl to attach to. config_search_internal asserts
that when no iattr is specified, the parent should only have one.
The same problem probably exists for other wss attachments, as opl is
not attached from wssattach, but from each wss_*_attach, so they need
a similar change.
|
|
of the arguments passed to the call, using auto-generated argument
structures and binding macros.
|
|
|
|
|
|
|
|
|
|
which is based on a newer HEAD revision.
|
|
|
|
Like acpi_resource_parse(), but doesn't exclude "produced" resources.
|
|
|
|
The Windows ACPI Emulated Devices Table (WAET) has a hint to inform the OS
that a single read of the PM timer is reliable. Honour this flag.
|
|
|
|
Need to pass an argument.
|
|
|
|
|
|
|
|
device handle given the device's device/function #s (extracted from
a pcitag_t). Use it to associate the handle with the child device
at config_found() time.
- Implement this device call for ACPI and OpenFirmware.
- Enable the OpenFirmware variant for evbarm FDT, macppc, ofppc, sparc64.
- Obsolete acpi_device_register(); it is no longer needed.
- Obsolete setting the OpenFirmware handle in PCI devices in the
sparc64 device_register(); it is no longer needed.
|
|
|
|
Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.
Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)
Remove unnecessary or redundant interface attributes where they're not
needed.
There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
|
|
Polling is scheduled at every sc_poll_ticks ticks.
This is useful to work around H/W bug, by which interrupts are lost
*sometimes*; interrupt-based I/O mostly works and no need for polling
every counter ticks.
|
|
acpi_device_register().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
acpi_compatible_match() based around device_compatible_entry. Matches
against _HID score big, matches against _CID are weighted in the
standard most-to-least-specific ordering, less than _HID.
Also provide a maching value for _CLS, that's always less than _HID
and _CID matches, and use that in acpi_match_class().
Also provide acpi_compatible_lookup(), that returing the matching
entry based on the same criteria.
|
|
|
|
|
|
Device Tree bindings. Just pass those strings in the standard
most-specific-to-least-specific order to the drivers and let them
deal.
|
|
|
|
acpi_devnodes will be claimed by that device so we don't later try to
attach a duplicate device to that node at acpinodebus.
|
|
is either an OF phandle or an ACPI_HANDLE. Add NXP0002 compatible mapping
while here.
|
|
|
|
|
|
from the SMBus that we attach to piixpm(4) today, and support direct
config via ACPI.
|
|
should never trigger, a possible bug in a child driver shouldn't have to panic
the kernel. Instead report the internal error.
|
|
The vioif, ld, scsi, viornd and viomb devices were adjusted when needed and
tested both in legacy 0.9 and v1.0 attachments trough PCI on amd64, sparc64,
aarch64 and aarch64-eb. ACPI/FDT attachments also tested on
aarch64/aarch64-eb.
Known issues
* viomb on aarch64 works only with ACPI/FDT attachment but not with PCI
attachment. PCI and ACPI/FDT attachment works on aarch64-eb.
* virtio on sparc64 attaches but is it not functioning though not a
regression.
|