1. 27 4月, 2012 1 次提交
  2. 22 4月, 2012 1 次提交
  3. 21 4月, 2012 2 次提交
  4. 17 4月, 2012 1 次提交
  5. 16 4月, 2012 2 次提交
    • T
      sparc32: generic clockevent support · 62f08283
      Tkhai Kirill 提交于
      The kernel uses l14 timers as clockevents. l10 timer is used
      as clocksource if platform master_l10_counter isn't constantly
      zero. The clocksource is continuous, so it's possible to use
      high resolution timers. l10 timer is also used as clockevent
      on UP configurations.
      
      This realization is for sun4m, sun4d, sun4c, microsparc-IIep
      and LEON platforms. The appropriate LEON changes was made by
      Konrad Eisele.
      
      In case of sun4m's oneshot mode, profile irq is zeroed in
      smp4m_percpu_timer_interrupt(). It is maybe
      needless (double, triple etc overflow does nothing).
      
      sun4d is able to have oneshot mode too, but I haven't
      any way to test it. So code of its percpu timer handler
      is made as much equal to the current code as possible.
      
      The patch is tested on sun4m box in SMP mode by me,
      and tested by Konrad on leon in up mode (leon smp
      is broken atm - due to other reasons).
      Signed-off-by: NTkhai Kirill <tkhai@yandex.ru>
      Tested-by: Konrad Eisele <konrad@gaisler.com> [leon up]
      [sam: revised patch to provide generic support for leon]
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62f08283
    • S
      sparc32: rename sparc_irq_config to sparc_config · 472bc4f2
      Sam Ravnborg 提交于
      This struct holds platform specific config and is thus not
      limited to irq stuff.
      Do not let the name confuse us to think this is irq only.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      472bc4f2
  6. 14 4月, 2012 3 次提交
  7. 05 4月, 2012 3 次提交
  8. 02 4月, 2012 1 次提交
    • A
      sparc: pgtable_64: change include order · 2533e824
      Aaro Koskinen 提交于
      Fix the following build breakage in v3.4-rc1:
      
        CC      arch/sparc/kernel/cpu.o
      In file included from /home/aaro/git/linux/arch/sparc/include/asm/pgtable_64.h:15:0,
                       from /home/aaro/git/linux/arch/sparc/include/asm/pgtable.h:4,
                       from arch/sparc/kernel/cpu.c:15:
      include/asm-generic/pgtable-nopud.h:13:16: error: unknown type name 'pgd_t'
      include/asm-generic/pgtable-nopud.h:25:28: error: unknown type name 'pgd_t'
      include/asm-generic/pgtable-nopud.h:26:27: error: unknown type name 'pgd_t'
      include/asm-generic/pgtable-nopud.h:27:31: error: unknown type name 'pgd_t'
      include/asm-generic/pgtable-nopud.h:28:30: error: unknown type name 'pgd_t'
      include/asm-generic/pgtable-nopud.h:38:34: error: unknown type name 'pgd_t'
      In file included from /home/aaro/git/linux/arch/sparc/include/asm/pgtable_64.h:783:0,
                       from /home/aaro/git/linux/arch/sparc/include/asm/pgtable.h:4,
                       from arch/sparc/kernel/cpu.c:15:
      include/asm-generic/pgtable.h: In function 'pgd_none_or_clear_bad':
      include/asm-generic/pgtable.h:258:2: error: implicit declaration of function 'pgd_none' [-Werror=implicit-function-declaration]
      include/asm-generic/pgtable.h:260:2: error: implicit declaration of function 'pgd_bad' [-Werror=implicit-function-declaration]
      include/asm-generic/pgtable.h: In function 'pud_none_or_clear_bad':
      include/asm-generic/pgtable.h:269:6: error: request for member 'pgd' in something not a structure or union
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2533e824
  9. 31 3月, 2012 1 次提交
  10. 30 3月, 2012 2 次提交
  11. 29 3月, 2012 4 次提交
  12. 28 3月, 2012 2 次提交
  13. 26 3月, 2012 1 次提交
  14. 24 3月, 2012 1 次提交
  15. 22 3月, 2012 1 次提交
  16. 21 3月, 2012 1 次提交
    • B
      sparc/PCI: convert devtree and arch-probed bus addresses to resource · a031589b
      Bjorn Helgaas 提交于
      Normal PCI enumeration via PCI config space uses __pci_read_base(), where
      the PCI core applies any bus-to-resource offset.  But sparc sometimes
      reads PCI config space itself, and sometimes it gets addresses from the
      device tree.
      
      In ac1edcc5, I converted sparc to use the PCI core bus-to-resource
      conversion, but I missed these sparc-specific paths.  I don't have a way
      to test it, but I think sparc is broken between that commit and this one.
      
      This patch replaces the sparc-specific pci_resource_adjust() with the
      generic pcibios_bus_to_resource() in the following paths:
      
          pci_cfg_fake_ranges()       (addresses read from PCI config)
          apb_fake_ranges()           (addresses computed based on PCI config)
          of_scan_pci_bridge()        (addresses from OF "ranges" property)
      
      N.B.: Resources of non-P2P bridge devices are set in pci_parse_of_addrs()
      and, as far as I can see, never converted to CPU addresses.  I do not
      understand why these would be treated differently than bridge windows.
      
      CC: "David S. Miller" <davem@davemloft.net>
      CC: sparclinux@vger.kernel.org
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      a031589b
  17. 20 3月, 2012 1 次提交
  18. 16 3月, 2012 1 次提交
    • C
      [PATCH v3] ipc: provide generic compat versions of IPC syscalls · 48b25c43
      Chris Metcalf 提交于
      When using the "compat" APIs, architectures will generally want to
      be able to make direct syscalls to msgsnd(), shmctl(), etc., and
      in the kernel we would want them to be handled directly by
      compat_sys_xxx() functions, as is true for other compat syscalls.
      
      However, for historical reasons, several of the existing compat IPC
      syscalls do not do this.  semctl() expects a pointer to the fourth
      argument, instead of the fourth argument itself.  msgsnd(), msgrcv()
      and shmat() expect arguments in different order.
      
      This change adds an ARCH_WANT_OLD_COMPAT_IPC config option that can be
      set to preserve this behavior for ports that use it (x86, sparc, powerpc,
      s390, and mips).  No actual semantics are changed for those architectures,
      and there is only a minimal amount of code refactoring in ipc/compat.c.
      
      Newer architectures like tile (and perhaps future architectures such
      as arm64 and unicore64) should not select this option, and thus can
      avoid having any IPC-specific code at all in their architecture-specific
      compat layer.  In the same vein, if this option is not selected, IPC_64
      mode is assumed, since that's what the <asm-generic> headers expect.
      
      The workaround code in "tile" for msgsnd() and msgrcv() is removed
      with this change; it also fixes the bug that shmat() and semctl() were
      not being properly handled.
      Reviewed-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      48b25c43
  19. 14 3月, 2012 1 次提交
  20. 05 3月, 2012 2 次提交
  21. 01 3月, 2012 2 次提交
  22. 29 2月, 2012 1 次提交
  23. 27 2月, 2012 1 次提交
    • G
      irq_domain: Centralize definition of irq_dispose_mapping() · d593f25f
      Grant Likely 提交于
      Several architectures define their own empty irq_dispose_mapping().  Since
      the irq_domain code is centralized now, there is little need to do so.  This
      patch removes them and creates a new empty copy when !CONFIG_IRQ_DOMAIN is
      selected.
      
      The patch also means that IRQ_DOMAIN becomes selectable on all architectures.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: sparclinux@vger.kernel.org
      Cc: linux@lists.openrisc.net
      d593f25f
  24. 24 2月, 2012 4 次提交
    • B
      net: Add framework to allow sending packets with customized CRC. · 3bdc0eba
      Ben Greear 提交于
      This is useful for testing RX handling of frames with bad
      CRCs.
      
      Requires driver support to actually put the packet on the
      wire properly.
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3bdc0eba
    • I
      static keys: Introduce 'struct static_key', static_key_true()/false() and... · c5905afb
      Ingo Molnar 提交于
      static keys: Introduce 'struct static_key', static_key_true()/false() and static_key_slow_[inc|dec]()
      
      So here's a boot tested patch on top of Jason's series that does
      all the cleanups I talked about and turns jump labels into a
      more intuitive to use facility. It should also address the
      various misconceptions and confusions that surround jump labels.
      
      Typical usage scenarios:
      
              #include <linux/static_key.h>
      
              struct static_key key = STATIC_KEY_INIT_TRUE;
      
              if (static_key_false(&key))
                      do unlikely code
              else
                      do likely code
      
      Or:
      
              if (static_key_true(&key))
                      do likely code
              else
                      do unlikely code
      
      The static key is modified via:
      
              static_key_slow_inc(&key);
              ...
              static_key_slow_dec(&key);
      
      The 'slow' prefix makes it abundantly clear that this is an
      expensive operation.
      
      I've updated all in-kernel code to use this everywhere. Note
      that I (intentionally) have not pushed through the rename
      blindly through to the lowest levels: the actual jump-label
      patching arch facility should be named like that, so we want to
      decouple jump labels from the static-key facility a bit.
      
      On non-jump-label enabled architectures static keys default to
      likely()/unlikely() branches.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NJason Baron <jbaron@redhat.com>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: a.p.zijlstra@chello.nl
      Cc: mathieu.desnoyers@efficios.com
      Cc: davem@davemloft.net
      Cc: ddaney.cavm@gmail.com
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Link: http://lkml.kernel.org/r/20120222085809.GA26397@elte.huSigned-off-by: NIngo Molnar <mingo@elte.hu>
      c5905afb
    • B
      PCI: collapse pcibios_resource_to_bus · fb127cb9
      Bjorn Helgaas 提交于
      Everybody uses the generic pcibios_resource_to_bus() supplied by the core
      now, so remove the ARCH_HAS_GENERIC_PCI_OFFSETS used during conversion.
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      fb127cb9
    • B
      sparc/PCI: get rid of device resource fixups · ac1edcc5
      Bjorn Helgaas 提交于
      Tell the PCI core about host bridge address translation so it can take
      care of bus-to-resource conversion for us.
      
      N.B. Leon apparently never uses initial BAR values, so it didn't matter
      that we never fixed up the I/O resources from bus address to CPU addresses.
      
      Other sparc uses pci_of_scan_bus(), which sets device resources directly
      to CPU addresses, not bus addresses, so it didn't need pcibios_fixup_bus()
      either.  But by telling the core about the offsets, we can nuke
      pcibios_resource_to_bus().
      
      CC: "David S. Miller" <davem@davemloft.net>
      CC: sparclinux@vger.kernel.org
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      ac1edcc5