1. 20 Jun, 2006 21 commits
    • David S. Miller's avatar
      [SPARC64]: Move over to GENERIC_HARDIRQS. · e18e2a00
      David S. Miller authored
      This is the long overdue conversion of sparc64 over to
      the generic IRQ layer.
      
      The kernel image is slightly larger, but the BSS is ~60K
      smaller due to the reduced size of struct ino_bucket.
      
      A lot of IRQ implementation details, including ino_bucket,
      were moved out of asm-sparc64/irq.h and are now private to
      arch/sparc64/kernel/irq.c, and most of the code in irq.c
      totally disappeared.
      
      One thing that's different at the moment is IRQ distribution,
      we do it at enable_irq() time.  If the cpu mask is ALL then
      we round-robin using a global rotating cpu counter, else
      we pick the first cpu in the mask to support single cpu
      targetting.  This is similar to what powerpc's XICS IRQ
      support code does.
      
      This works fine on my UP SB1000, and the SMP build goes
      fine and runs on that machine, but lots of testing on
      different setups is needed.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e18e2a00
    • David S. Miller's avatar
      [SPARC64]: Virtualize IRQ numbers. · 8047e247
      David S. Miller authored
      Inspired by PowerPC XICS interrupt support code.
      
      All IRQs are virtualized in order to keep NR_IRQS from needing
      to be too large.  Interrupts on sparc64 are arbitrary 11-bit
      values, but we don't need to define NR_IRQS to 2048 if we
      virtualize the IRQs.
      
      As PCI and SBUS controller drivers build device IRQs, we divy
      out virtual IRQ numbers incrementally starting at 1.  Zero is
      a special virtual IRQ used for the timer interrupt.
      
      So device drivers all see virtual IRQs, and all the normal
      interfaces such as request_irq(), enable_irq(), etc. translate
      that into a real IRQ number in order to configure the IRQ.
      
      At this point knowledge of the struct ino_bucket is almost
      entirely contained within arch/sparc64/kernel/irq.c  There are
      a few small bits in the PCI controller drivers that need to
      be swept away before we can remove ino_bucket's definition
      out of asm-sparc64/irq.h and privately into kernel/irq.c
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8047e247
    • David S. Miller's avatar
      [SPARC64]: Kill ino_bucket->pil · 37cdcd9e
      David S. Miller authored
      And reuse that struct member for virt_irq, which will
      be used in future changesets for the implementation of
      mapping between real and virtual IRQ numbers.
      
      This nicely kills off a ton of SBUS and PCI controller
      PIL assignment code which is no longer necessary.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      37cdcd9e
    • David S. Miller's avatar
      [SPARC]: Kill __irq_itoa(). · c6387a48
      David S. Miller authored
      This ugly hack was long overdue to die.
      
      It was a way to print out Sparc interrupts in a more freindly format,
      since IRQ numbers were arbitrary opaque 32-bit integers which vectored
      into PIL levels.  These 32-bit integers were not necessarily in the
      0-->NR_IRQS range, but the PILs they vectored to were.
      
      The idea now is that we will increase NR_IRQS a little bit and use a
      virtual<-->real IRQ number mapping scheme similar to PowerPC.
      
      That makes this IRQ printing hack irrelevant, and furthermore only a
      handful of drivers actually used __irq_itoa() making it even less
      useful.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c6387a48
    • David S. Miller's avatar
      [SPARC64]: bp->pil can never be zero · 6a76267f
      David S. Miller authored
      Only pil0_dummy_bucket had a pil of zero and we just killed that
      off, so we can delete all special case code that used bp->pil==0
      as a way to identify a dummy bucket.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6a76267f
    • David S. Miller's avatar
      [SPARC64]: Send all device interrupts via one PIL. · fd0504c3
      David S. Miller authored
      This is the first in a series of cleanups that will hopefully
      allow a seamless attempt at using the generic IRQ handling
      infrastructure in the Linux kernel.
      
      Define PIL_DEVICE_IRQ and vector all device interrupts through
      there.
      
      Get rid of the ugly pil0_dummy_{bucket,desc}, instead vector
      the timer interrupt directly to a specific handler since the
      timer interrupt is the only event that will be signaled on
      PIL 14.
      
      The irq_worklist is now in the per-cpu trap_block[].
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fd0504c3
    • Bob Breuer's avatar
      [SPARC]: Fix iommu_flush_iotlb end address · 3185d4d2
      Bob Breuer authored
      Fix the calculation of the end address when flushing iotlb entries to
      ram.  This bug has been a cause of esp dma errors, and it affects
      HyperSPARC systems much worse than SuperSPARC systems.
      Signed-off-by: default avatarBob Breuer <breuerr@mc.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3185d4d2
    • Bob Breuer's avatar
      [SPARC]: Mark smp init functions as cpuinit · 92d452f0
      Bob Breuer authored
      Fix the smp related section mismatch warnings by marking the smp init
      functions as cpuinit.
      Signed-off-by: default avatarBob Breuer <breuerr@mc.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      92d452f0
    • Bob Breuer's avatar
      [SPARC]: Add missing rw can_lock macros · 61fc12d8
      Bob Breuer authored
      Fix a link failure by adding the missing can_lock macros for the rw
      locks.
      Signed-off-by: default avatarBob Breuer <breuerr@mc.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      61fc12d8
    • Bob Breuer's avatar
      [SPARC]: Setup cpu_possible_map · 7202fb49
      Bob Breuer authored
      Setup cpu_possible_map so the secondary cpus will get started.
      Signed-off-by: default avatarBob Breuer <breuerr@mc.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7202fb49
    • Bob Breuer's avatar
      [SPARC]: Add topology_init() · a8cbdcea
      Bob Breuer authored
      Fix a crash in SMP mode by adding the missing topology_init.
      Also makes /proc/cpuinfo backwards compatible with 2.4.
      Signed-off-by: default avatarBob Breuer <breuerr@mc.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a8cbdcea
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · 25f42b6a
      Linus Torvalds authored
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (51 commits)
        [MIPS] Make timer interrupt frequency configurable from kconfig.
        [MIPS] Correct HAL2 Kconfig description
        [MIPS] Fix R4K cache macro names
        [MIPS] Add Missing R4K Cache Macros to IP27 & IP32
        [MIPS] Support for the RM9000-based Basler eXcite smart camera platform.
        [MIPS] Support for the R5500-based NEC EMMA2RH Mark-eins board
        [MIPS] Support SNI RM200C SNI in big endian mode and R5000 processors.
        [MIPS] SN: include asm/sn/types.h for nasid_t.
        [MIPS] Random fixes for sb1250
        [MIPS] Fix bcm1480 compile
        [MIPS] Remove support for NEC DDB5476.
        [MIPS] Remove support for NEC DDB5074.
        [MIPS] Cleanup memory managment initialization.
        [MIPS] SN: Declare bridge_pci_ops.
        [MIPS] Remove unused function alloc_pci_controller.
        [MIPS] IP27: Extract pci_ops into separate file.
        [MIPS] IP27: Use symbolic constants instead of magic numbers.
        [MIPS] vr41xx: remove unnecessay items from vr41xx/Kconfig.
        [MIPS] IP27: Cleanup N/M mode configuration.
        [MIPS] IP27: Throw away old unused hacks.
        ...
      25f42b6a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 4c84a39c
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (46 commits)
        IB/uverbs: Don't serialize with ib_uverbs_idr_mutex
        IB/mthca: Make all device methods truly reentrant
        IB/mthca: Fix memory leak on modify_qp error paths
        IB/uverbs: Factor out common idr code
        IB/uverbs: Don't decrement usecnt on error paths
        IB/uverbs: Release lock on error path
        IB/cm: Use address handle helpers
        IB/sa: Add ib_init_ah_from_path()
        IB: Add ib_init_ah_from_wc()
        IB/ucm: Get rid of duplicate P_Key parameter
        IB/srp: Factor out common request reset code
        IB/srp: Support SRP rev. 10 targets
        [SCSI] srp.h: Add I/O Class values
        IB/fmr: Use device's max_map_map_per_fmr attribute in FMR pool.
        IB/mthca: Fill in max_map_per_fmr device attribute
        IB/ipath: Add client reregister event generation
        IB/mthca: Add client reregister event generation
        IB: Move struct port_info from ipath to <rdma/ib_smi.h>
        IPoIB: Handle client reregister events
        IB: Add client reregister event type
        ...
      4c84a39c
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · d0b952a9
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (109 commits)
        [ETHTOOL]: Fix UFO typo
        [SCTP]: Fix persistent slowdown in sctp when a gap ack consumes rx buffer.
        [SCTP]: Send only 1 window update SACK per message.
        [SCTP]: Don't do CRC32C checksum over loopback.
        [SCTP] Reset rtt_in_progress for the chunk when processing its sack.
        [SCTP]: Reject sctp packets with broadcast addresses.
        [SCTP]: Limit association max_retrans setting in setsockopt.
        [PFKEYV2]: Fix inconsistent typing in struct sadb_x_kmprivate.
        [IPV6]: Sum real space for RTAs.
        [IRDA]: Use put_unaligned() in irlmp_do_discovery().
        [BRIDGE]: Add support for NETIF_F_HW_CSUM devices
        [NET]: Add NETIF_F_GEN_CSUM and NETIF_F_ALL_CSUM
        [TG3]: Convert to non-LLTX
        [TG3]: Remove unnecessary tx_lock
        [TCP]: Add tcp_slow_start_after_idle sysctl.
        [BNX2]: Update version and reldate
        [BNX2]: Use CPU native page size
        [BNX2]: Use compressed firmware
        [BNX2]: Add firmware decompression
        [BNX2]: Allow WoL settings on new 5708 chips
        ...
      
      Manual fixup for conflict in drivers/net/tulip/winbond-840.c
      d0b952a9
    • Linus Torvalds's avatar
      Merge branch 'i915fb' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/intelfb-2.6 · d90125bf
      Linus Torvalds authored
      * 'i915fb' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/intelfb-2.6: (25 commits)
        intelfb: fixup clock calculation debugging.
        Removed hard coded EDID buffer size.
        intelfb: use regular modedb table instead of VESA
        intelfb: use firmware EDID for mode database
        Revert "intelfb driver -- use the regular modedb table instead of the VESA"
        intelfb: int option fix
        sync modesetting code with X.org
        intelfb: align with changes from my X driver.
        intelfb driver -- use the regular modedb table instead of the VESA
        Adds support for 256MB aperture on 945 chipsets to the intelfb driver
        intelfb -- uses stride alignment of 64 on the 9xx chipsets.
        intelfb: some cleanups for intelfbhw
        intelfb: fixup pitch calculation like X does
        intelfb: fixup p calculation
        This patch makes a needlessly global struct static.
        intelfb: add i945GM support
        intelfb: fixup whitespace..
        intelfb: add hw cursor support for i9xx
        intelfb: make i915 modeset
        intelfb: add support for i945G
        ...
      d90125bf
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart · bfd189a8
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart:
        [AGPGART] alpha-agp warning fix
        [AGPGART] uninorth-agp warning fixes
        [AGPGART] Remove pointless initialisation in intel-agp
        [AGPGART] Remove pointless code from agp_generic_create_gatt_table()
      bfd189a8
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq · bbf70132
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
        [CPUFREQ] sets nforce2 minimum PLL divider to 2.
        [CPUFREQ] Make powernow-k7 work on SMP kernels.
        [CPUFREQ] cpufreq core {d,}printk adjustments
        [CPUFREQ] dprintk adjustments to cpufreq-speedstep-centrino
        [CPUFREQ] dprintk adjustments to cpufreq-nforce2
        [CPUFREQ] Prepare powernow-k8 for future CPUs.
        [CPUFREQ] Make acpi-cpufreq 'sticky'.
        [CPUFREQ] Remove strange No-op from longrun.c
        [CPUFREQ] Remove more freq_table reinitialisations.
        [CPUFREQ] Fix another redundant initialisation in freq_table
        [CPUFREQ] Remove duplicate assignment in freq_table
        [CPUFREQ] CodingStyle nits in cpufreq_stats.c
        [CPUFREQ] Remove duplicate assignment from cpufreq-nforce2
        [CPUFREQ] Remove pointless reinitialisations in acpi-cpufreq
        [CPUFREQ] Remove pointless reinitialisation from powernow-k8
        [CPUFREQ] Remove redundant initialisation from longhaul.
        [CPUFREQ] Clean up longhaul's speed pretty-printer
        [CPUFREQ] Disambiguate loop indexes in powernow-k7
        [CPUFREQ] Typo in powernow-k8
      bbf70132
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 2090af71
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (166 commits)
        [PATCH] net: au1000_eth: PHY framework conversion
        [PATCH] 3c5zz ethernet: fix section warnings
        [PATCH] smc ethernet: fix section mismatch warnings
        [PATCH] hp ethernet: fix section mismatches
        [PATCH] Section mismatch in drivers/net/ne.o during modpost
        [PATCH] e1000: prevent statistics from getting garbled during reset
        [PATCH] smc911x Kconfig fix
        [PATCH] forcedeth: new device ids
        [PATCH] forcedeth config: version
        [PATCH] forcedeth config: module parameters
        [PATCH] forcedeth config: diagnostics
        [PATCH] forcedeth config: move functions
        [PATCH] forcedeth config: statistics
        [PATCH] forcedeth config: csum
        [PATCH] forcedeth config: wol
        [PATCH] forcedeth config: phy
        [PATCH] forcedeth config: flow control
        [PATCH] forcedeth config: ring sizes
        [PATCH] forcedeth config: tso cleanup
        [DOC] Update bonding documentation with sysfs info
        ...
      2090af71
    • Linus Torvalds's avatar
      Add support for suspending and resuming the whole console subsystem · 557240b4
      Linus Torvalds authored
      Trying to suspend/resume with console messages flying all around is
      doomed to failure, when the devices that the messages are trying to
      go to are being shut down.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      557240b4
    • Linus Torvalds's avatar
      Make sure to re-enable SCI after an ACPI suspend · 56035091
      Linus Torvalds authored
      According to the ACPI spec, it should be enabled on return from suspend,
      but bugs happen.  Apparently especially on the Apple Intel Macs.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      56035091
    • Linus Torvalds's avatar
      Improve SATA core suspend/resume · 1cca0ebb
      Linus Torvalds authored
      Doing a full ata_busy_sleep() seems to get suspend and resume working
      fine on the Apple Mac Mini, at least.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1cca0ebb
  2. 19 Jun, 2006 19 commits