freebsd-skq/sys/dev/acpica
jhb 876e74a14e 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 Do not hold the ACPI A/C adapter lock when changing the power profile. 2009-09-30 17:07:49 +00:00
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 Remove unused assignment. 2010-06-11 19:53:42 +00:00
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 Merge ACPICA 20100702. 2010-07-06 20:57:28 +00:00
acpi_package.c Merge ACPICA 20100121. 2010-01-21 21:14:28 +00:00
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 Add a new method to the PCI bridge interface, PCIB_POWER_FOR_SLEEP(). This 2010-08-17 15:44:52 +00:00
acpi_pcibvar.h Add a new method to the PCI bridge interface, PCIB_POWER_FOR_SLEEP(). This 2010-08-17 15:44:52 +00:00
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