Linux_5.0 - Linux Kernel Newbies



Last updated at 2019-05-09 21:32:44

Linux 5.0has been releasedon Sun, 3 Mar 2019.

Summary: This release includes support for energy-aware scheduling which wakes up tasks to the more energy-efficient CPUs in phones; it also includes adiantum file system encryption for low power devices; it adds support in the amdgpu driver for AMD Freesync (variable refresh rate); it adds support for Receive Offload andMSG_ZEROCOPYsupport in UDP; it adds support for ARM pointer authentication; it adds support for the cpuset resource controller (which can constraint the CPU and memory node placement of tasks) in cgroupv2; it adds support for namespacing support for binderfs, which lets to run multiple instances of android; it adds support for swap files in btrfs; and it also adds many new drivers and other improvements.


  1. Coolest features

    1. New version 5.0

    2. Energy-aware Scheduling for Arm big.LITTLE

    3. Adiantum file system encryption for low power devices

    4. Support for AMDGPU FreeSync

    5. UDP Generic Receive Offload and MSG_ZEROCOPY support

    6. Support cpuset resource controller in cgroupv2

    7. Btrfs swap file support

    8. binderfs, a binder filesystem to run multiple instances of Android

    9. ARM pointer authentication

  2. Core (various)

  3. File systems

  4. Memory management

  5. Block layer

  6. Tracing, perf and BPF

  7. Virtualization

  8. Cryptography

  9. Security

  10. Networking

  11. Architectures

    1. ARM

    2. X86

    3. CSKY

    4. MIPS

    5. NDS32

    6. POWERPC

    7. XTENSA

    8. RISCV

    9. ARC

  12. Drivers

    1. Graphics

    2. Storage

    3. Drivers in the Staging area

    4. Networking

    5. Audio

    6. Tablets, touch screens, keyboards, mouses

    7. TV tuners, webcams, video capturers

    8. Universal Serial Bus

    9. Serial Peripheral Interface (SPI)

    10. Watchdog

    11. Serial

    12. ACPI, EFI, cpufreq, thermal, Power Management

    13. Real Time Clock (RTC)

    14. Voltage, current regulators, power capping, power supply

    15. Pin Controllers (pinctrl)

    16. Multi Media Card (MMC)

    17. Memory Technology Devices (MTD)

    18. Industrial I/O (iio)

    19. Inter-Integrated Circuit (I2C)

    20. Hardware monitoring (hwmon)

    21. General Purpose I/O (gpio)

    22. Leds

    23. DMA engines

    24. Cryptography hardware acceleration

    25. PCI

    26. Clock

    27. Various

  13. List of merges

  14. Other news sites

1. Coolest features

1.1. New version 5.0

This release increases the major version number to 5. This change does not mean anything and does not affect programs in any way, it just makes Linus happy.

1.2. Energy-aware Scheduling for Arm big.LITTLE

This release includes the energy-aware scheduling feature, which lets the task scheduler to take scheduling decisions that will result in lower power usage on asymmetric SMP platforms - such as waking up tasks to the more energy-efficient CPUs first. This feature is important to achieve better power management in phones using Arm's big.LITTLE CPUs. This feature is a simplified version of the energy-aware scheduling that is currently part of the AOSP Common Kernel.

Recommended LWN article:Energy-aware scheduling on asymmetric systems


1.3. Adiantum file system encryption for low power devices

This release adds support for the Adiantum encryption. Note that this encryption mode is not added to ecryptfs but to fscrypt, the kernel funcionality which filesystems (currently ext4, f2fs and ubifs) can hook into to support transparent encryption of files and directories.

Adiantum was developed to provide filesystem encryption for low-end Android devices that lack AES instructions. On ARM Cortex-A7, on 4096-byte messages Adiantum encryption is about 4 times faster than AES-256-XTS encryption; decryption is about 5 times faster. See thegoogle security blogor theAdiantum paperfor more details.

Recommended LWN article:Adiantum: encryption for the low end


1.4. Support for AMDGPU FreeSync

This release adds support forFreeSync, an adaptive synchronization technology for LCDs that support a dynamic refresh rate, aimed at providing a low monitor latency and a smooth, virtually stutter-free viewing experience. It also helps improve battery life by reducing the refresh rate of the panel when not receiving new images.

Variable refresh rate capable displays can dynamically adjust their refresh rate by extending the duration of their vertical front porch until page flip or timeout occurs. This can reduce or remove stuttering and latency in scenarios where the page flip does not align with the vblank interval. An example scenario would be an application flipping at a constant rate of 48Hz on a 60Hz display. The page flip will frequently miss the vblank interval and the same contents will be displayed twice. This can be observed as stuttering for content with motion. If variable refresh rate was active on a display that supported a variable refresh range from 35Hz to 60Hz no stuttering would be observable for the example scenario.


1.5. UDP Generic Receive Offload and MSG_ZEROCOPY support

This release adds support of GRO (Generic Receive Offload) in the UDP implementation. A new sockopt (UDP_GRO) has been added to enable GRO support. Future enachements will enable UDP GSO offload on more virtual devices eventually even on forwarded packets.

This release also expandsMSG_ZEROCOPYsupport for UDP. Recommended LWN article:Zero-copy networking

Code: GRO msg_zerocopy

1.6. Support cpuset resource controller in cgroupv2

The cpuset controller provides a mechanism for constraining the CPU and memory node placement of tasks to only the resources specified in the cpuset interface files in a task's current cgroup. This is especially valuable on large NUMA systems where placing jobs on properly sized subsets of the systems with careful processor and memory placement to reduce cross-node memory access and contention can improve overall system performance.

This release enables cpuset controller in cgroup v2, with a minimal set of features.


1.7. Btrfs swap file support

Btrfs removed support for swap files a decade ago. However, now the proper restrictions are in place, Btrfs can support swap files. The swap file must be fully allocated as "nocow" with no compression on one device.


1.8. binderfs, a binder filesystem to run multiple instances of Android

This release includes binderfs, a pseudo-filesystem for the Android Binder IPC driver. Each ipc namespace will mount a new binderfs instance. It is backwards compatible, and it allows to run multiple of Android. Each binderfs mount initially only contains a binder-control device. It can be used to dynamically allocate new binder IPC devices via ioctls.


1.9. ARM pointer authentication

The ARMv8.3 Pointer Authentication extension adds primitives that can be used to mitigate certain classes of attack where an attacker can corrupt the contents of some memory (e.g. the stack). The extension uses a Pointer Authentication Code (PAC) to determine whether pointers have been modified unexpectedly. A PAC is derived from a pointer, another value (such as the stack pointer), and a secret key held in system registers.

The extension adds instructions to insert a valid PAC into a pointer, and to verify/remove the PAC from a pointer. The PAC occupies a number of high-order bits of the pointer, which varies dependent on the configured virtual address size and whether pointer tagging is in use. A subset of these instructions have been allocated from the HINT encoding space. In the absence of the extension (or when disabled), these instructions behave as NOPs. Applications and libraries using these instructions operate correctly regardless of the presence of the extension.

For more details see the documentation:Documentation/arm64/pointer-authentication.txt


2. Core (various)

  • (FEATURED) task scheduler: Introduces Energy Aware Scheduling for CFS tasks on platforms with asymmetric CPU topologies (e.g. Arm big.LITTLE)

  • fanotify: Currently, the fanotify API does not provide a means for user space applications to receive events when a file has been opened specifically for execution. New event masksFAN_OPEN_EXECandFAN_OPEN_EXEC_PERMhave been introduced in this release for this purpose

  • (FEATURED) Enable cpuset controller in default hierarchy

  • (FEATURED) binder: implement binderfs, a pseudo-filesystem for the Android Binder IPC driver which can be mounted per-ipc namespace allowing to run multiple instances of Android. Each binderfs mount initially only contains a binder-control device. It can be used to dynamically allocate new binder IPC devices via ioctls

  • cgroup: Add named hierarchy disabling tocgroup_no_v1boot param

  • (FEATURED) fscrypt: add support for the Adiantum encryption mode. Adiantum is a tweakable, length-preserving encryption mode with security provably reducible to that of XChaCha12 and AES-256, subject to a security bound. It's also a true wide-block mode, unlike XTS

  • epoll: some miscellaneous optimizations

  • file locks: avoid thundering-herd wake-ups

  • Conclude the main part of the system call rework for 64-bit time_t for the year-2034 problem. Recommended LWN article:Approaching the kernel year-2038 end game.merge

  • Spread IRQs to all available NUMA nodes

  • Build: add-Werror=implicit-intand-Werror=strict-prototypesflags unconditionally

  • sysctl: addpanic_printsysctl to configure which information to print at panic time

  • scripts: add a tool to produce a compile_commands.json file

  • tools: Add 'firmware' category and add ihex2fw tool

  • rcutorture: Add initrd support for systems lacking dracut remove cbflood facility

3. File systems


    • (FEATURED) Support swap files

    • Add sysfs support for metadata_uuid feature

    • Introduce support for FSID change without metadata rewrite

  • CIFS

    • A DFS cache so that DFS links can be resolved even when hosts are down, and DFS failover so that if the DFS target we are connected to is down cifs will try to reconnect to a different target if there are any

    • Use a compound for setting an xattr

    • Add smb3.1.1 to default dialect list

  • F2FS

    • Add an ioctl() to explicitly trigger fsck later


    • Add strictexpire mount option

4. Memory management

  • Add a new software tag-based mode to KASAN. The plan is to implement HWASan for the kernel with the incentive, that it's going to have comparable to KASAN performance, but in the same time consume much less memory, trading that off for somewhat imprecise bug detection and being supported only for arm64

  • Fragmentation avoidance improvements, reducing fragmentation events by over 90%, resulting in better transparent hugepage (THP) usage

  • Speed up mremap(2) by 20x on large regions by copying page tables at the PMD level even for non-THP systems, for now on x86

  • kmemleak: add config to select auto scan

  • Change mincore() to count "mapped" pages rather than "cached" pagesThis was later reverted and different solution is in the works for 5.1+More on LWNDefending against page-cache attacksandFixing page-cache side channels, second attempt

  • Kernel Samepage Merging (KSM): replace jhash2 with xxhash, which is about 5 times faster in the 64bit version

  • Transparent Huge Pages: provide a consistent API to query the THP status both for each VMA and process wide as well

  • Improved reporting of memory offlining failures

  • Mark devm_memremap_pages() hmm_devmem_{add, add_resource} EXPORT_SYMBOL_GPL with implications for out-of-tree non-GPL HMM (Heterogeneous Memory Management) driversMore on LWNHeterogeneous memory management meets EXPORT_SYMBOL_GPL()

  • Improve Out Of Memory (OOM) reports, include victim's memcg

  • Fix a long-standing issue where waiting for a page to migrate will effectively disrupt the migration, resulting in e.g. memory offline failures for busy pages such as those containing shared libraries

  • zram improvements, including the ability to mark a zram slot as idle, which is cleared once there is IO for the slot, which can help estimate wasted memory, and perform writeback that will free it. Also introduce writeback limits, see the respective commits for details.

  • THP eligibility reporting in /proc/pid/smaps and /proc/pid/status that allows precisely determining for each process and mapping if THP is disabled due to madvise(MADV_NOHUGEPAGE) or prctl(PR_SET_THP_DISABLE)

  • page-alloc: reduce zone->lock contention

5. Block layer

  • Add support for multiple queue maps for blk-mq. Since blk-mq was introduced, it's only support a single queue map. This means you can have 1 set of queues, and the mapping purely depends on what CPU an IO originated from. With this patch set, drivers can implement mappings that depend on both CPU and request type - and they can have multiple sets of mappings. NVMe is used as a proof of concept

  • Remove all the non-mq code. Remaining drivers have been converted

  • Export hctx->type in debugfs instead of sysfs

  • Export blk-wbt's internal states via debugfs

  • Give a interface to adjust io timeout by device

  • drbd: introduce P_ZEROES (REQ_OP_WRITE_ZEROES on the "wire")

  • raid6: add option to skip algo benchmarking

  • null_blk: Add conventional zone configuration for zoned support

  • zram idle page writeback. On zram-swap usecase, zram has usually many idle/huge swap pages. It's pointless to keep in memory(ie, zram). To solve the problem, this feature introduces idle/huge page writeback to backing device so the goal is to save more memory space on embedded system

6. Tracing, perf and BPF

  • BPF

    • Support raw tracepoints in modules

    • Add perf-based event notification for sock_ops. The eBPF kernel module can thus be designed to apply any desired filters to the bpf_sock_ops and trigger a perf-event notification based on the verdict from the filter. The uspace component can use these perf-event notifications to either read any state managed by the eBPF kernel module, or issue a TCP_INFO netlink call if desired

    • Add support for mapinmap in libbpf, a helper for libbpf which would allow it to load map-in-map(BPF_MAP_TYPE_ARRAY_OF_MAPSandBPF_MAP_TYPE_HASH_OF_MAPS)

    • Introduce bpf_line_info. It will be useful for introspection purpose

    • Add func info support to the kernel so we can get better ksym's for bpf function calls. Basically, function call types are passed to kernel and the kernel extract function names from these types in order to contruct ksym for these functions

    • AddBPF_F_ANY_ALIGNMENT, an "any alignment" flags to tell the verifier to forcefully disable it's alignment checks completely. It's needed by SPARC

    • Support socket lookup inCGROUP_SOCK_ADDRprogs

    • Support ofBPF_ALU|BPF_ARSH

    • Add skb->tstamp r/w access from tc clsact and cg skb progs

    • sockmap, metadata support for reporting size of msg

    • Allow BPF read access to qdisc pkt_len

    • bpftool

      • Add loadall command

      • Add pinmaps argument to the load/loadall

      • Support loading flow dissector

      • Add a command to dump the trace pipe

      • Add an option to prevent auto-mount of bpffs, tracefs

      • Add owner_prog_type and owner_jited to bpftool output

      • AddBPF_MAP_TYPE_QUEUEandBPF_MAP_TYPE_STACKto bpftool-map

  • perf

    • Reduce data loss when profiling highly parallel CPU bound workloads

    • annotate: Compute average IPC and IPC coverage per symbol

    • annotate: Introduce basic support for ARC to be able to use anotation via stdio interface

    • bench: Add epoll parallel epoll_wait benchmark

    • bench: Add epoll_ctl(2) benchmark

    • cs-etm: Add configuration for ETMv3 trace protocol

    • cs-etm: Add support for ETMv3 trace decoding

    • cs-etm: Add support for PTMv1.1 decoding

    • cs-etm: Support for ARM A32/T32 instruction sets inCoreSighttrace

    • report: Display average IPC and IPC coverage per symbol

    • Add Hygon Dhyana support

    • Support 'srccode' output

    • top: Allow passing a kallsyms file

    • trace: Allow asking for not suppressing common string prefixes

    • trace: Allow configuring default for perf_event_attr.inherit

    • trace: Allow configuring if the syscall duration should be printed

    • trace: Allow configuring if the syscall start timestamp should be printed

    • trace: Allow configuring if zeroed syscall args should be printed

    • trace: Allow selecting use the use of the ordered_events code

    • trace: Allow specifying a set of events to add in perfconfig

    • trace: Allow suppressing the syscall argument names

    • Add JSON metrics for Cascadelake server

  • Unify dynamic event interface on ftrace. Currently ftrace has 3 dynamic event interfaces, kprobes, uprobes and synthetic. This series unifies those dynamic event interfaces to "dynamic_events" so that we can add other dynamic events easily on same interface, e.g. function events. The older interfaces are left on the tracefs for backward compatibility

  • Add tracefs filebuffer_percentagethat allows users to specify how much of the buffer (percentage of pages) need to be filled before waking up a task blocked on a per cpu trace_pipe_raw file

7. Virtualization

  • virtio-net: ethtool configurable LRO

  • kvm: introduce manual dirty log reprotect

  • um: Add support for DISCARD in the UBD Driver

  • vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver

  • virtio_blk: add discard and write zeroes support

  • virtio-gpu

    • Add EDID support

    • Add in/out fence support for explicit synchronization

  • Implement packed ring support in virtio driver

8. Cryptography

  • Support incremental algorithm dumps

  • (FEATURED) adiantum: add Adiantum support

  • chacha: add XChaCha12 support

  • chacha20-generic: add XChaCha20 support

  • nhpoly1305: add NHPoly1305 support

  • streebog: add Streebog hash function

9. Security

  • Add seccomp trap to userspace. It introduces a means for syscalls matched in seccomp to notify some other task that a particular filter has been triggered. The motivation for this is primarily for use with containers. For example, if a container does an init_module(), we obviously don't want to load this untrusted code, which may be compiled for the wrong version of the kernel anyway. Instead, we could parse the module image, figure out which module the container is trying to load and load it on the host. As another example, containers cannot mknod(), since this checks capable(CAP_SYS_ADMIN). However, harmless devices like /dev/null or /dev/zero should be ok for containers to mknod, but we'd like to avoid hard coding some whitelist in the kernel. Another example is mount(), which has many security restrictions for good reason, but configuration or runtime knowledge could potentially be used to relax these restrictions. Recommended LWN article:Deferring seccomp decisions to user space.

  • Add platform/firmware keys support for kernel verification by IMA

  • selinux: always allow mounting submounts

  • tpm2: add new tpm2 commands according to TCG 1.36

10. Networking

  • UDP

    • (FEATURED) EnableMSG_ZEROCOPYfor udp sockets

    • (FEATURED) UDP: Generic Receive Offload support

    • Introduces ICMP error handling for UDP tunnels and encapsulations

  • TCP

    • Take a bit more care of backlog stress


  • Improve xfrm policy lookup performance when a lot of (several hundred or even thousands) inexact policies exist on a system

  • VRF: allow simultaneous service instances in default and other VRFs. It provides this isolation for stream sockets subject to the existing kernel parameternet.ipv4.tcp_l3mdev_acceptnot being set, given that this is documented as allowing a single service instance to work across all VRF domains. Similarly,net.ipv4.udp_l3mdev_acceptis checked for datagram sockets, andnet.ipv4.raw_l3mdev_acceptis introduced for raw sockets. The functionality applies to UDP & TCP services as well as those using raw sockets, and is for IPv4 and IPv6

  • namespaces: ease the interpretation of nsid received in netlink messages from other netns (when the user usesNETLINK_F_LISTEN_ALL_NSID)

  • neighbor: Add protocol attribute to neighbor entries for easier tracking of how each was created

  • devlink: Add 'fw_load_policy' generic parameter which gives the ability to control this option which allows the user to choose between different loading policies supported by the driver

  • bridge

    • Add a new bridge option which can control learning from link-local packets, by default learning is on to be consistent and avoid breaking users expectations. If the new no_linklocal_learn option is enabled then the bridge will stop learning from link-local packets

    • Add support for bridge fdb get similar to route get

  • sched: gred: introduce per-virtual queue attributes

  • vxlan: Add VRF support for VXLAN underlay

  • vlan: add support for tunnel offload

  • netfilter

    • Add sysctl knobs to set GRE timeouts

    • ipset: Allow matching on destination MAC address for mac and ipmac sets

  • Wireless

    • Add support to notify radar event info received from STA

    • Let userspace learn about iftype changes by sending a notification when handling theNL80211_CMD_SET_INTERFACEcommand

    • Announce radios/interfaces when switching namespaces, so userspace can rely on these events to discover radios properly

    • Add a new "peer measurement" API, that can be used to measure certain things related to a peer. Right now, only implement FTM (flight time measurement) over it, but the idea is that it'll be extensible to also support measuring the necessary things to calculate e.g. angle-of-arrival forWiGig

    • mac80211_hwsim: allow configurable cipher types allow setting iftype support

    • mesh: advertise gates in mesh formation

    • rtnetlink wifi simulation device

  • sctp: add subscribe per asoc and sockopt SCTP_EVENT (rfc6525#section-6.2)

  • NC-SI (Network Controller Sideband Interface)

    • Configure multi-package, multi-channel modes with failover

    • Add NCSI Mellanox OEM command

  • Infiniband

    • Provide ucontext usage statistics

    • Provide object handles and ioctl destroy objects

    • uverbs: Implement an ioctl that can call write and write_ex handlers

11. Architectures

11.1. ARM

  • NewSoCs

    • Qualcomm QCS404 (4x Cortex-A53), it has two EVBs, EVB-1000 and EVB-4000

    • Allwinner T3 (rebranded R40) and f1c100s (armv5)

    • NXP/Freescale i.MX7ULP (1x Cortex-A7 + 1x Cortex-M4, graphics, etc) + i.MX7ULP EVK board

    • NXP LS1028A (2x Cortex-A72), LX2160A (16x Cortex-A72) + NXP LX2160AQDS and LX2160ARDB boards

    • i.MX8 (NXP, 4x Cortex-A53 + Cortex-M4, 4K video playback offload). This is the first i.MX 64-bit SoC and i.MX8M EVK board

    • RDA Micro RDA8810PL (Cortex-A5 w/ integrated Vivante GPU, 256MB RAM, Wifi). Include DTs for two boards with this SoC,OrangePi2G andOrangePii96

  • New platforms

    • Rockchip: Gru Scarlet (RK3188 Tablet)

    • Amlogic: Phicomm N1 (S905D), Libretech S805-AC

    • Broadcom: Linksys EA6500 v2 Wi-Fi router (BCM4708)

    • PXA: First PXA3xx DT board: Raumfeld

    • Aspeed: Facebook Backpack-CMM BMC

    • Renesas iWave G20D-Q7 (RZ/G1N)

    • Allwinner t3-cqa3t-bv3 (T3/R40) and Lichee Pi Nano (F1C100s)

    • Allwinner Emlid Neutis N5, Mapleboard MP130

    • Marvell Macchiatobin Single Shot (Armada 8040, no 10GbE)

    • i.MX: mtrion emCON-MX6, imx6ul-pico-pi, imx7d-sdb-reva

    • VF610: Liebherr's BK4 device, ZII SCU4 AIB board

    • i.MX7D PICO Hobbit baseboard

    • rockchip: add BQ Edison 2 QC devicetree

    • Allwinner: h6: AddOrangePiLite2 initial support

    • ls1012a: Add FRWY-LS1012A board support

    • Qualcomm: Remove of Arrow SD600

  • (FEATURED) Add support for the ARMv8.3 pointer authentication extension, enabling userspace return address protection with GCC 7 and above

  • Add support for speculation barrier instruction As part of the fallout from specdown and meltre, Armv8.5 introduces an architected Speculation Barrier (SB) instruction. Unlike CSDB, this is not retrofitted to existing CPUs, so we need to plumb in an HWCAP and make use of the alternatives framework to patch it over our current DSB; ISB sequence on CPUs that support it

  • Add support for 52-bit userspace VAs to systems that have ARMv8.2-LVA and are running with a 48-bit VA_BITS and a 64KB page size. If no hardware support is present, the kernel runs with a 48-bit VA space for userspace. Userspace can exploit this feature by providing an address hint to mmap where addr[51:48] != 0. Otherwise all the VA mappings will behave in the same way as a 48-bit VA system (this is to maintain compatibility with software that assumes the maximum VA size on arm64 is 48-bit)

  • Add support for per-task stack canaries. Seeblog post

  • Apply r/o permissions of VM areas also to their linear aliasescommit

  • crypto

    • Add XChaCha12 support

    • Add XChaCha20 support

    • Add NEON-accelerated NHPoly1305

  • arm64

    • Add kaslr support

    • Add kernel signature verification support

    • Enable KEXEC_FILE config

    • Add memory hotplug support

    • Enable per-task stack canaries

    • perf: Add support for Armv8.1 PMCEID register format

    • crypto: add NEON accelerated XOR implementation

    • crypto: add XChaCha12 support

    • crypto: add XChaCha20 support

    • crypto: add NEON-accelerated NHPoly1305

11.2. X86

  • AddWBNOINVDfeature definition

  • resctrl: adds support for AMD64 architectural extensions for Platform Quality of Service. These extensions are intended to provide for the monitoring of the usage of certain system resources by one or more processors and for the separate allocation and enforcement of limits on the use of certain system resources by one or more processors

  • speculation: Add support for STIBP always-on preferred mode

  • amd_nb: Add PCI device IDs for family 17h, model 30h

  • platform

    • Add support for Huawei WMI hotkeys

    • dell-laptop: Add micmute LED trigger support

    • mlx-platform: Allow mlxreg-io driver activation for new systems

    • thinkpad_acpi: Add audio mute LED classdev support

    • Add the VLV ISP PCI ID to atomisp2_pm

  • KVM/Hyper-v: Add HV ept tlb range flush hypercall support in KVM

  • KVM/hyper-v: ImplementKVM_GET_SUPPORTED_HV_CPUID

  • KVM: Add CPUID support for new instruction WBNOINVD

  • crypto

    • chacha20: AVX-512VL block functions

    • Optimized XChaCha and NHPoly1305 (for Adiantum)

    • chacha20: SIMD performance improvements

  • Add Processor Trace enabling in KVM guests. Intel Processor Trace is an extension of Intel Architecture that captures information about software execution using dedicated hardware facilities that cause only minimal performance perturbation to the software being traced

11.3. CSKY

  • Add perf support for C-SKY

  • CPU-hotplug supported for SMP

  • Basic ftrace supported

  • ftrace call graph supported

  • stacktrace supported

11.4. MIPS

  • Enable Undefined Behavior Sanitizer UBSAN

  • Enable dead code elimination

  • Loongson: Add Loongson-3A R2.1 basic support

  • Enable IOREMAP_PROT config option for MIPS cpus (allows the users of ptrace to access memory mapped by the ptraced process using the same cache coherency attributes as the original process)

11.5. NDS32

  • Perf support

  • Power management support

  • FPU support

* Hardware prefetcher support


  • perf: Wire up PMI throttling

  • 8xx: Enable 512k hugepage support with HW assistance

  • 8xx: Enable 8M hugepage support with HW assistance

  • Implement Spectre variant 2 workarounds for NXP PowerPC Book3E processors


11.7. XTENSA

  • Implement jump_label support

  • Implement syscall tracepoints

  • Implement tracehook functions and enable HAVE_ARCH_TRACEHOOK

  • Support memtest

11.8. RISCV

  • Add audit support

11.9. ARC

  • perf

    • Support Raw Events

    • Support perf annotate

    • perf branches to exclude NOT taken conditional branches

  • fixes

    • Allow disabling auto regfile save on interrupts

    • Relinquish mmap_sem if early exit due to signal arriving during handle_mm_fault()

    • preventPREFETCHWfrom "bleeding" past end of buffer (causing stray dirty cache line writebacks) in memset memcpy

    • Reclaim 256M of reserved memory on HSDK

    • Avoid tripping lockdep detector in show_regs()

    • Ensure slab allocations are 8 byte aligned (vs. 4) to handle any embedded atomic64_t

12. Drivers

12.1. Graphics

  • (FEATURED) A DRM API for adaptive sync and variable refresh rate support. Adaptive sync is part of theDisplayPortspecification and allows for graphics adapters to drive displays with varying frame timings. Variable refresh rate (VRR) is essentially the same, but defined for HDMI

  • VESA has developed an industry standard Display Stream Compression (DSC) for interoperable, visually lossless compression over display links to address the needs for higher resolution displays. This patch series enables DSC on Gen 10 eDP and Gen 11 eDP/DP panels. This implementation is based on VESA DP 1.4 and DSC specifications

  • Add fourcc for Mali linear tiled formats

  • Add a new plane property to send damage during plane update

  • Add an hx8367d tinydrm driver

  • Introduced new XYUV scan-in format for framebuffer

  • fbdev: add config option to center the bootup logo

  • vgem

    • render node support

  • Intel

    • Add new Amber Lake PCI ID

    • Add plane alpha blending support

    • Expose planar format support on gen11

    • Add AVI infoframe support for LSPCON

    • Add CRTC output format YCBCR 4:2:0 YCBCR 4:4:4

    • Add YCBCR 4:2:0/4:4:4 support for LSPCON

    • Show actual alongside requested frequency in debugfs/i915_rps_boost_info

  • amdgpu

    • (FEATURED) Add support for Freesync 2 HDR and Content to Display Mapping

    • GPU reset enabled on CI, VI, SOC15 dGPUs

    • ABM support in DC

    • KFD support for vega12/polaris12

    • SDMA paging queue on vega

    • DCC scanout on GFX9

    • Updated SMU firmware for GFX8 chips

    • XGMI PSP + hive reset support

    • Powerplay updates for newer Polaris

    • Cursor plane update fast path

    • kfd dma-buf support

    • Add new VegaM pci id

    • Add DC feature mask module parameter

    • Add support for doorbell BOs. This allows user mode to map doorbell pages into GPUVM address space. That way GPUs can submit to user mode queues (self-dispatch)

  • panels

    • CDTech panels, Banana Pi Panel, DLC1010GIG

    • Olimex LCD-O-LinuXino, SamsungS6D16D0, Truly NT35597 WQXGA

    • Himax HX8357D, simulated RTSM AEMv8.

    • GPD Win2 panel

    • AUO G101EVN010

  • bochs

    • Add edid support

  • synopsys

    • add dual-dsi support

  • vmwgfx

    • pageflip with damage support

  • nouveau

    • Initial Turing TU104/TU106 modesetting support

    • Add size to vbios.rom file in debugfs

    • Add strap_peek to debugfs

  • msm

    • a2xx gpu support for apq8060 and imx5

    • a2xx gpummu support

    • debug object naming interface

    • Add support for gathering and dumping the a6xx GPU state q

  • tegra

    • Tegra194 host1x, VIC and display support enabled

    • Audio over HDMI for Tegra186 and Tegra194

  • exynos

    • plane alpha + blend mode support

  • rcar-du

  • rockchip

    • dw_hdmi support

    • dw-mipi-dsi + dual dsi support

  • vc4

    • YUV support (scaling + cursor)

  • v3d

    • Enable TFU (Texture Formatting Unit)

    • Add a little debugfs entry for measuring the core clock

  • mali-dp

    • Add support for linear tiled formats

  • sun4i

    • Display Engine 3 support

    • H6 DE3 mixer 0 support

    • H6 display engine support

    • dw-hdmi support

    • H6 HDMI phy support

    • implicit fence waiting

    • BGRX8888 support

  • meson

    • Overlay plane support

    • Implicit fence waiting

    • HDMI 1.4 4k modes

12.2. Storage

  • NVMe over Fabrics TCP host and the target drivers. Now NVMe over Fabrics can run on every Ethernet port in the world. The implementation conforms to NVMe over Fabrics 1.1 specification (which will include already publicly available NVMe/TCP transport binding, TP 8000)

  • nvme: implement Enhanced Command Retry

  • nvme: support traffic based keep-alive

  • nvmet: support for traffic based keep-alive

  • scsi

    • hisi_sas: Add support for DIF feature for v2 hw

    • lpfc: add Trunking support

    • megaraid_sas: Add support for FW snap dump

    • mpt3sas: Add support for Aero controllers

    • qedi: add module param to set ping packet size

    • smartpqi: add ofa support

    • smartpqi: add smp_utils support

    • smartpqi: add support for huawei controllers

    • smartpqi: add sysfs attributes

    • target: add device vendor_id configfs attribute

    • target: add emulate_pr backstore attr to toggle PR support

    • target: drop unused pi_prot_format attribute storage

    • ufs: Add UFS platform driver for Cadence UFS

12.3. Drivers in the Staging area

  • media: add Rockchip VPU JPEG encoder driver

  • Add support for the Intel IPU3 (Image Processing Unit) ImgU which is essentially a modern memory-to-memory ISP. It implements raw Bayer to YUV image format conversion as well as a large number of other pixel processing algorithms for improving the image quality

  • Remove the mt29f_spinand driver

  • android: ion: Add per-heap counters

  • iio:ad2s90: Move out of staging

  • rtl8188eu: Add device code for D-Link DWA-121 rev B1

12.4. Networking

  • Bluetooth

    • btbcm: Add entry for BCM4329B1 UART bluetooth

    • btusb: Add support for Intel bluetooth device 8087:0029

    • hci_bcm: Add BCM20702A1 variant

  • Add USR vendor id and use it in r8169 and w6692 driver

  • RDMA/hns: implement the SRQ(Share Receive Queue) feature

  • Infiniband: Add support for immediate data to the SRP drivers

  • Infiniband: rxe: link state and statistics

  • ath10k

    • Add amsdu support for monitor mode

    • Add memory dump support for QCA4019

    • Add support for WCN3990 firmware crash recovery

    • Add support to configure BB timing over wmi

  • bnx2x

    • Add MBI version to ethtool driver query output

    • Add storm FW version to ethtool driver query output

  • bnxt_en

    • Add SR-IOV support for 57500 chips

    • Add ethtool -S priority counters

    • Add support for 2nd firmware message channel

  • brcmfmac

    • Add support for first trying to get a board specific nvram file

    • Add support for getting nvram contents from EFI variables

    • Add 4354 raw pcie device id

    • Add support for CYW43012 SDIO chipset

  • can

    • flexcan: add self wakeup support

    • sja1000: plx_pci: add support for ASEM CAN raw device

    • xilinx: add can 2.0 support

  • cxgb4: Add new T6 PCI device ids 0x608a

  • dpaa2-eth

    • Add QBMAN stats

    • Introduce XDP support

    • bql support

    • Add ethtool coalesce control

  • e1000e: extend PTP gettime function to read system clock

  • iwlwifi

    • Add new cards for 9560, 9462, 9461 and killer series

    • Add support for triggering ini triggers

    • Add debugfs file to read fw debug data recording

  • ixgbe: allow IPsec Tx offload in VEPA mode

  • ixgbevf: add support for software timestamps

  • mlxsw

    • spectrum: Expose discard counters via ethtool

    • Add Multicast routing support for Spectrum-2

    • spectrum_acl: Add Bloom filter support to reduce the number of lookups in the algorithmic TCAM (A-TCAM)

    • Prepare for VLAN-aware bridge w/VxLAN

    • Add VxLAN support with VLAN-aware bridges

    • Add VxLAN learning support

  • mt76x0

    • Add dfs support to mt76x0e driver

    • pci: enable AP support

    • pci: enable VHT rates in IBSS mode

    • phy: introduce tssi calibration support

  • mwifiex: addNL80211_STA_INFO_RX_BITRATEsupport

  • hinic:add rx checksum offload for HiNIC

  • mlx5

    • Adds the support of mlx5 Multi Packet WQE (TX descriptor) - ConnectX-5 and above - for XDP TX, which allows to overcome the 70Mpps PCIe bottleneck of conventional TX queues (single TX descriptor per packet), and achieve the 100Mpps milestone with the MPWQE approach

    • Core generic EQ API for RDMA ODP

    • Add the support for mlx5 VF LAG, which provdies load-balancing and high-availability capabilities for VFs associated with different physical ports of the same Connect-X card

    • Add the support for mlx5 gre offloads

    • Support for tunnels over VLAN tc offloads

    • Enrich DEVX support in few aspects: it enables interoperability between DEVX and verbs and improves mechanism for controlling privileged DEVX commands

    • Add packet based credit mode, an alternative end-to-end credit mode for QPs set during their creation. Credits are transported from the responder to the requester to optimize the use of its receive resources. In packet-based credit mode, credits are issued on a per packet basis

    • Implementation of IBTACapabilityMask2

    • Use extended destination feature for single/multidestination scenarios that have a single encap destination

    • Add support for mlx5 uplink representors

    • Increase VF representors' SQ size to 128

    • Monitor counters commands support

    • ethtool, Support user configuration for RX hash fields

    • Attach a DEVX counter via raw flow creation

    • Add support for PCIe power slot exceeded error in PME

    • Add support for plugged-disabled cable status in PME

  • fsl_ucc_hdlc: add BQL support

  • aquantia

    • rx-flow filters functionality and vlan filter offloads

    • Add support of RSS configuration

  • dsa: mv88e6xxx: Add support for SERDES on ports 2-8 for 6390X

  • hns3

    • Add complete reset support

    • Additions/optimizations related to HNS3 H/W err handling

    • Provide some reset interfaces for RAS & RoCE

    • Add vf mtu support

    • Adds support of debugfs

    • Add support for ethtool -K to enable/disable HW GRO

    • Adds support to dump(using ethool-d) PCIe regs in HNS3 PF driver

    • Enable HW GRO for Rev B(=0x21) HNS3 hardware

    • Support "ethtool -d" for HNS3 VF driver

  • phy: Add support for resolving 5G and 2.5G autoneg

  • phy: bcm7xxx: Add entry for BCM7255

  • aqc111: Add support for Aquantia AQtion USB to 5/2.5GbE devices

  • nfp

    • Add support for GRED offload

    • Add support for setting TTL, ToS, Flow Label and Hop Limit fields in IPv4 and IPv6 headers

  • octeontx2-af

    • NPC MCAM support and FLR handling

    • NIX and NPC enhancements * octeontx2-af: Enable mkex profile

  • qed*: Doorbell overflow recovery

  • qede: Add a statistic for a case where driver drops tx packet due to memory allocation failure

  • qtnfmac: add support for Topaz chipsets

  • r8169: Add support for new Realtek Ethernet

  • stmmac: dwmac-mediatek: add support for mt2712

  • tg3: extend PTP gettime function to read system clock

12.5. Audio

  • fireface: add support for Fireface 800 with MIDI functionality only

  • fireface: add support for packet streaming on Fireface 800

  • fireface: add support for second optical interface for ADAT stream

  • firewire-tascam: add new hwdep ioctl command to get state image

  • hda: Add jack button support

  • hda: Support led audio trigger

  • hda: hdmi - Add Tegra186 and Tegra194 support

  • hda: realtek - Support Dell headset mode for New AIO platform

  • hda: add support for Huawei WMI micmute LED

  • oxfw: add support for APOGEE duetFireWire

  • ASoC

    • Add AMD ACP3x support

    • Intel: hdac_hdmi: add Icelake support

    • Intel: kbl_rt5660: Add a new machine driver for kbl with rt5660

    • ak4118: Add support for AK4118 S/PDIF transceiver

    • audio-graph-card: merge audio-graph-scu-card

    • dmic: introduce module_param wakeup_delay

    • meson: add axg spdif input

    • meson: axg-toddr: add support for spdifin backend

    • pxa: remove raumfeld machine driver

    • qdsp6: q6afe-dai: add support to Display port RX dais

    • qdsp6: q6asm-dai: Add support to compress offload

    • qdsp6: q6asm: add support to MP3 format

    • rsnd: add SSIU BUSIF support

    • rsnd: add TDM Split mode support

    • rt5660: Add a new ACPI match ID

    • rt5663: Add regulator support

    • sdm845: Add support for Secondary MI2S interface

    • simple-card: merge simple-scu-card

    • simple-scu-card: add dai-link support

    • xlnx: Add i2s driver

12.6. Tablets, touch screens, keyboards, mouses

  • Input

    • EnableHigh Resolution Wheel Scrollingon some or many Microsoft mice of the last decade and Logitech mice with the required feature support. It is exposed for userspace asREL_WHEEL_HI_RESandREL_HWHEEL_HI_RES

    • Add official Raspberry Pi's touchscreen driver

    • elan_i2c - add ACPI ID for touchpad in ASUS Aspire F5-573G

    • xpad: add support forSteelSeriesStratus Duo

    • elantech: enable 3rd button support on Fujitsu CELSIUS H780

    • Add ACPI ID for touchpad in Lenovo V330-15ISK

  • HID

    • asus: Add support for the ASUS FX503VD laptop

    • asus: Add support for the ASUS T101HA keyboard dock

    • cougar: Add support for Cougar 700K Gaming Keyboard

12.7. TV tuners, webcams, video capturers

  • add SECO cec driver

  • cec: add debug_phys_addr module option

  • imx214: Add imx214 camera sensor driver

  • mt9m111: addV4L2_CID_COLORFX control

  • mt9m111: add support to select formats and fps for {Q,SXGA}

  • mt9m111: support log_status ioctl and event interface

  • ov2640: addV4L2_CID_TEST_PATTERN control

  • ov2640: support log_status ioctl and event interface

  • ov5640: Add 60 fps support

  • ov7670: support log_status ioctl and event interface

  • ov772x: support log_status ioctl and event interface

  • platform: Add Aspeed Video Engine driver

  • rc: add driver for Xbox DVD Movie Playback Kit

  • rcar-csi2: AddR8A77990support

  • rcar-csi2: addR8A77980support

  • rcar-vin: Add support for R-CarR8A77990

  • rcar-vin: addR8A77980support

  • rtl28xxu: add support for Sony CXD2837ER slave demod

  • seco-cec: add Consumer-IR support

  • sun6i: Add A31 compatible

  • sun6i: Add support for Allwinner CSI V3s

  • usb: dvb-usb: remove old friio driver

  • uvcvideo: Add support for the CNF4 format

  • v4l: Add support forV4L2_BUF_TYPE_META_OUTPUT

  • v4l: ioctl: Allow drivers to fill in the format description

  • venus: SupportV4L2QP parameters in Venus encoder

  • venus: add support for key frame

  • vicodec: Add support for 4 planes formats

  • vicodec: Add support of greyscale format

  • video-i2c: support changing frame interval

12.8. Universal Serial Bus

  • serial: mos7840: add a product ID for the new product

  • serial: option: add Fibocom NL678 series

  • serial: pl2303: add ids for Hewlett-Packard HP POS pole displays

  • serial: pl2303: add new PID to support PL2303TB

  • chipidea: imx: add HSIC support

  • dwc3: debugfs: Dump internal LSP and ep registers

  • dwc3: drd: Add support for DR detection through extcon

  • renesas_usbhs: add support for RZ/G2E

12.9. Serial Peripheral Interface (SPI)

  • Add MXIC controller driver

  • Add QuadSPI driver for Atmel SAMA5D2

  • add support for octal mode I/O data transfer

  • lpspi: Add slave mode support

  • npcm: add NPCM PSPI controller driver

12.10. Watchdog

  • Add pm8916 watchdog driver

  • tqmx86: Add watchdog driver for the IO controller

12.11. Serial

  • serial: lantiq: Add CCF support

  • serial: sccnxp: Allow to use non-standard baud rates

  • tty/serial: Add RISC-V SBI earlycon support

  • tty: serial: Add RDA8810PL UART driver

12.12. ACPI, EFI, cpufreq, thermal, Power Management

  • Add security support for nvdimm based on Intel DSM spec v1.8. The passphrase is protected by encrypted-key and managed through the kernel key management framework. The security features supported are security state show, passphrase enable/update, passphrase disable, crypto erase, overwrite, and master passphrase enable/update and erase. Instead of allowing the security DSMs being issued via ioctl, the features are managed through a sysfs attribute that accept the relevant keyid for the encrypted-key(s)

12.13. Real Time Clock (RTC)

  • abx80x: Implement RTC_VL_READ,CLR ioctls

  • Add i.MX system controller RTC support

  • pcf85363: Add support for NXP pcf85263 rtc

  • sun6i: Add support for all known pre-H6 variants

  • sun6i: Add support for different variants

12.14. Voltage, current regulators, power capping, power supply

  • power

    • supply: Add Spreadtrum SC27XX fuel gauge unit driver

    • supply: add AC power supply driver for AXP813

    • supply: bq24190_charger: add support for bq24192 variant

    • supply: bq24190_charger: add support for bq24196 variant

    • supply: sc2731_charger: Add charger status detection

    • supply: sc27xx: Add fuel gauge low voltage alarm

  • regulator

    • mcp16502: add regulator driver for MCP16502

    • pfuze100-regulator: add coin support to PF0100

12.15. Pin Controllers (pinctrl)

  • Add RZ/A2 pin and gpio controller

  • actions: Add Actions Semi S700 pinctrl driver

  • mediatek: Add initial pinctrl driver for MT6797 SoC

  • mediatek: add pinctrl support for MT7629 SoC

  • ocelot: add MSCC Jaguar2 support

  • sunxi: add support for sunivF1C100s(newer F-seriesSoCs)

12.16. Multi Media Card (MMC)

  • Add new Alcor Micro Cardreader SD/MMC driver

  • renesas_sdhi_internal_dmac: AddR7S9210support

  • sdhci-of-esdhc: add hs400 mode support

  • sdhci_am654: Add Initial Support for AM654 SDHCI driver

12.17. Memory Technology Devices (MTD)

  • Add support for reading MTD devices via the nvmem API

  • maps: Get rid of the latch-addr-flash driver

  • partitions: Add OF support toRedBootpartitions

  • spi-nor: Add Winbond w25q128jv support

  • spi-nor: Add support for IS25LP032/064

  • spi-nor: Add support for is25lp016d

  • spi-nor: Add support for mx25u12835f

  • spinand: Add initial support for Toshiba TC58CVG2S0H

  • spinand: add support forGigaDeviceGD5FxGQ4xA

  • spinand: winbond: Add support for W25N01GV

12.18. Industrial I/O (iio)

  • accel: kxcjk-1013: Add the "KXJ2109" ACPI HID

  • accel: kxcjk1013: Add KIOX0009 ACPI Hardware-ID

  • accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID

  • adc128s052: add ACPI _HID AANT1280

  • adc: Add ad7124 support

  • adc: exynos-adc: Add S5PV210 variant

  • adc: meson-saradc: add support for the chip's temperature sensor

  • imu: st_lsm6dsx: add hw FIFO support to i2c controller

  • imu: st_lsm6dsx: add i2c embedded controller support

  • light: Add support for vishay vcnl4035

  • magnetometer: Add driver support for PNI RM3100

  • magnetometer: ak8975: Add the "AKM9911" ACPI HID

  • magnetometer: st_magn: add LSM9DS1 support

  • potentiometer: Add driver for Microchip MCP41xxx/42xxx

  • potentiometer: tpl0102: add IIO_AVAIL_RANGE support

  • st-accel: add support for lis3de

  • adc:ad7949: Add AD7949 ADC driver family

  • dac:ad5686: Add AD5310R support

  • dac:ti-dac7311 Add driver for Texas Instrument DAC7311

12.19. Inter-Integrated Circuit (I2C)

  • ismt: Add support for Intel Cedar Fork

12.20. Hardware monitoring (hwmon)

  • Adds a hwmon driver to support the OCC on POWER8 and POWER9 processors

  • k10temp: Add support for AMD family 17h, model 30h CPUs

  • k10temp: Add Hygon Dhyana support

  • lm75: Add STLM75 support

  • ntc_thermistor: add support forB57891S0103from Epcos

12.21. General Purpose I/O (gpio)

  • Add Cadence GPIO driver

  • add driver for SAMA5D2 PIOBU pins

12.22. Leds

  • trigger: Introduce audio mute LED trigger

12.23. DMA engines

  • mediatek: AddMediaTekCommand-Queue DMA controller for MT6765 SoC

  • uniphier-mdmac: addUniPhierMIO DMAC driver

  • sh: Remove R-Mobile APE6 support

  • dmatest: Add support for multi channel testing

12.24. Cryptography hardware acceleration

  • caam/jr: add support for Chacha20 + Poly1305

  • caam/qi2: add support forChaCha20

  • caam/qi2: add support for Chacha20 + Poly1305

  • cavium/nitrox: Added AEAD cipher support

  • cavium/nitrox: Enabled Mailbox support

  • ccree: add SM3and SM4 support

  • ccree: add support forCryptoCell703andCryptoCell713

12.25. PCI

  • switchtec: Add MRPC DMA mode support

  • imx: Add multi-pd support

  • amlogic: Add the Amlogic Meson PCIe controller driver

  • uniphier: AddUniPhierPCIe host controller support

12.26. Clock

  • bd718x7: Initial support for ROHM bd71837/bd71847 PMIC clock

  • imx: Add clock driver for i.MX8MQ CCM

  • imx: add imx7ulp clk support

  • imx: add imx8qxp driver

  • meson: Add vid_pll divider driver

  • qcom: Add graphics clock controller driver for SDM845

  • qcom: Add lpass clock controller driver for SDM845

  • qcom: smd: Add support for QCS404 rpm clocks

  • qoriq: add more chips support

  • sunxi-ng: Add support for H6 DE3 clocks

  • sunxi-ng: add support for sunivF1C100sSoC

  • rda: Add clock driver for RDA8810PL SoC

12.27. Various

  • EDAC, synopsys: Add ECC support for ZynqMP DDR controller

  • EDAC, synopsys: Add Error Injection support for ZynqMP DDR controller

  • Fonts: New Terminus large console font

  • HID: input: support Microsoft wireless radio control hotkey

  • ISDN: eicon: Remove driver

  • cpufreq: qcom-hw: Add support for QCOM cpufreq HW driver

  • cpuidle: Add cpuidle.governor= command line parameter

  • crypto: chacha20-generic - add HChaCha20 library function

  • drivers/perf: Add CaviumThunderX2SoC UNCORE PMU driver

  • drivers/perf: xgene: Add CPU hotplug support

  • drivers: base: Introducing software nodes to the firmware node framework

  • firmware: add Intel Stratix10 service layer driver

  • firmware: add remote status update client support

  • firmware: imx: add SCU power domain driver

  • fpga: add intel stratix10 soc fpga manager driver

  • hwspinlock: add STM32 hwspinlock device

  • i3c: Add core I3C infrastructure

  • i3c: master: Add driver for Cadence IP

  • i3c: master: Add driver for SynopsysDesignWareIP

  • iommu/vt-d: Add scalable mode support

  • irqchip/irq-imx-gpcv2: Add support for i.MX8MQ

  • irqchip/sun4i: Add support for Allwinner ARMv5F1C100s

  • irqchip: Add RDA8810PL interrupt driver

  • irqchip: Add driver for Cirrus Logic Madera codecs

  • irqchip: Add driver for imx-irqsteer controller

  • mailbox: tegra-hsp: Add support for shared mailboxes

  • memory: pl353: Add driver for arm pl353 static memory controller

  • memory: tegra: Introduce Tegra20 EMC driver

  • misc/pvpanic: add support to get pvpanic device info FDT

  • misc: cardreader: add new Alcor Micro Cardreader PCI driver

  • pcmcia: add MAX1600 library

  • phy: add driver for Freescale i.MX8MQ USB3 PHY

  • phy: cadence: Add driver for Sierra PHY

  • phy: sun4i-usb: add support for H6 USB2 PHY

  • phy: ti: introduce phy-gmii-sel driver

  • pinctrl: imx: add imx8qxp driver

  • ptp: add PTP_SYS_OFFSET_EXTENDED ioctl

  • soc/tegra: pmc: Add sysfs entries for reset info

  • soc: amlogic: Add Meson Clock Measure driver

  • soc: imx: gpcv2: add support for i.MX8MQ SoC

  • soc: mediatek: Add Mediatek CMDQ helper

  • i3c: Add sysfs ABI spec

  • thunderbolt: Export IOMMU based DMA protection support to userspace

  • ASoC: rsnd: Add r8a774c0 support

  • mei: me: add denverton innovation engine device IDscomm