1. 08 12月, 2006 8 次提交
    • B
      [ARM] 4001/1: S3C24XX: shorten reboot time · 32d2deea
      Ben Dooks 提交于
      Cut down the time between requesting a reboot
      and actually getting the reboot to happen by
      a quarter.
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      32d2deea
    • N
      [ARM] 3983/2: remove unused argument to __bug() · 7174d852
      Nicolas Pitre 提交于
      It appears that include/asm-arm/bug.h requires include/linux/stddef.h
      for the definition of NULL. It seems that stddef.h was always included
      indirectly in most cases, and that issue was properly fixed a while ago.
      
      Then commit 5047f09b incorrectly reverted
      change from commit ff10952a (bad dwmw2)
      and the problem recently resurfaced.
      
      Because the third argument to __bug() is never used anyway, RMK suggested
      getting rid of it entirely instead of readding #include <linux/stddef.h>
      which this patch does.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7174d852
    • D
      [ARM] 3995/1: iop13xx: add iop13xx support · 285f5fa7
      Dan Williams 提交于
      The iop348 processor integrates an Xscale (XSC3 512KB L2 Cache) core with a
      Serial Attached SCSI (SAS) controller, multi-ported DDR2 memory
      controller, 3 Application Direct Memory Access (DMA) controllers, a 133Mhz
      PCI-X interface, a x8 PCI-Express interface, and other peripherals to form
      a system-on-a-chip RAID subsystem engine.
      
      The iop342 processor replaces the SAS controller with a second Xscale core
      for dual core embedded applications.
      
      The iop341 processor is the single core version of iop342.
      
      This patch supports the two Intel customer reference platforms iq81340mc
      for external storage and iq81340sc for direct attach (HBA) development.
      
      The developer's manual is available here:
      ftp://download.intel.com/design/iio/docs/31503701.pdf
      
      Changelog:
      * removed virtual addresses from resource definitions
      * cleaned up some unnecessary #include's
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      285f5fa7
    • P
      [ARM] 3991/1: i.MX/MX1 high resolution time source · 86987d5b
      Pavel Pisa 提交于
      Enhanced resolution for time measurement functions.
      Signed-off-by: NPavel Pisa <pisa@cmp.felk.cvut.cz>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      86987d5b
    • B
      [ARM] 3986/1: H1940: suspend to RAM support · 9073341c
      Ben Dooks 提交于
      Add support to suspend and resume, using the
      H1940's bootloader
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      Signed-off-by: NArnaud Patard <arnaud.patard@rtp-net.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9073341c
    • R
      [ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2) · a47d08e2
      Rod Whitby 提交于
      This patch fixes an error in the numbering of the disk LEDs on the
      Linksys NSLU2. The error crept in because the physical location
      of the LEDs has the Disk 2 LED *above* the Disk 1 LED.
      
      Thanks to Gordon Farquharson for reporting this.
      Signed-off-by: NRod Whitby <rod@whitby.id.au>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      a47d08e2
    • N
      [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter · 838ccbc3
      Nicolas Pitre 提交于
      This is done in a completely lockless fashion. Bits 0 to 31 of the count
      are provided by the hardware while bits 32 to 62 are stored in memory.
      The top bit in memory is used to synchronize with the hardware count
      half-period.  When the top bit of both counters (hardware and in memory)
      differ then the memory is updated with a new value, incrementing it when
      the hardware counter wraps around.  Because a word store in memory is
      atomic then the incremented value will always be in synch with the top
      bit indicating to any potential concurrent reader if the value in memory
      is up to date or not wrt the needed increment.  And any race in updating
      the value in memory is harmless as the same value would be stored more
      than once.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      838ccbc3
    • N
      [ARM] 3611/4: optimize do_div() when divisor is constant · fa4adc61
      Nicolas Pitre 提交于
      On ARM all divisions have to be performed "manually".  For 64-bit
      divisions that may take more than a hundred cycles in many cases.
      
      With 32-bit divisions gcc already use the recyprocal of constant
      divisors to perform a multiplication, but not with 64-bit divisions.
      
      Since the kernel is increasingly relying upon 64-bit divisions it is
      worth optimizing at least those cases where the divisor is a constant.
      This is what this patch does using plain C code that gets optimized away
      at compile time.
      
      For example, despite the amount of added C code, do_div(x, 10000) now
      produces the following assembly code (where x is assigned to r0-r1):
      
      	adr	r4, .L0
      	ldmia	r4, {r4-r5}
      	umull	r2, r3, r4, r0
      	mov	r2, #0
      	umlal	r3, r2, r5, r0
      	umlal	r3, r2, r4, r1
      	mov	r3, #0
      	umlal	r2, r3, r5, r1
      	mov	r0, r2, lsr #11
      	orr	r0, r0, r3, lsl #21
      	mov	r1, r3, lsr #11
      	...
      .L0:
      	.word	948328779
      	.word	879609302
      
      which is the fastest that can be done for any value of x in that case,
      many times faster than the __do_div64 code (except for the small x value
      space for which the result ends up being zero or a single bit).
      
      The fact that this code is generated inline produces a tiny increase in
      .text size, but not significant compared to the needed code around each
      __do_div64 call site this code is replacing.
      
      The algorithm used has been validated on a 16-bit scale for all possible
      values, and then recodified for 64-bit values.  Furthermore I've been
      running it with the final BUG_ON() uncommented for over two months now
      with no problem.
      
      Note that this new code is compiled with gcc versions 4.0 or later.
      Earlier gcc versions proved themselves too problematic and only the
      original code is used with them.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      fa4adc61
  2. 04 12月, 2006 4 次提交
    • A
      [ARM] 3977/1: AT91: remove loop waiting for reset · 208a49f0
      Andrew Victor 提交于
      Removed the infinite loop in our arch_reset().
      
      After calling arch_reset(), the kernel waits for 1 second before
      printing a "reboot failed" message and then waits for ever itself.
      Signed-off-by: NAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      208a49f0
    • A
      [ARM] 3974/1: AT91: Remove USB Device header · 5407864e
      Andrew Victor 提交于
      The USB Device port registers are already defined in
      drivers/usb/gadget/at91_udc.h.  This file can therefore just be removed.
      Signed-off-by: NAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      5407864e
    • A
      [ARM] 3972/1: AT91: Update board.h · c019d49b
      Andrew Victor 提交于
      Replace the 'is_b' variable with 'slot_b' in at91_mmc_data.
      Also add the new 'chipselect' variable for CF/PCMCIA and 'bus_width_16'
      variable for NAND.
      
      This (and previous patches) will unfortunately break the current MMC,
      USB Gadget and PCMCIA drivers.  Updates and fixes for those drivers will
      be submitted to the various subsystem maintainers.
      Signed-off-by: NAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c019d49b
    • L
      [ARM] 3881/4: xscale: clean up cp0/cp1 handling · afe4b25e
      Lennert Buytenhek 提交于
      XScale cores either have a DSP coprocessor (which contains a single
      40 bit accumulator register), or an iWMMXt coprocessor (which contains
      eight 64 bit registers.)
      
      Because of the small amount of state in the DSP coprocessor, access to
      the DSP coprocessor (CP0) is always enabled, and DSP context switching
      is done unconditionally on every task switch.  Access to the iWMMXt
      coprocessor (CP0/CP1) is enabled only when an iWMMXt instruction is
      first issued, and iWMMXt context switching is done lazily.
      
      CONFIG_IWMMXT is supposed to mean 'the cpu we will be running on will
      have iWMMXt support', but boards are supposed to select this config
      symbol by hand, and at least one pxa27x board doesn't get this right,
      so on that board, proc-xscale.S will incorrectly assume that we have a
      DSP coprocessor, enable CP0 on boot, and we will then only save the
      first iWMMXt register (wR0) on context switches, which is Bad.
      
      This patch redefines CONFIG_IWMMXT as 'the cpu we will be running on
      might have iWMMXt support, and we will enable iWMMXt context switching
      if it does.'  This means that with this patch, running a CONFIG_IWMMXT=n
      kernel on an iWMMXt-capable CPU will no longer potentially corrupt iWMMXt
      state over context switches, and running a CONFIG_IWMMXT=y kernel on a
      non-iWMMXt capable CPU will still do DSP context save/restore.
      
      These changes should make iWMMXt work on PXA3xx, and as a side effect,
      enable proper acc0 save/restore on non-iWMMXt capable xsc3 cores such
      as IOP13xx and IXP23xx (which will not have CONFIG_CPU_XSCALE defined),
      as well as setting and using HWCAP_IWMMXT properly.
      Signed-off-by: NLennert Buytenhek <buytenh@wantstofly.org>
      Acked-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      afe4b25e
  3. 02 12月, 2006 2 次提交
  4. 01 12月, 2006 10 次提交
  5. 30 11月, 2006 14 次提交
  6. 29 11月, 2006 2 次提交