17 Jan, 2015

5 commits

  • …nux-berlin into fixes

    Merge "ARM: berlin: Fixes for v3.19 (round 1)" from Sebastian Hesselbarth:

    Marvell Berlin fixes for v3.19 round 1:
    - SDHCI DT fixes for BG2Q and BG2Q reference board
    - BG2Q SM GPIO DT node relocation

    * tag 'berlin-fixes-for-3.19-1' of git://git.infradead.org/users/hesselba/linux-berlin:
    ARM: dts: berlin: correct BG2Q's SM GPIO location.
    ARM: dts: berlin: add broken-cd and set bus width for eMMC in Marvell DMP DT
    ARM: dts: berlin: fix io clk and add missing core clk for BG2Q sdhci2 host

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

    Olof Johansson
     
  • We altered the device tree bindings for the Nomadik family of
    pin controllers to be standard, this file was merged out-of-order
    so we missed fixing this. Fix it up.

    Signed-off-by: Linus Walleij
    Signed-off-by: Olof Johansson

    Linus Walleij
     
  • …l/git/tmlind/linux-omap into fixes

    Merge "omap fixes against v3.19-rc1" from Tony Lindgren:

    Fixes for omaps mostly to deal with dra7 timer issues
    and hypervisor mode. The other fixes are minor fixes for
    various boards. The summary of the fixes is:

    - Fix real-time counter rate typos for some frequencies
    - Fix counter frequency drift for am572x
    - Fix booting of secondary CPU in HYP mode
    - Fix n900 board name for legacy user space
    - Fix cpufreq in omap2plus_defconfig after Kconfig change
    - Fix dra7 qspi partitions

    And also, let's re-enable smc91x on some n900 boards that
    we have sitting in a few test boot systems after the boot
    loader dependencies got fixed.

    * tag 'omap-for-v3.19/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: dts: Revert disabling of smc91x for n900
    ARM: dts: dra7-evm: fix qspi device tree partition size
    ARM: omap2plus_defconfig: use CONFIG_CPUFREQ_DT
    ARM: OMAP2+: Fix n900 board name for legacy user space
    ARM: omap5/dra7xx: Enable booting secondary CPU in HYP mode
    ARM: dra7xx: Fix counter frequency drift for AM572x errata i856
    ARM: omap5/dra7xx: Fix frequency typos

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

    Olof Johansson
     
  • …nguo/linux into fixes

    Merge "ARM: imx: fixes for 3.19" from Shawn Guo:

    The i.MX fixes for 3.19:
    - One fix for incorrect i.MX25 SPI1 clock assignment in device tree,
    which causes system hang when accessing SPI1.
    - Correct i.MX6SX QSPI parent clock configuration to fix a kernel Oops.
    - Fix ULPI PHY reset modelling on imx51-babbage board to remove the
    dependency on bootloader for USB3317 ULPI PHY reset.
    - Correct video divider setting on i.MX6Q rev T0 1.0 to fix the issue
    that HDMI is not working at high resolution on T0 1.0.
    - One incremental fix for CODA960 VPU enabling in device tree to
    correct interrupt order.
    - LS1021A SCFG block works in BE mode, add device tree property
    big-endian to make it right.

    * tag 'imx-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    ARM: dts: imx51-babbage: Fix ULPI PHY reset modelling
    ARM: imx6sx: Set PLL2 as parent of QSPI clocks
    ARM: dts: imx25: Fix the SPI1 clocks
    ARM: clk-imx6q: fix video divider for rev T0 1.0
    ARM: dts: imx6qdl: Fix CODA960 interrupt order
    ARM: ls1021a: dtsi: add 'big-endian' property for scfg node

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

    Olof Johansson
     
  • …l/git/mmind/linux-rockchip into fixes

    Merge "ARM: rockchip: dts fix for 3.19" from Heiko Stübner:

    Increase drive-strength to sdmmc pins on rk3288-evb to fix
    an issue with the fixed highspeed card detection.

    * tag 'v3.19-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
    ARM: dts: rockchip: bump sd card pin drive strength up on rk3288-evb

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

    Olof Johansson
     

12 Jan, 2015

3 commits

  • Pull ARM fixes from Russell King:
    "Three small fixes from over the Christmas period, and wiring up the
    new execveat syscall for ARM"

    * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    ARM: 8275/1: mm: fix PMD_SECT_RDONLY undeclared compile error
    ARM: 8253/1: mm: use phys_addr_t type in map_lowmem() for kernel mem region
    ARM: 8249/1: mm: dump: don't skip regions
    ARM: wire up execveat syscall

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes: two vdso fixes, two kbuild fixes and a boot failure fix
    with certain odd memory mappings"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, vdso: Use asm volatile in __getcpu
    x86/build: Clean auto-generated processor feature files
    x86: Fix mkcapflags.sh bash-ism
    x86: Fix step size adjustment during initial memory mapping
    x86_64, vdso: Fix the vdso address randomization algorithm

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, but also some kernel side fixes: uncore PMU
    driver fix, user regs sampling fix and an instruction decoder fix that
    unbreaks PEBS precise sampling"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/uncore/hsw-ep: Handle systems with only two SBOXes
    perf/x86_64: Improve user regs sampling
    perf: Move task_pt_regs sampling into arch code
    x86: Fix off-by-one in instruction decoder
    perf hists browser: Fix segfault when showing callchain
    perf callchain: Free callchains when hist entries are deleted
    perf hists: Fix children sort key behavior
    perf diff: Fix to sort by baseline field by default
    perf list: Fix --raw-dump option
    perf probe: Fix crash in dwarf_getcfi_elf
    perf probe: Fix to fall back to find probe point in symbols
    perf callchain: Append callchains only when requested
    perf ui/tui: Print backtrace symbols when segfault occurs
    perf report: Show progress bar for output resorting

    Linus Torvalds
     

10 Jan, 2015

3 commits

  • Pull arm64 fixes from Will Deacon:
    "Here is a handful of minor arm64 fixes discovered and fixed over the
    Christmas break. The main part is adding some missing #includes that
    we seem to be getting transitively but have started causing problems
    in -next.

    - Fix early mapping fixmap corruption by EFI runtime services
    - Fix __NR_compat_syscalls off-by-one
    - Add missing sanity checks for some 32-bit registers
    - Add some missing #includes which we get transitively
    - Remove unused prepare_to_copy() macro"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64/efi: add missing call to early_ioremap_reset()
    arm64: fix missing asm/io.h include in kernel/smp_spin_table.c
    arm64: fix missing asm/alternative.h include in kernel/module.c
    arm64: fix missing linux/bug.h include in asm/arch_timer.h
    arm64: fix missing asm/pgtable-hwdef.h include in asm/processor.h
    arm64: sanity checks: add missing AArch32 registers
    arm64: Remove unused prepare_to_copy()
    arm64: Correct __NR_compat_syscalls for bpf

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "12 fixes"

    * emailed patches from Andrew Morton :
    mm, vmscan: prevent kswapd livelock due to pfmemalloc-throttled process being killed
    memcg: fix destination cgroup leak on task charges migration
    mm: memcontrol: switch soft limit default back to infinity
    mm/debug_pagealloc: remove obsolete Kconfig options
    vfs: renumber FMODE_NONOTIFY and add to uniqueness check
    arch/blackfin/mach-bf533/boards/stamp.c: add linux/delay.h
    ocfs2: fix the wrong directory passed to ocfs2_lookup_ino_from_name() when link file
    MAINTAINERS: update rydberg's addresses
    mm: protect set_page_dirty() from ongoing truncation
    mm: prevent endless growth of anon_vma hierarchy
    exit: fix race between wait_consider_task() and wait_task_zombie()
    ocfs2: remove bogus check in dlm_process_recovery_data

    Linus Torvalds
     
  • In v3.19-rc3 tree when CONFIG_ARM_LPAE and CONFIG_DEBUG_RODATA are enabled
    image failed to compile with the following error:

    arch/arm/mm/init.c:661:14: error: ‘PMD_SECT_RDONLY’ undeclared here (not in a function)

    It seems that '80d6b0c ARM: mm: allow text and rodata sections to be read-only'
    and 'ded9477 ARM: 8109/1: mm: Modify pte_write and pmd_write logic for LPAE'
    commits crossed. 80d6b0c uses PMD_SECT_RDONLY macro but ded9477 renames it
    and uses software bits L_PMD_SECT_RDONLY instead.

    Fix is to use L_PMD_SECT_RDONLY instead PMD_SECT_RDONLY as ded9477 does in
    another places.

    Signed-off-by: Victor Kamensky
    Acked-by: Will Deacon
    Signed-off-by: Russell King

    Victor Kamensky
     

09 Jan, 2015

7 commits

  • There was another report of a boot failure with a #GP fault in the
    uncore SBOX initialization. The earlier work around was not enough
    for this system.

    The boot was failing while trying to initialize the third SBOX.

    This patch detects parts with only two SBOXes and limits the number
    of SBOX units to two there.

    Stable material, as it affects boot problems on 3.18.

    Tested-by: Andreas Oehler
    Signed-off-by: Andi Kleen
    Signed-off-by: Peter Zijlstra (Intel)
    Cc:
    Cc: Arnaldo Carvalho de Melo
    Cc: Stephane Eranian
    Cc: Yan, Zheng
    Link: http://lkml.kernel.org/r/1420583675-9163-1-git-send-email-andi@firstfloor.org
    Signed-off-by: Ingo Molnar

    Andi Kleen
     
  • Perf reports user regs for kernel-mode samples so that samples can
    be backtraced through user code. The old code was very broken in
    syscall context, resulting in useless backtraces.

    The new code, in contrast, is still dangerously racy, but it should
    at least work most of the time.

    Tested-by: Jiri Olsa
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Stephane Eranian
    Cc: Andrew Morton
    Cc: chenggang.qcg@taobao.com
    Cc: Wu Fengguang
    Cc: Namhyung Kim
    Cc: Mike Galbraith
    Cc: Arjan van de Ven
    Cc: David Ahern
    Cc: Linus Torvalds
    Link: http://lkml.kernel.org/r/243560c26ff0f739978e2459e203f6515367634d.1420396372.git.luto@amacapital.net
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     
  • On x86_64, at least, task_pt_regs may be only partially initialized
    in many contexts, so x86_64 should not use it without extra care
    from interrupt context, let alone NMI context.

    This will allow x86_64 to override the logic and will supply some
    scratch space to use to make a cleaner copy of user regs.

    Tested-by: Jiri Olsa
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: Stephane Eranian
    Cc: chenggang.qcg@taobao.com
    Cc: Wu Fengguang
    Cc: Namhyung Kim
    Cc: Mike Galbraith
    Cc: Arjan van de Ven
    Cc: David Ahern
    Cc: Arnaldo Carvalho de Melo
    Cc: Catalin Marinas
    Cc: Jean Pihet
    Cc: Linus Torvalds
    Cc: Mark Salter
    Cc: Russell King
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/e431cd4c18c2e1c44c774f10758527fb2d1025c4.1420396372.git.luto@amacapital.net
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     
  • Stephane reported that the PEBS fixup was broken by the recent commit to
    the instruction decoder. The thing had an off-by-one which resulted in
    not being able to decode the last instruction and always bail.

    Reported-by: Stephane Eranian
    Fixes: 6ba48ff46f76 ("x86: Remove arbitrary instruction size limit in instruction decoder")
    Signed-off-by: Peter Zijlstra (Intel)
    Cc: stable@vger.kernel.org # 3.18
    Cc:
    Cc: Jiri Olsa
    Cc: Liang Kan
    Cc: Arnaldo Carvalho de Melo
    Cc: Dave Hansen
    Cc: Jim Keniston
    Cc: Linus Torvalds
    Cc: Masami Hiramatsu
    Link: http://lkml.kernel.org/r/20141216104614.GV3337@twins.programming.kicks-ass.net
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • build error

    arch/blackfin/mach-bf533/boards/stamp.c:834:2: error: implicit declaration of function 'mdelay'

    Signed-off-by: Oleg Nesterov
    Reported-by: Wu Fengguang
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Pull power management and ACPI fixes from Rafael Wysocki:
    "These are an ACPI device power management initialization fix (-stable
    material), two commits renaming stuff in the ACPI processor driver to
    make it more suitable for ARM64 processors and a new ACPI backlight
    blacklist entry.

    Specifics:

    - Fix ACPI power management intialization for device objects
    corresponding to devices that are not present at the init time (the
    _STA control method returns 0 for them) and therefore should not be
    regarded as power manageable (Rafael J Wysocki).

    - Rename a structure field and two functions used by the ACPI
    processor driver to make them less tied to architectures that use
    APICs (both x86 and ia64) and more suitable for ARM64 processors
    (Hanjun Guo).

    - Add a disable_native_backlight quirk for Dell XPS15 L521X designed
    in an unusual way preventing native backlight from working on that
    machine (Hans de Goede)"

    * tag 'pm+acpi-3.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X
    ACPI / processor: Rename acpi_(un)map_lsapic() to acpi_(un)map_cpu()
    ACPI / processor: Convert apic_id to phys_id to make it arch agnostic
    ACPI / PM: Fix PM initialization for devices that are not present

    Linus Torvalds
     
  • Pull crypto fixes from Herbert Xu:
    "This fixes a build problem with sha-mb with old toolchains and an
    implementation bug in the ctr(aes)/by8 branch of aesni-intel that's
    enabled when AVX is available"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: sha-mb - Add avx2_supported check.
    crypto: aesni - fix "by8" variant for 128 bit keys

    Linus Torvalds
     

08 Jan, 2015

4 commits

  • The early ioremap support introduced by patch bf4b558eba92
    ("arm64: add early_ioremap support") failed to add a call to
    early_ioremap_reset() at an appropriate time. Without this call,
    invocations of early_ioremap etc. that are done too late will go
    unnoticed and may cause corruption.

    This is exactly what happened when the first user of this feature
    was added in patch f84d02755f5a ("arm64: add EFI runtime services").
    The early mapping of the EFI memory map is unmapped during an early
    initcall, at which time the early ioremap support is long gone.

    Fix by adding the missing call to early_ioremap_reset() to
    setup_arch(), and move the offending early_memunmap() to right after
    the point where the early mapping of the EFI memory map is last used.

    Fixes: f84d02755f5a ("arm64: add EFI runtime services")
    Cc:
    Signed-off-by: Leif Lindholm
    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Will Deacon

    Ard Biesheuvel
     
  • Now local variables kernel_x_start and kernel_x_end defined using
    'unsigned long' type which is wrong because they represent physical
    memory range and will be calculated wrongly if LPAE is enabled.
    As result, all following code in map_lowmem() will not work correctly.

    For example, Keystone 2 boot is broken because
    kernel_x_start == 0x0000 0000
    kernel_x_end == 0x0080 0000

    instead of
    kernel_x_start == 0x0000 0008 0000 0000
    kernel_x_end == 0x0000 0008 0080 0000
    and as result whole low memory will be mapped with MT_MEMORY_RW
    permissions by code (start > kernel_x_end):
    } else if (start >= kernel_x_end) {
    map.pfn = __phys_to_pfn(start);
    map.virtual = __phys_to_virt(start);
    map.length = end - start;
    map.type = MT_MEMORY_RW;

    create_mapping(&map);
    }

    Hence, fix it by using phys_addr_t type for variables kernel_x_start
    and kernel_x_end.

    Tested-by: Murali Karicheri
    Signed-off-by: Grygorii Strashko
    Signed-off-by: Russell King

    Grygorii Strashko
     
  • Currently the arm page table dumping code starts dumping page tables
    from USER_PGTABLES_CEILING. This is unnecessary for skipping any entries
    related to userspace as the swapper_pg_dir does not contain such
    entries, and results in a couple of unfortuante side effects.

    Firstly, any kernel mappings which might exist below
    USER_PGTABLES_CEILING will not be accounted in the dump output. This
    masks any entries erroneously created below this address.

    Secondly, if the final page table entry walked is part of a valid
    mapping the page table dumping code will not log the region this entry
    is part of, as the final note_page call in walk_pgd will trigger an
    early return when 0 < USER_PGTABLES_CEILING. Luckily this isn't seen on
    contemporary systems as they typically don't have enough RAM to extend
    the linear mapping right to the end of the address space.

    Due to the way addr is constructed in the walk_* functions, it can never
    be less than USER_PGTABLES_CEILING when walking the page tables, so it
    is not necessary to avoid dereferencing invalid table addresses. The
    existing checks for st->current_prot and st->marker[1].start_address are
    sufficient to ensure we will not print and/or dereference garbage when
    trying to log information.

    This patch removes both problematic uses of USER_PGTABLES_CEILING from
    the arm page table dumping code, preventing both of these issues. We
    will now report any low mappings, and the final note_page call will not
    return early, ensuring all regions are logged.

    Signed-off-by: Mark Rutland
    Cc: Steve Capper
    Cc: Kees Cook
    Cc: Will Deacon
    Signed-off-by: Russell King

    Mark Rutland
     
  • Signed-off-by: Russell King

    Russell King
     

07 Jan, 2015

12 commits

  • The gpio4 and gpio5 are in 0xf7fc0000 apb which is located in the SM domain.
    This patch moves gpio4 and gpio5 to the correct location. This patch also
    renames them as the following to match the names we internally used in
    marvell:
    gpio4 -> sm_gpio1
    gpio5 -> sm_gpio0
    porte -> portf
    portf -> porte

    This also matches what we did for BG2 and BG2CD's SM GPIO.

    Cc: stable@vger.kernel.org # 3.16+
    Fixes: cedf57fc4f2f ("ARM: dts: berlin: add the BG2Q GPIO nodes")
    Signed-off-by: Jisheng Zhang
    Signed-off-by: Sebastian Hesselbarth

    Jisheng Zhang
     
  • There's no card detection for the eMMC, so this patch adds the missing
    broken-cd property. This patch also sets bus width as 8 to add
    MMC_CAP_8_BIT_DATA in the Host capabilities.

    Cc: stable@vger.kernel.org # 3.16+
    Fixes: 3047086dfd56 ("ARM: dts: berlin: enable SD card reader and eMMC for the BG2Q DMP")
    Signed-off-by: Jisheng Zhang
    Signed-off-by: Sebastian Hesselbarth

    Jisheng Zhang
     
  • On BG2Q, the sdhci2 host uses nfcecc for "io" clk and nfc for "core" clk.
    The shdci2 can't work without this patch due to the "core" clk is gated.

    Cc: stable@vger.kernel.org # 3.16+
    Fixes: 0d859a6a9d14 ("ARM: dts: berlin: add the SDHCI nodes for the BG2Q")
    Signed-off-by: Jisheng Zhang
    Signed-off-by: Sebastian Hesselbarth

    Jisheng Zhang
     
  • On next-20150105, defconfig compilation breaks with:

    arch/arm64/kernel/smp_spin_table.c:80:2: error: implicit declaration of function ‘ioremap_cache’ [-Werror=implicit-function-declaration]
    arch/arm64/kernel/smp_spin_table.c:92:2: error: implicit declaration of function ‘writeq_relaxed’ [-Werror=implicit-function-declaration]
    arch/arm64/kernel/smp_spin_table.c:101:2: error: implicit declaration of function ‘iounmap’ [-Werror=implicit-function-declaration]

    Fix by including asm/io.h, which contains definitions or prototypes
    for these macros or functions.

    This second version incorporates a comment from Mark Rutland
    to keep the includes in alphabetical order
    by filename.

    Signed-off-by: Paul Walmsley
    Cc: Paul Walmsley
    Cc: Catalin Marinas
    Cc: Will Deacon
    Acked-by: Mark Rutland
    Signed-off-by: Will Deacon

    Paul Walmsley
     
  • On next-20150105, defconfig compilation breaks with:

    arch/arm64/kernel/module.c:408:4: error: implicit declaration of function ‘apply_alternatives’ [-Werror=implicit-function-declaration]

    Fix by including asm/alternative.h, where the apply_alternatives()
    prototype is declared.

    This second version incorporates a comment from Mark Rutland
    to keep the includes in alphabetical order
    by filename.

    Signed-off-by: Paul Walmsley
    Cc: Paul Walmsley
    Cc: Catalin Marinas
    Cc: Will Deacon
    Acked-by: Mark Rutland
    Signed-off-by: Will Deacon

    Paul Walmsley
     
  • On next-20150105, defconfig compilation breaks with:

    ./arch/arm64/include/asm/arch_timer.h:112:2: error: implicit declaration of function ‘BUG’ [-Werror=implicit-function-declaration]

    Fix by including linux/bug.h, where the BUG macro is defined.

    This second version incorporates a comment from Mark Rutland
    to keep the includes in alphabetical order
    by filename.

    Signed-off-by: Paul Walmsley
    Cc: Paul Walmsley
    Cc: Catalin Marinas
    Cc: Will Deacon
    Acked-by: Mark Rutland
    Signed-off-by: Will Deacon

    Paul Walmsley
     
  • On next-20150105, defconfig compilation breaks with:

    ./arch/arm64/include/asm/processor.h:47:32: error: ‘PHYS_MASK’ undeclared (first use in this function)

    Fix by including asm/pgtable-hwdef.h, where PHYS_MASK is defined.

    This second version incorporates a comment from Mark Rutland
    to keep the includes in alphabetical order
    by filename.

    Signed-off-by: Paul Walmsley
    Cc: Paul Walmsley
    Cc: Catalin Marinas
    Cc: Will Deacon
    Acked-by: Mark Rutland
    Signed-off-by: Will Deacon

    Paul Walmsley
     
  • We don't currently check a number of registers exposed to AArch32 guests
    (MVFR{0,1,2}_EL1 and ID_DFR0_EL1), despite the fact these describe
    AArch32 feature support exposed to userspace and KVM guests similarly to
    AArch64 registers which we do check. We do not expect these registers to
    vary across a set of CPUs.

    This patch adds said registers to the cpuinfo framework and sanity
    checks. No sanity check failures have been observed on a current ARMv8
    big.LITTLE platform (Juno).

    Cc: Catalin Marinas
    Reported-by: Suzuki K. Poulose
    Signed-off-by: Suzuki K. Poulose
    Signed-off-by: Mark Rutland
    Signed-off-by: Will Deacon

    Mark Rutland
     
  • prepare_to_copy() was removed from all architectures supported at that
    time in commit 55ccf3fe3f9a ("fork: move the real prepare_to_copy()
    users to arch_dup_task_struct()"). Remove it from arm64 as well.

    Signed-off-by: Tobias Klauser
    Signed-off-by: Will Deacon

    Tobias Klauser
     
  • Commit 97b56be10352a70c (arm64: compat: Enable bpf syscall) made the
    usual mistake of forgetting to update __NR_compat_syscalls. Due to this,
    when el0_sync_compat calls el0_svc_naked, the test against sc_nr
    (__NR_compat_syscalls) will fail, and we'll call ni_sys, returning
    -ENOSYS to userspace.

    This patch bumps __NR_compat_syscalls appropriately, enabling the use of
    the bpf syscall from compat tasks.

    Due to the reorganisation of unistd{,32}.h as part of commit
    f3e5c847ec3d12b4 (arm64: Add __NR_* definitions for compat syscalls) it
    is not currently possible to include both headers and sanity-check the
    value of __NR_compat_syscalls at build-time to prevent this from
    happening again. Additional rework is required to make such niceties a
    possibility.

    Cc: Will Deacon
    Acked-by: Catalin Marinas
    Signed-off-by: Mark Rutland
    Signed-off-by: Will Deacon

    Mark Rutland
     
  • * acpi-pm:
    ACPI / PM: Fix PM initialization for devices that are not present

    * acpi-processor:
    ACPI / processor: Rename acpi_(un)map_lsapic() to acpi_(un)map_cpu()
    ACPI / processor: Convert apic_id to phys_id to make it arch agnostic

    * acpi-video:
    ACPI / video: Add disable_native_backlight quirk for Dell XPS15 L521X

    Rafael J. Wysocki
     
  • Revert "ARM: dts: Disable smc91x on n900 until bootloader
    dependency is removed". We've now fixed the issues that
    caused problems with uninitialized hardware depending on
    the bootloader version. Mostly things got fixed with
    the following commits:

    9a894953a97b ("ARM: dts: Fix bootloader version dependencies by muxing n900 smc91x pins")
    7d2911c43815 ("net: smc91x: Fix gpios for device tree based booting")

    Note that this only affects the early development boards
    with Ethernet that we still have in a few automated boot
    test systems. And it's also available supposedly in some
    versions of qemu.

    Tested-by: Kevin Hilman
    Tested-by: Aaro Koskinen
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

06 Jan, 2015

6 commits

  • GPIO2_5 is the reset GPIO for the USB3317 ULPI PHY. Instead of modelling it as
    a regulator, the correct approach is to use the 'reset_gpios' property of the
    "usb-nop-xceiv" node.

    GPIO1_7 is the reset GPIO for the USB2517 USB hub. As we currently don't have
    dt bindings to describe a HUB reset, let's keep using the regulator approach.

    Rename the regulator to 'reg_hub_reset' to better describe its function and bind
    it with the USB host1 port instead.

    USB host support has been introduced by commit 9bf206a9d13be3 ("ARM: dts:
    imx51-babbage: Add USB Host1 support"), which landed in 3.16 and it seems that
    USB has only been functional due to previous bootloader initialization.

    With this patch applied we can get USB host to work without relying on the
    bootloader.

    Cc: # 3.16+
    Signed-off-by: Fabio Estevam
    Signed-off-by: Shawn Guo

    Fabio Estevam
     
  • 64KiB is allocated for qspi dtb partition which is not
    sufficient, so updating the partition table size to 512KiB
    for device tree partition.

    This also aligns the QSPI partition definitions between
    kernel and U-Boot.

    Fixes: dc2dd5b8 ("ARM: dts: dra7: Add qspi device")

    Signed-off-by: Mugunthan V N
    Signed-off-by: Tony Lindgren

    Mugunthan V N
     
  • CONFIG_GENERIC_CPUFREQ_CPU0 disappeared with commit bbcf071969b20f
    ("cpufreq: cpu0: rename driver and internals to 'cpufreq_dt'")

    Use the renamed CONFIG_CPUFREQ_DT generic driver. It looks like with
    v3.18-rc1, commit bbcf071969b20f and fdc509b15eb3eb came in via
    different trees causing the resultant v3.18-rc1 to be non-functional for
    cpufreq as default supported with omap2plus_defconfig.

    Fixes: fdc509b15eb3eb ("ARM: omap2plus_defconfig: Add cpufreq to defconfig")
    Cc: # 3.18
    Signed-off-by: Nishanth Menon
    Acked-by: Viresh Kumar
    Signed-off-by: Tony Lindgren

    Nishanth Menon
     
  • N900 legacy user space apps need the board name in
    /proc/cpuinfo to work properly for the Hardware entry.

    For other boards this should not be an issues and they
    can use the generic Hardware entry.

    Let's fix the issue by adding a custom DT_MACHINE_START
    for n900.

    Tested-by: Pali Rohár
    Acked-by: Pavel Machek
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • If the boot loader enables HYP mode on the boot CPU, the secondary CPU
    also needs to call into the ROM to switch to HYP mode before booting.
    The firmwares on the omap5 and dra7xx unfortunately do not take care
    of this, so it has to be handled by the kernel.

    This patch is based on "[PATCH 2/2] ARM: OMAP5: Add HYP mode entry support
    for secondary CPUs" by Santosh Shilimkar ,
    except this version does not require a compile time CONFIG to control
    if it should enable HYP mode or not, it simply does it based on the mode
    of the boot CPU, so it works whether the CPU boots in SVC or HYP mode,
    and should even work as a guest kernel inside kvm if qemu decides to
    support emulating the omap5 or dra7xx.

    Cc: stable@vger.kernel.org #v3.16+
    Signed-off-by: Len Sorensen
    Signed-off-by: Tony Lindgren

    Lennart Sorensen
     
  • Errata i856 for the AM572x (DRA7xx) points out that the 32.768KHz external
    crystal is not enabled at power up. Instead the CPU falls back to using
    an emulation for the 32KHz clock which is SYSCLK1/610. SYSCLK1 is usually
    20MHz on boards so far (which gives an emulated frequency of 32.786KHz),
    but can also be 19.2 or 27MHz which result in much larger drift.

    Since this is used to drive the master counter at 32.768KHz * 375 /
    2 = 6.144MHz, the emulated speed for 20MHz is of by 570ppm, or about 43
    seconds per day, and more than the 500ppm NTP is able to tolerate.

    Checking the CTRL_CORE_BOOTSTRAP register can determine if the CPU
    is using the real 32.768KHz crystal or the emulated SYSCLK1/610, and
    by known that the real counter frequency can be determined and used.
    The real speed is then SYSCLK1 / 610 * 375 / 2 or SYSCLK1 * 75 / 244.

    Signed-off-by: Len Sorensen
    Tested-by: Lokesh Vutla
    Signed-off-by: Tony Lindgren

    Lennart Sorensen