1. 17 11月, 2011 5 次提交
    • B
      powerpc: Fix atomic_xxx_return barrier semantics · b97021f8
      Benjamin Herrenschmidt 提交于
      The Documentation/memory-barriers.txt document requires that atomic
      operations that return a value act as a memory barrier both before
      and after the actual atomic operation.
      
      Our current implementation doesn't guarantee this. More specifically,
      while a load following the isync can not be issued before stwcx. has
      completed, that completion doesn't architecturally means that the
      result of stwcx. is visible to other processors (or any previous stores
      for that matter) (typically, the other processors L1 caches can still
      hold the old value).
      
      This has caused an actual crash in RCU torture testing on Power 7
      
      This fixes it by changing those atomic ops to use new macros instead
      of RELEASE/ACQUIRE barriers, called ATOMIC_ENTRY and ATMOIC_EXIT barriers,
      which are then defined respectively to lwsync and sync.
      
      I haven't had a chance to measure the performance impact (or rather
      what I measured with kernel compiles is in the noise, I yet have to
      find a more precise benchmark)
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      b97021f8
    • K
      powerpc: Remove buggy 9-year-old test for binutils < 2.12.1 · a9a8f77a
      Kyle Moffett 提交于
      Recent binutils refuses to assemble AltiVec opcodes when in e500/SPE
      mode, as some of those opcodes alias the "SPE" instructions.  This
      triggers an ancient binutils version check even when building a kernel
      with CONFIG_ALTIVEC disabled.
      
      In theory, the check could be conditionalized on CONFIG_ALTIVEC, but in
      practice it has long outlived its utility.  It is virtually impossible
      to find binutils older than 2.12.1 (released 2002) in the wild anymore.
      Even ancient RedHat Enterprise Linux 4 has binutils-2.14.
      
      To fix the kernel build when done natively on e500 systems with this new
      binutils, the test is simply removed.
      Signed-off-by: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      a9a8f77a
    • K
      powerpc/book3e-64: Fix debug support for userspace · 187b9f2a
      Kumar Gala 提交于
      With the introduction of CONFIG_PPC_ADV_DEBUG_REGS user space debug is
      broken on Book-E 64-bit parts that support delayed debug events.  When
      switch_booke_debug_regs() sets DBCR0 we'll start getting debug events as
      MSR_DE is also set and we aren't able to handle debug events from kernel
      space.
      
      We can remove the hack that always enables MSR_DE and loads up DBCR0 and
      just utilize switch_booke_debug_regs() to get user space debug working
      again.
      
      We still need to handle critical/debug exception stacks & proper
      save/restore of state for those exception levles to support debug events
      from kernel space like we have on 32-bit.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      187b9f2a
    • K
      powerpc: Remove extraneous CONFIG_PPC_ADV_DEBUG_REGS define · b95bc219
      Kumar Gala 提交于
      All of DebugException is already protected by CONFIG_PPC_ADV_DEBUG_REGS
      there is no need to have another such ifdef inside the function.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b95bc219
    • K
      powerpc: Revert show_regs() define for readability · ba28c9aa
      Kumar Gala 提交于
      We had an existing ifdef for 4xx & BOOKE processors that got changed to
      CONFIG_PPC_ADV_DEBUG_REGS.  The define has nothing to do with
      CONFIG_PPC_ADV_DEBUG_REGS.  The define really should be:
      
       #if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
      
      and not
      
       #ifdef CONFIG_PPC_ADV_DEBUG_REGS
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ba28c9aa
  2. 16 11月, 2011 18 次提交
  3. 15 11月, 2011 1 次提交
    • L
      fsl-rio: fix compile error · e0ce42e1
      Liu Gang 提交于
      The "#include <linux/module.h>" was replaced by "#include <linux/export.h>"
      in the patch "powerpc: various straight conversions from module.h --> export.h".
      This will cause the following compile problem:
      arch/powerpc/sysdev/fsl_rio.c: In function 'fsl_rio_mcheck_exception':
      arch/powerpc/sysdev/fsl_rio.c:296: error: implicit declaration of function 'search_exception_tables'.
      
      The file fsl_rio.c needs the declaration of function "search_exception_tables"
      in the header file "linux/module.h".
      Signed-off-by: NLiu Gang <Gang.Liu@freescale.com>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      e0ce42e1
  4. 14 11月, 2011 7 次提交
  5. 13 11月, 2011 2 次提交
  6. 12 11月, 2011 7 次提交
    • L
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 5b34b089
      Linus Torvalds 提交于
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm/imx: fix imx6q mmc error when mounting rootfs
        arm/imx: fix AUTO_ZRELADDR selection
        arm/imx: fix the references to ARCH_MX3
        ARM: mx51/53: set pwm clock parent to ipg_perclk
        arm/tegra: enable headphone detection gpio on seaboard
        arm/dt: Fix ventana SDHCI power-gpios
        arm/tegra: Don't create duplicate gpio and pinmux devices
        ARM: at91: Fix USBA gadget registration
        atmel/spi: fix missing probe
        at91/yl-9200: Fix section mismatch
        at91: vmalloc fix missing AT91_VIRT_BASE define
        ARM: at91: usart: drop static map regs for dbgu
        ARM: picoxcell: add extra temp register to addruart
        ARM: msm: fix compilation flags for MSM_SCM
        arm/mxs: fix mmc device adding for mach-mx28evk
        ARM: mxc: Remove test_for_ltirq
        ARM:i.MX: fix build error in clock-mx51-mx53.c
        ARM:i.MX: fix build error in tzic/avic.c
        ARM: mxc: fix local timer interrupt handling
        msm: boards: Fix fallout from removal of machine_desc in fixup
      5b34b089
    • A
      [CPUFREQ] db8500: fix build error due to undeclared i variable · eb0b38a5
      Axel Lin 提交于
      The variable i is removed by commit ded84337
      "[CPUFREQ] db8500: remove unneeded for loop iteration over freq_table",
      but current code to print available frequencies still uses the i variable.
      Thus add the i variable back to fix below buld error:
      
        CC      drivers/cpufreq/db8500-cpufreq.o
      drivers/cpufreq/db8500-cpufreq.c: In function 'db8500_cpufreq_init':
      drivers/cpufreq/db8500-cpufreq.c:123: error: 'i' undeclared (first use in this function)
      drivers/cpufreq/db8500-cpufreq.c:123: error: (Each undeclared identifier is reported only once
      drivers/cpufreq/db8500-cpufreq.c:123: error: for each function it appears in.)
      make[2]: *** [drivers/cpufreq/db8500-cpufreq.o] Error 1
      make[1]: *** [drivers/cpufreq] Error 2
      make: *** [drivers] Error 2
      
      This patch also fixes using uninitialized i variable as array index.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      eb0b38a5
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 8f042aa7
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (29 commits)
        m68k/mac: Remove mac_irq_{en,dis}able() wrappers
        m68k/irq: Remove obsolete support for user vector interrupt fixups
        m68k/irq: Remove obsolete m68k irq framework
        m68k/q40: Convert Q40/Q60 to genirq
        m68k/sun3: Convert Sun3/3x to genirq
        m68k/sun3: Use the kstat_irqs_cpu() wrapper
        m68k/apollo: Convert Apollo to genirq
        m68k/vme: Convert VME to genirq
        m68k/hp300: Convert HP9000/300 and HP9000/400 to genirq
        m68k/mac: Optimize interrupts using chain handlers
        m68k/mac: Convert Mac to genirq
        m68k/amiga: Optimize interrupts using chain handlers
        m68k/amiga: Convert Amiga to genirq
        m68k/amiga: Refactor amiints.c
        m68k/atari: Remove code and comments about different irq types
        m68k/atari: Convert Atari to genirq
        m68k/irq: Add genirq support
        m68k/irq: Remove obsolete IRQ_FLG_* users
        m68k/irq: Rename {,__}m68k_handle_int()
        m68k/irq: Add m68k_setup_irq_controller()
        ...
      8f042aa7
    • L
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · e6f1227e
      Linus Torvalds 提交于
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] v4l2-ctrl: Send change events to all fh for auto cluster slave controls
        [media] v4l2-event: Don't set sev->fh to NULL on unsubscribe
        [media] v4l2-event: Remove pending events from fh event queue when unsubscribing
        [media] v4l2-event: Deny subscribing with a type of V4L2_EVENT_ALL
        [media] MAINTAINERS: add a maintainer for s5p-mfc driver
        [media] v4l: s5p-mfc: fix reported capabilities
        [media] media: vb2: reset queued list on REQBUFS(0) call
        [media] media: vb2: set buffer length correctly for all buffer types
        [media] media: vb2: add a check for uninitialized buffer
        [media] mxl111sf: fix build warning
        [media] mxl111sf: remove pointless if condition in mxl111sf_config_spi
        [media] mxl111sf: check for errors after mxl111sf_write_reg in mxl111sf_idac_config
        [media] mxl111sf: fix return value of mxl111sf_idac_config
        [media] uvcvideo: GET_RES should only be checked for BITMAP type menu controls
      e6f1227e
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 3455229f
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/kvm: Fix build failure with HV KVM and CBE
        powerpc/ps3: Fix lv1_gpu_attribute hcall
        powerpc/ps3: Fix PS3 repository build warnings
        powerpc/ps3: irq: Remove IRQF_DISABLED
        powerpc/irq: Remove IRQF_DISABLED
        powerpc/numa: NUMA topology support for PowerNV
        powerpc: Add System RAM to /proc/iomem
        powerpc: Add KVM as module to defconfigs
        powerpc/kvm: Fix build with older toolchains
        powerpc, tqm5200: update tqm5200_defconfig to fit for charon board.
        powerpc/5200: add support for charon board
      3455229f
    • L
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 732783fe
      Linus Torvalds 提交于
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: Fix missing system calls check on mips.
      732783fe
    • W
      bma023: Add SFI translation for this device · 9f80d8b6
      William Douglas 提交于
      This needed the sfi IRQ 0xFF fix to go in first. It simply plumbs in the
      bma023 driver with the firmware naming of it.
      Signed-off-by: NWilliam Douglas <william.douglas@intel.com>
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9f80d8b6