linux/drivers/acpi
Rafael J. Wysocki 75fb60f26b ACPI/PCI: Negotiate _OSC control bits before requesting them
It is possible that the BIOS will not grant control of all _OSC
features requested via acpi_pci_osc_control_set(), so it is
recommended to negotiate the final set of _OSC features with the
query flag set before calling _OSC to request control of these
features.

To implement it, rework acpi_pci_osc_control_set() so that the caller
can specify the mask of _OSC control bits to negotiate and the mask
of _OSC control bits that are absolutely necessary to it.  Then,
acpi_pci_osc_control_set() will run _OSC queries in a loop until
the mask of _OSC control bits returned by the BIOS is equal to the
mask passed to it.  Also, before running the _OSC request
acpi_pci_osc_control_set() will check if the caller's required
control bits are present in the final mask.

Using this mechanism we will be able to avoid situations in which the
BIOS doesn't grant control of certain _OSC features, because they
depend on some other _OSC features that have not been requested.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-08-24 13:44:40 -07:00
..
acpica Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-07 17:08:30 -07:00
apei acpi: fix bogus preemption logic 2010-08-12 08:43:29 -07:00
ac.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acpi_memhotplug.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
acpi_pad.c time: Kill off CONFIG_GENERIC_TIME 2010-07-27 12:40:54 +02:00
atomicio.c acpi: update gfp/slab.h includes 2010-06-28 10:19:19 +10:00
battery.c ACPI battery: don't invoke power_supply_changed twice when battery is hot-added 2010-07-06 22:22:46 -04:00
blacklist.c ACPI video: fix string mismatch for Sony SR290 laptop 2010-07-06 22:45:18 -04:00
bus.c drivers: acpi: don't use own implementation of hex_to_bin() 2010-05-25 08:07:06 -07:00
button.c ACPICA: Remove wakeup GPE reference counting which is not used 2010-07-06 22:34:26 -04:00
cm_sbs.c ACPI: Move definition of PREFIX from acpi_bus.h to internal..h 2009-08-28 19:57:27 -04:00
container.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
debug.c param: update drivers/acpi/debug.c to new scheme 2010-08-11 23:04:40 +09:30
dock.c Merge branches 'battery', 'bugzilla-14667', 'bugzilla-15096', 'bugzilla-15480', 'bugzilla-15521', 'bugzilla-15605', 'gpe-reference-counters', 'misc', 'pxm-fix' and 'video-random-key' into release 2010-04-06 17:06:22 -04:00
ec.c Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-07 17:08:30 -07:00
ec_sys.c acpi ec_sys: Be more cautious about ec write access 2010-08-03 09:49:13 -04:00
event.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fan.c ACPI: fan: fix unbalanced code block 2010-06-10 11:24:51 -04:00
glue.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hed.c ACPI Hardware Error Device (PNP0C33) support 2010-05-19 22:40:24 -04:00
internal.h ACPI: Provide /sys/kernel/debug/ec/... 2010-08-03 09:49:08 -04:00
Kconfig acpi ec_sys: Be more cautious about ec write access 2010-08-03 09:49:13 -04:00
Makefile ACPI: Provide /sys/kernel/debug/ec/... 2010-08-03 09:49:08 -04:00
numa.c ACPI: NUMA: map pxms to low node ids 2010-04-04 00:50:01 -04:00
osl.c Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-07 17:08:30 -07:00
pci_bind.c PCI / ACPI / PM: Platform support for PCI PME wake-up 2010-02-22 16:21:02 -08:00
pci_irq.c x86, acpi/irq: pci device dev->irq is an isa irq not a gsi 2010-05-04 13:34:30 -07:00
pci_link.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pci_root.c ACPI/PCI: Negotiate _OSC control bits before requesting them 2010-08-24 13:44:40 -07:00
pci_slot.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
power.c Merge branch 'master' into for-next 2010-04-23 02:08:44 +02:00
power_meter.c power_meter: acpi_device_class "power_meter_resource" too long 2010-05-06 02:38:24 -04:00
proc.c Fix misspellings of "separate" in strings. 2010-02-04 11:55:46 +01:00
processor_core.c ACPI: processor: fix processor_physically_present on UP 2010-07-12 13:28:34 -04:00
processor_driver.c ACPI: Do not try to set up acpi processor stuff on cores exceeding maxcpus= 2010-06-09 18:04:12 -04:00
processor_idle.c Merge branch 'timers-timekeeping-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 13:18:29 -07:00
processor_perflib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
processor_thermal.c ACPI: Remove unnecessary cast. 2010-01-15 23:06:44 -05:00
processor_throttling.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
reboot.c ACPI: reboot.c: use new acpi_reset interface 2008-12-31 01:15:00 -05:00
sbs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sbshc.c sbshc: acpi_device_class "smbus_host_controller" too long 2010-05-06 02:38:25 -04:00
sbshc.h
scan.c ACPI / ACPICA: Do not execute _PRW methods during initialization 2010-07-12 14:17:39 -04:00
sleep.c Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2010-08-07 17:08:30 -07:00
sleep.h drivers/acpi/sleep.h: Checkpatch cleanup 2010-05-28 15:31:33 -04:00
system.c ACPICA: Remove wakeup GPE reference counting which is not used 2010-07-06 22:34:26 -04:00
tables.c ACPI: delete the "acpi=ht" boot option 2010-03-14 20:58:38 -04:00
thermal.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
utils.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
video.c Merge branch 'misc-2.6.35' into release 2010-05-28 16:18:20 -04:00
video_detect.c ACPI: video: fix acpi_backlight=video 2010-05-20 01:31:00 -04:00
wakeup.c ACPICA: Introduce acpi_gpe_wakeup() 2010-07-06 22:34:26 -04:00