Linux 4.20 Release – Main Changes, Arm and MIPS Architectures

After Greg K-H handling Linux 4.19 release, Linus Torvalds is back at the helm, and released Linux 4.20 just before Christmas:

Let’s face it, last week wasn’t quite as quiet as I would have hoped for, but there really doesn’t seem to be any point to delay 4.20 because everybody is already taking a break.

And it’s not like there are any known issues, it’s just that the shortlog below is a bit longer than I would have wished for. Nothing screams “oh, that’s scary”, though.

And as part of the “everybody is already taking a break”, I can happily report that I already have quite a few early pull requests in my inbox. I encouraged people to get it over and done with, so that people can just relax over the year-end holidays. In fact, I probably won’t start pulling for a couple of days, but otherwise let’s just try to keep to the normal merge window schedule, even if most people hopefully won’t even be back until over the merge window is over.

As to the details of this last week of 4.20 – most of it is networking (drivers, core networking fixes, bpf). There’s a few other non-network driver updates too, and a revert series of some of the x86 inline asm changes that were obviated by upcoming compiler support.

Details below.

Have a Merry Christmas or other holiday of your choice.

Linus

Linux 4.19 gave us preliminary support for WiFi 6 aka 802.11ax, a new experimental EROFS (Enhanced Read-Only File System) designed for firmware and live CDs, more fixes for L1TF “Foreshadow” security flaw, and more.

Linux 4.20 Changelog

Some interesting changes in Linux 4.20 include:

  • Added support for Chinese CPUs – C-SKY architecture and Hygon Dhyana x86 CPUs
  • Pressure stall information – Under /proc/pressure/, several files expose the percentage of time the system is stalled on CPU, memory, or IO, respectively
  • Support for Raven2 APU and Picasso APUs; Vega20 support is no longer considered experimental.
  • Lazy TLB flushed optimization – Save 1 to 2% CPU usage for a memcache workload on two socket systems

Notable changes specific to Arm architecture:

  • Allwinner
    • Allwinner A13 / A20 / A33 / H3 – Cedrus video driver
    • Allwinner A83T – IR receiver
    • Allwinner A64 – Cleanup for device tree files, HDMI support,  audio codec support (DTS changes will be merged in 4.21)
    • Allwinner H3 & H5 – SID (sunxi security ID)
    • Allwinner R40 – SATA
    • New Devices – Pine64 LTS,  Orange Pi Zero Plus 2 (H3), Orange Pi One Plus, Banana Pi M2+ (H5)
  • Rockchip
    • Support for PX30 (aka RK3326) Cortex-A35 processor + evaluation board
    • Clock driver – Fixes for RK3328
    • Media – Add device tree binding documentation for Rockchip Video Processing Unit IP
    • PHY
      • Add new PHY driver for Rockchip HDMI PHY
      • Add support for bringing the uart2 out through the usb dm+dp pin in
        Rockchips’s rk3188
    • Add support for Rockchip Soc RGB output interface
    • New boards – ROC-RK3399-PC, Rock960, RockPro64
  • Amlogic
    • Initial support for Meson-G12A (S905D2) and evaluation board
    • Pinctrl – add driver for Amlogic Meson SoCs
    • Clock drivers
      • clk-pll driver improvements and updates
      • axg audio controller system clocks
      • Register Amlogic meson8b clock controller early
    • “canvas” driver used for video processing and shared between different high-level drivers
    • firmware – Add serial number (SoC ID) sysfs entry
    • ARM64 DT updates
      • New SoC support: basic support for G12A family
      • New board: Amlogic U200 board, using G12A SoC
      • Fix SPI bus warnings from new dtc updates
      • AXG – cleanup/reorder nodes; add audio PDM support for s400 board
      • GX – increase CMA memory size; new canvas driver
    • New board – Endless Mini computer based on Amlogic S805 (Meson8b)
  • Samsung
    • DRM for Exynos
      • Out-bridge support for LVDS bridge driver
      • Samsung 16×16 tiled format support
      • Plane alpha and pixel blend mode support
    • Clock driver
      • Consolidation of system suspend related code in Exynos, S5P, S3C SoC clk drivers
      • Fixes of system suspend support on Exynos542x (Odroid boards) and Exynos5433 SoC
      • Removal of obsoleted Exynos4212 ISP clock definitions
      • Correction of Exynos CPU clock implementation
      • Addition of SPDX license identifiers
    • 32-bit ARM Device Tree changes
      • Bring up DSI and HDMI on Exynos5250 Arndale.
      • Use the new way of setting external wake-up interrupts on S5Pv210.
      • Use proper cpufreq suspend OPP to fix suspend/wake-up from RAM on Snow Chromebook (Exynos5250).
      • Fully describe regulators on Odroid XU3-family boards.
      • Fix sound in Snow-rev5 Chromebook.
      • Fix regulators configuration on Peach Pi/Pit Chromebooks (Exynos5420) which should be always on.
      • Fix pull control on PMIC interrupt lines on multiple boards which
        essentially fixes waking up by RTC.
      • Add PMIC interrupts on Exynos4210 UniversalC210 board.
      • Add external SD card support for Trats board (Exynos4210).
      • Correct audio subsystem parent clock on Peach Chromebooks.
      • Minor cleanups
      • Add proper configuration for Odroid XU SD write-protect pin
    • ARM64 Device Tree changes
      • Use graph between USB-PHY and MUIC.
      • Cleanup of SD card detect pin level
  • Qualcomm
    • Support for MSM8998 (Snapdragon 835) processor and evaluation platform
    • New Clock drivers – Qualcomm Krait CPU clk , Qualcomm QCS404 GCC, Qualcomm SDM660 GCC, Qualcomm SDM845 camera clock controller
    • The reset controller subsystem adds a driver for the Qualcomm Snapdragon 845 Power Domain Controller
    • New Pinctrl drivers – Qualcomm QCS404 pin control and GPIO subdriver; Qualcomm SDM660 pin control and GPIO subdriver
    • PHY – UFS PHY in Qualcomm’s SDM845 SoC
    • ARM64 DT changes:
      • Update Coresight for MSM8916
      • Switch to use mailbox for smp2p and smd on MSM8996
      • Add dispcc, dsp, USB, regulator, and other nodes for SDM845
      • Drop model/compatible from MSM8916 and MSM8996
      • Add compat for db820c
      • Add MSM8998 SoC and board support along with associated nodes
      • Add RESIN/PON for Qualcomm PM8916 and PM8994
      • Fix reserved gpio ranges for SDM845 and MSM8998
    • DT changes
      • Fix IRQ constants usage on MSM8974
      • Add led, gpio-button, sdcc, and pcie nodes for IPQ8064
      • Move/cleanup common nodes for IPQ8064
      • Add i2c sensor nodes for MSM8974 Hammerhead
      • Fixes for SAW, kpss, opp, pci range, and space/tab on IPQ4019
      • Update coresight bindings
    • Defconfig changes – Enable MAILBOX
    • ARM64 Deconfig changes – Enable Qualcomm QRTR driver
  • Mediatek
    • Power management chip support for Mediatek MT8183 and MT6765 SoC’s
    • Pinctrl – MT8183, MT6765 and MT7623 sub-drivers
    • SPI driver for MT2712
    • New board – Banana Pi R64
  • Other new ARM hardware platforms and SoCs:
    • Broadcom – Raspberry Pi CM3 compute module based on BCM2837
    • Hisilicon – Hi3670 and Hikey 970 development board with NPU
    • Marvell – SolidRun Clearfog ARMADA 8040 board
    • NVIDIA – Toradex Colibri T20 (Tegra 2)
    • NXP Semiconductors – ConnectCore 6UL SBC Pro; support for i.MX6ULZ a smaller cost-down version of  i.MX6ULL and corresponding i.MX6ULZ 14×14 EVK reference board
    • Renesas – Basic support for r8a774a1 (RZ/G2M) processor; M3NULCB Kingfisher and M3NULCB Starter Kit Pro boards based on r8a77965 (R-Car M3-N)
    • Synaptics – AS370 set-top box chip
    • Texas Instruments – OMAP Boards: Moxa UC-2101 industrial computer and GTA04A5, a variant of the motherboard for GTA04 phone

Summary of MIPS updates for Linux 4.20:

  • kexec support for the generic MIPS platform when running on a CPU
    including the MIPS Coherence Manager & related hardware.
  • Improvements to the definition of memory barriers used around MMIO
    accesses, and fixes in their use.
  • Switch to CONFIG_NO_BOOTMEM from Mike Rapoport, finally dropping
    reliance on the old bootmem code.
  • A number of fixes & improvements for Loongson 3 systems.
  • DT & config updates for the Microsemi Ocelot platform.
  • Workaround to enable USB power on the Netgear WNDR3400v3.
  • Various cleanups & fixes.

You can read a more complete Linux 4.20 changelog (here)with comments only generated with git log v4.19..v4.20 --statcommand, and you’ll also find summary of changes on KernelNewbies.

7
Leave a Reply

avatar
4 Comment threads
3 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
SUREN ZADURIANtkaiserJerrywillyDiego Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
T-C
Guest
T-C

🍁

kogepathic
Guest
kogepathic

It seems with 4.20 the Banana Pi M2 Ultra is finally usable*. The R40 GMAC and SATA interfaces are working.

I’ve built and tested 4.20 on my BPi M2U, and I can finally say it is no longer a paperweight! It just goes to show that 2 years after release, a SinoVoIP board is as useful as a Rock64 on release day. Banana Pi are still offering Android 6 and Linux images based on 3.10…

*As long as you don’t plan to use Audio or HDMI

Diego
Guest
Diego

4.20 is just awesome on the H3… First time that is working as a multimedia thing with all OS SW 🙂

Jerry
Guest
Jerry

So it’s finally as usable as RPi has been for years?

tkaiser
Guest
tkaiser

Poor Jerry and his continuous struggle to boost RPi sales…

Allwinner H3 ‘as a multimedia thing’ worked from the beginning — though partially with proprietary and closed source stuff (Android libs provided by the SoC manufacturer). The above comment was about multimedia with all OS SW, something the RPi will never see (OS means open source, a concept RPi fanboys might not be familiar with).

It’s about open source software and not proprietary closed source crap as it’s the case on those Raspberries. All the multimedia/video/camera stuff runs on the closed source RTOS called ThreadX and to be able to use it from within Linux a proprietary interface called /dev/vchiq is needed.

TL;DR: Thanks to a great open source community called linux-sunxi low-cost Allwinner SoCs can now be used with multimedia use cases fully running with open source software. This is neither the case with RPi nor will this ever happen since the RPi is a closed source platform running a proprietary RTOS as main operating system without any open source communities dedicated to it.

SUREN ZADURIAN
Guest
SUREN ZADURIAN

I just was going to write what so big change happened to H3 cause I ‘ve seen only the line with H3 – SID in changes. Until I didn’t see the first line 🙂 Unfortunately all my Orange PI boxes have some issues with HDMI and I’m using them for non-multimedia purposes (which they serve perfectly with Armbian server) .

willy
Guest
willy

Jean-Luc, in last sentence you need to “s/4.19 changelog/4.20 changelog”, you took too much of the previous announce 😉