diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-04 09:29:37 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-04 09:29:37 -0700 |
commit | f74ad8df4e74db550e5a2372cc1f025e56e1d523 (patch) | |
tree | 66d5a96522338a55773e4386b9b9e888481c5751 /arch/ia64 | |
parent | 19583ca584d6f574384e17fe7613dfaeadcdc4a6 (diff) | |
parent | 792688fde431b4fdb2cf10a6f7589a8176b6b14a (diff) | |
download | linux-f74ad8df4e74db550e5a2372cc1f025e56e1d523.tar.bz2 |
Merge tag 'pci-v3.17-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"I'll be on vacation until Aug 11, and I suspect the merge window will
open before then, so I'm sending this to you early. There are more
things I'd like to get into v3.17, so I hope to send another pull
request soon after I return.
The most notable pieces here are:
- Support BARs up to 128GB (up from 8GB)
- Fix SR-IOV resource assignment when we fail to expand a resource
- Rework pciehp to handle a common hardware erratum
- Cleanup MSI
- Fix NIC renaming issue
- Fix VGA default device issue on EFI systems
- Fix ASPM configuration (previously we didn't enable it as expected)
Alex Williamson has graciously agreed to take care of any major issues
with this if you take it before I return.
Details:
Resource management
- Support BAR sizes up to 128GB (Yinghai Lu)
- Keep original resource if we fail to expand it (Guo Chao)
- Return conventional error values from pci_revert_fw_address() (Bjorn Helgaas)
- Tidy resource assignment messages (Bjorn Helgaas)
- Don't exclude low BIOS area for non-PCI cards (Christoph Schulz)
PCI device hotplug
- Prevent NULL dereference during pciehp probe (Andreas Noever)
- Make pciehp pcie_wait_cmd() self-contained (Bjorn Helgaas)
- Wait for pciehp hotplug command completion lazily (Bjorn Helgaas)
- Compute pciehp timeout from hotplug command start time (Bjorn Helgaas)
- Remove pciehp assumptions about which commands cause completion events (Bjorn Helgaas)
- Clear pciehp Data Link Layer State Changed during init (Myron Stowe)
- Remove pciehp struct controller.no_cmd_complete (Rajat Jain)
- Remove cpqphp unnecessary null test (Fabian Frederick)
- Remove "invalid IRQ" warning for hot-added PCIe ports (Jiang Liu)
IOMMU
- Add DMA alias quirk for Intel 82801 bridge (Alex Williamson)
MSI
- Add internal msix_clear_and_set_ctrl() (Yijing Wang)
- Remove unused msi_enabled_mask() (Yijing Wang)
- Cache Multiple Message Capable in struct msi_desc (Yijing Wang)
- Add msi_setup_entry() to clean up initialization (Yijing Wang)
- Remove unused msi_remove_pci_irq_vectors() (Yijing Wang)
- Retrieve first MSI IRQ from msi_desc rather than pci_dev (Yijing Wang)
- Remove unused list access in __pci_restore_msix_state() (Yijing Wang)
- Use irq_get_msi_desc() to simplify code (Yijing Wang)
Generic host bridge driver
- Fix GPL v2 license string typo (Bjorn Helgaas)
Marvell MVEBU
- Fix GPL v2 license string typo (Thierry Reding)
NVIDIA Tegra
- Use correct initial HW settings (Phil Edworthy)
- Remove rcar_pcie_setup_window() resource argument (Phil Edworthy)
- Fix GPL v2 license string typo (Thierry Reding)
Renesas R-Car
- Remove redundant config accessor register checks (Sergei Shtylyov)
- Fix GPL v2 license string typo (Bjorn Helgaas)
Virtualization
- Factor secondary bus reset logic (Gavin Shan)
- Remove duplicate powerpc reset logic (Gavin Shan)
Miscellaneous
- Rework default VGA detection for EFI (Bruno Prémont)
- Fix sysfs "acpi_index" and "label" errors for NIC renaming (Simone Gotti)
- Configure ASPM at pci_enable_device()-time (Vidya Sagar)
- Add include/linux/pci_ids.h include guard (Rasmus Villemoes)"
* tag 'pci-v3.17-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (38 commits)
PCI/MSI: Use irq_get_msi_desc() to simplify code
PCI/MSI: Remove unused list access in __pci_restore_msix_state()
PCI/MSI: Retrieve first MSI IRQ from msi_desc rather than pci_dev
PCI/MSI: Remove unused function msi_remove_pci_irq_vectors()
PCI/MSI: Add msi_setup_entry() to clean up MSI initialization
PCI: Configure ASPM when enabling device
x86: don't exclude low BIOS area when allocating address space for non-PCI cards
PCI: generic: Fix GPL v2 license string typo
PCI: rcar: Fix GPL v2 license string typo
PCI: tegra: Fix GPL v2 license string typo
PCI: mvebu: Fix GPL v2 license string typo
PCI: Add include guard to include/linux/pci_ids.h
x86, ia64: Move EFI_FB vga_default_device() initialization to pci_vga_fixup()
PCI: Tidy resource assignment messages
PCI: Return conventional error values from pci_revert_fw_address()
PCI: Cleanup control flow
PCI: Support BAR sizes up to 128GB
PCI: cpqphp: Remove unnecessary null test before debugfs_remove()
PCI: pciehp: Clear Data Link Layer State Changed during init
PCI: Add bridge DMA alias quirk for Intel 82801 bridge
...
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/pci/fixup.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/ia64/pci/fixup.c b/arch/ia64/pci/fixup.c index 1fe9aa5068ea..ec73b2cf912a 100644 --- a/arch/ia64/pci/fixup.c +++ b/arch/ia64/pci/fixup.c @@ -6,6 +6,7 @@ #include <linux/pci.h> #include <linux/init.h> #include <linux/vgaarb.h> +#include <linux/screen_info.h> #include <asm/machvec.h> @@ -37,6 +38,27 @@ static void pci_fixup_video(struct pci_dev *pdev) return; /* Maybe, this machine supports legacy memory map. */ + if (!vga_default_device()) { + resource_size_t start, end; + int i; + + /* Does firmware framebuffer belong to us? */ + for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { + if (!(pci_resource_flags(pdev, i) & IORESOURCE_MEM)) + continue; + + start = pci_resource_start(pdev, i); + end = pci_resource_end(pdev, i); + + if (!start || !end) + continue; + + if (screen_info.lfb_base >= start && + (screen_info.lfb_base + screen_info.lfb_size) < end) + vga_set_default_device(pdev); + } + } + /* Is VGA routed to us? */ bus = pdev->bus; while (bus) { |