1. 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
  2. 18 10月, 2010 1 次提交
  3. 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
  4. 25 9月, 2010 1 次提交
  5. 02 8月, 2010 1 次提交
  6. 31 7月, 2010 5 次提交
  7. 08 6月, 2010 1 次提交
  8. 22 5月, 2010 1 次提交
  9. 19 5月, 2010 2 次提交
  10. 03 4月, 2010 1 次提交
  11. 25 3月, 2010 4 次提交
  12. 07 3月, 2010 1 次提交
  13. 23 2月, 2010 2 次提交
  14. 05 2月, 2010 1 次提交
    • A
      CS5536: apply pci quirk for BIOS SMBUS bug · 73d2eaac
      Andres Salomon 提交于
      The new cs5535-* drivers use PCI header config info rather than MSRs to
      determine the memory region to use for things like GPIOs and MFGPTs.  As
      anticipated, we've run into a buggy BIOS:
      
      [    0.081818] pci 0000:00:14.0: reg 10: [io  0x6000-0x7fff]
      [    0.081906] pci 0000:00:14.0: reg 14: [io  0x6100-0x61ff]
      [    0.082015] pci 0000:00:14.0: reg 18: [io  0x6200-0x63ff]
      [    0.082917] pci 0000:00:14.2: reg 20: [io  0xe000-0xe00f]
      [    0.083551] pci 0000:00:15.0: reg 10: [mem 0xa0010000-0xa0010fff]
      [    0.084436] pci 0000:00:15.1: reg 10: [mem 0xa0011000-0xa0011fff]
      [    0.088816] PCI: pci_cache_line_size set to 32 bytes
      [    0.088938] pci 0000:00:14.0: address space collision: [io 0x6100-0x61ff] already in use
      [    0.089052] pci 0000:00:14.0: can't reserve [io  0x6100-0x61ff]
      
      This is a Soekris board, and its BIOS sets the size of the PCI ISA bridge
      device's BAR0 to 8k.  In reality, it should be 8 bytes (BAR0 is used for
      SMBus stuff).  This quirk checks for an incorrect size, and resets it
      accordingly.
      Signed-off-by: NAndres Salomon <dilinger@collabora.co.uk>
      Tested-by: NLeigh Porter <leigh@leighporter.org>
      Tested-by: NJens Rottmann <JRottmann@LiPPERTEmbedded.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      73d2eaac
  15. 01 1月, 2010 2 次提交
  16. 17 12月, 2009 4 次提交
  17. 05 11月, 2009 3 次提交
  18. 16 10月, 2009 1 次提交
  19. 12 10月, 2009 3 次提交
  20. 08 10月, 2009 1 次提交
  21. 15 9月, 2009 1 次提交
  22. 11 9月, 2009 1 次提交
  23. 10 9月, 2009 1 次提交
    • E
      PCI: Simplify hotplug mch quirk. · 0ba379ec
      Eric W. Biederman 提交于
      There is a very old quirk for the intel E7502 E7320 and E7525 memory
      controller hubs that disables usage of msi interrupts on pcie hotplug
      bridges of those devices, and disables changing the affinity of irqs.
      
      Today all we have to do to disable msi on a specific device is to set
      dev->no_msi, which is much more straightforward than the previous
      logic.
      
      The re-running of this fixup after pci hotplug happens below these
      devices is totally bogus.  All of the state we change is pure software
      state and we don't change the hardware at all.  Which means hotplug on
      the lower devices doesn't have a chance to change this state.  So we
      can safely remove the special case from the pciehp driver and the pcie
      portdriver.
      
      I suspect the special case was someone's expermental debug code that
      slipped in. Certainly it isn't mentioned in commit
      6fb8880a61510295aece04a542767161f624dffe aka BKrev:
      41966101LJ_ogfOU0m2aE6teZfQnuQ where the code first appears.
      Reviewed-by: NKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
      Signed-off-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      0ba379ec