20 Jan, 2015

1 commit


18 Jan, 2015

2 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "We've been sitting on our fixes branch for a while, so this batch is
    unfortunately on the large side.

    A lot of these are tweaks and fixes to device trees, fixing various
    bugs around clocks, reg ranges, etc. There's also a few defconfig
    updates (which are on the late side, no more of those).

    All in all the diffstat is bigger than ideal at this time, but nothing
    in here seems particularly risky"

    * tag 'armsoc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (31 commits)
    reset: sunxi: fix spinlock initialization
    ARM: dts: disable CCI on exynos5420 based arndale-octa
    drivers: bus: check cci device tree node status
    ARM: rockchip: disable jtag/sdmmc autoswitching on rk3288
    ARM: nomadik: fix up leftover device tree pins
    ARM: at91: board-dt-sama5: add phy_fixup to override NAND_Tree
    ARM: at91/dt: sam9263: Add missing clocks to lcdc node
    ARM: at91: sama5d3: dt: correct the sound route
    ARM: at91/dt: sama5d4: fix the timer reg length
    ARM: exynos_defconfig: Enable LM90 driver
    ARM: exynos_defconfig: Enable options for display panel support
    arm: dts: Use pmu_system_controller phandle for dp phy
    ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances
    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
    ARM: dts: Revert disabling of smc91x for n900
    ARM: dts: imx51-babbage: Fix ULPI PHY reset modelling
    ARM: dts: dra7-evm: fix qspi device tree partition size
    ARM: omap2plus_defconfig: use CONFIG_CPUFREQ_DT
    ...

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Mostly tooling fixes, but also two PMU driver fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools powerpc: Use dwfl_report_elf() instead of offline.
    perf tools: Fix segfault for symbol annotation on TUI
    perf test: Fix dwarf unwind using libunwind.
    perf tools: Avoid build splat for syscall numbers with uclibc
    perf tools: Elide strlcpy warning with uclibc
    perf tools: Fix statfs.f_type data type mismatch build error with uclibc
    tools: Remove bitops/hweight usage of bits in tools/perf
    perf machine: Fix __machine__findnew_thread() error path
    perf tools: Fix building error in x86_64 when dwarf unwind is on
    perf probe: Propagate error code when write(2) failed
    perf/x86/intel: Fix bug for "cycles:p" and "cycles:pp" on SLM
    perf/rapl: Fix sysfs_show() initialization for RAPL PMU

    Linus Torvalds
     

17 Jan, 2015

12 commits

  • …kgene/linux-samsung into fixes

    Merge "Samsung fixes for v3.19" from Kukjin Kim:

    Samsung fixes for v3.19
    - exynos_defconfig: enable LM90 driver and display panel support
    - HWMON
    - SENSORS_LM90
    - Direct Rendering Manager (DRM)
    - DRM bridge registration and lookup framework
    - Parade ps8622/ps8625 eDP/LVDS bridge
    - NXP ptn3460 eDP/LVDS bridge
    - Exynos Fully Interactive Mobile Display controller (FIMD)
    - Panel registration and lookup framework
    - Simple panels
    - Backlight & LCD device support

    - use pmu_system_controller phandle for dp phy
    : DP PHY requires pmu_system_controller to handle PMU reg. now

    * tag 'samsung-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: exynos_defconfig: Enable LM90 driver
    ARM: exynos_defconfig: Enable options for display panel support
    arm: dts: Use pmu_system_controller phandle for dp phy

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

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

    Merge "Renesas ARM Based SoC Fixes for v3.19" from Simon Horman:

    Renesas ARM Based SoC Fixes for v3.19

    This pull request is based on the last round of SoC updates for v3.19,
    Fourth Round of Renesas ARM Based SoC Updates for v3.19, tagged as
    renesas-soc3-for-v3.19, merged into your next/soc branch and included in
    v3.19-rc1.

    - ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds

    Set .control_parent for all irqpin instances for sh73a0 SoC when booting
    using legacy C.

    - ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds

    This fixes a long standing problem which has been present since
    the sh73a0 SoC started using the INTC External IRQ pin driver.

    The patch that introduced the problem is 341eb5465f67437a ("ARM:
    shmobile: INTC External IRQ pin driver on sh73a0") which was included
    in v3.10.

    * tag 'renesas-soc-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances
    ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds

    Olof Johansson
     
  • The arndale-octa board was giving "imprecise external aborts" during
    boot-up with MCPM enabled. CCI enablement of the boot cluster was found
    to be the cause of these aborts (possibly because the secure f/w was not
    allowing it). Hence, disable CCI for the arndale-octa board.

    Signed-off-by: Abhilash Kesavan
    Tested-by: Krzysztof Kozlowski
    Tested-by: Kevin Hilman
    Tested-by: Tyler Baker
    Signed-off-by: Olof Johansson

    Abhilash Kesavan
     
  • Merge "at91: fixes for 3.19 #1 (ter)" from Nicolas Ferre:

    First fixes batch for AT91 on 3.19:
    - fix some DT entries
    - correct clock entry for the at91sam9263 LCD
    - add a phy_fixup for Eth1 on sama5d4

    * tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
    ARM: at91: board-dt-sama5: add phy_fixup to override NAND_Tree
    ARM: at91/dt: sam9263: Add missing clocks to lcdc node
    ARM: at91: sama5d3: dt: correct the sound route
    ARM: at91/dt: sama5d4: fix the timer reg length

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • rk3288 SoCs have a function to automatically switch between jtag/sdmmc pinmux
    settings depending on the card state. This collides with a lot of assumptions.

    It only works when using the internal card-detect mechanism and breaks
    horribly when using either the normal card-detect via the slot-gpio function
    or via any other pin. Also there is of course no link between the mmc and jtag
    on the software-side, so the jtag clocks may very well be disabled when the
    card is ejected and the soc switches back to the jtag pinmux.

    Leaving the switching function enabled did result in mmc timeouts and rcu
    stalls thus hanging the system on 3.19-rc1. Therefore disable it in all cases,
    as we expect the devicetree to explicitly select either mmc or jtag pinmuxes
    anyway.

    Signed-off-by: Heiko Stuebner
    Signed-off-by: Olof Johansson

    Heiko Stübner
     
  • …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
     
  • Pull arm64 fixes from Will Deacon:
    - Wire up compat_sys_execveat for compat (AArch32) tasks
    - Revert 421520ba9829, as this breaks our side of the boot protocol

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: partially revert "ARM: 8167/1: extend the reserved memory for initrd to be page aligned"
    arm64: compat: wire up compat_sys_execveat

    Linus Torvalds
     
  • …it/rostedt/linux-trace

    Pull ftrace fixes from Steven Rostedt:
    "This holds a few fixes to the ftrace infrastructure as well as the
    mixture of function graph tracing and kprobes.

    When jprobes and function graph tracing is enabled at the same time it
    will crash the system:

    # modprobe jprobe_example
    # echo function_graph > /sys/kernel/debug/tracing/current_tracer

    After the first fork (jprobe_example probes it), the system will
    crash.

    This is due to the way jprobes copies the stack frame and does not do
    a normal function return. This messes up with the function graph
    tracing accounting which hijacks the return address from the stack and
    replaces it with a hook function. It saves the return addresses in a
    separate stack to put back the correct return address when done. But
    because the jprobe functions do not do a normal return, their stack
    addresses are not put back until the function they probe is called,
    which means that the probed function will get the return address of
    the jprobe handler instead of its own.

    The simple fix here was to disable function graph tracing while the
    jprobe handler is being called.

    While debugging this I found two minor bugs with the function graph
    tracing.

    The first was about the function graph tracer sharing its function
    hash with the function tracer (they both get filtered by the same
    input). The changing of the set_ftrace_filter would not sync the
    function recording records after a change if the function tracer was
    disabled but the function graph tracer was enabled. This was due to
    the update only checking one of the ops instead of the shared ops to
    see if they were enabled and should perform the sync. This caused the
    ftrace accounting to break and a ftrace_bug() would be triggered,
    disabling ftrace until a reboot.

    The second was that the check to update records only checked one of
    the filter hashes. It needs to test both the "filter" and "notrace"
    hashes. The "filter" hash determines what functions to trace where as
    the "notrace" hash determines what functions not to trace (trace all
    but these). Both hashes need to be passed to the update code to find
    out what change is being done during the update. This also broke the
    ftrace record accounting and triggered a ftrace_bug().

    This patch set also include two more fixes that were reported
    separately from the kprobe issue.

    One was that init_ftrace_syscalls() was called twice at boot up. This
    is not a major bug, but that call performed a rather large kmalloc
    (NR_syscalls * sizeof(*syscalls_metadata)). The second call made the
    first one a memory leak, and wastes memory.

    The other fix is a regression caused by an update in the v3.19 merge
    window. The moving to enable events early, moved the enabling before
    PID 1 was created. The syscall events require setting the
    TIF_SYSCALL_TRACEPOINT for all tasks. But for_each_process_thread()
    does not include the swapper task (PID 0), and ended up being a nop.

    A suggested fix was to add the init_task() to have its flag set, but I
    didn't really want to mess with PID 0 for this minor bug. Instead I
    disable and re-enable events again at early_initcall() where it use to
    be enabled. This also handles any other event that might have its own
    reg function that could break at early boot up"

    * tag 'trace-fixes-v3.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Fix enabling of syscall events on the command line
    tracing: Remove extra call to init_ftrace_syscalls()
    ftrace/jprobes/x86: Fix conflict between jprobes and function graph tracing
    ftrace: Check both notrace and filter for old hash
    ftrace: Fix updating of filters for shared global_ops filters

    Linus Torvalds
     

16 Jan, 2015

5 commits

  • This patch partially reverts commit 421520ba98290a73b35b7644e877a48f18e06004
    (only the arm64 part). There is no guarantee that the boot-loader places other
    images like dtb in a different page than initrd start/end, especially when the
    kernel is built with 64KB pages. When this happens, such pages must not be
    freed. The free_reserved_area() already takes care of rounding up "start" and
    rounding down "end" to avoid freeing partially used pages.

    Cc: # 3.17+
    Reported-by: Peter Maydell
    Signed-off-by: Catalin Marinas
    Signed-off-by: Will Deacon

    Catalin Marinas
     
  • cycles:p and cycles:pp do not work on SLM since commit:

    86a04461a99f ("perf/x86: Revamp PEBS event selection")

    UOPS_RETIRED.ALL is not a PEBS capable event, so it should not be used
    to count cycle number.

    Actually SLM calls intel_pebs_aliases_core2() which uses INST_RETIRED.ANY_P
    to count the number of cycles. It's a PEBS capable event. But inv and
    cmask must be set to count cycles.

    Considering SLM allows all events as PEBS with no flags, only
    INST_RETIRED.ANY_P, inv=1, cmask=16 needs to handled specially.

    Signed-off-by: Kan Liang
    Signed-off-by: Peter Zijlstra (Intel)
    Link: http://lkml.kernel.org/r/1421084541-31639-1-git-send-email-kan.liang@intel.com
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Signed-off-by: Ingo Molnar

    Kan Liang
     
  • This patch fixes a problem with the initialization of the
    sysfs_show() routine for the RAPL PMU.

    The current code was wrongly relying on the EVENT_ATTR_STR()
    macro which uses the events_sysfs_show() function in the x86
    PMU code. That function itself was relying on the x86_pmu data
    structure. Yet RAPL and the core PMU (x86_pmu) have nothing to
    do with each other. They should therefore not interact with
    each other.

    The x86_pmu structure is initialized at boot time based on
    the host CPU model. When the host CPU is not supported, the
    x86_pmu remains uninitialized and some of the callbacks it
    contains are NULL.

    The false dependency with x86_pmu could potentially cause crashes
    in case the x86_pmu is not initialized while the RAPL PMU is. This
    may, for instance, be the case in virtualized environments.

    This patch fixes the problem by using a private sysfs_show()
    routine for exporting the RAPL PMU events.

    Signed-off-by: Stephane Eranian
    Signed-off-by: Peter Zijlstra (Intel)
    Link: http://lkml.kernel.org/r/20150113225953.GA21525@thinkpad
    Cc: vincent.weaver@maine.edu
    Cc: jolsa@redhat.com
    Cc: Arnaldo Carvalho de Melo
    Cc: Linus Torvalds
    Signed-off-by: Ingo Molnar

    Stephane Eranian
     
  • Pull m68k fixlet from Geert Uytterhoeven.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Wire up execveat

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    "A few powerpc fixes"

    * tag 'powerpc-3.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc: Work around gcc bug in current_thread_info()
    cxl: Fix issues when unmapping contexts
    powernv: Fix OPAL tracepoint code

    Linus Torvalds
     

15 Jan, 2015

4 commits

  • If the function graph tracer traces a jprobe callback, the system will
    crash. This can easily be demonstrated by compiling the jprobe
    sample module that is in the kernel tree, loading it and running the
    function graph tracer.

    # modprobe jprobe_example.ko
    # echo function_graph > /sys/kernel/debug/tracing/current_tracer
    # ls

    The first two commands end up in a nice crash after the first fork.
    (do_fork has a jprobe attached to it, so "ls" just triggers that fork)

    The problem is caused by the jprobe_return() that all jprobe callbacks
    must end with. The way jprobes works is that the function a jprobe
    is attached to has a breakpoint placed at the start of it (or it uses
    ftrace if fentry is supported). The breakpoint handler (or ftrace callback)
    will copy the stack frame and change the ip address to return to the
    jprobe handler instead of the function. The jprobe handler must end
    with jprobe_return() which swaps the stack and does an int3 (breakpoint).
    This breakpoint handler will then put back the saved stack frame,
    simulate the instruction at the beginning of the function it added
    a breakpoint to, and then continue on.

    For function tracing to work, it hijakes the return address from the
    stack frame, and replaces it with a hook function that will trace
    the end of the call. This hook function will restore the return
    address of the function call.

    If the function tracer traces the jprobe handler, the hook function
    for that handler will not be called, and its saved return address
    will be used for the next function. This will result in a kernel crash.

    To solve this, pause function tracing before the jprobe handler is called
    and unpause it before it returns back to the function it probed.

    Some other updates:

    Used a variable "saved_sp" to hold kcb->jprobe_saved_sp. This makes the
    code look a bit cleaner and easier to understand (various tries to fix
    this bug required this change).

    Note, if fentry is being used, jprobes will change the ip address before
    the function graph tracer runs and it will not be able to trace the
    function that the jprobe is probing.

    Link: http://lkml.kernel.org/r/20150114154329.552437962@goodmis.org

    Cc: stable@vger.kernel.org # 2.6.30+
    Acked-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     
  • Pull networking fixes from David Miller:

    1) Don't use uninitialized data in IPVS, from Dan Carpenter.

    2) conntrack race fixes from Pablo Neira Ayuso.

    3) Fix TX hangs with i40e, from Jesse Brandeburg.

    4) Fix budget return from poll calls in dnet and alx, from Eric
    Dumazet.

    5) Fix bugus "if (unlikely(x) < 0)" test in AF_PACKET, from Christoph
    Jaeger.

    6) Fix bug introduced by conversion to list_head in TIPC retransmit
    code, from Jon Paul Maloy.

    7) Don't use GFP_NOIO under spinlock in USB kaweth driver, from Alexey
    Khoroshilov.

    8) Fix bridge build with INET disabled, from Arnd Bergmann.

    9) Fix netlink array overrun for PROBE attributes in openvswitch, from
    Thomas Graf.

    10) Don't hold spinlock across synchronize_irq() in tg3 driver, from
    Prashant Sreedharan.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
    tg3: Release tp->lock before invoking synchronize_irq()
    tg3: tg3_reset_task() needs to use rtnl_lock to synchronize
    tg3: tg3_timer() should grab tp->lock before checking for tp->irq_sync
    team: avoid possible underflow of count_pending value for notify_peers and mcast_rejoin
    openvswitch: packet messages need their own probe attribtue
    i40e: adds FCoE configure option
    cxgb4vf: Fix queue allocation for 40G adapter
    netdevice: Add missing parentheses in macro
    bridge: only provide proxy ARP when CONFIG_INET is enabled
    neighbour: fix base_reachable_time(_ms) not effective immediatly when changed
    net: fec: fix MDIO bus assignement for dual fec SoC's
    xen-netfront: use different locks for Rx and Tx stats
    drivers: net: cpsw: fix multicast flush in dual emac mode
    cxgb4vf: Initialize mdio_addr before using it
    net: Corrected the comment describing the ndo operations to reflect the actual prototype for couple of operations
    usb/kaweth: use GFP_ATOMIC under spin_lock in usb_start_wait_urb()
    MAINTAINERS: add me as ibmveth maintainer
    tipc: fix bug in broadcast retransmit code
    update ip-sysctl.txt documentation (v2)
    net/at91_ether: prepare and unprepare clock
    ...

    Linus Torvalds
     
  • Pull kvm fixes from Paolo Bonzini:
    "Two bugfixes for arm64. I will have another pull request next week,
    but otherwise things are calm"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    arm64: KVM: Fix HCR setting for 32bit guests
    arm64: KVM: Fix TLB invalidation by IPA/VMID

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Two small performance tweaks, the plumbing for the execveat system
    call and a couple of bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/uprobes: fix user space PER events
    s390/bpf: Fix JMP_JGE_X (A > X) and JMP_JGT_X (A >= X)
    s390/bpf: Fix ALU_NEG (A = -A)
    s390/mm: avoid using pmd_to_page for !USE_SPLIT_PMD_PTLOCKS
    s390/timex: fix get_tod_clock_ext() inline assembly
    s390: wire up execveat syscall
    s390/kernel: use stnsm 255 instead of stosm 0
    s390/vtime: Get rid of redundant WARN_ON
    s390/zcrypt: kernel oops at insmod of the z90crypt device driver

    Linus Torvalds
     

14 Jan, 2015

2 commits

  • On i.MX28, the MDIO bus is shared between the two FEC instances.
    The driver makes sure that the second FEC uses the MDIO bus of the
    first FEC. This is done conditionally if FEC_QUIRK_ENET_MAC is set.
    However, in newer designs, such as Vybrid or i.MX6SX, each FEC MAC
    has its own MDIO bus. Simply removing the quirk FEC_QUIRK_ENET_MAC
    is not an option since other logic, triggered by this quirk, is
    still needed.

    Furthermore, there are board designs which use the same MDIO bus
    for both PHY's even though the second bus would be available on the
    SoC side. Such layout are popular since it saves pins on SoC side.
    Due to the above quirk, those boards currently do work fine. The
    boards in the mainline tree with such a layout are:
    - Freescale Vybrid Tower with TWR-SER2 (vf610-twr.dts)
    - Freescale i.MX6 SoloX SDB Board (imx6sx-sdb.dts)

    This patch adds a new quirk FEC_QUIRK_SINGLE_MDIO for i.MX28, which
    makes sure that the MDIO bus of the first FEC is used in any case.

    However, the boards above do have a SoC with a MDIO bus for each FEC
    instance. But the PHY's are not connected in a 1:1 configuration. A
    proper device tree description is needed to allow the driver to
    figure out where to find its PHY. This patch fixes that shortcoming
    by adding a MDIO bus child node to the first FEC instance, along
    with the two PHY's on that bus, and making use of the phy-handle
    property to add a reference to the PHY's.

    Acked-by: Sascha Hauer
    Signed-off-by: Stefan Agner
    Signed-off-by: David S. Miller

    Stefan Agner
     
  • Pull xen bug fixes from David Vrabel:
    "Several critical linear p2m fixes that prevented some hosts from
    booting"

    * tag 'stable/for-linus-3.19-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    x86/xen: properly retrieve NMI reason
    xen: check for zero sized area when invalidating memory
    xen: use correct type for physical addresses
    xen: correct race in alloc_p2m_pmd()
    xen: correct error for building p2m list on 32 bits
    x86/xen: avoid freeing static 'name' when kasprintf() fails
    x86/xen: add extra memory for remapped frames during setup
    x86/xen: don't count how many PFNs are identity mapped
    x86/xen: Free bootmem in free_p2m_page() during early boot
    x86/xen: Remove unnecessary BUG_ON(preemptible()) in xen_setup_timer()

    Linus Torvalds
     

13 Jan, 2015

2 commits

  • Using the native code here can't work properly, as the hypervisor would
    normally have cleared the two reason bits by the time Dom0 gets to see
    the NMI (if passed to it at all). There's a shared info field for this,
    and there's an existing hook to use - just fit the two together. This
    is particularly relevant so that NMIs intended to be handled by APEI /
    GHES actually make it to the respective handler.

    Note that the hook can (and should) be used irrespective of whether
    being in Dom0, as accessing port 0x61 in a DomU would be even worse,
    while the shared info field would just hold zero all the time. Note
    further that hardware NMI handling for PVH doesn't currently work
    anyway due to missing code in the hypervisor (but it is expected to
    work the native rather than the PV way).

    Signed-off-by: Jan Beulich
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: David Vrabel

    Jan Beulich
     
  • With 841ee230253f ("ARM: wire up execveat syscall"), arch/arm/ has grown
    support for the execveat system call.

    This patch wires up the compat variant for arm64.

    Signed-off-by: Will Deacon

    Will Deacon
     

12 Jan, 2015

12 commits

  • Appearance: On some SAMA5D4EK boards, after power up, the Eth1 doesn't work.

    Reason: The PIOE2 pin is connected to the NAND_Tree# of KSZ8081,
    But it outputs LOW during the reset period, which cause the NAND_Tree# enabled.

    Add phy_fixup() to disable NAND_Tree by overriding the Operation
    Mode Strap Override register(i.e. Register 16h) to clear the NAND_Tree bit.

    Signed-off-by: Wenyou Yang
    Signed-off-by: Nicolas Ferre

    Wenyou Yang
     
  • atmel_lcdfb needs also uses hclk clock, but AT91SAM9263 doesn't have that
    specific clock, so use lcd_clk twice. The same was done in
    arch/arm/mach-at91/at91sam9263.c

    Signed-off-by: Alexander Stein
    Acked-by: Alexandre Belloni
    Signed-off-by: Nicolas Ferre

    Alexander Stein
     
  • The MICBIAS is a supply, should route to MIC while not IN1L.

    Signed-off-by: Bo Shen
    Signed-off-by: Nicolas Ferre

    Bo Shen
     
  • The second property of reg is the length, so correct it for timer.

    Signed-off-by: Bo Shen
    Signed-off-by: Nicolas Ferre

    Bo Shen
     
  • Commit b856a59141b1 (arm/arm64: KVM: Reset the HCR on each vcpu
    when resetting the vcpu) moved the init of the HCR register to
    happen later in the init of a vcpu, but left out the fixup
    done in kvm_reset_vcpu when preparing for a 32bit guest.

    As a result, the 32bit guest is run as a 64bit guest, but the
    rest of the kernel still manages it as a 32bit. Fun follows.

    Moving the fixup to vcpu_reset_hcr solves the problem for good.

    Signed-off-by: Marc Zyngier
    Signed-off-by: Christoffer Dall
    Signed-off-by: Paolo Bonzini

    Marc Zyngier
     
  • It took about two years for someone to notice that the IPA passed
    to TLBI IPAS2E1IS must be shifted by 12 bits. Clearly our reviewing
    is not as good as it should be...

    Paper bag time for me.

    Reported-by: Mario Smarduch
    Tested-by: Mario Smarduch
    Signed-off-by: Marc Zyngier
    Signed-off-by: Christoffer Dall
    Signed-off-by: Paolo Bonzini

    Marc Zyngier
     
  • With the introduction of the linear mapped p2m list setting memory
    areas to "invalid" had to be delayed. When doing the invalidation
    make sure no zero sized areas are processed.

    Signed-off-by: Juegren Gross
    Signed-off-by: David Vrabel

    Juergen Gross
     
  • When converting a pfn to a physical address be sure to use 64 bit
    wide types or convert the physical address to a pfn if possible.

    Signed-off-by: Juergen Gross
    Tested-by: Boris Ostrovsky
    Signed-off-by: David Vrabel

    Juergen Gross
     
  • When allocating a new pmd for the linear mapped p2m list a check is
    done for not introducing another pmd when this just happened on
    another cpu. In this case the old pte pointer was returned which
    points to the p2m_missing or p2m_identity page. The correct value
    would be the pointer to the found new page.

    Signed-off-by: Juergen Gross
    Signed-off-by: David Vrabel

    Juergen Gross
     
  • In xen_rebuild_p2m_list() for large areas of invalid or identity
    mapped memory the pmd entries on 32 bit systems are initialized
    wrong. Correct this error.

    Suggested-by: Boris Ostrovsky
    Signed-off-by: Juergen Gross
    Signed-off-by: David Vrabel

    Juergen Gross
     
  • If uprobes are single stepped for example with gdb, the behavior should
    now be correct. Before this patch, when gdb was single stepping a uprobe,
    the result was a SIGILL.
    When PER is active for any storage alteration and a uprobe is hit, a storage
    alteration event is indicated. These over indications are filterd out by gdb,
    if no change has happened within the observed area.

    Signed-off-by: Jan Willeke
    Signed-off-by: Martin Schwidefsky

    Jan Willeke
     
  • multi_v7_defconfig has it as Y already, so build it in here, too, for
    consistency, and therefore build in HWMON as well.

    Signed-off-by: Andreas Faerber
    Reviewed-by: Javier Martinez Canillas
    Signed-off-by: Kukjin Kim

    Andreas Faerber