We do not need locking in xfrm_trans_queue because it is designed
to use per-CPU buffers. However, the original code incorrectly
used skb_queue_tail which takes the lock. This patch switches
it to __skb_queue_tail instead.
Reported-and-tested-by: Artem Savkov <asavkov@redhat.com>
Fixes: acf568ee85 ("xfrm: Reinject transport-mode packets...")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Some GPIO lines appear named "?" in the lsgpio dump due to their
requesting drivers not passing a reasonable label.
Most typically this happens if a device tree node just defines
gpios = <...> and not foo-gpios = <...>, the former gets named
"foo" and the latter gets named "?".
However the struct device passed in is always valid so let's
just label the GPIO with dev_name() on the device if no proper
label was passed.
Cc: Reported-by: Jason Kridner <jkridner@beagleboard.org>
Reported-by: Jason Kridner <jkridner@beagleboard.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
crypto_poly1305_final() no longer requires a cra_alignmask, and nothing
else in the x86 poly1305-simd implementation does either. So remove the
cra_alignmask so that the crypto API does not have to unnecessarily
align the buffers.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Now that nothing in poly1305-generic assumes any special alignment,
remove the cra_alignmask so that the crypto API does not have to
unnecessarily align the buffers.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Currently the only part of poly1305-generic which is assuming special
alignment is the part where the final digest is written. Switch this
over to the unaligned access macros so that we'll be able to remove the
cra_alignmask.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
There is a message posted to the crypto notifier chain when an algorithm
is unregistered, and when a template is registered or unregistered. But
nothing is listening for those messages; currently there are only
listeners for the algorithm request and registration messages.
Get rid of these unused notifications for now.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Reference counters should use refcount_t rather than atomic_t, since the
refcount_t implementation can prevent overflows, reducing the
exploitability of reference leak bugs. crypto_alg.cra_refcount is a
reference counter with the usual semantics, so switch it over to
refcount_t.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This patch fixes the hash support in the SafeXcel driver when the update
size is a multiple of a block size, and when a final call is made just
after with a size of 0. In such cases the driver should cache the last
block from the update to avoid handling 0 length data on the final call
(that's a hardware limitation).
Cc: stable@vger.kernel.org
Fixes: 1b44c5a60c ("crypto: inside-secure - add SafeXcel EIP197 crypto engine driver")
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This patch adds a parameter in the SafeXcel ahash request structure to
keep track of the number of SG entries mapped. This allows not to call
dma_unmap_sg() when dma_map_sg() wasn't called in the first place. This
also removes a warning when the debugging of the DMA-API is enabled in
the kernel configuration: "DMA-API: device driver tries to free DMA
memory it has not allocated".
Cc: stable@vger.kernel.org
Fixes: 1b44c5a60c ("crypto: inside-secure - add SafeXcel EIP197 crypto engine driver")
Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
The ccm-aes-ppc4xx now fails one of testmgr's expected
failure test cases as such:
|decryption failed on test 10 for ccm-aes-ppc4xx:
|ret was 0, |expected -EBADMSG
It doesn't look like the hardware sets the authentication failure
flag. The original vendor source from which this was ported does
not have any special code or notes about why this would happen or
if there are any WAs.
Hence, this patch converts the aead_done callback handler to
perform the icv check in the driver. And this fixes the false
negative and the ccm-aes-ppc4xx passes the selftests once again.
|name : ccm(aes)
|driver : ccm-aes-ppc4xx
|module : crypto4xx
|priority : 300
|refcnt : 1
|selftest : passed
|internal : no
|type : aead
|async : yes
|blocksize : 1
|ivsize : 16
|maxauthsize : 16
|geniv : <none>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto4xx_device's name variable is not set to anything.
The common devname for request_irq seems to be the module
name. This will fix the seemingly anonymous interrupt
entry in /proc/interrupts for crypto4xx.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This patch adds support for the crypto4xx RevB cores
found in the 460EX, 460SX and later cores (like the APM821xx).
Without this patch, the crypto4xx driver will not be
able to process any offloaded requests and simply hang
indefinitely.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
It is possible to avoid the ce_base null pointer check in the
drivers' interrupt handler routine "crypto4xx_ce_interrupt_handler()"
by simply doing the iomap in front of the IRQ registration.
This way, the ce_base will always be valid in the handler and
a branch in an critical path can be avoided.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
syzkaller triggered a NULL pointer dereference in crypto_remove_spawns()
via a program that repeatedly and concurrently requests AEADs
"authenc(cmac(des3_ede-asm),pcbc-aes-aesni)" and hashes "cmac(des3_ede)"
through AF_ALG, where the hashes are requested as "untested"
(CRYPTO_ALG_TESTED is set in ->salg_mask but clear in ->salg_feat; this
causes the template to be instantiated for every request).
Although AF_ALG users really shouldn't be able to request an "untested"
algorithm, the NULL pointer dereference is actually caused by a
longstanding race condition where crypto_remove_spawns() can encounter
an instance which has had spawn(s) "grabbed" but hasn't yet been
registered, resulting in ->cra_users still being NULL.
We probably should properly initialize ->cra_users earlier, but that
would require updating many templates individually. For now just fix
the bug in a simple way that can easily be backported: make
crypto_remove_spawns() treat a NULL ->cra_users list as empty.
Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
The EB MP board probably has a character LCD but the board manual does
not really state which IRQ it has assigned to this device. The invalid
assignment was a mistake by me during submission of the DTSI where I was
looking for the reference, didn't find it and didn't fill it in.
Delete this for now: it can probably be fixed but that requires access
to the actual board for some trial-and-error experiments.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
drivers for 4.16
- use PTR_ERR_OR_ZERO were relevant in at91_cf
* tag 'at91-ab-4.16-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
pcmcia: at91_cf: Use PTR_ERR_OR_ZERO()
Signed-off-by: Olof Johansson <olof@lixom.net>
DT for 4.16
- New boards:
- Axentia Nattis with Natte power
- sama5d2 PTC ek
- Document and use extended TCB bindings
* tag 'at91-ab-4.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits)
ARM: dts: at91: sama5d2_ptc_ek: use TCB0 as timers
ARM: dts: at91: sama5d27_som1_ek: use TCB0 as timers
ARM: dts: at91: sama5d2 Xplained: use TCB0 as timers
ARM: dts: at91: sama5d2: TC blocks are also simple-mfd and syscon devices
ARM: dts: at91: vinco: use TCB2 as timers
ARM: dts: at91: ma5d4: use TCB2 as timers
ARM: dts: at91: sama5d4 Xplained: use TCB2 as timers
ARM: dts: at91: sama5d4ek: use TCB2 as timers
ARM: dts: at91: sama5d4: Add TCB2
ARM: dts: at91: sama5d4: TC blocks are also simple-mfd and syscon devices
ARM: dts: at91: linea/tse850-3: use TCB0 as timers
ARM: dts: at91: sama5d3xek_cmp: use TCB0 as timers
ARM: dts: at91: kizbox2: use TCB0 as timers
ARM: dts: at91: sama5d3 Xplained: use TCB0 as timers
ARM: dts: at91: sama5d3xek: use TCB0 as timers
ARM: dts: at91: sama5d3: TC blocks are also simple-mfd and syscon devices
ARM: dts: at91: kizboxmini: use TCB0 as timers
ARM: dts: at91: cosino: use TCB0 as timers
ARM: dts: at91: acme/g25: use TCB0 as timers
ARM: dts: at91: at91sam9x5cm: use TCB0 as timers
...
Signed-off-by: Olof Johansson <olof@lixom.net>
UniPhier ARM64 SoC DT updates for v4.16
- clean up gpios properties by macro
- add GPIO hog for PXs3 reference node
- add has-transaction-translator property to generic-ehci nodes
- enable more serial ports for PXs3 reference node
* tag 'uniphier-dt64-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
arm64: dts: uniphier: enable more serial ports for PXs3 ref board
arm64: dts: uniphier: add has-transaction-translator property to usb node for LD11
arm64: dts: uniphier: add GPIO hog definition for PXs3
arm64: dts: uniphier: use macros in dt-bindings header
Signed-off-by: Olof Johansson <olof@lixom.net>
UniPhier ARM SoC DT updates for v4.16
- clean up gpios properties by macro
- add efuse nodes
- add has-transaction-translator property to generic-ehci nodes
* tag 'uniphier-dt-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
ARM: dts: uniphier: add has-transaction-translator property to usb node for LD4, sLD8 and Pro4
ARM: dts: uniphier: add efuse node for UniPhier 32bit SoC
ARM: dts: uniphier: use macros in dt-bindings header
Signed-off-by: Olof Johansson <olof@lixom.net>
Allwinner arm64 defconfig changes for 4.16
Enables MUSB driver and the Allwinner glue layer driver by default.
All Allwinner SoCs (excluding the A80) have the Mentor Graphics Inventra
Multi-Point Hi-Speed OTG Controller (MHDRC). Enabling this extends test
coverage to this peripheral.
* tag 'sunxi-config64-for-4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
arm64: defconfig: enable MUSB HDRC along with Allwinner glue
Signed-off-by: Olof Johansson <olof@lixom.net>
Allwinner DT64 changes for 4.16
There are two important changes in this round.
The first removes the redundant pinctrl setting for the MMC card detect
GPIO. We are moving to strict pinctrl/GPIO exclusion, i.e. GPIO usage
will block other pin muxing usage, and vice versa. The usage of pinmux
for guarding GPIO pins in the device tree prevents us from doing so.
This is part of an ongoing effort to clean up the existing device trees.
The other important change enables the PMIC on the Orangepi Win. The
PMIC provides power to most of the external onboard peripherals.
Enabling it will allow us to enable Ethernet or WiFi support later on.
The remaining changes in this round enable some peripheral, such as
Ethernet, an external WiFi chip, or LEDs.
* tag 'sunxi-dt64-for-4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
arm64: dts: allwinner: a64: bananapi-m64: Add LED device node
arm64: dts: a64-olinuxino: Enable RTL8723BS WiFi
arm64: dts: allwinner: h5: NanoPi NEO Plus2 : add EMAC support
arm64: dts: allwinner: H5: remove redundant MMC0 card detect pin
arm64: allwinner: a64: Enable AXP803 for Orangepi Win
arm64: dts: orange-pi-zero-plus2: enable AP6212a WiFi/BT combo
Signed-off-by: Olof Johansson <olof@lixom.net>
Allwinner DT changes for 4.16
A random assortment of improvements.
GPIO device nodes are added for the AXP813/AXP818 PMICs, meaning we can
finally use the GPIO pins on the PMICs. The LDOs on the GPIO pins can
also be properly muxed and guarded.
EMAC Ethernet support is enabled for more H3 boards, and also for the
A83T, following the return of the bindings in 4.15, after a last minute
revert in 4.13. This will make the H3/A83T boards much more useful in
headless applications.
Two new boards are introduced. The Orange Pi R1 is a small board with
two Ethernet interfaces (one EMAC-based and one USB-based) and a WiFi
chip. This board is fully supported, with the exception of TV-out on
the expansion header, which will not be enabled by default. The WiFi
chip (RTL8189FTV) requires an out-of-tree driver. The Libre Computer
Board ALL-H3-CC H3 version is a newcomer to the Allwinner SBC space,
which was mostly represented by a bunch of fruit-Pis. It is mostly
supported, with the exception of HDMI and camera sensor interface,
which have not been implemented yet.
Two minor patches enable the audio codec on the A13 Olinuxino, and
HDMI output on the pcDuino3 Nano.
* tag 'sunxi-dt-for-4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
ARM: dts: sun8i: h3: nanopi-m1-plus: fix missing ethernet 0 in aliases
ARM: dts: sun8i: h3: Enable dwmac-sun8i on the Nanopi M1
ARM: dts: sun7i: Enable HDMI on pcDuino3 Nano
ARM: dts: sun8i: a83t: Add I2C device nodes and pinmux settings
ARM: dts: sun8i: a83t: Add I2S controller device nodes
ARM: dts: sun8i-h3: Remove allwinner,leds-active-low for non internal PHY
ARM: dts: sun8i: a83t: Enable Ethernet on two boards
ARM: dts: sun8i: a83t: add dwmac-sun8i device node
ARM: dts: sun8i: h3: enable USB OTG for NanoPi Neo board
ARM: dts: sun8i: h3: Add dts file for Libre Computer Board ALL-H3-CC H3 ver.
ARM: dtsi: axp81x: set pinmux for GPIO0/1 when used as LDOs
ARM: dtsi: axp81x: add GPIO DT node
ARM: dts: sun8i: add support for Orange Pi R1
ARM: dts: sunxi: Add codec for A13 Olinuxino
Signed-off-by: Olof Johansson <olof@lixom.net>
ARM: Keystone DTS update for 4.16
- Enable GPIO bank2 for K2L
- Enable QSPI for K2G & K2G-EVM
- Enable UART1/2 for K2G & K2G-EVM
- Enable peripherals for K2G-ICE
- Fix C1 and C2 DTS warnings
* tag 'keystone_dts_for_4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
ARM: dts: keystone-k2l-clocks: Add missing unit name to clock nodes that have regs
ARM: dts: keystone-k2e-clocks: Add missing unit name to clock nodes that have regs
ARM: dts: keystone-hk-clocks: Add missing unit name to clock nodes that have regs
ARM: dts: keystone-clocks: Add missing unit name to clock nodes that have regs
ARM: dts: keystone: Add missing unit name to interrupt controller
ARM: dts: keystone: Get rid of usage of skeleton.dtsi
ARM: dts: keystone*: Use a single soc0 instance
ARM: dts: keystone*: Standardize license with SPDX tag
ARM: dts: k2g-evm: Enable UART 2
ARM: dts: k2g: Add UART 1 and 2 instances
ARM: dts: keystone: Add generic compatible string for I2C EEPROM
ARM: dts: keystone-k2g-ice: Add DT nodes for few peripherals
ARM: dts: keystone-k2g-evm: Add QSPI DT node.
ARM: dts: keystone-k2g: Move ti,non-removable property to board dts
ARM: dts: keystone-k2g-evm: Fix botched up merge
ARM: dts: keystone-k2g: Add QSPI DT entry
ARM: dts: keystone-k2l: Add the second gpio bank node
Signed-off-by: Olof Johansson <olof@lixom.net>
This is the pxa changes for v4.16 cycle.
It is :
- the conversion to the new parser sharpslpart parser
for the Sharp variants
- an I2C platform data cleanup for PXA
- a gpioreg switch of one register for lubbock
* tag 'pxa-for-4.16' of https://github.com/rjarzmik/linux:
ARM: pxa/lubbock: add GPIO driver for LUB_MISC_WR register
ARM: pxa/poodle: Remove hardcoded partitioning, use sharpslpart parser
ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser
ARM: pxa/tosa: Remove hardcoded partitioning, use sharpslpart parser
ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser
ARM: pxa: move header file out of I2C realm
ARM: pxa: move declarations to proper place
Signed-off-by: Olof Johansson <olof@lixom.net>
Two defconfig updates for omaps
These are to configure dra7 PCIe for omap2plus_defconfig and
multi_v7_defconfig.
* tag 'omap-for-v4.16/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: multi_v7_defconfig: Enable CONFIG_PCI_DRA7XX (Host & Device modes)
ARM: omap2plus_defconfig: Enable CONFIG_PCI_DRA7XX (Host & Device modes)
Signed-off-by: Olof Johansson <olof@lixom.net>
Second set of device tree changes for omaps for v4.16 merge window
This branch mostly configures more hardware support:
- Clean-up dts files to remove leading 0x and 0s from binding notation
to remove more dtc compiler warnings
- A series of am437x updates for backlight, to fix inverted pad
pull macro, and to configure power management related OPPs
- Configure n950 and droid 4 command mode LCD panels
- Updates to pandora and gta04 LCD panels
- Add support for am574x-idk
- A series of changes to configure more dra7 related PCIe features
- A series of fixes for am335x-boneblue for WLAN, UARTs and CAN
configuration
- A series of changes to configure dra7 OPPs and VDD supplies
* tag 'omap-for-v4.16/dt-pt2-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (29 commits)
Revert "ARM: dts: dra7: Add properties to enable PCIe x2 lane mode"
ARM: dts: am572x-idk: Add cpu0 vdd supply
ARM: dts: am571x-idk: Add cpu0 vdd supply
ARM: dts: dra72-evm-tps65917: Add cpu0 vdd supply
ARM: dts: dra7-evm: Add cpu0 vdd supply
ARM: dts: am57xx-beagle-x15-common: Add cpu0 vdd supply
ARM: dts: dra7: Enable 1.5 GHz operation for the CPU
ARM: dts: dra7: Add MPU OPP supply node
ARM: dts: dra7: Add vbb-supply to cpu and additional voltages
ARM: dts: am335x-boneblue: enable can
ARM: dts: am335x-boneblue: enable usarts
ARM: dts: am335x-boneblue: fix wl1835 IRQ pin
ARM: dts: dra7: Remove deprecated PCI compatible string
ARM: dts: dra76-evm: Enable x2 PCIe lanes
ARM: dts: DRA72x: Use PCIe compatible specific to dra72
ARM: dts: DRA74x: Use PCIe compatible specific to dra74
ARM: dts: dra7: Add properties to enable PCIe x2 lane mode
ARM: dts: am57xx: Add support for am574x-idk
ARM: dts: am43x-epos-evm: Hook dcdc2 as the cpu0-supply
ARM: dts: am437x-idk-evm: Disable OPP50 for MPU
...
Signed-off-by: Olof Johansson <olof@lixom.net>
TI sysc driver updates for v4.16 merge window
We now have gotten ti-sysc driver to the point where it can parse
interconnect target configuration from device tree instead of the
legacy platform data. This series updates the device tree binding
and adds parsing to the driver for quirks and capabilities.
* tag 'omap-for-v4.16/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
bus: ti-sysc: Add parsing of module capabilities
bus: ti-sysc: Handle module quirks based dts configuration
bus: ti-sysc: Detect i2c interconnect target module based on register layout
bus: ti-sysc: Add register bits for interconnect target modules
bus: ti-sysc: Make omap_hwmod_sysc_fields into sysc_regbits platform data
ARM: OMAP2+: Move all omap_hwmod_sysc_fields to omap_hwmod_common_data.c
ARM: dts: Add generic ti,sysc compatible in addition to the custom ones
dt-bindings: ti-sysc: Update binding for timers and capabilities
Signed-off-by: Olof Johansson <olof@lixom.net>
Second set of SoC changes for omaps for v4.16 merge window
We can now drop some more of legacy platform data for omap3 as
it's been booting in device tree only mode for quite a while now.
This clock related data is coming from device tree configured
clocks now.
The other changes add support for detecting new dra762 SoC variant.
* tag 'omap-for-v4.16/soc-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: dra762: Register package specific hwmod
ARM: OMAP2+: dra762: Add support for device package identification
ARM: OMAP2+: Drop unused legacy data for prcm_reg_id and module_bit
Signed-off-by: Olof Johansson <olof@lixom.net>
mvebu arm64 for 4.16 (part 1)
Adding the cpu frequency scaling support for Armada 37xx
* tag 'mvebu-arm64-4.16-1' of git://git.infradead.org/linux-mvebu:
arm64: defconfig: enable ARM_ARMADA_37XX_CPUFREQ
Signed-off-by: Olof Johansson <olof@lixom.net>
mvebu dt64 for 4.16 (part 1)
Add the NAND support on the Marvell 8040-DB board
Add the thermal support for Martvell A7K/A8K Socs
Add nodes allowing cpufreq support on Aramda 3700 SoCs
* tag 'mvebu-dt64-4.16-1' of git://git.infradead.org/linux-mvebu:
ARM64: dts: marvell: Add thermal support for A7K/A8K
arm64: dts: marvell: armada-37xx: add nodes allowing cpufreq support
arm64: dts: marvell: add NAND support on the 8040-DB board
Signed-off-by: Olof Johansson <olof@lixom.net>
mvebu dt for 4.16 (part 1)
Fix potential dtc warnings on kirkwoods files
Declare a new pin (RB) usbale for NAND controller on Armada 38x
* tag 'mvebu-dt-4.16-1' of git://git.infradead.org/linux-mvebu:
arm: kirkwood: dts: Use lower case for bindings notation
ARM: dts: armada-38x: Add NAND RB pinctrl information
Signed-off-by: Olof Johansson <olof@lixom.net>
Second Round of Renesas ARM Based SoC Updates for v4.16
* rcar-sysc: Keep wakeup sources active during system suspend
Geert Uytterhoeven says "If an R-Car SYSC slave device is part of the
CPG/MSTP or CPG/MSSR Clock Domain and to be used as a wakeup source, it
must be kept active during system suspend.
Currently this is handled in device-specific drivers by explicitly
increasing the use count of the module clock when the device is
configured as a wakeup source. However, the proper way to prevent the
device from being stopped is to inform this requirement to the genpd
core, by setting the GENPD_FLAG_ACTIVE_WAKEUP flag.
Note that this will only affect devices configured as wakeup sources."
* tag 'renesas-soc2-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
soc: renesas: rcar-sysc: Keep wakeup sources active during system suspend
Signed-off-by: Olof Johansson <olof@lixom.net>
Second Round of Renesas ARM Based SoC DT Updates for v4.16
* r8a7745 (RZ/G1E) SoC
- Enable SMP
Fabrizio Castro says "Add DT node for the Advanced Power Management
Unit (APMU), add the second CPU core, and use "renesas,apmu" as
"enable-method"."
* r8a7743 (RZ/G1M) SoC
- Add node for thermal sensor module with thermal-zone support
* r8a7743 (RZ/G1M) and r8a7745 (RZ/G1E) SoCs
- Add:
+ Renesas Core Match Timer (CMT) support
+ Renesas Timer Pulse Unit PWM Controller (TPU) support
+ Renesas PWM Timer Controller (PWM) support
* r8a7743 (RZ/G1M) iW-RainboW-G20D-Qseven and
r8a7745 (RZ/G1E) iW-RainboW-G22D development platforms
- Add sound support
* r8a7743 (RZ/G1M), r8a7745 (RZ/G1E) and r8a7792 (R-Car V2H) SoCs
- Allow DTBs of boards of these SoCs to build without any warnings when
compiled with W=1 using gcc-linaro-5.4.1-2017.05
+ Move nodes which have no reg property out of bus, they don't belong there
+ Also sort sub-nodes of root node to allow for easier maintenance
* r8a7790 (R-Car H2), r8a7791 (R-Car M2-W) and r8a7793 (R-Car M2-N) SoCs
- Correct critical CPU temperature
Chris Paterson says "The current R-Car Gen2 device trees define the CPU
critical temperature as 115°C.
The R-Car hardware manuals state that Tc = –40°C to +105°C. The thermal
sensor has an accuracy of ±5°C and there can be a temperature
difference of 1 or 2 degrees between Tjmax and the thermal sensor due
to the location of the latter.
This means that 95°C is a safer value to use.
This value should also apply to r8a7792 but thermal sensor support has
not been added yet."
* r8a7740 (R-Mobile A1) SoC
- Correct TPU register block size
Geert Uytterhoven says "The Timer Pulse Unit has registers that lie
outside the declared register block. Enlarge the register block size to
fix this.
This was probably based on the old platform code, which also assumed a
register block size of 0x100."
* tag 'renesas-dt2-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (37 commits)
ARM: dts: r8a7745: Add missing clock for secondary CA7 CPU core
ARM: dts: iwg22d-sodimm: Sound DMA support via DVC on DTS
ARM: dts: iwg22d-sodimm: Sound DMA support via SRC on DTS
ARM: dts: iwg22d-sodimm: Sound DMA support via BUSIF on DTS
ARM: dts: iwg22d-sodimm: Sound DMA support on DTS
ARM: dts: iwg22d-sodimm: Sound PIO support
ARM: dts: iwg22d-sodimm: Enable SGTL5000 audio codec
ARM: dts: r8a7745: Add sound support
ARM: dts: r8a7745: Add audio DMAC support
ARM: dts: r8a7745: Add audio clocks
ARM: dts: r8a7740: Correct TPU register block size
ARM: dts: r8a7743: move timer and thermal-zones nodes out of bus
ARM: dts: r8a7743: sort root sub-nodes alphabetically
ARM: dts: iwg20d-q7-common: Sound DMA support via DVC on DTS
ARM: dts: iwg20d-q7-common: Sound DMA support via SRC on DTS
ARM: dts: iwg20d-q7-common: Sound DMA support via BUSIF on DTS
ARM: dts: iwg20d-q7-common: Sound DMA support on DTS
ARM: dts: iwg20d-q7-common: Sound PIO support
ARM: dts: iwg20d-q7-common: Enable SGTL5000 audio codec
ARM: dts: r8a7792: move timer node out of bus
...
Signed-off-by: Olof Johansson <olof@lixom.net>
Renesas ARM Based SoC Defconfig Updates for v4.16
shmobile_defconfig:
* Enable PWM timers, which are present on R-Car and RZ/G1 platforms,
as a built-in
* Enable SGTL5000 audio codec, which is present on the he iWave RZ/G1M Q7
carrier board, as a built-in
multi_v7_defconfig:
* Enable PWM timers, which are present on R-Car and RZ/G1 platforms,
as a module
* tag 'renesas-defconfig-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: defconfig: Enable PWM
ARM: multi_v7_defconfig: Select PWM_RCAR as module
ARM: shmobile: defconfig: Enable SGTL5000 audio codec
Signed-off-by: Olof Johansson <olof@lixom.net>
Second Round of Renesas ARM64 Based SoC DT Updates for v4.16
* Add usb3_phy node to r8a7795 (R-Car H3) and r8a7796 (R-Car M3-W) SoCs, and
enable usb3_peri0 on salvator boards
* Allow DTBs of boards of r8a7795 (R-Car H3) and r8a7796 SoCs to build
without any warnings when compiled with W=1 using gcc-linaro-5.4.1-2017.05
- Move nodes which have no reg property out of bus, they don't belong there
- Add reg properties to dummy pciec[01] nodes
- Also sort sub-nodes of root node to allow for easier maintenance
* Add Add EthernetAVB PHY reset to r8a7795 (R-Car H3) and r8a7796 SoCs boards.
Geert Uytterhoeven says "... add properties to describe the EthernetAVB
PHY reset topology to the common Salvator-X/XS and ULCB DTS files, which
solves two issues:
1. On Salvator-XS, the enable pin of the regulator providing PHY power
is connected to PRESETn, and PSCI powers down the SoC during system
suspend. Hence a PHY reset is needed to restore network
functionality after system resume.
2. Linux should not rely on the boot loader having reset the PHY, but
should reset the PHY during driver probe."
* tag 'renesas-arm64-dt2-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
arm64: dts: renesas: salvator-common: enable usb3_peri0
arm64: dts: renesas: salvator-common: enable usb3_phy0 node
arm64: dts: renesas: r8a7796: add usb3_phy node
arm64: dts: renesas: r8a7795: add usb3_phy node
arm64: dts: renesas: r8a7796: add reg properties to pciec[01] nodes
arm64: dts: renesas: r8a7796: move nodes which have no reg property out of bus
arm64: dts: renesas: r8a7796: sort subnodes of root node alphabetically
arm64: dts: renesas: r8a7795: sort subnodes of root node alphabetically
arm64: dts: renesas: ulcb: Add EthernetAVB PHY reset
arm64: dts: renesas: salvator-common: Add EthernetAVB PHY reset
arm64: dts: renesas: r8a7795: Move nodes which have no reg property out of bus
Signed-off-by: Olof Johansson <olof@lixom.net>
Actions Semi SoC drivers for v4.16
The SPS power domain driver is extended for S700 SoC.
* tag 'actions-drivers-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions:
soc: actions: sps: Add S700
Signed-off-by: Olof Johansson <olof@lixom.net>
Actions Semi arm64 based SoC DT for v4.16
This adds S700 SoC and CubieBoard7.
* tag 'actions-arm64-dt-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions:
arm64: dts: actions: Add S700 and CubieBoard7
dt-bindings: power: Add Actions Semi S700 SPS
dt-bindings: arm: actions: Add S700 and CubieBoard7
Signed-off-by: Olof Johansson <olof@lixom.net>
Actions Semi arm based SoC DT for v4.16
This adds a DT for the Allo.com Sparky SBC.
* tag 'actions-arm-dt-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions:
arm: dts: owl-s500: Add Sparky
dt-bindings: arm: actions: Add Sparky
dt-bindings: Add vendor prefix for Allo.com
Signed-off-by: Olof Johansson <olof@lixom.net>
ARM64: DT: Hisilicon SoC DT updates for 4.16
- Add SD card support for the hi3798cv200-poplar board
- Replace the PMU node with exact match for the hi3660 SoC
- Add cpu capacity-dmips-mhz information for the hi3660 SoC
* tag 'hisi-arm64-dt-for-4.16-v2' of git://github.com/hisilicon/linux-hisi:
arm64: dts: hisilicon: Add hi3660 cpu capacity-dmips-mhz information
arm64: dts: hi3660: improve pmu description
arm64: dts: hi3798cv200: add SD card support
Signed-off-by: Olof Johansson <olof@lixom.net>
This pull request contains Broadcom ARM/ARM64 based SoCs drivers changes for
4.16, please pull the following:
- Arnd provides an update to the Raspberry Pi firmware interface and uses time64_t to
print the time to make it more future proof
- Florian provides a set of updates to make the Broadcom STB Bus Interface Unit code
work on newer ARM64-based chips, as well as perform the correct interface tuning
for these chips to reach the expected performance
* tag 'arm-soc/for-4.16/drivers' of http://github.com/Broadcom/stblinux:
soc: brcmstb: biuctrl: Move to early_initcall
soc: brcmstb: Split initialization
soc: brcmstb: biuctrl: Fine tune B53 MCP interface settings
soc: brcmstb: biuctrl: Wire-up new registers
soc: brcmstb: biuctrl: Prepare for saving/restoring other registers
soc: brcmstb: Correct CPU_CREDIT_REG offset for Brahma-B53 CPUs
soc: brcmstb: Make CPU credit offset more parameterized
dt-bindings: arm: brcmstb: Correct BIUCTRL node documentation
dt-bindings: arm: Add entry for Broadcom Brahma-B53
firmware: raspberrypi: print time using time64_t
Signed-off-by: Olof Johansson <olof@lixom.net>
This pull request contains Broadcom ARM-based SoCs Device Tree changes for
4.16, please pull the following:
- Stefan updates the BCM283x DTS to make consistent use of the existing GPIO
defines for the polarity specifier
* tag 'arm-soc/for-4.16/devicetree' of http://github.com/Broadcom/stblinux:
ARM: dts: bcm283x: Use GPIO polarity defines consistently
Signed-off-by: Olof Johansson <olof@lixom.net>
Pull drm fixes from Dave Airlie:
"Just collecting some fixes to finish my hoildays :-).
A few fixes for i915 (one documentation build fix), one ttm fix, one
AMD display fix, one omapdrm fix, and a set of armada fixes from
Russell.
All seem pretty small, you can now return to your latest security news
site"
* tag 'drm-fixes-for-v4.15-rc7' of git://people.freedesktop.org/~airlied/linux:
drm/i915: Apply Display WA #1183 on skl, kbl, and cfl
drm/ttm: check the return value of kzalloc
drm/amd/display: call set csc_default if enable adjustment is false
docs: fix, intel_guc_loader.c has been moved to intel_guc_fw.c
omapdrm/dss/hdmi4_cec: fix interrupt handling
documentation/gpu/i915: fix docs build error after file rename
drm/i915: Put all non-blocking modesets onto an ordered wq
drm/i915: Disable DC states around GMBUS on GLK
drm/i915/psr: Fix register name mess up.
drm/armada: fix YUV planar format framebuffer offsets
drm/armada: improve efficiency of armada_drm_plane_calc_addrs()
drm/armada: fix UV swap code
drm/armada: fix SRAM powerdown
drm/armada: fix leak of crtc structure
drm/imx: format modifier support
- Add tiled prefetch support to PRE
- Add format modifier support to PRG and imx-drm-core
- Use runtime PM to control PRG clock
- Allow building ipu-v3 under COMPILE_TEST
* tag 'imx-drm-next-2018-01-02' of git://git.pengutronix.de/git/pza/linux:
gpu: ipu-v3: allow to build with COMPILE_TEST
drm/imx: advertise supported plane format modifiers
drm/imx: add FB modifier support
gpu: ipu-v3: prg: add modifier support
gpu: ipu-v3: pre: add tiled prefetch support
gpu: ipu-v3: prg: switch to runtime PM