Rafael J. Wysocki
28eb5f274a
PCI: PCIe: Ask BIOS for control of all native services at once
...
After commit 852972acff (ACPI: Disable
ASPM if the platform won't provide _OSC control for PCIe) control of
the PCIe Capability Structure is unconditionally requested by
acpi_pci_root_add(), which in principle may cause problems to
happen in two ways. First, the BIOS may refuse to give control of
the PCIe Capability Structure if it is not asked for any of the
_OSC features depending on it at the same time. Second, the BIOS may
assume that control of the _OSC features depending on the PCIe
Capability Structure will be requested in the future and may behave
incorrectly if that doesn't happen. For this reason, control of
the PCIe Capability Structure should always be requested along with
control of any other _OSC features that may depend on it (ie. PCIe
native PME, PCIe native hot-plug, PCIe AER).
Rework the PCIe port driver so that (1) it checks which native PCIe
port services can be enabled, according to the BIOS, and (2) it
requests control of all these services simultaneously. In
particular, this causes pcie_portdrv_probe() to fail if the BIOS
refuses to grant control of the PCIe Capability Structure, which
means that no native PCIe port services can be enabled for the PCIe
Root Complex the given port belongs to. If that happens, ASPM is
disabled to avoid problems with mishandling it by the part of the
PCIe hierarchy for which control of the PCIe Capability Structure
has not been received.
Make it possible to override this behavior using 'pcie_ports=native'
(use the PCIe native services regardless of the BIOS response to the
control request), or 'pcie_ports=compat' (do not use the PCIe native
services at all).
Accordingly, rework the existing PCIe port service drivers so that
they don't request control of the services directly.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-08-24 13:47:33 -07:00
..
ABI
USB: gadget: storage: optional SCSI WRITE FUA bit
2010-08-10 14:35:42 -07:00
accounting
acpi
ACPI, APEI, EINJ injection parameters support
2010-05-19 22:42:08 -04:00
aoe
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
arm
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
auxdisplay
blackfin
Blackfin: document SPI CS limitations with CPHA=0
2010-08-06 12:55:52 -04:00
block
nick piggin: change email address
2010-08-05 08:45:20 -07:00
blockdev
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
cdrom
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
cgroups
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
connector
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
console
cpu-freq
cpuidle
cris
crypto
development-process
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
device-mapper
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
DocBook
kfifo: replace the old non generic API
2010-08-11 08:59:23 -07:00
driver-model
dvb
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
early-userspace
fault-injection
fb
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
filesystems
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
2010-08-11 09:20:13 -07:00
firmware_class
firmware: Update hotplug script
2010-08-05 13:53:34 -07:00
frv
hwmon
hwmon: f71882fg: add support for the Fintek F71808E
2010-08-09 20:45:10 -07:00
i2c
i2c: Add support for custom probe function
2010-08-11 18:20:56 +02:00
i2o
ia64
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
ide
infiniband
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
input
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
ioctl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
2010-08-07 17:09:24 -07:00
isdn
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
ja_JP
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
kbuild
Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2010-08-05 14:12:07 -07:00
kdump
ko_KR
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
kvm
KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl
2010-08-02 06:40:50 +03:00
laptops
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
lguest
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
m68k
make
mips
misc-devices
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
mmc
mmc: add erase, secure erase, trim and secure trim operations
2010-08-12 08:43:30 -07:00
mn10300
mtd
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
namespaces
netlabel
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
networking
Documentation/networking/wavelan.txt: deleted, not in tree
2010-08-11 08:59:18 -07:00
parisc
PCI
Documentation: pci.txt: fix typo
2010-07-11 22:17:45 +02:00
pcmcia
pcmcia: do not use io_req_t when calling pcmcia_request_io()
2010-08-03 09:04:11 +02:00
power
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
powerpc
dts: add sdhci,auto-cmd12 field for p4080 device tree
2010-08-11 08:59:05 -07:00
pps
prctl
RCU
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
s390
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
scheduler
sched: Remove USER_SCHED from documentation
2010-04-02 20:12:01 +02:00
scsi
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
serial
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
sh
sound
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
2010-08-12 10:00:06 -07:00
sparc
spi
spi/ep93xx: implemented driver for Cirrus EP93xx SPI controller
2010-05-25 00:23:16 -06:00
sysctl
oom: enable oom tasklist dump by default
2010-08-09 20:44:56 -07:00
telephony
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
thermal
timers
Documentation: Add timers/timers-howto.txt
2010-08-04 11:00:45 +02:00
trace
vmscan: tracing: add a postprocessing script for reclaim-related ftrace events
2010-08-09 20:45:00 -07:00
uml
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
usb
USB: gadget: g_multi: added documentation and INF files
2010-08-10 14:35:37 -07:00
video4linux
V4L/DVB: Documentation: add v4l2-controls.txt documenting the new controls API
2010-08-08 23:43:04 -03:00
vm
Documentation/vm: fix spelling in page-types.c
2010-08-05 13:21:23 -07:00
w1
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
watchdog
watchdog: docs: add an entry for imx2_wdt
2010-07-01 16:02:55 +00:00
wimax
x86
x86, olpc: Add support for calling into OpenFirmware
2010-06-18 14:54:36 -07:00
zh_CN
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
.gitignore
add random binaries to .gitignore
2010-04-08 11:34:34 +02:00
00-INDEX
mmc: add erase, secure erase, trim and secure trim operations
2010-08-12 08:43:30 -07:00
apparmor.txt
AppArmor: update Maintainer and Documentation
2010-08-02 15:35:15 +10:00
applying-patches.txt
atomic_ops.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
documentation: fix almost duplicate filenames (IO/io-mapping.txt)
2010-07-20 17:49:30 +00:00
cachetlb.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
Changes
Documentation update broken web addresses
2010-07-11 21:55:42 +02:00
circular-buffers.txt
Document Linux's circular buffering capabilities
2010-03-24 16:31:22 -07:00
coccinelle.txt
Documentation: fix ubuntu distro name
2010-06-29 15:27:00 +02:00
CodingStyle
cpu-hotplug.txt
documentation: fix erroneous email address.
2010-08-11 23:04:10 +09:30
cpu-load.txt
cputopology.txt
credentials.txt
CRED: Fix __task_cred()'s lockdep check and banner comment
2010-07-29 15:16:18 -07:00
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
dm: allow autoloading of dm mod
2010-08-12 04:14:05 +01:00
DMA-API-HOWTO.txt
Documentation: DMA-API-HOWTO.txt: add multiple types of IOMMUs support
2010-08-11 08:59:21 -07:00
DMA-API.txt
dma-mapping: remove dma_is_consistent API
2010-08-11 08:59:21 -07:00
DMA-attributes.txt
DMA-ISA-LPC.txt
dmaengine.txt
dontdiff
dynamic-debug-howto.txt
edac.txt
Documentation/edac.txt: Reflect the sysfs changes at the document
2010-05-10 11:49:30 -03:00
eisa.txt
email-clients.txt
feature-removal-schedule.txt
dma-mapping: add DMA_xxBIT_MASK to feature-removal-schedule.txt
2010-08-11 08:59:22 -07:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt
gpiolib: decouple might_sleep_if() from DEBUG
2010-08-11 08:59:08 -07:00
highuid.txt
HOWTO
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
hw_random.txt
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
kernel-parameters.txt
PCI: PCIe: Ask BIOS for control of all native services at once
2010-08-24 13:47:33 -07:00
keys-request-key.txt
keys.txt
kmemcheck.txt
kmemleak.txt
kobject.txt
kobject: documentation: Update to refer to kset-example.c.
2010-03-19 07:12:20 -07:00
kprobes.txt
Documentation: Mention that KProbes is supported on MIPS
2010-08-05 13:26:30 +01:00
kref.txt
ldm.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
leds-class.txt
leds-lp3944.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
logo.gif
logo.txt
magic-number.txt
Makefile
ManagementStyle
mca.txt
md.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
memory-barriers.txt
Document Linux's circular buffering capabilities
2010-03-24 16:31:22 -07:00
memory-hotplug.txt
memory.txt
mono.txt
mutex-design.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')
2010-05-19 08:37:43 +01:00
padata.txt
Documentation/padata.txt: fix typos etc.
2010-08-11 08:59:18 -07:00
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
preempt-locking.txt
printk-formats.txt
prio_tree.txt
rbtree.txt
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rt-mutex-design.txt
variable name fix to Documentation/rt-mutex-design.txt
2010-06-05 17:39:09 +02:00
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
SELinux.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
Smack.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
sparse.txt
update email address
2010-07-19 10:56:54 +02:00
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
Documentation: -stable rules: upstream commit ID requirement reworded
2010-04-22 15:24:56 -07:00
SubmitChecklist
Documentation: update SubmitChecklist for O=objdir and kconfig testing
2010-05-24 07:31:20 -07:00
SubmittingDrivers
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
SubmittingPatches
SubmittingPatches: add more about patch descriptions
2010-08-09 20:45:05 -07:00
svga.txt
sysfs-rules.txt
Fix typos in comments
2010-03-16 11:47:56 +01:00
sysrq.txt
Input: Documentation/sysrq.txt - update KEY_SYSRQ info
2010-05-19 10:14:15 -07:00
tomoyo.txt
TOMOYO: Update version to 2.3.0
2010-08-02 15:35:10 +10:00
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
volatile-considered-harmful.txt
Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation
2010-03-24 16:31:20 -07:00
zorro.txt