1. 25 2月, 2012 5 次提交
  2. 15 2月, 2012 2 次提交
    • T
      PCI: Add quirk for still enabled interrupts on Intel Sandy Bridge GPUs · f67fd55f
      Thomas Jarosch 提交于
      Some BIOS implementations leave the Intel GPU interrupts enabled,
      even though no one is handling them (f.e. i915 driver is never loaded).
      Additionally the interrupt destination is not set up properly
      and the interrupt ends up -somewhere-.
      
      These spurious interrupts are "sticky" and the kernel disables
      the (shared) interrupt line after 100.000+ generated interrupts.
      
      Fix it by disabling the still enabled interrupts.
      This resolves crashes often seen on monitor unplug.
      
      Tested on the following boards:
      - Intel DH61CR: Affected
      - Intel DH67BL: Affected
      - Intel S1200KP server board: Affected
      - Asus P8H61-M LE: Affected, but system does not crash.
        Probably the IRQ ends up somewhere unnoticed.
      
      According to reports on the net, the Intel DH61WW board is also affected.
      
      Many thanks to Jesse Barnes from Intel for helping
      with the register configuration and to Intel in general
      for providing public hardware documentation.
      Signed-off-by: NThomas Jarosch <thomas.jarosch@intra2net.com>
      Tested-by: NCharlie Suffin <charlie.suffin@stratus.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      f67fd55f
    • A
      PCI: Annotate PCI quirks in initcall_debug style · 3209874a
      Arjan van de Ven 提交于
      While diagnosing some boot time issues on a platform, all that I
      could see in the bootgraph/dmesg was that the system was spending
      a lot of time in applying one or more PCI quirks... which
      was virtually undebuggable.
      
      This patch adds printk's in "initcall_debug" style to the dmesg,
      which are added when the user asks for the initcall_debug
      (the nr one tool to use when debugging boot hangs or boot time issues)
      kernel command line option.
      
      v2: add #includes so quirks can build on non-x86
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      3209874a
  3. 01 11月, 2011 1 次提交
  4. 28 10月, 2011 1 次提交
  5. 15 10月, 2011 2 次提交
  6. 21 9月, 2011 1 次提交
  7. 21 7月, 2011 1 次提交
  8. 19 6月, 2011 1 次提交
  9. 22 5月, 2011 1 次提交
  10. 11 5月, 2011 3 次提交
  11. 31 3月, 2011 1 次提交
  12. 05 3月, 2011 2 次提交
    • J
      PCI: do not create quirk I/O regions below PCIBIOS_MIN_IO for ICH · 87e3dc38
      Jiri Slaby 提交于
      Some broken BIOSes on ICH4 chipset report an ACPI region which is in
      conflict with legacy IDE ports when ACPI is disabled. Even though the
      regions overlap, IDE ports are working correctly (we cannot find out
      the decoding rules on chipsets).
      
      So the only problem is the reported region itself, if we don't reserve
      the region in the quirk everything works as expected.
      
      This patch avoids reserving any quirk regions below PCIBIOS_MIN_IO
      which is 0x1000. Some regions might be (and are by a fast google
      query) below this border, but the only difference is that they won't
      be reserved anymore. They should still work though the same as before.
      
      The conflicts look like (1f.0 is bridge, 1f.1 is IDE ctrl):
      pci 0000:00:1f.1: address space collision: [io 0x0170-0x0177] conflicts with 0000:00:1f.0 [io  0x0100-0x017f]
      
      At 0x0100 a 128 bytes long ACPI region is reported in the quirk for
      ICH4. ata_piix then fails to find disks because the IDE legacy ports
      are zeroed:
      ata_piix 0000:00:1f.1: device not available (can't reserve [io 0x0000-0x0007])
      
      References: https://bugzilla.novell.com/show_bug.cgi?id=558740Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Renninger <trenn@suse.de>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      87e3dc38
    • J
      PCI: add more checking to ICH region quirks · cdb97558
      Jiri Slaby 提交于
      Per ICH4 and ICH6 specs, ACPI and GPIO regions are valid iff ACPI_EN
      and GPIO_EN bits are set to 1. Add checks for these bits into the
      quirks prior to the region creation.
      
      While at it, name the constants by macros.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Renninger <trenn@suse.de>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      cdb97558
  13. 17 2月, 2011 1 次提交
  14. 17 12月, 2010 1 次提交
  15. 14 12月, 2010 1 次提交
  16. 25 11月, 2010 1 次提交
    • C
      pci root complex: support for tile architecture · f02cbbe6
      Chris Metcalf 提交于
      This change enables PCI root complex support for TILEPro.  Unlike
      TILE-Gx, TILEPro has no support for memory-mapped I/O, so the PCI
      support consists of hypervisor upcalls for PIO, DMA, etc.  However,
      the performance is fine for the devices we have tested with so far
      (1Gb Ethernet, SATA, etc.).
      
      The <asm/io.h> header was tweaked to be a little bit more aggressive
      about disabling attempts to map/unmap IO port space.  The hacky
      <asm/pci-bridge.h> header was rolled into the <asm/pci.h> header
      and the result was simplified.  Both of the latter two headers were
      preliminary versions not meant for release before now - oh well.
      
      There is one quirk for our TILEmpower platform, which accidentally
      negotiates up to 5GT and needs to be kicked down to 2.5GT.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      f02cbbe6
  17. 18 10月, 2010 1 次提交
  18. 16 10月, 2010 1 次提交
    • N
      PCI: add quirk for non-symmetric-mode irq routing to versions 0 and 4 of the MCP55 northbridge · 66db60ea
      Neil Horman 提交于
      A long time ago I worked on a RHEL5 bug in which kdump hung during boot
      on a set of systems.  The systems hung because they never received timer
      interrupts during calibrate_delay.  These systems also all had Opteron
      processors on a hypertransport bus, bridged to a pci bus via an Nvidia
      MCP55 northbridge chip.  After much wrangling I managed to learn from
      Nvidia that they have an undocumented register in some versions of that
      chip which control how legacy interrupts are send to the cpu complex
      when the ioapic isn't active.  Nvidia defaults this register to only
      send legacy interrupts to the BSP, so if kdump happens to boot on an AP,
      we never get timer interrupts and boom.  I had initially used this quirk
      as a workaround, with my intent being to move apic initalization to an
      earlier point in the boot process, so the setting of the register would
      be irrelevant.  Given the work involved in doing that however, the
      fragile nature of the apic initalization code, and the fact that, over
      the 2 years since we found this bug, the MCP55 is the only chip which
      seems to have this issue, I've figure at this point its likely safer to
      just carry the quirk around.  By setting the referenced bits in this
      hidden register, interrupts will be broadcast to all cpus when the
      ioapic isn't active on the above described systems.
      Acked-by: NSimon Horman <horms@verge.net.au>
      Acked-by: NVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      66db60ea
  19. 25 9月, 2010 1 次提交
  20. 02 8月, 2010 1 次提交
  21. 31 7月, 2010 5 次提交
  22. 08 6月, 2010 1 次提交
  23. 22 5月, 2010 1 次提交
  24. 19 5月, 2010 2 次提交
  25. 03 4月, 2010 1 次提交
  26. 25 3月, 2010 1 次提交