1. 13 1月, 2011 1 次提交
  2. 11 1月, 2011 5 次提交
  3. 05 1月, 2011 1 次提交
  4. 24 12月, 2010 1 次提交
    • P
      sh: Tidy up SH-4A unaligned load support. · 1dee92bb
      Paul Mundt 提交于
      The current implementation was rather tied to the packed_struct.h
      definitions, which immediately began to clash when the packed_struct.h
      types changed and drivers began to include packed_struct.h directly.
      
      In order to support this sort of use it's necessary to get out of the way
      with regards to namespace collisions, and at the same time we can also
      kill off some duplicate code now that the unaligned headers are a bit
      more broken out.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      1dee92bb
  5. 17 12月, 2010 1 次提交
  6. 14 12月, 2010 1 次提交
  7. 01 12月, 2010 1 次提交
    • P
      sh: Assume new page cache pages have dirty dcache lines. · 55661fc1
      Paul Mundt 提交于
      This follows the ARM change c0177800
      ("ARM: 6379/1: Assume new page cache pages have dirty D-cache") for the
      same rationale:
      
          There are places in Linux where writes to newly allocated page
          cache pages happen without a subsequent call to flush_dcache_page()
          (several PIO drivers including USB HCD). This patch changes the
          meaning of PG_arch_1 to be PG_dcache_clean and always flush the
          D-cache for a newly mapped page in update_mmu_cache().
      
      This addresses issues seen with executing binaries from MMC, in
      addition to some of the other HCDs that don't explicitly do cache
      management for their pipe-in buffers.
      Requested-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      55661fc1
  8. 26 11月, 2010 1 次提交
  9. 18 11月, 2010 1 次提交
    • G
      sh: Use GCC __builtin_prefetch() to implement prefetch(). · d53e4307
      Giuseppe CAVALLARO 提交于
      GCC's __builtin_prefetch() was introduced a long time ago, all
      supported GCC versions have it. So this patch is to use it for
      implementing the prefetch on SH2A and SH4.
      
      The current  prefetch implementation is almost equivalent with
      __builtin_prefetch.
      The third parameter in the __builtin_prefetch is the locality
      that it's not supported on SH architectures.  It has been set
      to three and it should be verified if it's suitable for SH2A
      as well. I didn't test on this architecture.
      
      The builtin usage should be more efficient that an __asm__
      because less barriers, and because the compiler doesn't see the
      inst as a "black box" allowing better code generation.
      
      This has been already done on other architectures (see the commit:
      0453fb3c).
      
      Many thanks to Christian Bruel <christain.bruel@st.com> for his
      support on evaluate the impact of the gcc built-in on SH4 arch.
      
      No regressions found while testing with LMbench on STLinux targets.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NStuart Menefy <stuart.menefy@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d53e4307
  10. 04 11月, 2010 3 次提交
  11. 01 11月, 2010 1 次提交
    • P
      sh: machvec IO death. · 37b7a978
      Paul Mundt 提交于
      This takes a bit of a sledgehammer to the machvec I/O routines. The
      iomem case requires no special casing and so can just be dropped
      outright. This only leaves the ioport casing for PCI and SuperIO
      mangling. With the SuperIO case going through the standard ioport
      mapping, it's possible to replace everything with generic routines.
      
      With this done the standard I/O routines are tidied up and NO_IOPORT
      now gets default-enabled for the vast majority of boards.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      37b7a978
  12. 27 10月, 2010 2 次提交
  13. 26 10月, 2010 1 次提交
    • P
      sh: Expose physical addressing mode through cpuinfo. · 2f98492c
      Paul Mundt 提交于
      CPUs can be in either the legacy 29-bit or 32-bit physical addressing
      modes. This follows the x86 approach of tracking the phys bits in cpuinfo
      and exposing it to userspace through procfs.
      
      This change was requested to permit kexec-tools to detect the physical
      addressing mode in order to determine the appropriate address mangling.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      2f98492c
  14. 19 10月, 2010 1 次提交
    • P
      irq_work: Add generic hardirq context callbacks · e360adbe
      Peter Zijlstra 提交于
      Provide a mechanism that allows running code in IRQ context. It is
      most useful for NMI code that needs to interact with the rest of the
      system -- like wakeup a task to drain buffers.
      
      Perf currently has such a mechanism, so extract that and provide it as
      a generic feature, independent of perf so that others may also
      benefit.
      
      The IRQ context callback is generated through self-IPIs where
      possible, or on architectures like powerpc the decrementer (the
      built-in timer facility) is set to generate an interrupt immediately.
      
      Architectures that don't have anything like this get to do with a
      callback from the timer tick. These architectures can call
      irq_work_run() at the tail of any IRQ handlers that might enqueue such
      work (like the perf IRQ handler) to avoid undue latencies in
      processing the work.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NKyle McMartin <kyle@mcmartin.ca>
      Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      [ various fixes ]
      Signed-off-by: NHuang Ying <ying.huang@intel.com>
      LKML-Reference: <1287036094.7768.291.camel@yhuang-dev>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e360adbe
  15. 15 10月, 2010 2 次提交
  16. 13 10月, 2010 1 次提交
  17. 07 10月, 2010 2 次提交
    • D
      Fix IRQ flag handling naming · df9ee292
      David Howells 提交于
      Fix the IRQ flag handling naming.  In linux/irqflags.h under one configuration,
      it maps:
      
      	local_irq_enable() -> raw_local_irq_enable()
      	local_irq_disable() -> raw_local_irq_disable()
      	local_irq_save() -> raw_local_irq_save()
      	...
      
      and under the other configuration, it maps:
      
      	raw_local_irq_enable() -> local_irq_enable()
      	raw_local_irq_disable() -> local_irq_disable()
      	raw_local_irq_save() -> local_irq_save()
      	...
      
      This is quite confusing.  There should be one set of names expected of the
      arch, and this should be wrapped to give another set of names that are expected
      by users of this facility.
      
      Change this to have the arch provide:
      
      	flags = arch_local_save_flags()
      	flags = arch_local_irq_save()
      	arch_local_irq_restore(flags)
      	arch_local_irq_disable()
      	arch_local_irq_enable()
      	arch_irqs_disabled_flags(flags)
      	arch_irqs_disabled()
      	arch_safe_halt()
      
      Then linux/irqflags.h wraps these to provide:
      
      	raw_local_save_flags(flags)
      	raw_local_irq_save(flags)
      	raw_local_irq_restore(flags)
      	raw_local_irq_disable()
      	raw_local_irq_enable()
      	raw_irqs_disabled_flags(flags)
      	raw_irqs_disabled()
      	raw_safe_halt()
      
      with type checking on the flags 'arguments', and then wraps those to provide:
      
      	local_save_flags(flags)
      	local_irq_save(flags)
      	local_irq_restore(flags)
      	local_irq_disable()
      	local_irq_enable()
      	irqs_disabled_flags(flags)
      	irqs_disabled()
      	safe_halt()
      
      with tracing included if enabled.
      
      The arch functions can now all be inline functions rather than some of them
      having to be macros.
      
      Signed-off-by: David Howells <dhowells@redhat.com> [X86, FRV, MN10300]
      Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> [Tile]
      Signed-off-by: Michal Simek <monstr@monstr.eu> [Microblaze]
      Tested-by: Catalin Marinas <catalin.marinas@arm.com> [ARM]
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [AVR]
      Acked-by: Tony Luck <tony.luck@intel.com> [IA-64]
      Acked-by: Hirokazu Takata <takata@linux-m32r.org> [M32R]
      Acked-by: Greg Ungerer <gerg@uclinux.org> [M68K/M68KNOMMU]
      Acked-by: Ralf Baechle <ralf@linux-mips.org> [MIPS]
      Acked-by: Kyle McMartin <kyle@mcmartin.ca> [PA-RISC]
      Acked-by: Paul Mackerras <paulus@samba.org> [PowerPC]
      Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> [S390]
      Acked-by: Chen Liqin <liqin.chen@sunplusct.com> [Score]
      Acked-by: Matt Fleming <matt@console-pimps.org> [SH]
      Acked-by: David S. Miller <davem@davemloft.net> [Sparc]
      Acked-by: Chris Zankel <chris@zankel.net> [Xtensa]
      Reviewed-by: Richard Henderson <rth@twiddle.net> [Alpha]
      Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp> [H8300]
      Cc: starvik@axis.com [CRIS]
      Cc: jesper.nilsson@axis.com [CRIS]
      Cc: linux-cris-kernel@axis.com
      df9ee292
    • D
      SH: Add missing consts to sys_execve() declaration · d8b5fc01
      David Howells 提交于
      Add missing consts to the sys_execve() declaration which result in the
      following error:
      
      arch/sh/kernel/process_32.c:303: error: conflicting types for 'sys_execve'
      /warthog/nfs/linux-2.6-fscache/arch/sh/include/asm/syscalls_32.h:24: error: previous declaration of 'sys_execve' was here
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      d8b5fc01
  18. 04 10月, 2010 1 次提交
  19. 03 10月, 2010 1 次提交
  20. 24 9月, 2010 1 次提交
    • P
      sh: provide generic arch_debugfs_dir. · 3f224f4e
      Paul Mundt 提交于
      While sh previously had its own debugfs root, there now exists a
      common arch_debugfs_dir prototype, so we switch everything over to
      that.  Presumably once more architectures start making use of this
      we'll be able to just kill off the stub kdebugfs wrapper.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      3f224f4e
  21. 20 9月, 2010 1 次提交
    • P
      sh: pci: Use a generic raw spinlock for PCI config access locking. · 39a90865
      Paul Mundt 提交于
      This copies the pci_config_lock idea from x86 over, allowing us to kill
      off a couple of existing private locks. At the same time, these need to
      be converted to raw spinlocks for -rt kernels, so we make that change at
      the same time. This should make it easier for future parts to get the
      locking right instead of inevitable ending up with lock type mismatches.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      39a90865
  22. 14 9月, 2010 2 次提交
  23. 16 8月, 2010 1 次提交
  24. 15 8月, 2010 1 次提交
  25. 14 8月, 2010 1 次提交
  26. 11 8月, 2010 4 次提交
    • F
      dma-mapping: remove dma_is_consistent API · 3b9c6c11
      FUJITA Tomonori 提交于
      Architectures implement dma_is_consistent() in different ways (some
      misinterpret the definition of API in DMA-API.txt).  So it hasn't been so
      useful for drivers.  We have only one user of the API in tree.  Unlikely
      out-of-tree drivers use the API.
      
      Even if we fix dma_is_consistent() in some architectures, it doesn't look
      useful at all.  It was invented long ago for some old systems that can't
      allocate coherent memory at all.  It's better to export only APIs that are
      definitely necessary for drivers.
      
      Let's remove this API.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Reviewed-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3b9c6c11
    • F
      dma-mapping: unify dma_get_cache_alignment implementations · 4565f017
      FUJITA Tomonori 提交于
      dma_get_cache_alignment returns the minimum DMA alignment.  Architectures
      defines it as ARCH_DMA_MINALIGN (formally ARCH_KMALLOC_MINALIGN).  So we
      can unify dma_get_cache_alignment implementations.
      
      Note that some architectures implement dma_get_cache_alignment wrongly.
      dma_get_cache_alignment() should return the minimum DMA alignment.  So
      fully-coherent architectures should return 1.  This patch also fixes this
      issue.
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4565f017
    • F
      dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN · a6eb9fe1
      FUJITA Tomonori 提交于
      Now each architecture has the own dma_get_cache_alignment implementation.
      
      dma_get_cache_alignment returns the minimum DMA alignment.  Architectures
      define it as ARCH_KMALLOC_MINALIGN (it's used to make sure that malloc'ed
      buffer is DMA-safe; the buffer doesn't share a cache with the others).  So
      we can unify dma_get_cache_alignment implementations.
      
      This patch:
      
      dma_get_cache_alignment() needs to know if an architecture defines
      ARCH_KMALLOC_MINALIGN or not (needs to know if architecture has DMA
      alignment restriction).  However, slab.h define ARCH_KMALLOC_MINALIGN if
      architectures doesn't define it.
      
      Let's rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN.
      ARCH_KMALLOC_MINALIGN is used only in the internals of slab/slob/slub
      (except for crypto).
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a6eb9fe1
    • H
      tty: Add EXTPROC support for LINEMODE · 26df6d13
      hyc@symas.com 提交于
      This patch is against the 2.6.34 source.
      
      Paraphrased from the 1989 BSD patch by David Borman @ cray.com:
      
           These are the changes needed for the kernel to support
           LINEMODE in the server.
      
           There is a new bit in the termios local flag word, EXTPROC.
           When this bit is set, several aspects of the terminal driver
           are disabled.  Input line editing, character echo, and mapping
           of signals are all disabled.  This allows the telnetd to turn
           off these functions when in linemode, but still keep track of
           what state the user wants the terminal to be in.
      
           New ioctl:
               TIOCSIG         Generate a signal to processes in the
                               current process group of the pty.
      
           There is a new mode for packet driver, the TIOCPKT_IOCTL bit.
           When packet mode is turned on in the pty, and the EXTPROC bit
           is set, then whenever the state of the pty is changed, the
           next read on the master side of the pty will have the TIOCPKT_IOCTL
           bit set.  This allows the process on the server side of the pty
           to know when the state of the terminal has changed; it can then
           issue the appropriate ioctl to retrieve the new state.
      
      Since the original BSD patches accompanied the source code for telnet
      I've left that reference here, but obviously the feature is useful for
      any remote terminal protocol, including ssh.
      
      The corresponding feature has existed in the BSD tty driver since 1989.
      For historical reference, a good copy of the relevant files can be found
      here:
      
      http://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev=17741Signed-off-by: NHoward Chu <hyc@symas.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      26df6d13
  27. 08 8月, 2010 1 次提交