1. 05 11月, 2009 2 次提交
    • D
      x86/PCI: Use generic cacheline sizing instead of per-vendor tests. · 76b1a87b
      Dave Jones 提交于
      Instead of the PCI code needing to have code to determine the
      cacheline size of each processor, use the data the cpu identification
      code should have already determined during early boot.
      
      (The vendor checks are also incomplete, and don't take into account
       modern CPUs)
      
      I've been carrying a variant of this code in Fedora for a while,
      that prints debug information.  There are a number of cases where we
      are currently setting the PCI cacheline size to 32 bytes, when the CPU
      cacheline size is 64 bytes.  With this patch, we set them both the same.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      76b1a87b
    • J
      PCI: determine CLS more intelligently · ac1aa47b
      Jesse Barnes 提交于
      Till now, CLS has been determined either by arch code or as
      L1_CACHE_BYTES.  Only x86 and ia64 set CLS explicitly and x86 doesn't
      always get it right.  On most configurations, the chance is that
      firmware configures the correct value during boot.
      
      This patch makes pci_init() determine CLS by looking at what firmware
      has configured.  It scans all devices and if all non-zero values
      agree, the value is used.  If none is configured or there is a
      disagreement, pci_dfl_cache_line_size is used.  arch can set the dfl
      value (via PCI_CACHE_LINE_BYTES or pci_dfl_cache_line_size) or
      override the actual one.
      
      ia64, x86 and sparc64 updated to set the default cls instead of the
      actual one.
      
      While at it, declare pci_cache_line_size and pci_dfl_cache_line_size
      in pci.h and drop private declarations from arch code.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NDavid Miller <davem@davemloft.net>
      Acked-by: NGreg KH <gregkh@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      ac1aa47b
  2. 19 9月, 2009 1 次提交
    • J
      x86/PCI: make 32 bit NUMA node array int, not unsigned char · 76baeebf
      Jesse Barnes 提交于
      We use -1 to indicate no node affinity, so we need a signed type here or
      all sorts of bad things happen, like crashes in dev_attr_show as
      reported by Ingo:
      
      [  158.058140] warning: `dbus-daemon' uses 32-bit capabilities (legacy support in use)
      [  159.370562] BUG: unable to handle kernel NULL pointer dereference at (null)
      [  159.372694] IP: [<ffffffff8143b722>] bitmap_scnprintf+0x72/0xd0
      [  159.372694] PGD 71d3e067 PUD 7052e067 PMD 0
      [  159.372694] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
      [  159.372694] last sysfs file: /sys/devices/pci0000:00/0000:00:01.0/local_cpus
      [  159.372694] CPU 0
      [  159.372694] Pid: 7364, comm: irqbalance Not tainted 2.6.31-tip #8043 System Product Name
      [  159.372694] RIP: 0010:[<ffffffff8143b722>]  [<ffffffff8143b722>] bitmap_scnprintf+0x72/0xd0
      [  159.372694] RSP: 0018:ffff8800712a1e38  EFLAGS: 00010246
      [  159.372694] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
      [  159.372694] RDX: 0000000000000000 RSI: 0000000000000004 RDI: ffff880077dc5000
      [  159.372694] RBP: ffff8800712a1e68 R08: 0000000000000001 R09: 0000000000000001
      [  159.372694] R10: ffffffff8215c47c R11: 0000000000000000 R12: 0000000000000000
      [  159.372694] R13: 0000000000000000 R14: 0000000000000ffe R15: ffff880077dc5000
      [  159.372694] FS:  00007f5f578f76f0(0000) GS:ffff880007000000(0000) knlGS:0000000000000000
      [  159.372694] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      [  159.372694] CR2: 0000000000000000 CR3: 0000000071a77000 CR4: 00000000000006f0
      [  159.372694] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  159.372694] DR3: ffffffff835109dc DR6: 00000000ffff0ff0 DR7: 0000000000000400
      [  159.372694] Process irqbalance (pid: 7364, threadinfo ffff8800712a0000, task ffff880070773000)
      [  159.372694] Stack:
      [  159.372694]  2222222222222222 ffff880077dc5000 fffffffffffffffb ffff88007d366b40
      [  159.372694] <0> ffff8800712a1f48 ffff88007d3840a0 ffff8800712a1e88 ffffffff8146332b
      [  159.372694] <0> fffffffffffffff4 ffffffff82450718 ffff8800712a1ea8 ffffffff815a9a1f
      [  159.372694] Call Trace:
      [  159.372694]  [<ffffffff8146332b>] local_cpus_show+0x3b/0x60
      [  159.372694]  [<ffffffff815a9a1f>] dev_attr_show+0x2f/0x60
      [  159.372694]  [<ffffffff8118ee6f>] sysfs_read_file+0xbf/0x1d0
      [  159.372694]  [<ffffffff8112afe9>] vfs_read+0xc9/0x180
      [  159.372694]  [<ffffffff8112c365>] sys_read+0x55/0x90
      [  159.372694]  [<ffffffff810114f2>] system_call_fastpath+0x16/0x1b
      [  159.372694] Code: 41 b9 01 00 00 00 44 8d 46 03 49 63 fc 0f 49 d3 c1 f8 1f 4c 01 ff c1 e8 1a c1 fa 06 41 c1 e8 02 8d 0c 03 48 63 d2 83 e1 3f 29 c1 <49> 8b 44 d5 00 48 c7 c2 8c 37 16 82 48 d3 e8 89 f1 44 89 f6 49
      [  159.372694] RIP  [<ffffffff8143b722>] bitmap_scnprintf+0x72/0xd0
      [  159.372694]  RSP <ffff8800712a1e38>
      [  159.372694] CR2: 0000000000000000
      [  159.600828] ---[ end trace 35550c356e84e60c ]---
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Tested-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      76baeebf
  3. 10 9月, 2009 1 次提交
    • J
      x86/PCI: initialize PCI bus node numbers early · 2547089c
      Jesse Barnes 提交于
      The current mp_bus_to_node array is initialized only by AMD specific
      code, since AMD platforms have registers that can be used for
      determining mode numbers.  On new Intel platforms it's necessary to
      initialize this array as well though, otherwise all PCI node numbers
      will be 0, when in fact they should be -1 (indicating that I/O isn't
      tied to any particular node).
      
      So move the mp_bus_to_node code into the common PCI code, and
      initialize it early with a default value of -1.  This may be overridden
      later by arch code (e.g. the AMD code).
      
      With this change, PCI consistent memory and other node specific
      allocations (e.g. skbuff allocs) should occur on the "current" node.
      If, for performance reasons, applications want to be bound to specific
      nodes, they should open their devices only after being pinned to the
      CPU where they'll run, for maximum locality.
      Acked-by: NYinghai Lu <yinghai@kernel.org>
      Tested-by: NJesse Brandeburg <jesse.brandeburg@gmail.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      2547089c
  4. 25 6月, 2009 1 次提交
  5. 12 6月, 2009 1 次提交
  6. 23 4月, 2009 2 次提交
  7. 12 3月, 2009 1 次提交
  8. 08 1月, 2009 2 次提交
  9. 30 12月, 2008 1 次提交
  10. 19 7月, 2008 1 次提交
    • S
      x86, pci: introduce config option for pci reroute quirks (was: [PATCH 0/3]... · 41b9eb26
      Stefan Assmann 提交于
      x86, pci: introduce config option for pci reroute quirks (was: [PATCH 0/3] Boot IRQ quirks for Broadcom and AMD/ATI)
      
      This is against linux-2.6-tip, branch pci-ioapic-boot-irq-quirks.
      
      From: Stefan Assmann <sassmann@suse.de>
      Subject: Introduce config option for pci reroute quirks
      
      The config option X86_REROUTE_FOR_BROKEN_BOOT_IRQS is introduced to
      enable (or disable) the redirection of the interrupt handler to the boot
      interrupt line by default. Depending on the existence of interrupt
      masking / threaded interrupt handling in the kernel (vanilla, rt, ...)
      and the maturity of the rerouting patch, users can enable or disable the
      redirection by default.
      
      This means that the reroute quirk can be applied to any kernel without
      changing it.
      
      Interrupt sharing could be increased if this option is enabled. However this
      option is vital for threaded interrupt handling, as done by the RT kernel.
      It should simplify the consolidation with the RT kernel.
      
      The option can be overridden by either pci=ioapicreroute or
      pci=noioapicreroute.
      Signed-off-by: NStefan Assmann <sassmann@suse.de>
      Signed-off-by: NOlaf Dabrunz <od@suse.de>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Jon Masters <jonathan@jonmasters.org>
      Cc: Ihno Krumreich <ihno@suse.de>
      Cc: Sven Dietrich <sdietrich@suse.de>
      Cc: Daniel Gollub <dgollub@suse.de>
      Cc: Felix Foerster <ffoerster@suse.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      41b9eb26
  11. 15 7月, 2008 1 次提交
  12. 09 7月, 2008 1 次提交
    • R
      x86/pci: removing subsys_initcall ordering dependencies · 8dd779b1
      Robert Richter 提交于
      So far subsys_initcalls has been executed in this order depending on
      the object order in the Makefile:
      
      arch/x86/pci/visws.c:subsys_initcall(pcibios_init);
      arch/x86/pci/numa.c:subsys_initcall(pci_numa_init);
      arch/x86/pci/acpi.c:subsys_initcall(pci_acpi_init);
      arch/x86/pci/legacy.c:subsys_initcall(pci_legacy_init);
      arch/x86/pci/irq.c:subsys_initcall(pcibios_irq_init);
      arch/x86/pci/common.c:subsys_initcall(pcibios_init);
      
      This patch removes the ordering dependency. There is now only one
      subsys_initcall function that contains subsystem initialization code
      with a defined order.
      Signed-off-by: NRobert Richter <robert.richter@amd.com>
      Acked-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8dd779b1
  13. 08 7月, 2008 3 次提交
  14. 11 6月, 2008 2 次提交
    • Y
      PCI/x86: early dump pci conf space v2 · e3f2baeb
      Yinghai Lu 提交于
      Allows us to dump PCI space before any kernel changes have been made.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      e3f2baeb
    • G
      PCI: boot parameter to avoid expansion ROM memory allocation · bb71ad88
      Gary Hade 提交于
      Contention for scarce PCI memory resources has been growing
      due to an increasing number of PCI slots in large multi-node
      systems.  The kernel currently attempts by default to
      allocate memory for all PCI expansion ROMs so there has
      also been an increasing number of PCI memory allocation
      failures seen on these systems.  This occurs because the
      BIOS either (1) provides insufficient PCI memory resource
      for all the expansion ROMs or (2) provides adequate PCI
      memory resource for expansion ROMs but provides the
      space in kernel unexpected BIOS assigned P2P non-prefetch
      windows.
      
      The resulting PCI memory allocation failures may be benign
      when related to memory requests for expansion ROMs themselves
      but in some cases they can occur when attempting to allocate
      space for more critical BARs.  This can happen when a successful
      expansion ROM allocation request consumes memory resource
      that was intended for a non-ROM BAR.  We have seen this
      happen during PCI hotplug of an adapter that contains a
      P2P bridge where successful memory allocation for an
      expansion ROM BAR on device behind the bridge consumed
      memory that was intended for a non-ROM BAR on the P2P bridge.
      In all cases the allocation failure messages can be very
      confusing for users.
      
      This patch provides a new 'pci=norom' kernel boot parameter
      that can be used to disable the default PCI expansion ROM memory
      resource allocation.  This provides a way to avoid the above
      described issues on systems that do not contain PCI devices
      for which drivers or user-level applications depend on the
      default PCI expansion ROM memory resource allocation behavior.
      Signed-off-by: NGary Hade <garyhade@us.ibm.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      bb71ad88
  15. 23 5月, 2008 1 次提交
    • T
      PCI: Correct last two HP entries in the bfsort whitelist · a1676072
      Tony Camuso 提交于
      Greetings.
      
      There is a code flaw in the bfsort whitelist, where there are redundant
      entries for the same two HP systems, DL385 G2 and DL585 G2. This patch
      replaces those redundant entries with the correct ones. The correct
      entries are for large-volume systems, the DL360 and DL380.
      
      -----------------------------------------------------------------------
      
      commit ec69f0374c3b0ad7ea991b0e9ac00377acfe5b1a
      Author: Tony Camuso <tony.camuso@hp.com>
      Date:   Wed May 14 07:09:28 2008 -0400
      
           Replace Redundant Whitelist Entries with the Correct Ones
      
           The ProLiant DL585 G2 and the DL585 G2 are entered reundantly
           in the dmi_system_id table. What should have been there are the
           DL360 and DL380. This patch simply replaces the redundant
           entries with the correct entries.
      
       arch/x86/pci/common.c |    8 ++++----
       1 file changed, 4 insertions(+), 4 deletions(-)
      Signed-off-by: NTony Camuso <tony.camuso@hp.com>
      Signed-off-by: NPat Schoeller <patrick.schoeller@hp.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      a1676072
  16. 20 5月, 2008 1 次提交
  17. 09 5月, 2008 1 次提交
  18. 06 5月, 2008 2 次提交
  19. 30 4月, 2008 1 次提交
    • S
      x86: fix section mismatch in pci_scan_bus · 98db6f19
      Sam Ravnborg 提交于
      Fix following section mismatch warning:
      WARNING: vmlinux.o(.text+0x275616): Section mismatch in reference from the function pci_scan_bus() to the function .devinit.text:pci_scan_bus_parented()
      
      The warning was seen with a CONFIG_DEBUG_SECTION_MISMATCH=y build.
      The inline function pci_scan_bus refer to functions annotated
      __devinit - so annotate it __devinit too.
      This revealed a few x86 specific functions that were only
      used from __init or __devinit context.
      So annotate these __devinit and the warning was killed.
      
      The added include in pci.h was not strictly required but
      added to avoid being dependent on indirect includes.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NJesse Barnes <jbarnes@hobbes.lan>
      98db6f19
  20. 27 4月, 2008 2 次提交
    • Y
      x86: add pci=check_enable_amd_mmconf and dmi check · 5f0b2976
      Yinghai Lu 提交于
      so will disable that feature by default, and only enable that via
      pci=check_enable_amd_mmconf or for system match with dmi table.
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      5f0b2976
    • Y
      x86: get mp_bus_to_node early · 871d5f8d
      Yinghai Lu 提交于
      Currently, on an amd k8 system with multi ht chains, the numa_node of
      pci devices under /sys/devices/pci0000:80/* is always 0, even if that
      chain is on node 1 or 2 or 3.
      
      Workaround: pcibus_to_node(bus) is used when we want to get the node that
      pci_device is on.
      
      In struct device, we already have numa_node member, and we could use
      dev_to_node()/set_dev_node() to get and set numa_node in the device.
      set_dev_node is called in pci_device_add() with pcibus_to_node(bus),
      and pcibus_to_node uses bus->sysdata for nodeid.
      
      The problem is when pci_add_device is called, bus->sysdata is not assigned
      correct nodeid yet. The result is that numa_node will always be 0.
      
      pcibios_scan_root and pci_scan_root could take sysdata. So we need to get
      mp_bus_to_node mapping before these two are called, and thus
      get_mp_bus_to_node could get correct node for sysdata in root bus.
      
      In scanning of the root bus, all child busses will take parent bus sysdata.
      So all pci_device->dev.numa_node will be assigned correctly and automatically.
      
      Later we could use dev_to_node(&pci_dev->dev) to get numa_node, and we
      could also could make other bus specific device get the correct numa_node
      too.
      
      This is an updated version of pci_sysdata and Jeff's pci_domain patch.
      
      [ mingo@elte.hu: build fix ]
      Signed-off-by: NYinghai Lu <yinghai.lu@sun.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      871d5f8d
  21. 21 4月, 2008 3 次提交
    • B
      PCI: x86: use generic pci_enable_resources() · b81d988c
      Bjorn Helgaas 提交于
      Use the generic pci_enable_resources() instead of the arch-specific code.
      
      Unlike this arch-specific code, the generic version:
          - checks for resource collisions with "!r->parent"
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b81d988c
    • G
      PCI: remove pcibios_fixup_ghosts() · 6355f3d1
      Greg Kroah-Hartman 提交于
      This function was obviously never being used since early 2.5 days as any
      device that it would try to remove would never really be removed from
      the system due to the PCI device list being held in the driver core, not
      the general list of PCI devices.
      
      As we have not had a single report of a problem here in 4 years, I think
      it's safe to remove now.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6355f3d1
    • G
      PCI: remove initial bios sort of PCI devices on x86 · 1ba6ab11
      Greg Kroah-Hartman 提交于
      We currently keep 2 lists of PCI devices in the system, one in the
      driver core, and one all on its own.  This second list is sorted at boot
      time, in "BIOS" order, to try to remain compatible with older kernels
      (2.2 and earlier days).  There was also a "nosort" option to turn this
      sorting off, to remain compatible with even older kernel versions, but
      that just ends up being what we have been doing from 2.5 days...
      
      Unfortunately, the second list of devices is not really ever used to 
      determine the probing order of PCI devices or drivers[1].  That is done
      using the driver core list instead.  This change happened back in the
      early 2.5 days.
      
      Relying on BIOS ording for the binding of drivers to specific device
      names is problematic for many reasons, and userspace tools like udev
      exist to properly name devices in a persistant manner if that is needed,
      no reliance on the BIOS is needed.
      
      Matt Domsch and others at Dell noticed this back in 2006, and added a
      boot option to sort the PCI device lists (both of them) in a
      breadth-first manner to help remain compatible with the 2.4 order, if
      needed for any reason.  This option is not going away, as some systems
      rely on them.
      
      This patch removes the sorting of the internal PCI device list in "BIOS"
      mode, as it's not needed at all anymore, and hasn't for many years.
      I've also removed the PCI flags for this from some other arches that for
      some reason defined them, but never used them.
      
      This should not change the ordering of any drivers or device probing.
      
      [1] The old-style pci_get_device and pci_find_device() still used this
      sorting order, but there are very few drivers that use these functions,
      as they are deprecated for use in this manner.  If for some reason, a
      driver rely on the order and uses these functions, the breadth-first
      boot option will resolve any problem.
      
      Cc: Matt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      1ba6ab11
  22. 19 2月, 2008 1 次提交
  23. 11 2月, 2008 1 次提交
  24. 30 1月, 2008 1 次提交
    • G
      PCI: remove default PCI expansion ROM memory allocation · 9f8dacca
      Gary Hade 提交于
      increasing number of PCI slots in large multi-node systems.  The kernel
      currently attempts by default to allocate memory for all PCI expansion
      ROMs so there has also been an increasing number of PCI memory
      allocation failures seen on these systems.  This occurs because the BIOS
      either (1) provides insufficient PCI memory resource for all the
      expansion ROMs or (2) provides adequate PCI memory resource for
      expansion ROMs but provides the space in kernel unexpected BIOS assigned
      P2P non-prefetch windows.
      
      The resulting PCI memory allocation failures may be benign when related
      to memory requests for expansion ROMs themselves but in some cases they
      can occur when attempting to allocate space for more critical BARs.
      This can happen when a successful expansion ROM allocation request
      consumes memory resource that was intended for a non-ROM BAR.  We have
      seen this happen during PCI hotplug of an adapter that contains a P2P
      bridge where successful memory allocation for an expansion ROM BAR on
      device behind the bridge consumed memory that was intended for a non-ROM
      BAR on the P2P bridge.  In all cases the allocation failure messages can
      be very confusing for users.
      
      This patch addresses the issue by changing the kernel default behavior
      so that expansion ROM memory allocations are no longer attempted by
      default when the BIOS has not assigned a specific address range to the
      expansion ROM BAR.  This was done by changing the 'pci=rom' boot option
      behavior for BIOS unassigned expansion ROMs to actually match it's
      current kernel-parameters.txt description which already implies "off" by
      default. Behavior for BIOS assigned expansion ROMs implemented in
      pcibios_assign_resources() [arch/x86/pci/i386.c] is unchanged.
      Signed-off-by: NGary Hade <garyhade@us.ibm.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jan Beulich <jbeulich@novell.com>
      Acked-by: N"Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      9f8dacca
  25. 27 11月, 2007 1 次提交
  26. 18 10月, 2007 1 次提交
  27. 13 10月, 2007 3 次提交
    • J
      PCI: X86: Introduce and enable PCI domain support · a79e4198
      Jeff Garzik 提交于
      * fix bug in pci_read() and pci_write() which prevented PCI domain
        support from working (hardcoded domain 0).
      
      * unconditionally enable CONFIG_PCI_DOMAINS
      
      * implement pci_domain_nr() and pci_proc_domain(), as required of
        all arches when CONFIG_PCI_DOMAINS is enabled.
      
      * store domain in struct pci_sysdata, as assigned by ACPI
      
      * support "pci=nodomains"
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a79e4198
    • G
      PCI: use _CRS for PCI resource allocation · 62f420f8
      Gary Hade 提交于
      Use _CRS for PCI resource allocation
      
      This patch resolves an issue where incorrect PCI memory and i/o ranges
      are being assigned to hotplugged PCI devices on some IBM systems.  The
      resource mis-allocation not only makes the PCI device unuseable but
      often makes the entire system unuseable due to resulting machine checks.
      
      The hotplug capable PCI slots on the affected systems are not located
      under a standard P2P bridge but are instead located under PCI root
      bridges or subtractive decode P2P bridges.  For example, the IBM x3850
      contains 2 hotplug capable PCI-X slots and 4 hotplug capable PCIe slots
      with the PCI-X slots each located under a PCI root bridge and the PCIe
      slots each located under a subtractive decode P2P bridge.
      
      The current i386/x86_64 PCI resource allocation code does not use _CRS
      returned resource information.  No other resource information source is
      available for slots that are not below a standard P2P bridge so
      incorrect ranges are being allocated from e820 hole causing the bad
      result.
      
      This patch causes the kernel to use _CRS returned resource info.  It is
      roughly based on a change provided by Matthew Wilcox for the ia64 kernel
      in 2005.  Due to possible buggy BIOS factor and possible yet to be
      discovered kernel issues the function is disabled by default and can be
      enabled with pci=use_crs.
      Signed-off-by: NGary Hade <gary.hade@us.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      62f420f8
    • J
      PCI: i386: Compaq EVO N800c needs PCI bus renumbering · 5b1ea82f
      Juha Laiho 提交于
      Force PCI bus renumbering for Compaq EVO N800c laptop, in order to get
      the cardbus slot recognised.
      Signed-off-by: NJuha Laiho <Juha.Laiho@iki.fi>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      5b1ea82f
  28. 11 10月, 2007 1 次提交