01 Dec, 2018

1 commit

  • (commit 10d8713429d345867fc8998d6193b233c0cab28c upstream)

    Mixing asm and C code is not recommended in a naked function by
    gcc and leads to an error when using clang:
    drivers/bus/arm-cci.c:2107:2: error: non-ASM statement in naked
    function is not supported
    unreachable();
    ^

    While the function is marked __naked it actually properly return
    in asm. There is no need for the unreachable() call.

    GCC 7.2 generates identical object files before and after, other
    than (for obvious reasons) the line numbers generated by
    WANT_WARN_ON_SLOWPATH for all the WARN()s appearing later in the
    file.

    Suggested-by: Russell King
    Signed-off-by: Stefan Agner
    Acked-by: Nicolas Pitre
    Reviewed-by: Robin Murphy
    Signed-off-by: Olof Johansson
    Signed-off-by: Nick Desaulniers
    Signed-off-by: Greg Kroah-Hartman

    Stefan Agner
     

03 Aug, 2018

1 commit

  • [ Upstream commit 1898eb61fbc9703efee886d3abec27a388cf28c3 ]

    The ARM CCN PMU driver uses dev_warn() to complain about parameters in
    the user-provided perf_event_attr. This means that under normal
    operation (e.g. a single invocation of the perf tool), a number of
    messages warnings may be logged to dmesg.

    Tools may issue multiple syscalls to probe for feature support, and
    multiple applications (from multiple users) can attempt to open events
    simultaneously, so this is not very helpful, even if a user happens to
    have access to dmesg. Worse, this can push important information out of
    the dmesg ring buffer, and can significantly slow down syscall fuzzers,
    vastly increasing the time it takes to find critical bugs.

    Demote the dev_warn() instances to dev_dbg(), as is the case for all
    other PMU drivers under drivers/perf/. Users who wish to debug PMU event
    initialisation can enable dynamic debug to receive these messages.

    Signed-off-by: Mark Rutland
    Cc: Pawel Moll
    Cc: Will Deacon
    Signed-off-by: Will Deacon
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Mark Rutland
     

10 Jan, 2018

1 commit

  • commit e2bf801ecd4e62222a46d1ba9e57e710171d29c1 upstream.

    Include the OF-based modalias in the uevent sent when registering devices
    on the sunxi RSB bus, so that user space has a chance to autoload the
    kernel module for the device.

    Fixes a regression caused by commit 3f241bfa60bd ("arm64: allwinner: a64:
    pine64: Use dcdc1 regulator for mmc0"). When the axp20x-rsb module for
    the AXP803 PMIC is built as a module, it is not loaded and the system
    ends up with an disfunctional MMC controller.

    Fixes: d787dcdb9c8f ("bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus")
    Acked-by: Chen-Yu Tsai
    Signed-off-by: Stefan Brüns
    Signed-off-by: Maxime Ripard
    Signed-off-by: Greg Kroah-Hartman

    Stefan Brüns
     

20 Dec, 2017

1 commit

  • [ Upstream commit c7f5828bf77dcbd61d51f4736c1d5aa35663fbb4 ]

    When the PMU driver is built as a module, the perf expects the
    pmu->module to be valid, so that the driver is prevented from
    being unloaded while it is in use. Fix the CCN pmu driver to
    fill in this field.

    Fixes: a33b0daab73a0 ("bus: ARM CCN PMU driver")
    Cc: Pawel Moll
    Cc: Will Deacon
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Will Deacon
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Suzuki K Poulose
     

14 Dec, 2017

4 commits

  • commit b69f63ebf553504739cc8534cbed31bd530c6f0b upstream.

    Unregistering the driver before calling cpuhp_remove_multi_state() removes
    any remaining hotplug cpu instances so __cpuhp_remove_state_cpuslocked()
    doesn't emit this warning:

    [ 268.748362] Error: Removing state 147 which has instances left.
    [ 268.748373] ------------[ cut here ]------------
    [ 268.748386] WARNING: CPU: 2 PID: 5476 at kernel/cpu.c:1734 __cpuhp_remove_state_cpuslocked+0x454/0x4f0
    [ 268.748389] Modules linked in: arm_ccn(-) [last unloaded: arm_ccn]
    [ 268.748403] CPU: 2 PID: 5476 Comm: rmmod Tainted: G W 4.14.0-rc4+ #3
    [ 268.748406] Hardware name: AMD Seattle/Seattle, BIOS 10:18:39 Dec 8 2016
    [ 268.748410] task: ffff8001a18ca000 task.stack: ffff80019c120000
    [ 268.748416] PC is at __cpuhp_remove_state_cpuslocked+0x454/0x4f0
    [ 268.748421] LR is at __cpuhp_remove_state_cpuslocked+0x448/0x4f0
    [ 268.748425] pc : [] lr : [] pstate: 60000145
    [ 268.748427] sp : ffff80019c127d30
    [ 268.748430] x29: ffff80019c127d30 x28: ffff8001a18ca000
    [ 268.748437] x27: ffff20000c2cb000 x26: 1fffe4000042d490
    [ 268.748443] x25: ffff20000216a480 x24: 0000000000000000
    [ 268.748449] x23: ffff20000b08e000 x22: 0000000000000001
    [ 268.748455] x21: 0000000000000093 x20: 00000000000016f8
    [ 268.748460] x19: ffff20000c2cbb80 x18: 0000ffffb5fe7c58
    [ 268.748466] x17: 00000000004402d0 x16: 1fffe40001864f01
    [ 268.748472] x15: ffff20000c4bf8b0 x14: 0000000000000000
    [ 268.748477] x13: 0000000000007032 x12: ffff20000829ae48
    [ 268.748483] x11: ffff20000c4bf000 x10: 0000000000000004
    [ 268.748488] x9 : 0000000000006fbc x8 : ffff20000c318a40
    [ 268.748494] x7 : 0000000000000000 x6 : ffff040001864f02
    [ 268.748500] x5 : 0000000000000000 x4 : 0000000000000000
    [ 268.748505] x3 : 0000000000000007 x2 : dfff200000000000
    [ 268.748510] x1 : 000000000000ad3d x0 : 00000000000001f0
    [ 268.748516] Call trace:
    [ 268.748521] Exception stack(0xffff80019c127bf0 to 0xffff80019c127d30)
    [ 268.748526] 7be0: 00000000000001f0 000000000000ad3d
    [ 268.748531] 7c00: dfff200000000000 0000000000000007 0000000000000000 0000000000000000
    [ 268.748535] 7c20: ffff040001864f02 0000000000000000 ffff20000c318a40 0000000000006fbc
    [ 268.748539] 7c40: 0000000000000004 ffff20000c4bf000 ffff20000829ae48 0000000000007032
    [ 268.748544] 7c60: 0000000000000000 ffff20000c4bf8b0 1fffe40001864f01 00000000004402d0
    [ 268.748548] 7c80: 0000ffffb5fe7c58 ffff20000c2cbb80 00000000000016f8 0000000000000093
    [ 268.748553] 7ca0: 0000000000000001 ffff20000b08e000 0000000000000000 ffff20000216a480
    [ 268.748557] 7cc0: 1fffe4000042d490 ffff20000c2cb000 ffff8001a18ca000 ffff80019c127d30
    [ 268.748562] 7ce0: ffff2000081729e0 ffff80019c127d30 ffff2000081729ec 0000000060000145
    [ 268.748566] 7d00: 00000000000001f0 0000000000000000 0001000000000000 0000000000000000
    [ 268.748569] 7d20: ffff80019c127d30 ffff2000081729ec
    [ 268.748575] [] __cpuhp_remove_state_cpuslocked+0x454/0x4f0
    [ 268.748580] [] __cpuhp_remove_state+0x54/0x80
    [ 268.748597] [] arm_ccn_exit+0x2c/0x70 [arm_ccn]
    [ 268.748604] [] SyS_delete_module+0x5a4/0x708
    [ 268.748607] Exception stack(0xffff80019c127ec0 to 0xffff80019c128000)
    [ 268.748612] 7ec0: 0000000019bb7258 0000000000000800 ba64d0fb3d26a800 00000000000000da
    [ 268.748616] 7ee0: 0000ffffb6144e28 0000ffffcd95b409 fefefefefefefeff 7f7f7f7f7f7f7f7f
    [ 268.748621] 7f00: 000000000000006a 1999999999999999 0000ffffb6179000 0000000000bbcc6d
    [ 268.748625] 7f20: 0000ffffb6176b98 0000ffffcd95c2d0 0000ffffb5fe7b58 0000ffffb6163000
    [ 268.748630] 7f40: 0000ffffb60ad3e0 00000000004402d0 0000ffffb5fe7c58 0000000019bb71f0
    [ 268.748634] 7f60: 0000ffffcd95c740 0000000000000000 0000000019bb71f0 0000000000416700
    [ 268.748639] 7f80: 0000000000000000 00000000004402e8 0000000019bb6010 0000ffffcd95c748
    [ 268.748643] 7fa0: 0000000000000000 0000ffffcd95c460 00000000004113a8 0000ffffcd95c460
    [ 268.748648] 7fc0: 0000ffffb60ad3e8 0000000080000000 0000000019bb7258 000000000000006a
    [ 268.748652] 7fe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
    [ 268.748657] [] __sys_trace_return+0x0/0x4
    [ 268.748661] ---[ end trace a996d358dcaa7f9c ]---

    Fixes: 8df038725ad5 ("bus/arm-ccn: Use cpu-hp's multi instance support instead custom list")
    Signed-off-by: Kim Phillips
    Acked-by: Sebastian Andrzej Siewior
    Signed-off-by: Pawel Moll
    Signed-off-by: Greg Kroah-Hartman

    Kim Phillips
     
  • commit b18c2b9487d8e797fc0a757e57ac3645348c5fba upstream.

    Booting a DEBUG_PREEMPT enabled kernel on a CCN-based system
    results in the following splat:

    [...]
    arm-ccn e8000000.ccn: No access to interrupts, using timer.
    BUG: using smp_processor_id() in preemptible [00000000] code: swapper/0/1
    caller is debug_smp_processor_id+0x1c/0x28
    CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.13.0 #6111
    Hardware name: AMD Seattle/Seattle, BIOS 17:08:23 Jun 26 2017
    Call trace:
    [] dump_backtrace+0x0/0x278
    [] show_stack+0x24/0x30
    [] dump_stack+0x8c/0xb0
    [] check_preemption_disabled+0xfc/0x100
    [] debug_smp_processor_id+0x1c/0x28
    [] arm_ccn_probe+0x358/0x4f0
    [...]

    as we use smp_processor_id() in the wrong context.

    Turn this into a get_cpu()/put_cpu() that extends over the CPU hotplug
    registration, making sure that we don't race against a CPU down operation.

    Signed-off-by: Marc Zyngier
    Acked-by: Mark Rutland
    Signed-off-by: Pawel Moll
    Signed-off-by: Greg Kroah-Hartman

    Marc Zyngier
     
  • commit 24771179c5c138f0ea3ef88b7972979f62f2d5db upstream.

    Check memory allocation failures and return -ENOMEM in such cases

    This avoids a potential NULL pointer dereference.

    Signed-off-by: Christophe JAILLET
    Acked-by: Scott Branden
    Signed-off-by: Pawel Moll
    Signed-off-by: Greg Kroah-Hartman

    Christophe JAILLET
     
  • commit 4608af8aa53e7f3922ddee695d023b7bcd5cb35b upstream.

    The ARM CCI driver seem to be using smp_processor_id() in a
    preemptible context, which is likely to make a DEBUG_PREMPT
    kernel scream at boot time.

    Turn this into a get_cpu()/put_cpu() that extends over the CPU
    hotplug registration, making sure that we don't race against
    a CPU down operation.

    Signed-off-by: Marc Zyngier
    Acked-by: Mark Rutland
    Signed-off-by: Pawel Moll
    Signed-off-by: Greg Kroah-Hartman

    Marc Zyngier
     

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
     

12 Oct, 2017

1 commit

  • At least the Armada XP SoC supports 4GB on a single DRAM window. Because
    the size register values contain the actual size - 1, the MSB is set in
    that case. For example, the SDRAM window's control register's value is
    0xffffffe1 for 4GB (bits 31 to 24 contain the size).

    The MBUS driver reads back each window's size from registers and
    calculates the actual size as (control_reg | ~DDR_SIZE_MASK) + 1, which
    overflows for 32 bit values, resulting in other miscalculations further
    on (a bad RAM window for the CESA crypto engine calculated by
    mvebu_mbus_setup_cpu_target_nooverlap() in my case).

    This patch changes the type in 'struct mbus_dram_window' from u32 to
    u64, which allows us to keep using the same register calculation code in
    most MBUS-using drivers (which calculate ->size - 1 again).

    Fixes: fddddb52a6c4 ("bus: introduce an Marvell EBU MBus driver")
    CC: stable@vger.kernel.org
    Signed-off-by: Jan Luebbe
    Signed-off-by: Gregory CLEMENT

    Jan Luebbe
     

11 Sep, 2017

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "This branch contains platform-related driver updates for ARM and ARM64.

    Among them:

    - Reset driver updates:
    + New API for dealing with arrays of resets
    + Make unimplemented {de,}assert return success on shared resets
    + MSDKv1 driver
    + Removal of obsolete Gemini reset driver
    + Misc updates for sunxi and Uniphier

    - SoC drivers:
    + Platform SoC driver registration on Tegra
    + Shuffle of Qualcomm drivers into a submenu
    + Allwinner A64 support for SRAM
    + Renesas R-Car R3 support
    + Power domains for Rockchip RK3366

    - Misc updates and smaller fixes for TEE and memory driver
    subsystems"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    firmware: arm_scpi: fix endianness of dev_id in struct dev_pstate_set
    soc/tegra: fuse: Add missing semi-colon
    soc/tegra: Restrict SoC device registration to Tegra
    drivers: soc: sunxi: add support for A64 and its SRAM C
    drivers: soc: sunxi: add support for remapping func value to reg value
    drivers: soc: sunxi: fix error processing on base address when claiming
    dt-bindings: add binding for Allwinner A64 SRAM controller and SRAM C
    bus: sunxi-rsb: Enable by default for ARM64
    soc/tegra: Register SoC device
    firmware: tegra: set drvdata earlier
    memory: Convert to using %pOF instead of full_name
    soc: Convert to using %pOF instead of full_name
    bus: Convert to using %pOF instead of full_name
    firmware: Convert to using %pOF instead of full_name
    soc: mediatek: add SCPSYS power domain driver for MediaTek MT7622 SoC
    soc: mediatek: add header files required for MT7622 SCPSYS dt-binding
    soc: mediatek: reduce code duplication of scpsys_probe across all SoCs
    dt-bindings: soc: update the binding document for SCPSYS on MediaTek MT7622 SoC
    reset: uniphier: add analog amplifiers reset control
    reset: uniphier: add video input subsystem reset control
    ...

    Linus Torvalds
     

21 Aug, 2017

1 commit

  • …l/git/sunxi/linux into next/drivers

    Pull "Allwinner driver changes for 4.14" from Chen-Yu Tsai:

    Usual driver changes:

    - SUNXI_RSB bus driver enabled by default for ARM64

    - Support for SRAM controller and SRAM C block on the A64 added

    * tag 'sunxi-drivers-for-4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
    drivers: soc: sunxi: add support for A64 and its SRAM C
    drivers: soc: sunxi: add support for remapping func value to reg value
    drivers: soc: sunxi: fix error processing on base address when claiming
    dt-bindings: add binding for Allwinner A64 SRAM controller and SRAM C
    bus: sunxi-rsb: Enable by default for ARM64

    Arnd Bergmann
     

19 Aug, 2017

1 commit

  • …b/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

    Pull "non-urgent fixes for omaps for v4.14" from Tony Lindgren:

    Non-urgent fixes for omaps for v4.14 merge window. These all
    can wait for the merge window as we have not seemed to hit
    any of these so far:

    - Fix error handling in omap_ocp2scp_probe affecting runtime
    PM error path

    - Drop broken RPM status update for omap_device

    - Two fixes for of_irq_get() usage that can return 0

    * tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP4+: PRM: fix of_irq_get() result checks
    ARM: OMAP3+: PRM: fix of_irq_get() result check
    ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
    bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe

    Arnd Bergmann
     

18 Aug, 2017

1 commit

  • Allwinner's A64 SoC uses the "Reduced Serial Bus" to communicate with
    its companion PMIC.

    Since arm64 does not have separate defconfigs for each platform or
    processor family, enable this driver by default for ARM64 as well.
    Note that the Kconfig symbol already depends on ARCH_SUNXI.

    Signed-off-by: Jagan Teki
    [wens@csie.org: Refined commit message]
    Signed-off-by: Chen-Yu Tsai

    Jagan Teki
     

16 Aug, 2017

1 commit

  • Now that we have a custom printf format specifier, convert users of
    full_name to use %pOF instead. This is preparation to remove storing
    of the full path string for each node.

    Signed-off-by: Rob Herring
    Acked-by: Maxime Ripard
    Cc: Chen-Yu Tsai
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Arnd Bergmann

    Rob Herring
     

04 Aug, 2017

1 commit


12 Jul, 2017

1 commit


10 Jul, 2017

1 commit

  • Pull drm updates from Dave Airlie:
    "This is the main pull request for the drm, I think I've got one later
    driver pull for mediatek SoC driver, I'm undecided on if it needs to
    go to you yet.

    Otherwise summary below:

    Core drm:
    - Atomic add driver private objects
    - Deprecate preclose hook in modern drivers
    - MST bandwidth tracking
    - Use kvmalloc in more places
    - Add mode_valid hook for crtc/encoder/bridge
    - Reduce sync_file construction time
    - Documentation updates
    - New DRM synchronisation object support

    New drivers:
    - pl111 - pl111 CLCD display controller

    Panel:
    - Innolux P079ZCA panel driver
    - Add NL12880B20-05, NL192108AC18-02D, P320HVN03 panels
    - panel-samsung-s6e3ha2: Add s6e3hf2 panel support

    i915:
    - SKL+ watermark fixes
    - G4x/G33 reset improvements
    - DP AUX backlight improvements
    - Buffer based GuC/host communication
    - New getparam for (sub)slice infomation
    - Cannonlake and Coffeelake initial patches
    - Execbuf optimisations

    radeon/amdgpu:
    - Lots of Vega10 bug fixes
    - Preliminary raven support
    - KIQ support for compute rings
    - MEC queue management rework
    - DCE6 Audio support
    - SR-IOV improvements
    - Better radeon/amdgpu selection support

    nouveau:
    - HDMI stereoscopic support
    - Display code rework for >= GM20x GPUs

    msm:
    - GEM rework for fine-grained locking
    - Per-process pagetable work
    - HDMI fixes for Snapdragon 820.

    vc4:
    - Remove 256MB CMA limit from vc4
    - Add out-fence support
    - Add support for cygnus
    - Get/set tiling ioctls support
    - Add T-format tiling support for scanout

    zte:
    - add VGA support.

    etnaviv:
    - Thermal throttle support for newer GPUs
    - Restore userspace buffer cache performance
    - dma-buf sync fix

    stm:
    - add stm32f429 display support

    exynos:
    - Rework vblank handling
    - Fixup sw-trigger code

    sun4i:
    - V3s display engine support
    - HDMI support for older SoCs
    - Preliminary work on dual-pipeline SoCs.

    rcar-du:
    - VSP work

    imx-drm:
    - Remove counter load enable from PRE
    - Double read/write reduction flag support

    tegra:
    - Documentation for the host1x and drm driver.
    - Lots of staging ioctl fixes due to grate project work.

    omapdrm:
    - dma-buf fence support
    - TILER rotation fixes"

    * tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux: (1270 commits)
    drm: Remove unused drm_file parameter to drm_syncobj_replace_fence()
    drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu.
    amdgpu: Set cik/si_support to 1 by default if radeon isn't built
    drm/amdgpu/gfx9: fix driver reload with KIQ
    drm/amdgpu/gfx8: fix driver reload with KIQ
    drm/amdgpu: Don't call amd_powerplay_destroy() if we don't have powerplay
    drm/ttm: Fix use-after-free in ttm_bo_clean_mm
    drm/amd/amdgpu: move get memory type function from early init to sw init
    drm/amdgpu/cgs: always set reference clock in mode_info
    drm/amdgpu: fix vblank_time when displays are off
    drm/amd/powerplay: power value format change for Vega10
    drm/amdgpu/gfx9: support the amdgpu.disable_cu option
    drm/amd/powerplay: change PPSMC_MSG_GetCurrPkgPwr for Vega10
    drm/amdgpu: Make amdgpu_cs_parser_init static (v2)
    drm/amdgpu/cs: fix a typo in a comment
    drm/amdgpu: Fix the exported always on CU bitmap
    drm/amdgpu/gfx9: gfx_v9_0_enable_gfx_static_mg_power_gating() can be static
    drm/amdgpu/psp: upper_32_bits/lower_32_bits for address setup
    drm/amd/powerplay/cz: print message if smc message fails
    drm/amdgpu: fix typo in amdgpu_debugfs_test_ib_init
    ...

    Linus Torvalds
     

05 Jul, 2017

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "New SoC specific drivers:

    - NVIDIA Tegra PM Domain support for newer SoCs (Tegra186 and later)
    based on the "BPMP" firmware

    - Clocksource and system controller drivers for the newly added
    Action Semi platforms (both arm and arm64).

    Reset subsystem, merged through arm-soc by tradition:

    - New drivers for Altera Stratix10, TI Keystone and Cortina Gemini
    SoCs

    - Various subsystem-wide cleanups

    Updates for existing SoC-specific drivers

    - TI GPMC (General Purpose Memory Controller)

    - Mediatek "scpsys" system controller support for MT6797

    - Broadcom "brcmstb_gisb" bus arbitrer

    - ARM SCPI firmware

    - Renesas "SYSC" system controller

    One more driver update was submitted for the Freescale/NXP DPAA data
    path acceleration that has previously been used on PowerPC chips. I
    ended up postponing the merge until some API questions for its unusual
    MMIO access are resolved"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (35 commits)
    clocksource: owl: Add S900 support
    clocksource: Add Owl timer
    soc: renesas: rcar-sysc: Use GENPD_FLAG_ALWAYS_ON
    firmware: tegra: Fix locking bugs in BPMP
    soc/tegra: flowctrl: Fix error handling
    soc/tegra: bpmp: Implement generic PM domains
    soc/tegra: bpmp: Update ABI header
    PM / Domains: Allow overriding the ->xlate() callback
    soc: brcmstb: enable drivers for ARM64 and BMIPS
    soc: renesas: Rework Kconfig and Makefile logic
    reset: Add the TI SCI reset driver
    dt-bindings: reset: Add TI SCI reset binding
    reset: use kref for reference counting
    soc: qcom: smsm: Improve error handling, quiesce probe deferral
    cpufreq: scpi: use new scpi_ops functions to remove duplicate code
    firmware: arm_scpi: add support to populate OPPs and get transition latency
    dt-bindings: reset: Add reset manager offsets for Stratix10
    memory: omap-gpmc: add error message if bank-width property is absent
    memory: omap-gpmc: make dts snippet include semicolon
    reset: Add a Gemini reset controller
    ...

    Linus Torvalds
     

23 Jun, 2017

3 commits

  • Add compatible string for the ARM CCN-502 interconnect

    Signed-off-by: Velibor Markovski
    Acked-by: Mark Rutland
    Signed-off-by: Scott Branden
    Signed-off-by: Pawel Moll

    Velibor Markovski
     
  • Multiplications for the size determination of memory allocations
    indicated that array data structures should be processed.
    Thus use the corresponding function "devm_kcalloc".

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring
    Signed-off-by: Pawel Moll

    Markus Elfring
     
  • If the driver is built as a module, autoload won't work because the module
    alias information is not filled. So user-space can't match the registered
    device with the corresponding module.

    Export the module alias information using the MODULE_DEVICE_TABLE() macro.

    Before this patch:

    $ modinfo drivers/bus/arm-ccn.ko | grep alias
    $

    After this patch:

    $ modinfo drivers/bus/arm-ccn.ko | grep alias
    alias: of:N*T*Carm,ccn-504C*
    alias: of:N*T*Carm,ccn-504

    Signed-off-by: Javier Martinez Canillas
    Signed-off-by: Pawel Moll

    Javier Martinez Canillas
     

17 Jun, 2017

1 commit

  • In fact, it is needed for PCI to work on msm8996 (and probably other
    things). No idea why it was depending on renesas but that doesn't make
    any sense. So drop the dependency.

    Signed-off-by: Rob Clark
    Acked-by: Bjorn Andersson
    Acked-by: Geert Uytterhoeven
    Reviewed-by: Simon Horman
    Acked-by: Arnd Bergmann

    Rob Clark
     

14 May, 2017

6 commits

  • The 7278 introduces a new version of this core. This
    commit adds support for that revision.

    Signed-off-by: Doug Berger
    Signed-off-by: Florian Fainelli

    Doug Berger
     
  • The ARM64 architecture can provide meaningful diagnostic
    output from the GISB arbiter solely from interrupts and
    notifiers without the need to hook the low level fault
    handlers.

    Signed-off-by: Doug Berger
    Signed-off-by: Florian Fainelli

    Doug Berger
     
  • The ARM architecture can provide meaningful diagnostic
    output from the GISB arbiter solely from interrupts and
    notifiers without the need to hook the low level fault
    handlers.

    Signed-off-by: Doug Berger
    Signed-off-by: Florian Fainelli

    Doug Berger
     
  • Check for GISB arbitration errors through a chained notifier
    when a process dies or a kernel panic occurs. This allows a
    meaningful GISB diagnostic message to occur along with other
    diagnostic information from the event.

    Signed-off-by: Doug Berger
    Signed-off-by: Florian Fainelli

    Doug Berger
     
  • The GISB bus can support addresses beyond 32-bits. So this commit
    corrects support for reading a captured 64-bit address into a 64-bit
    variable by obtaining the high bits from the ARB_ERR_CAP_HI_ADDR
    register (when present) and then outputting the full 64-bit value.

    It also removes unused definitions.

    Fixes: 44127b771d9c ("bus: add Broadcom GISB bus arbiter timeout/error handler")
    Signed-off-by: Doug Berger
    Acked-by: Gregory Fong
    Signed-off-by: Florian Fainelli

    Doug Berger
     
  • This commit corrects the bug introduced in commit f80835875d3d
    ("bus: brcmstb_gisb: Look up register offsets in a table") such
    that gisb_write() translates the register enumeration into an
    offset from the base address for writes as well as reads.

    Fixes: f80835875d3d ("bus: brcmstb_gisb: Look up register offsets in a table")
    Signed-off-by: Doug Berger
    Acked-by: Gregory Fong
    Signed-off-by: Florian Fainelli

    Doug Berger
     

24 Feb, 2017

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs.

    A handful of driver changes this time around. The larger changes are:

    - Reset drivers for hi3660 and zx2967

    - AHCI driver for Davinci, acked by Tejun and brought in here due to
    platform dependencies

    - Cleanups of atmel-ebi (External Bus Interface)

    - Tweaks for Rockchip GRF (General Register File) usage (kitchensink
    misc register range on the SoCs)

    - PM domains changes for support of two new ZTE SoCs (zx296718 and
    zx2967)"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
    soc: samsung: pmu: Add register defines for pad retention control
    reset: make zx2967 explicitly non-modular
    reset: core: fix reset_control_put
    soc: samsung: pm_domains: Read domain name from the new label property
    soc: samsung: pm_domains: Remove message about failed memory allocation
    soc: samsung: pm_domains: Remove unused name field
    soc: samsung: pm_domains: Use full names in subdomains registration log
    sata: ahci-da850: un-hardcode the MPY bits
    sata: ahci-da850: add a workaround for controller instability
    sata: ahci: export ahci_do_hardreset() locally
    sata: ahci-da850: implement a workaround for the softreset quirk
    sata: ahci-da850: add device tree match table
    sata: ahci-da850: get the sata clock using a connection id
    soc: samsung: pmu: Remove duplicated define for ARM_L2_OPTION register
    memory: atmel-ebi: Enable the SMC clock if specified
    soc: samsung: pmu: Remove unused and duplicated defines
    memory: atmel-ebi: Properly handle multiple reference to the same CS
    memory: atmel-ebi: Fix the test to enable generic SMC logic
    soc: samsung: pm_domains: Add new Exynos5433 compatible
    soc: samsung: pmu: Add dummy support for Exynos5433 SoC
    ...

    Linus Torvalds
     

17 Jan, 2017

1 commit


02 Jan, 2017

1 commit


25 Dec, 2016

2 commits

  • When the state names got added a script was used to add the extra argument
    to the calls. The script basically converted the state constant to a
    string, but the cleanup to convert these strings into meaningful ones did
    not happen.

    Replace all the useless strings with 'subsys/xxx/yyy:state' strings which
    are used in all the other places already.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Link: http://lkml.kernel.org/r/20161221192112.085444152@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • In case the driver registration fails, the hotplug callback is leaked.

    Not fatal, because it's never invoked as there are no instances registered,
    but wrong nevertheless.

    Fixes: fdc15a36d84e ("bus/arm-ccn: Convert to hotplug statemachine")
    Signed-off-by: Thomas Gleixner
    Cc: Sebastian Andrzej Siewior
    Cc: Mark Rutland
    Cc: Pawel Moll
    Cc: Suzuki K Poulose
    Cc: Peter Zijlstra
    Cc: Will Deacon

    Thomas Gleixner
     

16 Dec, 2016

2 commits

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs, including a couple of newly added
    drivers:

    - A new driver for the power management controller on TI Keystone

    - Support for the prerelease "SCPI" firmware protocol that ended up
    being shipped by Amlogic in their GXBB SoC.

    - A soc_device can now be matched using a glob from inside the
    kernel, when another driver wants to know the specific chip it is
    running on and cannot find out from DT, firmware or hardware.

    - Renesas SoCs now support identification through the soc_device
    interface, both in user space and kernel.

    - Renesas r8a7743 and r8a7745 gain support for their system
    controller

    - A new checking module for the ARM "PSCI" (not to be confused with
    "SCPI" mentioned above) firmware interface.

    - A new driver for the Tegra GMI memory interface

    - Support for the Tegra firmware interfaces with their power
    management controllers

    As usual, the updates for the reset controller framework are merged
    here, as they tend to touch multiple SoCs as well, including a new
    driver for the Oxford (now Broadcom) OX820 chip and the Tegra bpmp
    interface.

    The existing drivers for Atmel, Qualcomm, NVIDIA, TI Davinci, and
    Rockchips SoCs see some further updates"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (76 commits)
    misc: sram: remove useless #ifdef
    drivers: psci: Allow PSCI node to be disabled
    drivers: psci: PSCI checker module
    soc: renesas: Identify SoC and register with the SoC bus
    firmware: qcom: scm: Return PTR_ERR when devm_clk_get fails
    firmware: qcom: scm: Remove core, iface and bus clocks dependency
    dt-bindings: firmware: scm: Add MSM8996 DT bindings
    memory: da8xx-ddrctl: drop the call to of_flat_dt_get_machine_name()
    bus: da8xx-mstpri: drop the call to of_flat_dt_get_machine_name()
    ARM: shmobile: Document DT bindings for Product Register
    soc: renesas: rcar-sysc: add R8A7745 support
    reset: Add Tegra BPMP reset driver
    dt-bindings: firmware: Allow child nodes inside the Tegra BPMP
    dt-bindings: Add power domains to Tegra BPMP firmware
    firmware: tegra: Add BPMP support
    firmware: tegra: Add IVC library
    dt-bindings: firmware: Add bindings for Tegra BPMP
    mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells()
    mailbox: Add Tegra HSP driver
    firmware: arm_scpi: add support for pre-v1.0 SCPI compatible
    ...

    Linus Torvalds
     
  • Pull ARM SoC platform updates from Arnd Bergmann:
    "These are updates for platform specific code on 32-bit ARM machines,
    essentially anything that can not (yet) be expressed using DT files.

    Noteworthy changes include:

    - Added support for the TI DRA71x family of SoCs in mach-omap2, this
    is an new variant of the the DRA72x/DRA74x automotive infotainment
    chips we already supported for a while.

    - Added support for the ST STM32F746 SoC, the first Cortex-M7 based
    microcontroller we support, related to the smaller STM32F4 family.

    - Renesas adds support for r8a7743 and r8a7745 in mach-shmobile, see
    http://elinux.org/RZ-G

    - SMP is now supported on the OX820 platform

    - A lot of code in mach-omap2 gets removed as a follow-up to removing
    support for board files in the previous release

    - Davinci has some new work to improve USB support

    - For i.MX, the performance monitor now supports profiling the memory
    controller using 'perf'"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (95 commits)
    ARM: davinci: da830-evm: use gpio descriptor for mmc pins
    ARM: davinci: da850-evm: use gpio descriptor for mmc pins
    ARM: davinci: hawk: use gpio descriptor for mmc pins
    ARM: ARTPEC-6: add select MFD_SYSCON to MACH_ARTPEC6
    ARM: davinci: da8xx: Fix ohci device name
    ARM: oxnas: Add OX820 config and makefile entry
    ARM: oxnas: Add OX820 SMP support
    ARM: davinci: PM: fix build when da850 not compiled in
    ARM: orion5x: remove legacy support of ls-chl
    ARM: integrator: drop EBI access use syscon
    ARM: BCM5301X: Add back handler ignoring external imprecise aborts
    ARM: davinci: PM: support da8xx DT platforms
    ARM: davinci: PM: cleanup: remove references to pdata
    ARM: davinci: PM: rework init, remove platform device
    ARM: Kconfig: Introduce MACH_STM32F746 flag
    ARM: mach-stm32: Add a new SOC - STM32F746
    ARM: shmobile: document SK-RZG1E board
    ARM: shmobile: r8a7745: basic SoC support
    ARM: imx: mach-imx6ul: add imx6ull support
    ARM: zynq: Reserve correct amount of non-DMA RAM
    ...

    Linus Torvalds
     

01 Dec, 2016

1 commit


30 Nov, 2016

1 commit

  • …rnel/git/nsekhar/linux-davinci into next/drivers

    Pull "DaVinci driver updates for v4.10 (part 2)" from Sekhar Nori:

    Fixes for drivers already queued to prevent
    section mismatch warnings introduced by them.

    * tag 'davinci-for-v4.10/drivers-2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
    memory: da8xx-ddrctl: drop the call to of_flat_dt_get_machine_name()
    bus: da8xx-mstpri: drop the call to of_flat_dt_get_machine_name()

    Arnd Bergmann
     

23 Nov, 2016

1 commit


19 Nov, 2016

1 commit

  • …tegra/linux into next/drivers

    bus: Add Tegra GMI support

    This provides a driver to enable the use of the Generic Memory Interface
    found on Tegra SoCs that can host various types of high-speed devices.

    * tag 'tegra-for-4.10-bus' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    bus: Add support for Tegra Generic Memory Interface
    dt/bindings: Add bindings for Tegra GMI controller

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

    Olof Johansson