07 Mar, 2019

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "As usual, the drivers/tee and drivers/reset subsystems get merged
    here, with the expected set of smaller updates and some new hardware
    support. The tee subsystem now supports device drivers to be attached
    to a tee, the first example here is a random number driver with its
    implementation in the secure world.

    Three new power domain drivers get added for specific chip families:
    - Broadcom BCM283x chips (used in Raspberry Pi)
    - Qualcomm Snapdragon phone chips
    - Xilinx ZynqMP FPGA SoCs

    One new driver is added to talk to the BPMP firmware on NVIDIA
    Tegra210

    Existing drivers are extended for new SoC variants from NXP, NVIDIA,
    Amlogic and Qualcomm"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (113 commits)
    tee: optee: update optee_msg.h and optee_smc.h to dual license
    tee: add cancellation support to client interface
    dpaa2-eth: configure the cache stashing amount on a queue
    soc: fsl: dpio: configure cache stashing destination
    soc: fsl: dpio: enable frame data cache stashing per software portal
    soc: fsl: guts: make fsl_guts_get_svr() static
    hwrng: make symbol 'optee_rng_id_table' static
    tee: optee: Fix unsigned comparison with less than zero
    hwrng: Fix unsigned comparison with less than zero
    tee: fix possible error pointer ctx dereferencing
    hwrng: optee: Initialize some structs using memset instead of braces
    tee: optee: Initialize some structs using memset instead of braces
    soc: fsl: dpio: fix memory leak of a struct qbman on error exit path
    clk: tegra: dfll: Make symbol 'tegra210_cpu_cvb_tables' static
    soc: qcom: llcc-slice: Fix typos
    qcom: soc: llcc-slice: Consolidate some code
    qcom: soc: llcc-slice: Clear the global drv_data pointer on error
    drivers: soc: xilinx: Add ZynqMP power domain driver
    firmware: xilinx: Add APIs to control node status/power
    dt-bindings: power: Add ZynqMP power domain bindings
    ...

    Linus Torvalds
     

06 Mar, 2019

1 commit

  • Pull crypto update from Herbert Xu:
    "API:
    - Add helper for simple skcipher modes.
    - Add helper to register multiple templates.
    - Set CRYPTO_TFM_NEED_KEY when setkey fails.
    - Require neither or both of export/import in shash.
    - AEAD decryption test vectors are now generated from encryption
    ones.
    - New option CONFIG_CRYPTO_MANAGER_EXTRA_TESTS that includes random
    fuzzing.

    Algorithms:
    - Conversions to skcipher and helper for many templates.
    - Add more test vectors for nhpoly1305 and adiantum.

    Drivers:
    - Add crypto4xx prng support.
    - Add xcbc/cmac/ecb support in caam.
    - Add AES support for Exynos5433 in s5p.
    - Remove sha384/sha512 from artpec7 as hardware cannot do partial
    hash"

    [ There is a merge of the Freescale SoC tree in order to pull in changes
    required by patches to the caam/qi2 driver. ]

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (174 commits)
    crypto: s5p - add AES support for Exynos5433
    dt-bindings: crypto: document Exynos5433 SlimSSS
    crypto: crypto4xx - add missing of_node_put after of_device_is_available
    crypto: cavium/zip - fix collision with generic cra_driver_name
    crypto: af_alg - use struct_size() in sock_kfree_s()
    crypto: caam - remove redundant likely/unlikely annotation
    crypto: s5p - update iv after AES-CBC op end
    crypto: x86/poly1305 - Clear key material from stack in SSE2 variant
    crypto: caam - generate hash keys in-place
    crypto: caam - fix DMA mapping xcbc key twice
    crypto: caam - fix hash context DMA unmap size
    hwrng: bcm2835 - fix probe as platform device
    crypto: s5p-sss - Use AES_BLOCK_SIZE define instead of number
    crypto: stm32 - drop pointless static qualifier in stm32_hash_remove()
    crypto: chelsio - Fixed Traffic Stall
    crypto: marvell - Remove set but not used variable 'ivsize'
    crypto: ccp - Update driver messages to remove some confusion
    crypto: adiantum - add 1536 and 4096-byte test vectors
    crypto: nhpoly1305 - add a test vector with len % 16 != 0
    crypto: arm/aes-ce - update IV after partial final CTR block
    ...

    Linus Torvalds
     

16 Feb, 2019

2 commits

  • ARM64: hisi: SoC driver updates for 5.1

    - Add compatibility support for different FWs in the hisi LPC bus driver

    * tag 'hisi-drivers-for-5.1' of git://github.com/hisilicon/linux-hisi:
    bus: hisi_lpc: Don't fail probe for unrecognised child devices

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     
  • …wnguo/linux into arm/drivers

    i.MX drivers update for 5.1:
    - Do not get GPCv2 driver depend on SOC_IMX8MQ since the driver is
    going to be used on more SoCs than just i.MX8MQ.
    - Add power domain information into SCU bindings document.
    - Add support of start/stop a CPU into imx firmware driver.
    - Support multiple address ranges per child node for imx-weim bus
    driver.

    * tag 'imx-drivers-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
    firmware: imx: Add support to start/stop a CPU
    soc: imx: Break dependency on SOC_IMX8MQ for GPCv2
    firmware: imx: scu-pd: add fallback compatible string support
    dt-bindings: fsl: scu: add imx8qm scu power domain support
    dt-bindings: fsl: scu: add fallback compatible string for power domain
    bus: imx-weim: guard against timing configuration conflicts
    bus: imx-weim: support multiple address ranges per child node
    dt-bindings: bus: imx-weim: document multiple address ranges per child node
    soc: imx: gpcv2: handle reset clocks
    soc: imx: gpcv2: handle additional power-down bits in handshake register

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

08 Feb, 2019

1 commit

  • Currently for ACPI-based FW we fail the probe for an unrecognised child
    HID.

    However, there is FW in the field with LPC child devices having fake HIDs,
    namely "IPI0002", which was an IPMI device invented to support the
    initial out-of-tree LPC host driver, different from the final mainline
    version.

    To provide compatibility support for these dodgy FWs, just discard the
    unrecognised HIDs instead of failing the probe altogether.

    Tested-by: Zengruan Ye
    Signed-off-by: John Garry
    Signed-off-by: Wei Xu

    John Garry
     

29 Jan, 2019

2 commits

  • Tony Lindgren
     
  • Commit 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe
    them with ti-sysc") started producing a warning for pwm-omap-dmtimer:

    WARNING: CPU: 0 PID: 77 at drivers/bus/omap_l3_noc.c:147
    l3_interrupt_handler+0x2f8/0x388
    44000000.ocp:L3 Custom Error: MASTER MPU TARGET L4PER2 (Idle):
    Data Access in Supervisor mode during Functional access
    ...
    __pm_runtime_idle
    omap_dm_timer_disable
    pwm_omap_dmtimer_start
    pwm_omap_dmtimer_enable
    pwm_apply_state
    pwm_vibrator_start
    pwm_vibrator_play_work

    This is because the timer that pwm-omap-dmtimer is using is now being
    probed with ti-sysc interconnect target module instead of omap_device
    and the ti-sysc quirk for SYSC_QUIRK_LEGACY_IDLE is not fully
    compatible with what omap_device has been doing.

    We could fix this by reverting the timer changes and have the timer
    probe again with omap_device. Or we could add more quirk handling to
    ti-sysc driver. But as these options don't work nicely as longer term
    solutions, let's just make timers probe with ti-sysc without any
    quirks.

    To do this, all we need to do is remove quirks for timers for ti-sysc,
    and drop the bogus pm_runtime_irq_safe() flag for timer-ti-dm.

    We should not use pm_runtime_irq_safe() anyways for drivers as it will
    take a permanent use count on the parent device blocking the parent
    devices from idling and has been forcing ti-sysc driver to use a
    quirk flag.

    Note that we will move the timer data to DEBUG section later on in
    clean-up patches.

    Fixes: 84badc5ec5fc ("ARM: dts: omap4: Move l4 child devices to probe them with ti-sysc")
    Cc: Andy Shevchenko
    Cc: Bartosz Golaszewski
    Cc: Daniel Lezcano
    Cc: H. Nikolaus Schaller
    Cc: Keerthy
    Cc: Ladislav Michl
    Cc: Pavel Machek
    Cc: Sebastian Reichel
    Cc: Tero Kristo
    Cc: Thierry Reding
    Cc: Thomas Gleixner
    Reported-by: H. Nikolaus Schaller
    Tested-By: Andreas Kemnade
    Tested-By: H. Nikolaus Schaller
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

12 Jan, 2019

1 commit

  • Allocatable devices can be acquired by drivers on the fsl-mc bus using
    the fsl_mc_portal_allocate or fsl_mc_object_allocate functions. Add a
    device link between the consumer device and the supplier device so that
    proper resource management is achieved.
    Also, adding a link between these devices ensures that a proper unbind
    order is respected (ie before the supplier device is unbound from its
    respective driver all consumer devices will be notified and unbound
    first).

    Signed-off-by: Ioana Ciornei
    Reviewed-by: Laurentiu Tudor
    Signed-off-by: Li Yang

    Ioana Ciornei
     

11 Jan, 2019

2 commits

  • When specifying weim child devices, there is a risk that more than
    one timing setting is specified for the same chip select.

    The driver cannot support such a configuration.

    In case of conflict, this patch will print a warning to the log,
    and will ignore the child node in question.

    In this example, node acme@1 will be ignored, as it tries to modify
    timing settings for CS0:

    &weim {
    acme@0 {
    compatible = "acme,whatever";
    reg = ;
    fsl,weim-cs-timing = ;
    };
    acme@1 {
    compatible = "acme,whatnot";
    reg = ;
    fsl,weim-cs-timing = ;
    };
    };

    However in this example, the driver will be happy:

    &weim {
    acme@0 {
    compatible = "acme,whatever";
    reg = ;
    fsl,weim-cs-timing = ;
    };
    acme@1 {
    compatible = "acme,whatnot";
    reg = ;
    fsl,weim-cs-timing = ;
    };
    };

    Signed-off-by: Sven Van Asbroeck
    Signed-off-by: Shawn Guo

    Sven Van Asbroeck
     
  • Ensure that timing values for the child node are applied to
    all chip selects in the child's address ranges.

    Note that this does not support multiple timing settings per
    child; this can be added in the future if required.

    Example:
    &weim {
    acme@0 {
    compatible = "acme,whatever";
    reg = , ,
    ;
    fsl,weim-cs-timing = ;
    };
    };

    Signed-off-by: Sven Van Asbroeck
    Signed-off-by: Shawn Guo

    Sven Van Asbroeck
     

01 Jan, 2019

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Misc driver updates for platforms, many of them power related.

    - Rockchip adds power domain support for rk3066 and rk3188

    - Amlogic adds a power measurement driver

    - Allwinner adds SRAM support for three platforms (F1C100, H5, A64
    C1)

    - Wakeup and ti-sysc (platform bus) fixes for OMAP/DRA7

    - Broadcom fixes suspend/resume with Thumb2 kernels, and improves
    stability of a handful of firmware/platform interfaces

    - PXA completes their conversion to dmaengine framework

    - Renesas does a bunch of PM cleanups across many platforms

    - Tegra adds support for suspend/resume on T186/T194, which includes
    some driver cleanups and addition of wake events

    - Tegra also adds a driver for memory controller (EMC) on Tegra2

    - i.MX tweaks power domain bindings, and adds support for i.MX8MQ in
    GPC

    - Atmel adds identifiers and LPDDR2 support for a new SoC, SAM9X60

    and misc cleanups across several platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
    ARM: at91: add support in soc driver for new SAM9X60
    ARM: at91: add support in soc driver for LPDDR2 SiP
    memory: omap-gpmc: Use of_node_name_eq for node name comparisons
    bus: ti-sysc: Check for no-reset and no-idle flags at the child level
    ARM: OMAP2+: Check also the first dts child for hwmod flags
    soc: amlogic: meson-clk-measure: Add missing REGMAP_MMIO dependency
    soc: imx: gpc: Increase GPC_CLK_MAX to 7
    soc: renesas: rcar-sysc: Fix power domain control after system resume
    soc: renesas: rcar-sysc: Merge PM Domain registration and linking
    soc: renesas: rcar-sysc: Remove rcar_sysc_power_{down,up}() helpers
    soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B}
    dt-bindings: sram: sunxi: Add compatible for the A64 SRAM C1
    dt-bindings: sram: sunxi: Add bindings for the H5 with SRAM C1
    dt-bindings: sram: Add Allwinner suniv F1C100s
    soc: sunxi: sram: Add support for the H5 SoC system control
    soc: sunxi: sram: Enable EMAC clock access for H3 variant
    soc: imx: gpcv2: add support for i.MX8MQ SoC
    soc: imx: gpcv2: move register access table to domain data
    soc: imx: gpcv2: prefix i.MX7 specific defines
    dmaengine: pxa: make the filter function internal
    ...

    Linus Torvalds
     

19 Dec, 2018

1 commit


13 Dec, 2018

1 commit

  • …inux/kernel/git/tmlind/linux-omap into next/drivers

    Few more omap driver fixes and improvments for v4.21 merge window

    This series of changes improves the TI module flag handling to allow
    booting with older dts files until the module flags have been moved
    to the interconnect target module level. And there's a of_node_name_eq()
    clean-up patch from Rob Herring for the GPMC driver.

    * tag 'omap-for-v4.21/driver-part2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    memory: omap-gpmc: Use of_node_name_eq for node name comparisons
    bus: ti-sysc: Check for no-reset and no-idle flags at the child level
    ARM: OMAP2+: Check also the first dts child for hwmod flags

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

    Olof Johansson
     

11 Dec, 2018

1 commit

  • With ti-sysc, we need to now have the device tree properties for
    ti,no-reset-on-init and ti,no-idle-on-init at the module level instead
    of the child device level.

    Let's check for these properties at the child device level to enable
    quirks, and warn about moving the properties to the module level.

    Otherwise am335x-evm based boards tagging gpio1 with ti,no-reset-on-init
    will have their DDR power disabled if wired up in such a tricky way.

    Note that this should not be an issue for earlier kernels as we don't
    rely on this until the dts files have been updated to probe with ti-sysc
    interconnect target driver.

    Cc: Peter Ujfalusi
    Reported-by: Peter Ujfalusi
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

06 Dec, 2018

1 commit


04 Dec, 2018

1 commit

  • This pull request contains Broadcom ARM/ARM64/MIPS SoCs drivers changes
    for 4.21, please pull the following changes:

    - James fixes the firmware interface after a commit changed the use of
    VLA and broke large transfers

    - Stefan adds a timeout check for Raspberry Pi firmware transactions and
    updates a bunch of SoC/firmware files to use SPDX tags

    - Wolfram switches the GISB bus arbiter to use dev_get_drvdata()

    - Yangtao provides a fix for a reference leak due to a call to
    of_find_node_by_path()

    - Florian fixes the CPU re-entry point out of S3 suspend with kernels
    built in Thumb2 mode

    * tag 'arm-soc/for-4.21/drivers' of https://github.com/Broadcom/stblinux:
    soc: bcm: brcmstb: Don't leak device tree node reference
    firmware: raspberrypi: Switch to SPDX identifier
    firmware: raspberrypi: Fix firmware calls with large buffers
    soc: bcm: Switch raspberrypi-power to SPDX identifier
    firmware: raspberrypi: Define timeout for transactions
    bus: brcmstb_gisb: simplify getting .driver_data
    soc: bcm: brcmstb: Fix re-entry point with a THUMB2_KERNEL

    Signed-off-by: Olof Johansson

    Olof Johansson
     

16 Nov, 2018

3 commits


06 Nov, 2018

1 commit


30 Oct, 2018

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "The most noteworthy SoC driver changes this time include:

    - The TEE subsystem gains an in-kernel interface to access the TEE
    from device drivers.

    - The reset controller subsystem gains a driver for the Qualcomm
    Snapdragon 845 Power Domain Controller.

    - The Xilinx Zynq platform now has a firmware interface for its
    platform management unit. This contains a firmware "ioctl"
    interface that was a little controversial at first, but the version
    we merged solved that by not exposing arbitrary firmware calls to
    user space.

    - The Amlogic Meson platform gains a "canvas" driver that is used for
    video processing and shared between different high-level drivers.

    The rest is more of the usual, mostly related to SoC specific power
    management support and core drivers in drivers/soc:

    - Several Renesas SoCs (RZ/G1N, RZ/G2M, R-Car V3M, RZ/A2M) gain new
    features related to power and reset control.

    - The Mediatek mt8183 and mt6765 SoC platforms gain support for their
    respective power management chips.

    - A new driver for NXP i.MX8, which need a firmware interface for
    power management.

    - The SCPI firmware interface now contains support estimating power
    usage of performance states

    - The NVIDIA Tegra "pmc" driver gains a few new features, in
    particular a pinctrl interface for configuring the pads.

    - Lots of small changes for Qualcomm, in particular the "smem" device
    driver.

    - Some cleanups for the TI OMAP series related to their sysc
    controller.

    Additional cleanups and bugfixes in SoC specific drivers include the
    Meson, Keystone, NXP, AT91, Sunxi, Actions, and Tegra platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (129 commits)
    firmware: tegra: bpmp: Implement suspend/resume support
    drivers: clk: Add ZynqMP clock driver
    dt-bindings: clock: Add bindings for ZynqMP clock driver
    firmware: xilinx: Add zynqmp IOCTL API for device control
    Documentation: xilinx: Add documentation for eemi APIs
    MAINTAINERS: imx: include drivers/firmware/imx path
    firmware: imx: add misc svc support
    firmware: imx: add SCU firmware driver support
    reset: Fix potential use-after-free in __of_reset_control_get()
    dt-bindings: arm: fsl: add scu binding doc
    soc: fsl: qbman: add interrupt coalesce changing APIs
    soc: fsl: bman_portals: defer probe after bman's probe
    soc: fsl: qbman: Use last response to determine valid bit
    soc: fsl: qbman: Add 64 bit DMA addressing requirement to QBMan
    soc: fsl: qbman: replace CPU 0 with any online CPU in hotplug handlers
    soc: fsl: qbman: Check if CPU is offline when initializing portals
    reset: qcom: PDC Global (Power Domain Controller) reset controller
    dt-bindings: reset: Add PDC Global binding for SDM845 SoCs
    reset: Grammar s/more then once/more than once/
    bus: ti-sysc: Just use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
    ...

    Linus Torvalds
     

27 Oct, 2018

2 commits

  • Pull Devicetree updates from Rob Herring:
    "A bit bigger than normal as I've been busy this cycle.

    There's a few things with dependencies and a few things subsystem
    maintainers didn't pick up, so I'm taking them thru my tree.

    The fixes from Johan didn't get into linux-next, but they've been
    waiting for some time now and they are what's left of what subsystem
    maintainers didn't pick up.

    Summary:

    - Sync dtc with upstream version v1.4.7-14-gc86da84d30e4

    - Work to get rid of direct accesses to struct device_node name and
    type pointers in preparation for removing them. New helpers for
    parsing DT cpu nodes and conversions to use the helpers. printk
    conversions to %pOFn for printing DT node names. Most went thru
    subystem trees, so this is the remainder.

    - Fixes to DT child node lookups to actually be restricted to child
    nodes instead of treewide.

    - Refactoring of dtb targets out of arch code. This makes the support
    more uniform and enables building all dtbs on c6x, microblaze, and
    powerpc.

    - Various DT binding updates for Renesas r8a7744 SoC

    - Vendor prefixes for Facebook, OLPC

    - Restructuring of some ARM binding docs moving some peripheral
    bindings out of board/SoC binding files

    - New "secure-chosen" binding for secure world settings on ARM

    - Dual licensing of 2 DT IRQ binding headers"

    * tag 'devicetree-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (78 commits)
    ARM: dt: relicense two DT binding IRQ headers
    power: supply: twl4030-charger: fix OF sibling-node lookup
    NFC: nfcmrvl_uart: fix OF child-node lookup
    net: stmmac: dwmac-sun8i: fix OF child-node lookup
    net: bcmgenet: fix OF child-node lookup
    drm/msm: fix OF child-node lookup
    drm/mediatek: fix OF sibling-node lookup
    of: Add missing exports of node name compare functions
    dt-bindings: Add OLPC vendor prefix
    dt-bindings: misc: bk4: Add device tree binding for Liebherr's BK4 SPI bus
    dt-bindings: thermal: samsung: Add SPDX license identifier
    dt-bindings: clock: samsung: Add SPDX license identifiers
    dt-bindings: timer: ostm: Add R7S9210 support
    dt-bindings: phy: rcar-gen2: Add r8a7744 support
    dt-bindings: can: rcar_can: Add r8a7744 support
    dt-bindings: timer: renesas, cmt: Document r8a7744 CMT support
    dt-bindings: watchdog: renesas-wdt: Document r8a7744 support
    dt-bindings: thermal: rcar: Add device tree support for r8a7744
    Documentation: dt: Add binding for /secure-chosen/stdout-path
    dt-bindings: arm: zte: Move sysctrl bindings to their own doc
    ...

    Linus Torvalds
     
  • Pull IOMMU updates from Joerg Roedel:

    - Debugfs support for the Intel VT-d driver.

    When enabled, it now also exposes some of its internal data
    structures to user-space for debugging purposes.

    - ARM-SMMU driver now uses the generic deferred flushing and fast-path
    iova allocation code.

    This is expected to be a major performance improvement, as this
    allocation path scales a lot better.

    - Support for r8a7744 in the Renesas iommu driver

    - Couple of minor fixes and improvements all over the place

    * tag 'iommu-updates-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (39 commits)
    iommu/arm-smmu-v3: Remove unnecessary wrapper function
    iommu/arm-smmu-v3: Add SPDX header
    iommu/amd: Add default branch in amd_iommu_capable()
    dt-bindings: iommu: ipmmu-vmsa: Add r8a7744 support
    iommu/amd: Move iommu_init_pci() to .init section
    iommu/arm-smmu: Support non-strict mode
    iommu/io-pgtable-arm-v7s: Add support for non-strict mode
    iommu/arm-smmu-v3: Add support for non-strict mode
    iommu/io-pgtable-arm: Add support for non-strict mode
    iommu: Add "iommu.strict" command line option
    iommu/dma: Add support for non-strict mode
    iommu/arm-smmu: Ensure that page-table updates are visible before TLBI
    iommu/arm-smmu-v3: Implement flush_iotlb_all hook
    iommu/arm-smmu-v3: Avoid back-to-back CMD_SYNC operations
    iommu/arm-smmu-v3: Fix unexpected CMD_SYNC timeout
    iommu/io-pgtable-arm: Fix race handling in split_blk_unmap()
    iommu/arm-smmu-v3: Fix a couple of minor comment typos
    iommu: Fix a typo
    iommu: Remove .domain_{get,set}_windows
    iommu: Tidy up window attributes
    ...

    Linus Torvalds
     

26 Oct, 2018

1 commit

  • Pull crypto updates from Herbert Xu:
    "API:
    - Remove VLA usage
    - Add cryptostat user-space interface
    - Add notifier for new crypto algorithms

    Algorithms:
    - Add OFB mode
    - Remove speck

    Drivers:
    - Remove x86/sha*-mb as they are buggy
    - Remove pcbc(aes) from x86/aesni
    - Improve performance of arm/ghash-ce by up to 85%
    - Implement CTS-CBC in arm64/aes-blk, faster by up to 50%
    - Remove PMULL based arm64/crc32 driver
    - Use PMULL in arm64/crct10dif
    - Add aes-ctr support in s5p-sss
    - Add caam/qi2 driver

    Others:
    - Pick better transform if one becomes available in crc-t10dif"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (124 commits)
    crypto: chelsio - Update ntx queue received from cxgb4
    crypto: ccree - avoid implicit enum conversion
    crypto: caam - add SPDX license identifier to all files
    crypto: caam/qi - simplify CGR allocation, freeing
    crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
    crypto: arm64/aes-blk - ensure XTS mask is always loaded
    crypto: testmgr - fix sizeof() on COMP_BUF_SIZE
    crypto: chtls - remove set but not used variable 'csk'
    crypto: axis - fix platform_no_drv_owner.cocci warnings
    crypto: x86/aes-ni - fix build error following fpu template removal
    crypto: arm64/aes - fix handling sub-block CTS-CBC inputs
    crypto: caam/qi2 - avoid double export
    crypto: mxs-dcp - Fix AES issues
    crypto: mxs-dcp - Fix SHA null hashes and output length
    crypto: mxs-dcp - Implement sha import/export
    crypto: aegis/generic - fix for big endian systems
    crypto: morus/generic - fix for big endian systems
    crypto: lrw - fix rebase error after out of bounds fix
    crypto: cavium/nitrox - use pci_alloc_irq_vectors() while enabling MSI-X.
    crypto: cavium/nitrox - NITROX command queue changes.
    ...

    Linus Torvalds
     

23 Oct, 2018

1 commit

  • Pull GPIO updates from Linus Walleij:
    "This is the bulk of GPIO changes for the v4.20 series:

    Core changes:

    - A patch series from Hans Verkuil to make it possible to
    enable/disable IRQs on a GPIO line at runtime and drive GPIO lines
    as output without having to put/get them from scratch.

    The irqchip callbacks have been improved so that they can use only
    the fastpatch callbacks to enable/disable irqs like any normal
    irqchip, especially the gpiod_lock_as_irq() has been improved to be
    callable in fastpath context.

    A bunch of rework had to be done to achieve this but it is a big
    win since I never liked to restrict this to slowpath. The only call
    requireing slowpath was try_module_get() and this is kept at the
    .request_resources() slowpath callback. In the GPIO CEC driver this
    is a big win sine a single line is used for both outgoing and
    incoming traffic, and this needs to use IRQs for incoming traffic
    while actively driving the line for outgoing traffic.

    - Janusz Krzysztofik improved the GPIO array API to pass a "cookie"
    (struct gpio_array) and a bitmap for setting or getting multiple
    GPIO lines at once.

    This improvement orginated in a specific need to speed up an OMAP1
    driver and has led to a much better API and real performance gains
    when the state of the array can be used to bypass a lot of checks
    and code when we want things to go really fast.

    The previous code would minimize the number of calls down to the
    driver callbacks assuming the CPU speed was orders of magnitude
    faster than the I/O latency, but this assumption was wrong on
    several platforms: what we needed to do was to profile and improve
    the speed on the hot path of the array functions and this change is
    now completed.

    - Clean out the painful and hard to grasp BNF experiments from the
    device tree bindings. Future approaches are looking into using JSON
    schema for this purpose. (Rob Herring is floating a patch series.)

    New drivers:

    - The RCAR driver now supports r8a774a1 (RZ/G2M).

    - Synopsys GPIO via CREGs driver.

    Major improvements:

    - Modernization of the EP93xx driver to use irqdomain and other
    contemporary concepts.

    - The ingenic driver has been merged into the Ingenic pin control
    driver and removed from the GPIO subsystem.

    - Debounce support in the ftgpio010 driver"

    * tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (116 commits)
    gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip()
    gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip()
    gpio: Drop parent irq assignment during cascade setup
    mmc: pwrseq_simple: Fix incorrect handling of GPIO bitmap
    gpio: fix SNPS_CREG kconfig dependency warning
    gpiolib: Initialize gdev field before is used
    gpio: fix kernel-doc after devres.c file rename
    gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip
    gpio: syscon: Fix possible NULL ptr usage
    gpiolib: Show correct direction from the beginning
    pinctrl: msm: Use init_valid_mask exported function
    gpiolib: Add init_valid_mask exported function
    GPIO: add single-register GPIO via CREG driver
    dt-bindings: Document the Synopsys GPIO via CREG bindings
    gpio: mockup: use device properties instead of platform_data
    gpio: Slightly more helpful debugfs
    gpio: omap: Remove set but not used variable 'dev'
    gpio: omap: drop omap_gpio_list
    Accept partial 'gpio-line-names' property.
    gpio: omap: get rid of the conditional PM runtime calls
    ...

    Linus Torvalds
     

04 Oct, 2018

1 commit

  • …linux/kernel/git/tmlind/linux-omap into next/drivers

    TI sysc driver changes for v4.20 merge window

    This series gets rid of the SYSC_QUIRK_RESOURCE_PROVIDER to make device
    detection happen mostly only if #define DEBUG is set. Few core devices still
    need to be detected to set legacy quirks.

    We also add support for booting am335x, am437x and dra7 SoCs with L4 devices
    defined in device tree instead of legacy platform data.

    And finally we simplify suspend with just SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
    and dropping the custom functions that were attempting to work around
    issues that really turned out to be child device driver related issues.

    Apologies for a late pull request, debugging the suspend issues took a while
    and I did not want to send these changes until that got sorted out.

    * tag 'omap-for-v4.20/ti-sysc-take2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    bus: ti-sysc: Just use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS
    bus: ti-sysc: Make some warnings debug only
    bus: ti-sysc: Detect devices for debug on dra7
    bus: ti-sysc: Detect timer and gpio on dra7
    bus: ti-sysc: Detect devices on am335x when DEBUG is enabled
    bus: ti-sysc: Detect more devices on am473x for debugging
    bus: ti-sysc: Update revision masks to support am437x
    bus: ti-sysc: Defer suspend as needed

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

02 Oct, 2018

1 commit

  • As Grygorii Strashko pointed out, the runtime PM use count of the
    children can be whatever at suspend and we should not use it. So
    let's just suspend ti-sysc at noirq level and get rid of some code.

    Let's also remove the PM_SLEEP ifdef and use __maybe_unused as the
    PM code already deals with the ifdefs.

    Suggested-by: Grygorii Strashko
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

01 Oct, 2018

1 commit


29 Sep, 2018

6 commits


25 Sep, 2018

6 commits