20 Oct, 2020

1 commit


06 Oct, 2020

1 commit

  • Split out all the bits that are purely for dma_map_ops implementations
    and related code into a new header so that they
    don't get pulled into all the drivers. That also means the architecture
    specific is not pulled in by
    any more, which leads to a missing includes that were pulled in by the
    x86 or arm versions in a few not overly portable drivers.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     

18 Sep, 2020

1 commit


07 Aug, 2020

1 commit

  • Pull sched/fifo updates from Ingo Molnar:
    "This adds the sched_set_fifo*() encapsulation APIs to remove static
    priority level knowledge from non-scheduler code.

    The three APIs for non-scheduler code to set SCHED_FIFO are:

    - sched_set_fifo()
    - sched_set_fifo_low()
    - sched_set_normal()

    These are two FIFO priority levels: default (high), and a 'low'
    priority level, plus sched_set_normal() to set the policy back to
    non-SCHED_FIFO.

    Since the changes affect a lot of non-scheduler code, we kept this in
    a separate tree"

    * tag 'sched-fifo-2020-08-04' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    sched,tracing: Convert to sched_set_fifo()
    sched: Remove sched_set_*() return value
    sched: Remove sched_setscheduler*() EXPORTs
    sched,psi: Convert to sched_set_fifo_low()
    sched,rcutorture: Convert to sched_set_fifo_low()
    sched,rcuperf: Convert to sched_set_fifo_low()
    sched,locktorture: Convert to sched_set_fifo()
    sched,irq: Convert to sched_set_fifo()
    sched,watchdog: Convert to sched_set_fifo()
    sched,serial: Convert to sched_set_fifo()
    sched,powerclamp: Convert to sched_set_fifo()
    sched,ion: Convert to sched_set_normal()
    sched,powercap: Convert to sched_set_fifo*()
    sched,spi: Convert to sched_set_fifo*()
    sched,mmc: Convert to sched_set_fifo*()
    sched,ivtv: Convert to sched_set_fifo*()
    sched,drm/scheduler: Convert to sched_set_fifo*()
    sched,msm: Convert to sched_set_fifo*()
    sched,psci: Convert to sched_set_fifo*()
    sched,drbd: Convert to sched_set_fifo*()
    ...

    Linus Torvalds
     

21 Jul, 2020

1 commit


15 Jun, 2020

1 commit

  • Because SCHED_FIFO is a broken scheduler model (see previous patches)
    take away the priority field, the kernel can't possibly make an
    informed decision.

    In this case, use fifo_low, because it only cares about being above
    SCHED_NORMAL. Effectively no change in behaviour.

    Cc: rmk+kernel@arm.linux.org.uk
    Signed-off-by: Peter Zijlstra (Intel)
    Reviewed-by: Ingo Molnar
    Acked-by: Nicolas Pitre

    Peter Zijlstra
     

16 Mar, 2020

1 commit

  • The irq_retrigger callback is supposed to return 0 when retrigger
    has failed, and a non-zero value otherwise. Tell the core code
    that the driver has succedded in using the HW to retrigger the
    interrupt (if ever).

    Signed-off-by: Marc Zyngier
    Link: https://lore.kernel.org/r/20200310184921.23552-4-maz@kernel.org

    Marc Zyngier
     

04 Sep, 2019

1 commit


15 Jul, 2019

1 commit

  • Converts ARM the text files to ReST, preparing them to be an
    architecture book.

    The conversion is actually:
    - add blank lines and identation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Reviewed-by Corentin Labbe # For sun4i-ss

    Mauro Carvalho Chehab
     

09 Jul, 2019

1 commit

  • Pull SMP/hotplug updates from Thomas Gleixner:
    "A small set of updates for SMP and CPU hotplug:

    - Abort disabling secondary CPUs in the freezer when a wakeup is
    pending instead of evaluating it only after all CPUs have been
    offlined.

    - Remove the shared annotation for the strict per CPU cfd_data in the
    smp function call core code.

    - Remove the return values of smp_call_function() and on_each_cpu()
    as they are unconditionally 0. Fixup the few callers which actually
    bothered to check the return value"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    smp: Remove smp_call_function() and on_each_cpu() return values
    smp: Do not mark call_function_data as shared
    cpu/hotplug: Abort disabling secondary CPUs if wakeup is pending
    cpu/hotplug: Fix notify_cpu_starting() reference in bringup_wait_for_ap()

    Linus Torvalds
     

23 Jun, 2019

1 commit

  • The return value is fixed. Remove it and amend the callers.

    [ tglx: Fixup arm/bL_switcher and powerpc/rtas ]

    Signed-off-by: Nadav Amit
    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Dave Hansen
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Andrew Morton
    Link: https://lkml.kernel.org/r/20190613064813.8102-2-namit@vmware.com

    Nadav Amit
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation this program is
    distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 655 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070034.575739538@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

15 May, 2019

1 commit


26 Feb, 2019

1 commit

  • MCPM does a soft reset of the CPUs and uses common cpu_resume() routine to
    perform low-level platform initialization. This results in a try to install
    HYP stubs for the second time for each CPU and results in false HYP/SVC
    mode mismatch detection. The HYP stubs are already installed at the
    beginning of the kernel initialization on the boot CPU (head.S) or in the
    secondary_startup() for other CPUs. To fix this issue MCPM code should use
    a cpu_resume() routine without HYP stubs installation.

    This change fixes HYP/SVC mode mismatch on Samsung Exynos5422-based Odroid
    XU3/XU4/HC1 boards.

    Fixes: 3721924c8154 ("ARM: 8081/1: MCPM: provide infrastructure to allow for MCPM loopback")
    Signed-off-by: Marek Szyprowski
    Acked-by: Nicolas Pitre
    Tested-by: Anand Moon
    Signed-off-by: Russell King

    Marek Szyprowski
     

06 Jan, 2019

1 commit

  • Pull ARM updates from Russell King:
    "Included in this update:

    - Florian Fainelli noticed that userspace segfaults caused by the
    lack of kernel-userspace helpers was hard to diagnose; we now issue
    a warning when userspace tries to use the helpers but the kernel
    has them disabled.

    - Ben Dooks wants compatibility for the old ATAG serial number with
    DT systems.

    - Some cleanup of assembly by Nicolas Pitre.

    - User accessors optimisation from Vincent Whitchurch.

    - More robust kdump on SMP systems from Yufen Wang.

    - Sebastian Andrzej Siewior noticed problems with the SMP "boot_lock"
    on RT kernels, and so we convert the Versatile series of platforms
    to use a raw spinlock instead, consolidating the Versatile
    implementation. We entirely remove the boot_lock on OMAP systems,
    where it's unnecessary. Further patches for other systems will be
    submitted for the following merge window.

    - Start switching old StrongARM-11x0 systems to use gpiolib rather
    than their private GPIO implementation - mostly PCMCIA bits.

    - ARM Kconfig cleanups.

    - Cleanup a mostly harmless mistake in the recent Spectre patch in
    4.20 (which had the effect that data that can be placed into the
    init sections was incorrectly always placed in the rodata section)"

    * tag 'for-4.21' of git://git.armlinux.org.uk/~rmk/linux-arm: (25 commits)
    ARM: omap2: remove unnecessary boot_lock
    ARM: versatile: rename and comment SMP implementation
    ARM: versatile: convert boot_lock to raw
    ARM: vexpress/realview: consolidate immitation CPU hotplug
    ARM: fix the cockup in the previous patch
    ARM: sa1100/cerf: switch to using gpio_led_register_device()
    ARM: sa1100/assabet: switch to using gpio leds
    ARM: sa1100/assabet: add gpio keys support for right-hand two buttons
    ARM: sa1111: remove legacy GPIO interfaces
    pcmcia: sa1100*: remove redundant bvd1/bvd2 setting
    ARM: pxa/lubbock: switch PCMCIA to MAX1600 library
    ARM: pxa/mainstone: switch PCMCIA to MAX1600 library and gpiod APIs
    ARM: sa1100/neponset: switch PCMCIA to MAX1600 library and gpiod APIs
    ARM: sa1100/jornada720: switch PCMCIA to gpiod APIs
    pcmcia: add MAX1600 library
    ARM: sa1100: explicitly register sa11x0-pcmcia devices
    ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+
    ARM: 8812/1: Optimise copy_{from/to}_user for !CPU_USE_DOMAINS
    ARM: 8811/1: always list both ldrd/strd registers explicitly
    ARM: 8808/1: kexec:offline panic_smp_self_stop CPU
    ...

    Linus Torvalds
     

06 Dec, 2018

1 commit


05 Dec, 2018

1 commit


18 Oct, 2018

1 commit

  • Krait CPUs have a handful of L2 cache controller registers that
    live behind a cp15 based indirection register. First you program
    the indirection register (l2cpselr) to point the L2 'window'
    register (l2cpdr) at what you want to read/write. Then you
    read/write the 'window' register to do what you want. The
    l2cpselr register is not banked per-cpu so we must lock around
    accesses to it to prevent other CPUs from re-pointing l2cpdr
    underneath us.

    Cc: Mark Rutland
    Cc: Russell King
    Acked-by: Bjorn Andersson
    Signed-off-by: Stephen Boyd
    Signed-off-by: Sricharan R
    Tested-by: Craig Tatlor
    Signed-off-by: Stephen Boyd

    Stephen Boyd
     

24 Jun, 2018

1 commit

  • If CONFIG_SMP=n, building a kernel for R-Car Gen2 fails with:

    arch/arm/mach-shmobile/setup-rcar-gen2.o: In function `rcar_gen2_timer_init':
    setup-rcar-gen2.c:(.init.text+0x30): undefined reference to `secure_cntvoff_init'

    Indeed, on R-Car Gen2 SoCs, secure_cntvoff_init() is not only needed for
    secondary CPUs, but also for the boot CPU. This is most visible on SoCs
    with Cortex A7 cores (e.g. R-Car E2, cfr. commit 9ce3fa6816c2fb59 ("ARM:
    shmobile: rcar-gen2: Add CA7 arch_timer initialization for r8a7794")),
    but Cortex A15 is affected, too.

    Fix this by always providing secure_cntvoff_init() when building for ARM
    V7.

    Reported-by: Arnd Bergmann
    Fixes: 7c607944bc657616 ("ARM: smp: Add initialization of CNTVOFF")
    Fixes: cad160ed0a94927e ("ARM: shmobile: Convert file to use cntvoff")
    Signed-off-by: Geert Uytterhoeven
    Reviewed-by: Maxime Ripard
    Reviewed-by: Simon Horman
    Signed-off-by: Olof Johansson

    Geert Uytterhoeven
     

12 Jun, 2018

1 commit

  • Pull ARM SoC platform updates from Olof Johansson:
    "Here are the main updates for SoC support (besides DT additions) for
    ARM 32- and 64-bit platforms. The branch also contains defconfig
    updates to turn on drivers and options as needed on the various
    platforms.

    The largest parts of the delta are from cleanups moving platform data
    and board file setup of TI platforms to ti-sysc bus drivers. There are
    also some sweeping changes of eeprom and nand setup on Davinci, i.MX
    and other platforms.

    Samsung is removing support for Exynos5440, which was an oddball SoC
    that hasn't been seen much use in designs.

    Renesas is adding support for new SoCs (R-Car E3, RZ/G1C and RZ/N1D).

    Linus Walleij is also removing support for ux500 (Sony Ericsson)
    U8540/9540 SoCs that never made it to significant mass production and
    products"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits)
    MAINTAINERS: add NXP linux team maillist as i.MX reviewer
    ARM: stm32: Don't select DMA unconditionally on STM32MP157C
    arm64: defconfig: Enable PCIe on msm8996 and db820c
    ARM: pxa3xx: enable external wakeup pins
    ARM: pxa: stargate2: use device properties for at24 eeprom
    arm64: defconfig: Enable HISILICON_LPC
    arm64: defconfig: enable drivers for Poplar support
    arm64: defconfig: Enable UFS on msm8996
    ARM: berlin: switch to SPDX license identifier
    arm: berlin: remove non-necessary flush_cache_all()
    ARM: berlin: extend BG2CD Kconfig entry
    OMAP: CLK: CLKSRC: Add suspend resume hooks
    ARM: AM43XX: Add functions to save/restore am43xx control registers
    ASoC: ams_delta: use GPIO lookup table
    ARM: OMAP1: ams-delta: add GPIO lookup tables
    bus: ti-sysc: Fix optional clocks array access
    ARM: OMAP2+: Make sure LOGICRETSTATE bits are not cleared
    ARM: OMAP2+: prm44xx: Inroduce cpu_pm notifiers for context save/restore
    ARM: OMAP2+: prm44xx: Introduce context save/restore for am43 PRCM IO
    ARM: OMAP2+: powerdomain: Introduce cpu_pm notifiers for context save/restore
    ...

    Linus Torvalds
     

29 May, 2018

1 commit

  • Now that the ARM CCI PMU driver can be built as a loadable module,
    we get a link failure when MCPM is enabled:

    ERROR: "mcpm_is_available" [drivers/perf/arm-cci.ko] undefined!

    The simplest fix is to export that helper function.

    Fixes: 8b0c93c20ef7 ("perf/arm-cci: Allow building as a module")
    Acked-by: Nicolas Pitre
    Acked-by: Russell King
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Will Deacon

    Arnd Bergmann
     

08 May, 2018

1 commit

  • The CNTVOFF register from arch timer is uninitialized.
    It should be done by the bootloader but it is currently not the case,
    even for boot CPU because this SoC is booting in secure mode.
    It leads to an random offset value meaning that each CPU will have a
    different time, which isn't working very well.

    Add assembly code used for boot CPU and secondary CPU cores to make
    sure that the CNTVOFF register is initialized. Because this code can
    be used by different platforms, add this assembly file in ARM's common
    folder.

    Signed-off-by: Mylène Josserand
    Reviewed-by: Geert Uytterhoeven
    Tested-by: Geert Uytterhoeven
    Reviewed-by: Marc Zyngier
    Signed-off-by: Maxime Ripard

    Mylène Josserand
     

21 Jan, 2018

2 commits


29 Nov, 2017

4 commits


27 Nov, 2017

1 commit


13 Nov, 2017

1 commit

  • * pm-sleep:
    freezer: Fix typo in freezable_schedule_timeout() comment
    PM / s2idle: Clear the events_check_enabled flag
    PM / sleep: Remove pm_complete_with_resume_check()
    PM: ARM: locomo: Drop suspend and resume bus type callbacks
    PM: Use a more common logging style
    PM: Document rules on using pm_runtime_resume() in system suspend callbacks

    Rafael J. Wysocki
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

05 Oct, 2017

1 commit


28 Jun, 2017

3 commits


24 May, 2017

1 commit

  • Commit 9da5ac236de6 ("ARM: soft-reboot into same mode that we entered
    the kernel") added support to enter the new kernel in the same processor
    mode as the previous one when we soft-reboot from one kernel into
    another by pass a flag to cpu_reset() so it knows what to do exactly.

    However it missed to make similar changes in MCPM code. Due to the
    missing flag, the CPUs enter HYP mode which is not supported with MCPM.
    MCPM works only in secure mode as it manages CCI.

    This patch aligns the cpu_reset call in MCPM with other changes in the
    above mentioned commit by making phys_reset_t to follow the prototype
    of cpu_reset().

    Fixes: 9da5ac236de6 ("ARM: soft-reboot into same mode that we entered the kernel")
    Acked-by: Nicolas Pitre
    Signed-off-by: Sudeep Holla
    Signed-off-by: Russell King

    Sudeep Holla
     

07 Apr, 2017

1 commit

  • This moves the ICST clock divider helper library from
    arch/arm/common to drivers/clk/versatile so it is maintained
    with the other clock drivers.

    We keep the structure as a helper library intact and do not
    fuse it with the clk-icst.c Versatile ICST clock driver: there
    may be other users out there that need to use this library for
    their clocking, and then it will be helpful to keep the
    library contained. (The icst.[c|h] files could just be moved
    to drivers/clk/lib or a similar location to share the library.)

    Acked-by: Stephen Boyd
    Signed-off-by: Linus Walleij

    Linus Walleij
     

02 Mar, 2017

2 commits