KernelNewbies:

Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!

You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.

Linux 5.0 has been released on 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 and MSG_ZEROCOPY support 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.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

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

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 the google security blog or the Adiantum paper for more details.

Recommended LWN article: Adiantum: encryption for the low end

Code: commit, commit

1.4. Support for AMDGPU FreeSync

This release adds support for FreeSync, 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.

Code: commit, DRM API commit, commit, commit, commit, commit

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 expands MSG_ZEROCOPY support for UDP. Recommended LWN article: Zero-copy networking

Code: GRO commit, commit, commit, commit, commit, commit, commit, commit, commit, msg_zerocopy commit, commit, commit

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.

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

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.

Code: commit

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.

Code: commit

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

Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

2. Core (various)

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

  • 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 masks FAN_OPEN_EXEC and FAN_OPEN_EXEC_PERM have been introduced in this release for this purpose commit, commit, commit, commit

  • (FEATURED) Enable cpuset controller in default hierarchy commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • (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 commit

  • cgroup: Add named hierarchy disabling to cgroup_no_v1 boot param commit

  • (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 commit

  • epoll: some miscellaneous optimizations commit, commit, commit, commit, commit, commit, commit

  • file locks: avoid thundering-herd wake-ups commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • 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 commit

  • Build: add -Werror=implicit-int commit and -Werror=strict-prototypes flags unconditionally commit

  • sysctl: add panic_print sysctl to configure which information to print at panic time commit

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

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

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

3. File systems

  • BTRFS
    • (FEATURED) Support swap files commit

    • Add sysfs support for metadata_uuid feature commit

    • Introduce support for FSID change without metadata rewrite commit

  • CIFS
  • F2FS
    • Add an ioctl() to explicitly trigger fsck later commit

  • AUTOFS
    • Add strictexpire mount option commit

4. Memory management

5. Block layer

6. Tracing, perf and BPF

  • BPF
    • Support raw tracepoints in modules commit

    • 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 commit, commit

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

    • Introduce bpf_line_info. It will be useful for introspection purpose commit, commit, commit, commit, commit, commit

    • 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 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

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

    • Support socket lookup in CGROUP_SOCK_ADDR progs commit

    • Support of BPF_ALU | BPF_ARSH commit, commit, commit, commit, commit, commit, commit

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

    • sockmap, metadata support for reporting size of msg commit

    • Allow BPF read access to qdisc pkt_len commit

    • bpftool
      • Add loadall command commit

      • Add pinmaps argument to the load/loadall commit

      • Support loading flow dissector commit

      • Add a command to dump the trace pipe commit

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

      • Add owner_prog_type and owner_jited to bpftool output commit

      • Add BPF_MAP_TYPE_QUEUE and BPF_MAP_TYPE_STACK to bpftool-map commit

  • perf
    • Reduce data loss when profiling highly parallel CPU bound workloads commit, commit, commit

    • annotate: Compute average IPC and IPC coverage per symbol commit

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

    • bench: Add epoll parallel epoll_wait benchmark commit

    • bench: Add epoll_ctl(2) benchmark commit

    • cs-etm: Add configuration for ETMv3 trace protocol commit

    • cs-etm: Add support for ETMv3 trace decoding commit

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

    • cs-etm: Support for ARM A32/T32 instruction sets in CoreSight trace commit

    • report: Display average IPC and IPC coverage per symbol commit, commit

    • Add Hygon Dhyana support commit

    • Support 'srccode' output commit

    • top: Allow passing a kallsyms file commit

    • trace: Allow asking for not suppressing common string prefixes commit

    • trace: Allow configuring default for perf_event_attr.inherit commit

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

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

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

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

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

    • trace: Allow suppressing the syscall argument names commit

    • Add JSON metrics for Cascadelake server commit

  • 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 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add tracefs file buffer_percentage that 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 commit

7. Virtualization

8. Cryptography

  • Support incremental algorithm dumps commit

  • (FEATURED) adiantum: add Adiantum support commit

  • chacha: add XChaCha12 support commit

  • chacha20-generic: add XChaCha20 support commit

  • nhpoly1305: add NHPoly1305 support commit, commit

  • streebog: add Streebog hash function commit, commit

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. commit, commit, commit, commit

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

  • selinux: always allow mounting submounts commit

  • tpm2: add new tpm2 commands according to TCG 1.36 commit

10. Networking

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

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

  • namespaces: ease the interpretation of nsid received in netlink messages from other netns (when the user uses NETLINK_F_LISTEN_ALL_NSID) commit, commit, commit, commit

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

  • 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 commit

  • 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 commit, commit, commit

    • Add support for bridge fdb get similar to route get commit, commit, commit, commit

  • sched: gred: introduce per-virtual queue attributes commit, commit, commit, commit, commit, commit, commit, commit

  • vxlan: Add VRF support for VXLAN underlay commit, commit, commit, commit

  • vlan: add support for tunnel offload commit

  • netfilter
  • Wireless
    • Add support to notify radar event info received from STA commit

    • Let userspace learn about iftype changes by sending a notification when handling the NL80211_CMD_SET_INTERFACE command commit

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

    • 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 for WiGig commit, commit

    • mac80211_hwsim: allow configurable cipher types commit, allow setting iftype support commit

    • mesh: advertise gates in mesh formation commit, commit, commit

    • rtnetlink wifi simulation device commit

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

  • NC-SI (Network Controller Sideband Interface)
    • Configure multi-package, multi-channel modes with failover commit

    • Add NCSI Mellanox OEM command commit

  • Infiniband
    • Provide ucontext usage statistics commit, commit, commit

    • Provide object handles and ioctl destroy objects commit, commit

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

11. Architectures

11.1. ARM

  • New SoCs

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

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

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

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

    • 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 commit, commit, commit

    • RDA Micro RDA8810PL (Cortex-A5 w/ integrated Vivante GPU, 256MB RAM, Wifi). Include DTs for two boards with this SoC, OrangePi 2G and OrangePi i96 commit, commit, commit, commit

  • New platforms
    • Rockchip: Gru Scarlet (RK3188 Tablet) commit

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

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

    • PXA: First PXA3xx DT board: Raumfeld commit

    • Aspeed: Facebook Backpack-CMM BMC commit

    • Renesas iWave G20D-Q7 (RZ/G1N) commit, commit, commit

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

    • Allwinner Emlid Neutis N5, Mapleboard MP130 commit, commit

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

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

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

    • i.MX7D PICO Hobbit baseboard commit

    • rockchip: add BQ Edison 2 QC devicetree commit

    • Allwinner: h6: Add OrangePi Lite2 initial support commit

    • ls1012a: Add FRWY-LS1012A board support commit

    • Qualcomm: Remove of Arrow SD600 commit

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

  • 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 commit, commit, commit

  • 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) commit, commit, commit, commit, commit, commit, commit,

  • Add support for per-task stack canaries. See blog post commit

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

  • crypto
    • Add XChaCha12 support commit

    • Add XChaCha20 support commit

    • Add NEON-accelerated NHPoly1305 commit

  • arm64
    • Add kaslr support commit

    • Add kernel signature verification support commit

    • Enable KEXEC_FILE config commit

    • Add memory hotplug support commit

    • Enable per-task stack canaries commit

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

    • crypto: add NEON accelerated XOR implementation commit

    • crypto: add XChaCha12 support commit

    • crypto: add XChaCha20 support commit

    • crypto: add NEON-accelerated NHPoly1305 commit

11.2. X86

11.3. CSKY

  • Add perf support for C-SKY commit

  • CPU-hotplug supported for SMP commit

  • Basic ftrace supported commit

  • ftrace call graph supported commit

  • stacktrace supported commit

11.4. MIPS

  • Enable Undefined Behavior Sanitizer UBSAN commit

  • Enable dead code elimination commit

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

  • 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) commit

11.5. NDS32

* Hardware prefetcher support commit

11.6. POWERPC

11.7. XTENSA

  • Implement jump_label support commit

  • Implement syscall tracepoints commit

  • Implement tracehook functions and enable HAVE_ARCH_TRACEHOOK commit

  • Support memtest commit

11.8. RISCV

11.9. ARC

  • perf
    • Support Raw Events commit

    • Support perf annotate commit

    • perf branches to exclude NOT taken conditional branches commit

  • fixes
    • Allow disabling auto regfile save on interrupts commit

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

    • prevent PREFETCHW from "bleeding" past end of buffer (causing stray dirty cache line writebacks) in memset commit, memcpy commit

    • Reclaim 256M of reserved memory on HSDK commit

    • Avoid tripping lockdep detector in show_regs()commit, commit

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

12. Drivers

12.1. Graphics

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

  • 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 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add fourcc for Mali linear tiled formats commit

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

  • Add an hx8367d tinydrm driver commit

  • Introduced new XYUV scan-in format for framebuffer commit

  • fbdev: add config option to center the bootup logo commit

  • vgem
  • Intel
    • Add new Amber Lake PCI ID commit

    • Add plane alpha blending support commit

    • Expose planar format support on gen11 commit

    • Add AVI infoframe support for LSPCON commit

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

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

    • Show actual alongside requested frequency in debugfs/i915_rps_boost_info commit

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

    • GPU reset enabled on CI, VI, SOC15 dGPUs commit, commit

    • ABM support in DC commit

    • KFD support for vega12/polaris12 commit

    • SDMA paging queue on vega commit, commit

    • DCC scanout on GFX9 commit

    • Updated SMU firmware for GFX8 chips commit

    • XGMI PSP + hive reset support commit

    • Powerplay updates for newer Polaris
    • Cursor plane update fast path commit

    • kfd dma-buf support commit

    • Add new VegaM pci id commit

    • Add DC feature mask module parameter commit

    • 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) commit

  • panels
  • bochs
  • synopsys
  • vmwgfx
  • nouveau
    • Initial Turing TU104/TU106 modesetting support commit, commit

    • Add size to vbios.rom file in debugfs commit

    • Add strap_peek to debugfs commit

  • msm
    • a2xx gpu support for apq8060 and imx5 commit

    • a2xx gpummu support commit

    • debug object naming interface commit

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

  • tegra
    • Tegra194 host1x, VIC and display support enabled commit, commit

    • Audio over HDMI for Tegra186 and Tegra194 commit

  • exynos
  • rcar-du
  • rockchip
    • dw_hdmi support commit

    • dw-mipi-dsi + dual dsi support commit

  • vc4
  • v3d
    • Enable TFU (Texture Formatting Unit) commit

    • Add a little debugfs entry for measuring the core clock commit

  • mali-dp
    • Add support for linear tiled formats commit

  • sun4i
  • meson

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) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • nvme: implement Enhanced Command Retry commit

  • nvme: support traffic based keep-alive commit

  • nvmet: support for traffic based keep-alive commit

  • scsi
    • hisi_sas: Add support for DIF feature for v2 hw commit

    • lpfc: add Trunking support commit

    • megaraid_sas: Add support for FW snap dump commit

    • mpt3sas: Add support for Aero controllers commit, commit

    • qedi: add module param to set ping packet size commit

    • smartpqi: add ofa support commit

    • smartpqi: add smp_utils support commit

    • smartpqi: add support for huawei controllers commit

    • smartpqi: add sysfs attributes commit

    • target: add device vendor_id configfs attribute commit

    • target: add emulate_pr backstore attr to toggle PR support commit

    • target: drop unused pi_prot_format attribute storage commit

    • ufs: Add UFS platform driver for Cadence UFS commit

12.3. Drivers in the Staging area

  • media: add Rockchip VPU JPEG encoder driver commit

  • 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 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Remove the mt29f_spinand driver commit

  • android: ion: Add per-heap counters commit

  • iio:ad2s90: Move out of staging commit

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

12.4. Networking

12.5. Audio

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

  • fireface: add support for packet streaming on Fireface 800 commit

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

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

  • hda: Add jack button support commit

  • hda: Support led audio trigger commit

  • hda: hdmi - Add Tegra186 and Tegra194 support commit

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

  • hda: add support for Huawei WMI micmute LED commit

  • oxfw: add support for APOGEE duet FireWire commit

  • ASoC
    • Add AMD ACP3x support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Intel: hdac_hdmi: add Icelake support commit

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

    • ak4118: Add support for AK4118 S/PDIF transceiver commit

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

    • dmic: introduce module_param wakeup_delay commit

    • meson: add axg spdif input commit

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

    • pxa: remove raumfeld machine driver commit

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

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

    • qdsp6: q6asm: add support to MP3 format commit

    • rsnd: add SSIU BUSIF support commit

    • rsnd: add TDM Split mode support commit

    • rt5660: Add a new ACPI match ID commit

    • rt5663: Add regulator support commit

    • sdm845: Add support for Secondary MI2S interface commit

    • simple-card: merge simple-scu-card commit

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

    • xlnx: Add i2s driver commit, commit

12.6. Tablets, touch screens, keyboards, mouses

  • Input
  • HID
    • asus: Add support for the ASUS FX503VD laptop commit

    • asus: Add support for the ASUS T101HA keyboard dock commit

    • cougar: Add support for Cougar 700K Gaming Keyboard commit

12.7. TV tuners, webcams, video capturers

  • add SECO cec driver commit

  • cec: add debug_phys_addr module option commit

  • imx214: Add imx214 camera sensor driver commit

  • mt9m111: add V4L2_CID_COLORFX control commit

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

  • mt9m111: support log_status ioctl and event interface commit

  • ov2640: add V4L2_CID_TEST_PATTERN control commit

  • ov2640: support log_status ioctl and event interface commit

  • ov5640: Add 60 fps support commit

  • ov7670: support log_status ioctl and event interface commit

  • ov772x: support log_status ioctl and event interface commit

  • platform: Add Aspeed Video Engine driver commit

  • rc: add driver for Xbox DVD Movie Playback Kit commit

  • rcar-csi2: Add R8A77990 support commit

  • rcar-csi2: add R8A77980 support commit

  • rcar-vin: Add support for R-Car R8A77990 commit

  • rcar-vin: add R8A77980 support commit

  • rtl28xxu: add support for Sony CXD2837ER slave demod commit

  • seco-cec: add Consumer-IR support commit

  • sun6i: Add A31 compatible commit

  • sun6i: Add support for Allwinner CSI V3s commit

  • usb: dvb-usb: remove old friio driver commit

  • uvcvideo: Add support for the CNF4 format commit

  • v4l: Add support for V4L2_BUF_TYPE_META_OUTPUT commit

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

  • venus: Support V4L2 QP parameters in Venus encoder commit

  • venus: add support for key frame commit

  • vicodec: Add support for 4 planes formats commit

  • vicodec: Add support of greyscale format commit

  • video-i2c: support changing frame interval commit

12.8. Universal Serial Bus

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

  • serial: option: add Fibocom NL678 series commit

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

  • serial: pl2303: add new PID to support PL2303TB commit

  • chipidea: imx: add HSIC support commit

  • dwc3: debugfs: Dump internal LSP and ep registers commit

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

  • renesas_usbhs: add support for RZ/G2E commit

12.9. Serial Peripheral Interface (SPI)

  • Add MXIC controller driver commit

  • Add QuadSPI driver for Atmel SAMA5D2 commit

  • add support for octal mode I/O data transfer commit

  • lpspi: Add slave mode support commit

  • npcm: add NPCM PSPI controller driver commit

12.10. Watchdog

  • Add pm8916 watchdog driver commit

  • tqmx86: Add watchdog driver for the IO controller commit

12.11. Serial

  • serial: lantiq: Add CCF support commit

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

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

  • tty: serial: Add RDA8810PL UART driver commit

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) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

12.13. Real Time Clock (RTC)

  • abx80x: Implement RTC_VL_READ,CLR ioctls commit

  • Add i.MX system controller RTC support commit

  • pcf85363: Add support for NXP pcf85263 rtc commit

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

  • sun6i: Add support for different variants commit

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

  • power
    • supply: Add Spreadtrum SC27XX fuel gauge unit driver commit

    • supply: add AC power supply driver for AXP813 commit

    • supply: bq24190_charger: add support for bq24192 variant commit

    • supply: bq24190_charger: add support for bq24196 variant commit

    • supply: sc2731_charger: Add charger status detection commit

    • supply: sc27xx: Add fuel gauge low voltage alarm commit

  • regulator
    • mcp16502: add regulator driver for MCP16502 commit

    • pfuze100-regulator: add coin support to PF0100 commit

12.15. Pin Controllers (pinctrl)

  • Add RZ/A2 pin and gpio controller commit

  • actions: Add Actions Semi S700 pinctrl driver commit

  • mediatek: Add initial pinctrl driver for MT6797 SoC commit

  • mediatek: add pinctrl support for MT7629 SoC commit

  • ocelot: add MSCC Jaguar2 support commit

  • sunxi: add support for suniv F1C100s (newer F-series SoCs) commit

12.16. Multi Media Card (MMC)

  • Add new Alcor Micro Cardreader SD/MMC driver commit

  • renesas_sdhi_internal_dmac: Add R7S9210 support commit

  • sdhci-of-esdhc: add hs400 mode support commit

  • sdhci_am654: Add Initial Support for AM654 SDHCI driver commit

12.17. Memory Technology Devices (MTD)

  • Add support for reading MTD devices via the nvmem API commit

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

  • partitions: Add OF support to RedBoot partitions commit

  • spi-nor: Add Winbond w25q128jv support commit

  • spi-nor: Add support for IS25LP032/064 commit

  • spi-nor: Add support for is25lp016d commit

  • spi-nor: Add support for mx25u12835f commit

  • spinand: Add initial support for Toshiba TC58CVG2S0H commit

  • spinand: add support for GigaDevice GD5FxGQ4xA commit

  • spinand: winbond: Add support for W25N01GV commit

12.18. Industrial I/O (iio)

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

  • accel: kxcjk1013: Add KIOX0009 ACPI Hardware-ID commit

  • accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID commit

  • adc128s052: add ACPI _HID AANT1280 commit

  • adc: Add ad7124 support commit

  • adc: exynos-adc: Add S5PV210 variant commit

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

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

  • imu: st_lsm6dsx: add i2c embedded controller support commit

  • light: Add support for vishay vcnl4035 commit

  • magnetometer: Add driver support for PNI RM3100 commit

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

  • magnetometer: st_magn: add LSM9DS1 support commit

  • potentiometer: Add driver for Microchip MCP41xxx/42xxx commit

  • potentiometer: tpl0102: add IIO_AVAIL_RANGE support commit

  • st-accel: add support for lis3de commit

  • adc:ad7949: Add AD7949 ADC driver family commit

  • dac:ad5686: Add AD5310R support commit

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

12.19. Inter-Integrated Circuit (I2C)

  • ismt: Add support for Intel Cedar Fork commit

12.20. Hardware monitoring (hwmon)

12.21. General Purpose I/O (gpio)

  • Add Cadence GPIO driver commit

  • add driver for SAMA5D2 PIOBU pins commit

12.22. Leds

  • trigger: Introduce audio mute LED trigger commit

12.23. DMA engines

  • mediatek: Add MediaTek Command-Queue DMA controller for MT6765 SoC commit

  • uniphier-mdmac: add UniPhier MIO DMAC driver commit

  • sh: Remove R-Mobile APE6 support commit

  • dmatest: Add support for multi channel testing commit

12.24. Cryptography hardware acceleration

12.25. PCI

  • switchtec: Add MRPC DMA mode support commit

  • imx: Add multi-pd support commit

  • amlogic: Add the Amlogic Meson PCIe controller driver commit

  • uniphier: Add UniPhier PCIe host controller support commit

12.26. Clock

12.27. Various

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

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

  • Fonts: New Terminus large console font commit

  • HID: input: support Microsoft wireless radio control hotkey commit

  • ISDN: eicon: Remove driver commit

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

  • cpuidle: Add cpuidle.governor= command line parameter commit

  • crypto: chacha20-generic - add HChaCha20 library function commit

  • drivers/perf: Add Cavium ThunderX2 SoC UNCORE PMU driver commit

  • drivers/perf: xgene: Add CPU hotplug support commit

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

  • firmware: add Intel Stratix10 service layer driver commit

  • firmware: add remote status update client support commit

  • firmware: imx: add SCU power domain driver commit

  • fpga: add intel stratix10 soc fpga manager driver commit

  • hwspinlock: add STM32 hwspinlock device commit

  • i3c: Add core I3C infrastructure commit

  • i3c: master: Add driver for Cadence IP commit

  • i3c: master: Add driver for Synopsys DesignWare IP commit

  • iommu/vt-d: Add scalable mode support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

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

  • irqchip/sun4i: Add support for Allwinner ARMv5 F1C100s commit

  • irqchip: Add RDA8810PL interrupt driver commit

  • irqchip: Add driver for Cirrus Logic Madera codecs commit

  • irqchip: Add driver for imx-irqsteer controller commit

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

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

  • memory: tegra: Introduce Tegra20 EMC driver commit

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

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

  • pcmcia: add MAX1600 library commit

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

  • phy: cadence: Add driver for Sierra PHY commit

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

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

  • pinctrl: imx: add imx8qxp driver commit

  • ptp: add PTP_SYS_OFFSET_EXTENDED ioctl commit

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

  • soc: amlogic: Add Meson Clock Measure driver commit

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

  • soc: mediatek: Add Mediatek CMDQ helper commit

  • i3c: Add sysfs ABI spec commit

  • thunderbolt: Export IOMMU based DMA protection support to userspace commit

  • ASoC: rsnd: Add r8a774c0 support commit

  • mei: me: add denverton innovation engine device IDs commit

13. List of merges

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2019-03-04 08:25:36 by diegocalleja)