Skip to content
Snippets Groups Projects
  1. Oct 18, 2010
  2. Oct 15, 2010
    • Neil Horman's avatar
      PCI: add quirk for non-symmetric-mode irq routing to versions 0 and 4 of the MCP55 northbridge · 66db60ea
      Neil Horman authored
      
      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: default avatarSimon Horman <horms@verge.net.au>
      Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      66db60ea
  3. Sep 24, 2010
  4. Aug 01, 2010
  5. Jul 30, 2010
  6. Jun 07, 2010
  7. May 21, 2010
  8. May 18, 2010
  9. Apr 02, 2010
  10. Mar 25, 2010
  11. Mar 24, 2010
    • Clemens Ladisch's avatar
      PCI quirk: RS780/RS880: work around missing MSI initialization · a5ee4eb7
      Clemens Ladisch authored
      
      AMD says in section 2.5.4 (GFX MSI Enable) of #43291 (AMD 780G Family
      Register Programming Requirements):
      
        The SBIOS must enable internal graphics MSI capability in GCCFG by
        setting the following: NBCFG.NB_CNTL.STRAP_MSI_ENABLE='1'
      
      Quite a few BIOS writers misinterpret this sentence and think that
      enabling MSI is an optional feature.  However, clearing that bit just
      prevents delivery of MSI messages but does not remove the MSI PCI
      capabilities registers, and so leaves these devices unusable for any
      driver that attempts to use MSI.
      
      Setting that bit is not possible after the BIOS has locked down the
      configuration registers, so we have to manually disable MSI for the
      affected devices.
      
      This fixes the codec communication errors in the HDA driver when
      accessing the HDMI audio device, and allows us to get rid of the
      overcautious quirk in radeon_irq_kms.c.
      
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Tested-by: default avatarAlex Deucher <alexdeucher@gamil.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      a5ee4eb7
    • Tim Yamin's avatar
      PCI quirk: only apply CX700 PCI bus parking quirk if external VT6212L is present · ca846392
      Tim Yamin authored
      
      Apply the CX700 quirk only when an external VT6212L is present (which
      is the case for the errant hardware the quirk was written for), don't
      touch the settings otherwise -- Hauppage PVR-500 tuners need PCI Bus
      Parking in order to work and when that's turned on everything seems
      to behave fine.
      
      I guess the underlying problem is a combination of an external VT6212L
      and the CX700 rather than the CX700's PCI being broken completely for
      all cases...
      
      Reported-by: default avatarJeroen Roos <jeroen@roosnl.com>
      Signed-off-by: default avatarTim Yamin <plasm@roo.me.uk>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      ca846392
  12. Mar 06, 2010
  13. Feb 22, 2010
  14. Feb 05, 2010
    • Andres Salomon's avatar
      CS5536: apply pci quirk for BIOS SMBUS bug · 73d2eaac
      Andres Salomon authored
      
      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: default avatarAndres Salomon <dilinger@collabora.co.uk>
      Tested-by: default avatarLeigh Porter <leigh@leighporter.org>
      Tested-by: default avatarJens Rottmann <JRottmann@LiPPERTEmbedded.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      73d2eaac
  15. Dec 31, 2009
  16. Dec 16, 2009
  17. Nov 04, 2009
  18. Oct 16, 2009
  19. Oct 12, 2009
  20. Oct 07, 2009
  21. Sep 14, 2009
  22. Sep 11, 2009
  23. Sep 09, 2009
Loading