1. 09 9月, 2005 2 次提交
  2. 08 9月, 2005 1 次提交
    • A
      [PATCH] x86/x86_64: deferred handling of writes to /proc/irqxx/smp_affinity · 54d5d424
      Ashok Raj 提交于
      When handling writes to /proc/irq, current code is re-programming rte
      entries directly. This is not recommended and could potentially cause
      chipset's to lockup, or cause missing interrupts.
      
      CONFIG_IRQ_BALANCE does this correctly, where it re-programs only when the
      interrupt is pending. The same needs to be done for /proc/irq handling as well.
      Otherwise user space irq balancers are really not doing the right thing.
      
      - Changed pending_irq_balance_cpumask to pending_irq_migrate_cpumask for
        lack of a generic name.
      - added move_irq out of IRQ_BALANCE, and added this same to X86_64
      - Added new proc handler for write, so we can do deferred write at irq
        handling time.
      - Display of /proc/irq/XX/smp_affinity used to display CPU_MASKALL, instead
        it now shows only active cpu masks, or exactly what was set.
      - Provided a common move_irq implementation, instead of duplicating
        when using generic irq framework.
      
      Tested on i386/x86_64 and ia64 with CONFIG_PCI_MSI turned on and off.
      Tested UP builds as well.
      
      MSI testing: tbd: I have cards, need to look for a x-over cable, although I
      did test an earlier version of this patch.  Will test in a couple days.
      Signed-off-by: NAshok Raj <ashok.raj@intel.com>
      Acked-by: NZwane Mwaikambo <zwane@holomorphy.com>
      Grudgingly-acked-by: NAndi Kleen <ak@muc.de>
      Signed-off-by: NCoywolf Qi Hunt <coywolf@lovecn.org>
      Signed-off-by: NAshok Raj <ashok.raj@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      54d5d424
  3. 05 9月, 2005 2 次提交
  4. 02 9月, 2005 1 次提交
  5. 31 8月, 2005 1 次提交
    • I
      [PATCH] x86: pci_assign_unassigned_resources() update · 81d4af13
      Ivan Kokshaysky 提交于
      I had some time to think about PCI assign issues in 2.6.13-rc series.
      
      The major problem here is that we call pci_assign_unassigned_resources()
      way too early - at subsys_initcall level. Therefore we give no chances
      to ACPI and PnP routines (called at fs_initcall level) to reserve their
      respective resources properly, as the comments in drivers/pnp/system.c
      and drivers/acpi/motherboard.c suggest:
      
       /**
        * Reserve motherboard resources after PCI claim BARs,
        * but before PCI assign resources for uninitialized PCI devices
        */
      
      So I moved the pci_assign_unassigned_resources() call to
      pcibios_assign_resources() (fs_initcall), which should hopefully fix a
      lot of problems and make PCIBIOS_MIN_IO tweaks unnecessary.
      
      Other changes:
      - remove resource assignment code from pcibios_assign_resources(), since
        it duplicates pci_assign_unassigned_resources() functionality and
        actually does nothing in 2.6.13;
      - modify ROM assignment code as per Ben's suggestion: try to use firmware
        settings by default (if PCI_ASSIGN_ROMS is not set);
      - set CARDBUS_IO_SIZE back to 4K as it's a wonderful stress test for
        various setups.
      
      Confirmed by Tero Roponen <teanropo@cc.jyu.fi> (who had problems with
      the 4kB CardBus IO size previously).
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      81d4af13
  6. 27 8月, 2005 2 次提交
    • L
      Ignore disabled ROM resources at setup · 755528c8
      Linus Torvalds 提交于
      Writing even a disabled value seems to mess up some matrox graphics
      cards.  It may be a card-related issue, but we may also be writing
      reserved low bits in the result.
      
      This was a fall-out of switching x86 over to the generic PCI resource
      allocation code, and needs more debugging.  In particular, the old x86
      code defaulted to not doing any resource allocations at all for ROM
      resources.
      
      In the meantime, this has been reported to make X happier by Helge
      Hafting <helgehaf@aitel.hist.no>.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      755528c8
    • L
      Only pre-allocate 256 bytes of cardbio IO range · 26aad69e
      Linus Torvalds 提交于
      It may seem small, but most cards need much less, if any, and this not
      only makes the code adhere to the comment, it seems to fix a boot-time
      lockup on a ThinkPad 380XD laptop reported by Tero Roponen <teanropo@cc.jyu.fi>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      26aad69e
  7. 25 8月, 2005 1 次提交
  8. 17 8月, 2005 3 次提交
  9. 09 8月, 2005 2 次提交
  10. 08 8月, 2005 1 次提交
    • I
      [PATCH] Fix restore of 64-bit PCI BAR's · cf7bee5a
      Ivan Kokshaysky 提交于
      For 64-bit BAR[i] only pci_dev->resource[i] is valid, ->resource[i+1]
      slot is unused and contains zeroes in all fields.
      
      So when we update a PCI BAR, all we need is just to check that we're
      going to update a _valid_ resource.
      
      Also make sure to write high bits - use "x >> 16 >> 16" (rather than the
      simpler ">> 32") to avoid warnings on 32-bit architectures where we're
      not going to have any high bits.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cf7bee5a
  11. 05 8月, 2005 1 次提交
    • J
      [PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it · fec59a71
      John W. Linville 提交于
      Some PCI devices (e.g. 3c905B, 3c556B) lose all configuration
      (including BARs) when transitioning from D3hot->D0.  This leaves such
      a device in an inaccessible state.  The patch below causes the BARs
      to be restored when enabling such a device, so that its driver will
      be able to access it.
      
      The patch also adds pci_restore_bars as a new global symbol, and adds a
      correpsonding EXPORT_SYMBOL_GPL for that.
      
      Some firmware (e.g. Thinkpad T21) leaves devices in D3hot after a
      (re)boot.  Most drivers call pci_enable_device very early, so devices
      left in D3hot that lose configuration during the D3hot->D0 transition
      will be inaccessible to their drivers.
      
      Drivers could be modified to account for this, but it would
      be difficult to know which drivers need modification.  This is
      especially true since often many devices are covered by the same
      driver.  It likely would be necessary to replicate code across dozens
      of drivers.
      
      The patch below should trigger only when transitioning from D3hot->D0
      (or at boot), and only for devices that have the "no soft reset" bit
      cleared in the PM control register.  I believe it is safe to include
      this patch as part of the PCI infrastructure.
      
      The cleanest implementation of pci_restore_bars was to call
      pci_update_resource.  Unfortunately, that does not currently exist
      for the sparc64 architecture.  The patch below includes a null
      implemenation of pci_update_resource for sparc64.
      
      Some have expressed interest in making general use of the the
      pci_restore_bars function, so that has been exported to GPL licensed
      modules.
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fec59a71
  12. 03 8月, 2005 1 次提交
    • L
      pci: make bus resource start address override minimum IO address · 688d1918
      Linus Torvalds 提交于
      The reason we have PCIBIOS_MIN_IO and PCIBIOS_MIN_CARDBUS_IO is because
      we want to protect badly documented motherboard PCI resources and thus
      don't want to allocate new resources in low IO/MEM space.
      
      However, if we have already discovered a PCI bridge with a specified
      resource base, that should override that decision.
      
      This change will allow us to move the "careful" region upwards without
      resulting in problems allocating resources in low mappings.  This was
      brought on by us having allocated a bus resource at 0x1000, conflicting
      with a undocumented VAIO Sony PI resources.
      688d1918
  13. 30 7月, 2005 3 次提交
  14. 12 7月, 2005 5 次提交
  15. 08 7月, 2005 1 次提交
  16. 07 7月, 2005 4 次提交
  17. 02 7月, 2005 9 次提交