freebsd-dev/sys/dev/acpica
John Baldwin 0d95597ca9 Use a more proper fix for enabling HT MSI mapping windows on Host-PCI
bridges.  Rather than blindly enabling the windows on all of them, only
enable the window when an MSI interrupt is enabled for a device behind
the bridge, similar to what already happens for HT PCI-PCI bridges.

To implement this, each x86 Host-PCI bridge driver has to be able to
locate it's actual backing device on bus 0.  For ACPI, use the _ADR
method to find the slot and function of the device.  For the non-ACPI
case, the legacy(4) driver already scans bus 0 looking for Host-PCI
bridge devices.  Now it saves the slot and function of each bridge that
it finds as ivars that the Host-PCI bridge driver can then use in its
pcib_map_msi() method.

This fixes machines where non-MSI interrupts were broken by the previous
round of HT MSI changes.

Tested by:	bapt
MFC after:	1 week
2012-03-29 19:03:22 +00:00
..
Osd Fix a long-standing bug for AcpiOsGetTimer(). time_t is 32-bit on i386 and 2012-02-24 23:15:21 +00:00
acpi_acad.c
acpi_battery.c Prevent a division by zero with some broken batteries 2011-11-26 13:43:50 +00:00
acpi_button.c Merge ACPICA 20101209. 2010-12-15 23:48:45 +00:00
acpi_cmbat.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
acpi_cpu.c - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
acpi_dock.c
acpi_ec.c - Give all clocks and timers on acpi0 the equal probing order. 2012-02-07 20:54:44 +00:00
acpi_hpet.c ServerWorks HT1000 HPET reported to have problems with IRQs >= 16. 2012-03-10 21:08:07 +00:00
acpi_hpet.h Always check current HPET counter value after comparator programming to 2011-08-16 21:51:29 +00:00
acpi_if.m Remove PCI_SET_POWERSTATE method from acpi.c and eradicate all PCI-specific 2010-10-19 19:53:06 +00:00
acpi_isab.c - There's no need to overwrite the default device method with the default 2011-11-22 21:28:20 +00:00
acpi_lid.c
acpi_package.c
acpi_pci_link.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
acpi_pci.c - Add a bus_dma tag to each PCI bus that is a child of a Host-PCI bridge. 2012-03-02 20:38:04 +00:00
acpi_pcib_acpi.c Use a more proper fix for enabling HT MSI mapping windows on Host-PCI 2012-03-29 19:03:22 +00:00
acpi_pcib_pci.c Reimplement how PCI-PCI bridges manage their I/O windows. Previously the 2011-05-03 17:37:24 +00:00
acpi_pcib.c
acpi_pcibvar.h
acpi_perf.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
acpi_powerres.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
acpi_quirk.c
acpi_quirks
acpi_resource.c Fix build with ACPI_DEBUG defined. 2011-06-21 21:30:20 +00:00
acpi_smbat.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
acpi_smbus.h
acpi_thermal.c - be more precise about the unit of measurement 2011-11-17 23:04:43 +00:00
acpi_throttle.c
acpi_timer.c Refine r231226. Swap timecounters before suspending any device drivers. 2012-02-09 17:38:08 +00:00
acpi_video.c Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
acpi.c Restore interrupt state after executing AcpiEnterSleepState(). 2012-03-27 23:26:58 +00:00
acpiio.h small cleanup of acpi battery status setting and checking 2010-12-17 16:21:30 +00:00
acpivar.h Merge ACPICA 20120320. 2012-03-20 21:37:52 +00:00