07 Jan, 2014

1 commit


31 Dec, 2013

1 commit

  • Pull powerpc fixes from Ben Herrenschmidt:
    "A bit more endian problems found during testing of 3.13 and a few
    other simple fixes and regressions fixes"

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc: Fix alignment of secondary cpu spin vars
    powerpc: Align p_end
    powernv/eeh: Add buffer for P7IOC hub error data
    powernv/eeh: Fix possible buffer overrun in ioda_eeh_phb_diag()
    powerpc: Make 64-bit non-VMX __copy_tofrom_user bi-endian
    powerpc: Make unaligned accesses endian-safe for powerpc
    powerpc: Fix bad stack check in exception entry
    powerpc/512x: dts: disable MPC5125 usb module
    powerpc/512x: dts: remove misplaced IRQ spec from 'soc' node (5125)

    Linus Torvalds
     

30 Dec, 2013

10 commits

  • Anatolij writes:

    Please pull two DTS fixes for MPC5125 tower board. Without
    them the v3.13-rcX kernels do not boot.

    Benjamin Herrenschmidt
     
  • Commit 5c0484e25ec0 ('powerpc: Endian safe trampoline') resulted in
    losing proper alignment of the spinlock variables used when booting
    secondary CPUs, causing some quite odd issues with failing to boot on
    PA Semi-based systems.

    This showed itself on ppc64_defconfig, but not on pasemi_defconfig,
    so it had gone unnoticed when I initially tested the LE patch set.

    Fix is to add explicit alignment instead of relying on good luck. :)

    [ It appears that there is a different issue with PA Semi systems
    however this fix is definitely correct so applying anyway -- BenH
    ]

    Fixes: 5c0484e25ec0 ('powerpc: Endian safe trampoline')
    Reported-by: Christian Zigotzky
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=67811
    Signed-off-by: Olof Johansson
    Signed-off-by: Benjamin Herrenschmidt

    Olof Johansson
     
  • p_end is an 8 byte value embedded in the text section. This means it
    is only 4 byte aligned when it should be 8 byte aligned. Fix this
    by adding an explicit alignment.

    This fixes an issue where POWER7 little endian builds with
    CONFIG_RELOCATABLE=y fail to boot.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Benjamin Herrenschmidt

    Anton Blanchard
     
  • Prevent ioda_eeh_hub_diag() from clobbering itself when called by supplying
    a per-PHB buffer for P7IOC hub diagnostic data. Take care to inform OPAL of
    the correct size for the buffer.

    [Small style change to the use of sizeof -- BenH]

    Signed-off-by: Brian W Hart
    Acked-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Brian W Hart
     
  • PHB diagnostic buffer may be smaller than PAGE_SIZE, especially when
    PAGE_SIZE > 4KB.

    Signed-off-by: Brian W Hart
    Acked-by: Gavin Shan
    Signed-off-by: Benjamin Herrenschmidt

    Brian W Hart
     
  • The powerpc 64-bit __copy_tofrom_user() function uses shifts to handle
    unaligned invocations. However, these shifts were designed for
    big-endian systems: On little-endian systems, they must shift in the
    opposite direction.

    This commit relies on the C preprocessor to insert the correct shifts
    into the assembly code.

    [ This is a rare but nasty LE issue. Most of the time we use the POWER7
    optimised __copy_tofrom_user_power7 loop, but when it hits an exception
    we fall back to the base __copy_tofrom_user loop. - Anton ]

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Anton Blanchard
    Signed-off-by: Benjamin Herrenschmidt

    Paul E. McKenney
     
  • The generic put_unaligned/get_unaligned macros were made endian-safe by
    calling the appropriate endian dependent macros based on the endian type
    of the powerpc processor.

    Signed-off-by: Rajesh B Prathipati
    Signed-off-by: Anton Blanchard
    Signed-off-by: Benjamin Herrenschmidt

    Rajesh B Prathipati
     
  • In EXCEPTION_PROLOG_COMMON() we check to see if the stack pointer (r1)
    is valid when coming from the kernel. If it's not valid, we die but
    with a nice oops message.

    Currently we allocate a stack frame (subtract INT_FRAME_SIZE) before we
    check to see if the stack pointer is negative. Unfortunately, this
    won't detect a bad stack where r1 is less than INT_FRAME_SIZE.

    This patch fixes the check to compare the modified r1 with
    -INT_FRAME_SIZE. With this, bad kernel stack pointers (including NULL
    pointers) are correctly detected again.

    Kudos to Paulus for finding this.

    Signed-off-by: Michael Neuling
    cc: stable@vger.kernel.org
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Another smallish batch of fixes, it's been quiet due to the holidays.
    Nothing controversial here, a handful of things across the board"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: pxa: fix USB gadget driver compilation regression
    ARM: OMAP2+: Fix LCD panel backlight regression for LDP legacy booting
    ARM: OMAP2+: hwmod_data: fix missing OMAP_INTC_START in irq data
    ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL
    ARM: shmobile: r8a7790: fix shdi resource sizes
    ARM: shmobile: bockw: fixup DMA mask
    ARM: shmobile: armadillo: Add PWM backlight power supply

    Linus Torvalds
     
  • Pull x86 fixes from Peter Anvin:
    "There is a small EFI fix and a big power regression fix in this batch.

    My queue also had a fix for downing a CPU when there are insufficient
    number of IRQ vectors available, but I'm holding that one for now due
    to recent bug reports"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/efi: Don't select EFI from certain special ACPI drivers
    x86 idle: Repair large-server 50-watt idle-power regression

    Linus Torvalds
     

29 Dec, 2013

3 commits

  • …rnel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    Fix a regression for wrong interrupt numbers for some devices after
    the sparse IRQ conversion, fix DRA7 console output for earlyprintk,
    and fix the LDP LCD backlight when DSS is built into the kernel and
    not as a loadable module.

    * tag 'omap-for-v3.13/intc-ldp-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: Fix LCD panel backlight regression for LDP legacy booting
    ARM: OMAP2+: hwmod_data: fix missing OMAP_INTC_START in irq data
    ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL
    + v3.13-rc5

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …l/git/horms/renesas into fixes

    From Simon Horman:
    Second Round of Renesas ARM based SoC Fixes for v3.13

    * r8a7790 (R-Car H2) based Lager board
    - Correct SHDI resource sizes
    This bug has been present since sdhi resources were added to the r8a7790 by
    8c9b1aa41853272a ("ARM: shmobile: r8a7790: add MMCIF and SDHI DT
    templates") in v3.11-rc2.

    * r8a7778 (R-Car M1) based Bock-W board
    - Correct DMA mask
    This resolves a regression introduced by 4dcfa60071b3d23f
    ("ARM: DMA-API: better handing of DMA masks for coherent allocations")
    in v3.12-rc1.

    * r8a7740 (R-Mobile A1) based Armadillo board
    - Add PWM backlight power supply
    This resolves a regression introduced by 22ceeee16eb8f0d0
    ("pwm-backlight: Add power supply support") in v3.12.

    * tag 'renesas-fixes2-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    ARM: shmobile: r8a7790: fix shdi resource sizes
    ARM: shmobile: bockw: fixup DMA mask
    ARM: shmobile: armadillo: Add PWM backlight power supply

    Signed-off-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • After commit 88f718e3fa4d67f3a8dbe79a2f97d722323e4051
    "ARM: pxa: delete the custom GPIO header" a compilation
    error was introduced in the PXA25x gadget driver.
    An attempt to fix the problem was made in
    commit b144e4ab1ef130e8bf30bcd3e529b7f35112c503
    "usb: gadget: fix pxa25x compilation problems"
    by explictly stating the driver needs the
    header, which solved the compilation for a few boards,
    such as the pxa255-idp and its defconfig.

    However the Lubbock board has this special clause in
    drivers/usb/gadget/pxa25x_udc.c:

    This include file has an implicit dependency on
    having been included before
    was included.

    Before commit 88f718e3fa4d67f3a8dbe79a2f97d722323e4051
    "ARM: pxa: delete the custom GPIO header" this implicit
    dependency for the pxa25x_udc compile on the Lubbock was
    satisfied by implicitly including
    which was in turn including ,
    apart from the earlier added .

    Fix this by having the PXA25x explicitly
    include .

    Reported-by: Russell King
    Cc: Greg Kroah-Hartmann
    Cc: Felipe Balbi
    Signed-off-by: Linus Walleij
    Signed-off-by: Haojian Zhuang
    Signed-off-by: Olof Johansson

    Linus Walleij
     

28 Dec, 2013

2 commits

  • …nel/git/pjw/omap-pending into debug-ll-and-ldp-backlight-fix

    A few OMAP hwmod fixes for v3.13-rc. One patch fixes some IRQ
    problems with GPMC, RNG, and ISP/IVA MMUs on OMAP2/3. The other fixes
    some problems with DEBUG_LL on DRA7xx.

    Basic build, boot, and PM test logs are available here:

    http://www.pwsan.com/omap/testlogs/hwmod_fixes_b_v3.13-rc/20131226021920/

    Tony Lindgren
     
  • Looks like the LCD panel on LDP has been broken quite a while, and
    recently got fixed by commit 0b2aa8bed3e1 (gpio: twl4030: Fix regression
    for twl gpio output). However, there's still an issue left where the panel
    backlight does not come on if the LCD drivers are built into the
    kernel.

    Fix the issue by registering the DPI LCD panel only after the twl4030
    GPIO has probed.

    Reported-by: Russell King
    Acked-by: Tomi Valkeinen
    [tony@atomide.com: updated per Tomi's comments]
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

26 Dec, 2013

2 commits

  • Commit 7d7e1eb (ARM: OMAP2+: Prepare for irqs.h removal) and commit
    ec2c082 (ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ)
    updated the way interrupts for OMAP2/3 devices are defined in the
    HWMOD data structures to being an index plus a fixed offset (defined
    by OMAP_INTC_START).

    Couple of irqs in the OMAP2/3 hwmod data were misconfigured completely
    as they were missing this OMAP_INTC_START relative offset. Add this
    offset back to fix the incorrect irq data for the following modules:
    OMAP2 - GPMC, RNG
    OMAP3 - GPMC, ISP MMU & IVA MMU

    Signed-off-by: Suman Anna
    Fixes: 7d7e1eba7e92 ("ARM: OMAP2+: Prepare for irqs.h removal")
    Fixes: ec2c0825ca31 ("ARM: OMAP2+: Remove hardcoded IRQs and enable SPARSE_IRQ")
    Cc: Tony Lindgren
    Signed-off-by: Paul Walmsley

    Suman Anna
     
  • With commit '7dedd34: ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with
    DEBUG_LL' we moved from parsing cmdline to identify uart used for earlycon
    to using the requsite hwmod CONFIG_DEBUG_OMAPxUARTy FLAGS.

    On DRA7 though, we seem to be missing this flag, and atleast on the DRA7 EVM
    where we use uart1 for console, boot fails with DEBUG_LL enabled.

    Reported-by: Lokesh Vutla
    Tested-by: Lokesh Vutla # on a different base
    Signed-off-by: Rajendra Nayak
    Fixes: 7dedd346941d ("ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with DEBUG_LL")
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     

23 Dec, 2013

1 commit

  • Pull ARM SoC fixes from Olof Johansson:
    "Much smaller batch of fixes this week.

    Biggest one is a revert of an OMAP display change that removed some
    non-DT pinmux code that was still needed for 3.13 to get DSI displays
    to work.

    There's also a fix that resolves some misdescribed GPIO controller
    resources on shmobile. The rest are mostly smaller fixes, a couple of
    MAINTAINERS updates, etc"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    Revert "ARM: OMAP2+: Remove legacy mux code for display.c"
    MAINTAINERS: Add keystone clock drivers
    MAINTAINERS: Add keystone git tree information
    ARM: s3c64xx: dt: Fix boot failure due to double clock initialization
    ARM: shmobile: r8a7790: Fix GPIO resources in DTS
    irqchip: renesas-intc-irqpin: Fix register bitfield shift calculation
    ARM: shmobile: lager: phy fixup needs CONFIG_PHYLIB

    Linus Torvalds
     

21 Dec, 2013

9 commits

  • The ADM6996L switch and some Broadcom switches with two MII interfaces
    like the BCM5325F connected to two MACs on the SoC, used on some
    routers do not return a valid value when reading the PHY id register
    and Linux thinks there is no PHY at all, but that is wrong.
    This patch registers a fixed phy in the arch code and then searches it
    when there is no other phy in the Ethernet driver code.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: David S. Miller

    Hauke Mehrtens
     
  • Pull ARC fix from Vineet Gupta:
    "Fix busted syscall table due to unistd header inclusion issue"

    * tag 'arc-fixes-for-3.13-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: Allow conditional multiple inclusion of uapi/asm/unistd.h

    Linus Torvalds
     
  • Pull arm64 ptrace fix from Catalin Marinas.

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: ptrace: avoid using HW_BREAKPOINT_EMPTY for disabled events

    Linus Torvalds
     
  • At the moment the USB controller's pin muxing is not setup
    correctly and causes a kernel panic upon system startup, so
    disable the USB1 device tree node in the MPC5125 tower board
    dts file.

    The USB controller is connected to an USB3320 ULPI transceiver
    and the device tree should receive an update to reflect correct
    dependencies and required initialization data before the USB1
    node can get re-enabled.

    Signed-off-by: Matteo Facchinetti
    Signed-off-by: Anatolij Gustschin

    Matteo Facchinetti
     
  • Pull KVM fixes from Paolo Bonzini:
    "The PPC folks had a large amount of changes queued for 3.13, and now
    they are fixing the bugs"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: PPC: Book3S HV: Don't drop low-order page address bits
    powerpc: book3s: kvm: Don't abuse host r2 in exit path
    powerpc/kvm/booke: Fix build break due to stack frame size warning
    KVM: PPC: Book3S: PR: Enable interrupts earlier
    KVM: PPC: Book3S: PR: Make svcpu -> vcpu store preempt savvy
    KVM: PPC: Book3S: PR: Export kvmppc_copy_to|from_svcpu
    KVM: PPC: Book3S: PR: Don't clobber our exit handler id
    powerpc: kvm: fix rare but potential deadlock scene
    KVM: PPC: Book3S HV: Take SRCU read lock around kvm_read_guest() call
    KVM: PPC: Book3S HV: Make tbacct_lock irq-safe
    KVM: PPC: Book3S HV: Refine barriers in guest entry/exit
    KVM: PPC: Book3S HV: Fix physical address calculations

    Linus Torvalds
     
  • …/git/horms/renesas into fixes

    From Simon Horman:
    Renesas ARM based SoC fixes for v3.13

    * r8a7790 (R-Car H1) SoC
    - Correct GPIO resources in DT.

    This problem has been present since GPIOs were added to the r8a7790 SoC
    by f98e10c88aa95bf7 ("ARM: shmobile: r8a7790: Add GPIO controller
    devices to device tree") in v3.12-rc1.

    * irqchip renesas-intc-irqpin
    - Correct register bitfield shift calculation

    This bug has been present since the renesas-intc-irqpin driver was
    introduced by 443580486e3b9657 ("irqchip: Renesas INTC External IRQ pin
    driver") in v3.10-rc1

    * Lager board
    - Do not build the phy fixup unless CONFIG_PHYLIB is enabled

    This problem was introduced by 48c8b96f21817aad

    * tag 'renesas-fixes-for-v3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    ARM: shmobile: r8a7790: Fix GPIO resources in DTS
    irqchip: renesas-intc-irqpin: Fix register bitfield shift calculation
    ARM: shmobile: lager: phy fixup needs CONFIG_PHYLIB

    Signed-off-by: Kevin Hilman <khilman@linaro.org>

    Kevin Hilman
     
  • Patch queue for 3.13 - 2013-12-18

    This fixes some grave issues we've only found after 3.13-rc1:

    - Make the modularized HV/PR book3s kvm work well as modules
    - Fix some race conditions
    - Fix compilation with certain compilers (booke)
    - Fix THP for book3s_hv
    - Fix preemption for book3s_pr

    Alexander Graf (4):
    KVM: PPC: Book3S: PR: Don't clobber our exit handler id
    KVM: PPC: Book3S: PR: Export kvmppc_copy_to|from_svcpu
    KVM: PPC: Book3S: PR: Make svcpu -> vcpu store preempt savvy
    KVM: PPC: Book3S: PR: Enable interrupts earlier

    Aneesh Kumar K.V (1):
    powerpc: book3s: kvm: Don't abuse host r2 in exit path

    Paul Mackerras (5):
    KVM: PPC: Book3S HV: Fix physical address calculations
    KVM: PPC: Book3S HV: Refine barriers in guest entry/exit
    KVM: PPC: Book3S HV: Make tbacct_lock irq-safe
    KVM: PPC: Book3S HV: Take SRCU read lock around kvm_read_guest() call
    KVM: PPC: Book3S HV: Don't drop low-order page address bits

    Scott Wood (1):
    powerpc/kvm/booke: Fix build break due to stack frame size warning

    pingfan liu (1):
    powerpc: kvm: fix rare but potential deadlock scene

    Paolo Bonzini
     
  • Pull Xen bugfixes from Konrad Rzeszutek Wilk:
    - Fix balloon driver for auto-translate guests (PVHVM, ARM) to not use
    scratch pages.
    - Fix block API header for ARM32 and ARM64 to have proper layout
    - On ARM when mapping guests, stick on PTE_SPECIAL
    - When using SWIOTLB under ARM, don't call swiotlb functions twice
    - When unmapping guests memory and if we fail, don't return pages which
    failed to be unmapped.
    - Grant driver was using the wrong address on ARM.

    * tag 'stable/for-linus-3.13-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/balloon: Seperate the auto-translate logic properly (v2)
    xen/block: Correctly define structures in public headers on ARM32 and ARM64
    arm: xen: foreign mapping PTEs are special.
    xen/arm64: do not call the swiotlb functions twice
    xen: privcmd: do not return pages which we have failed to unmap
    XEN: Grant table address, xen_hvm_resume_frames, is a phys_addr not a pfn

    Linus Torvalds
     
  • …nel/git/tmlind/linux-omap into fixes

    I accidentally removed some mux code for omap4 that I thought was
    dead code as omap4 has been booting with device tree only since
    v3.10. Turns out I also removed some display related mux code,
    so let's revert that except for the dead code parts.

    * tag 'omap-for-v3.13/display-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (439 commits)
    Revert "ARM: OMAP2+: Remove legacy mux code for display.c"
    +Linux 3.13-rc4

    Kevin Hilman
     

20 Dec, 2013

2 commits

  • Linux 3.10 changed the timing of how thread_info->flags is touched:

    x86: Use generic idle loop
    (7d1a941731fabf27e5fb6edbebb79fe856edb4e5)

    This caused Intel NHM-EX and WSM-EX servers to experience a large number
    of immediate MONITOR/MWAIT break wakeups, which caused cpuidle to demote
    from deep C-states to shallow C-states, which caused these platforms
    to experience a significant increase in idle power.

    Note that this issue was already present before the commit above,
    however, it wasn't seen often enough to be noticed in power measurements.

    Here we extend an errata workaround from the Core2 EX "Dunnington"
    to extend to NHM-EX and WSM-EX, to prevent these immediate
    returns from MWAIT, reducing idle power on these platforms.

    While only acpi_idle ran on Dunnington, intel_idle
    may also run on these two newer systems.
    As of today, there are no other models that are known
    to need this tweak.

    Link: http://lkml.kernel.org/r/CAJvTdK=%2BaNN66mYpCGgbHGCHhYQAKx-vB0kJSWjVpsNb_hOAtQ@mail.gmail.com
    Signed-off-by: Len Brown
    Link: http://lkml.kernel.org/r/baff264285f6e585df757d58b17788feabc68918.1387403066.git.len.brown@intel.com
    Cc: # 3.12.x, 3.11.x, 3.10.x
    Signed-off-by: H. Peter Anvin

    Len Brown
     
  • Commit 8f34a1da35ae ("arm64: ptrace: use HW_BREAKPOINT_EMPTY type for
    disabled breakpoints") fixed an issue with GDB trying to zero breakpoint
    control registers. The problem there is that the arch hw_breakpoint code
    will attempt to create a (disabled), execute breakpoint of length 0.

    This will fail validation and report unexpected failure to GDB. To avoid
    this, we treated disabled breakpoints as HW_BREAKPOINT_EMPTY, but that
    seems to have broken with recent kernels, causing watchpoints to be
    treated as TYPE_INST in the core code and returning ENOSPC for any
    further breakpoints.

    This patch fixes the problem by prioritising the `enable' field of the
    breakpoint: if it is cleared, we simply update the perf_event_attr to
    indicate that the thing is disabled and don't bother changing either the
    type or the length. This reinforces the behaviour that the breakpoint
    control register is essentially read-only apart from the enable bit
    when disabling a breakpoint.

    Cc:
    Reported-by: Aaron Liu
    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Will Deacon
     

19 Dec, 2013

9 commits

  • Commit 97bc386fc12d "ARC: Add guard macro to uapi/asm/unistd.h"
    inhibited multiple inclusion of ARCH unistd.h. This however hosed the system
    since Generic syscall table generator relies on it being included twice,
    and in lack-of an empty table was emitted by C preprocessor.

    Fix that by allowing one exception to rule for the special case (just
    like Xtensa)

    Suggested-by: Chen Gang
    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • The r8a7790.dtsi file has four sdhi nodes which the first two have the wrong
    resource size for their register block. This causes the sh_modbile_sdhi driver
    to fail to communicate with card at-all.

    Change sdhi{0,1} node size from 0x100 to 0x200 to correct these nodes
    as per Kuninori Morimoto's response to the original patch where all four
    nodes where changed. sdhi{2,3} are the correct size.

    This bug has been present since sdhi resources were added to the r8a7790 by
    8c9b1aa41853272a ("ARM: shmobile: r8a7790: add MMCIF and SDHI DT
    templates") in v3.11-rc2.

    Signed-off-by: Ben Dooks
    Tested-by: William Towle
    Acked-by: Kuninori Morimoto
    Signed-off-by: Simon Horman

    Ben Dooks
     
  • 4dcfa60071b3d23f0181f27d8519f12e37cefbb9
    (ARM: DMA-API: better handing of DMA masks for coherent allocations)
    exchanged DMA mask check method.
    Below warning will appear without this patch

    asoc-simple-card asoc-simple-card.0: \
    Coherent DMA mask 0xffffffffffffffff is larger than dma_addr_t allows
    asoc-simple-card asoc-simple-card.0: \
    Driver did not use or check the return value from dma_set_coherent_mask()?

    Signed-off-by: Kuninori Morimoto
    Acked-by: Laurent Pinchart
    Signed-off-by: Simon Horman

    Kuninori Morimoto
     
  • Commit 22ceeee16eb8f0d04de3ef43a5174fb30ec18af9 ("pwm-backlight: Add
    power supply support") added a mandatory power supply for the PWM
    backlight. Add a fixed 5V regulator to board code with a consumer supply
    entry for the backlight device.

    Signed-off-by: Laurent Pinchart
    Signed-off-by: Simon Horman
    (cherry picked from commit ad11cb9a5cf96346f1240995c672cdbb5501785c)
    Signed-off-by: Simon Horman

    Laurent Pinchart
     
  • E.g. landisk_defconfig, which has CONFIG_NTFS_FS=m:

    ERROR: "__ashrdi3" [fs/ntfs/ntfs.ko] undefined!

    For "lib-y", if no symbols in a compilation unit are referenced by other
    units, the compilation unit will not be included in vmlinux. This
    breaks modules that do reference those symbols.

    Use "obj-y" instead to fix this.

    http://kisskb.ellerman.id.au/kisskb/buildresult/8838077/

    This doesn't fix all cases. There are others, e.g. udivsi3.
    This is also not limited to sh, many architectures handle this in the
    same way.

    A simple solution is to unconditionally include all helper functions.
    A more complex solution is to make the choice of "lib-y" or "obj-y" depend
    on CONFIG_MODULES:

    obj-$(CONFIG_MODULES) += ...
    lib-y($CONFIG_MODULES) += ...

    Signed-off-by: Geert Uytterhoeven
    Cc: Paul Mundt
    Tested-by: Nobuhiro Iwamatsu
    Reviewed-by: Nobuhiro Iwamatsu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • There are a few subtle races, between change_protection_range (used by
    mprotect and change_prot_numa) on one side, and NUMA page migration and
    compaction on the other side.

    The basic race is that there is a time window between when the PTE gets
    made non-present (PROT_NONE or NUMA), and the TLB is flushed.

    During that time, a CPU may continue writing to the page.

    This is fine most of the time, however compaction or the NUMA migration
    code may come in, and migrate the page away.

    When that happens, the CPU may continue writing, through the cached
    translation, to what is no longer the current memory location of the
    process.

    This only affects x86, which has a somewhat optimistic pte_accessible.
    All other architectures appear to be safe, and will either always flush,
    or flush whenever there is a valid mapping, even with no permissions
    (SPARC).

    The basic race looks like this:

    CPU A CPU B CPU C

    load TLB entry
    make entry PTE/PMD_NUMA
    fault on entry
    read/write old page
    start migrating page
    change PTE/PMD to new page
    read/write old page [*]
    flush TLB
    reload TLB from new entry
    read/write new page
    lose data

    [*] the old page may belong to a new user at this point!

    The obvious fix is to flush remote TLB entries, by making sure that
    pte_accessible aware of the fact that PROT_NONE and PROT_NUMA memory may
    still be accessible if there is a TLB flush pending for the mm.

    This should fix both NUMA migration and compaction.

    [mgorman@suse.de: fix build]
    Signed-off-by: Rik van Riel
    Signed-off-by: Mel Gorman
    Cc: Alex Thorlton
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rik van Riel
     
  • Base pages are unmapped and flushed from cache and TLB during normal
    page migration and replaced with a migration entry that causes any
    parallel NUMA hinting fault or gup to block until migration completes.

    THP does not unmap pages due to a lack of support for migration entries
    at a PMD level. This allows races with get_user_pages and
    get_user_pages_fast which commit 3f926ab945b6 ("mm: Close races between
    THP migration and PMD numa clearing") made worse by introducing a
    pmd_clear_flush().

    This patch forces get_user_page (fast and normal) on a pmd_numa page to
    go through the slow get_user_page path where it will serialise against
    THP migration and properly account for the NUMA hinting fault. On the
    migration side the page table lock is taken for each PTE update.

    Signed-off-by: Mel Gorman
    Reviewed-by: Rik van Riel
    Cc: Alex Thorlton
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Conflicts:
    drivers/net/ethernet/intel/i40e/i40e_main.c
    drivers/net/macvtap.c

    Both minor merge hassles, simple overlapping changes.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • the 'soc' node in the MPC5125 "tower" board .dts has an '#interrupt-cells'
    property although this node is not an interrupt controller

    remove this erroneously placed property because starting with v3.13-rc1
    lookup and resolution of 'interrupts' specs for peripherals gets misled
    (tries to use the 'soc' as the interrupt parent which fails), emits
    'no irq domain found' WARN() messages and breaks the boot process

    [ best viewed with 'git diff -U5' to have DT node names in the context ]

    Cc: Anatolij Gustschin
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: devicetree@vger.kernel.org
    Signed-off-by: Gerhard Sittig
    Signed-off-by: Anatolij Gustschin

    Gerhard Sittig