Linux 4.15 has been released on 28 Jan 2018.

Summary: Besides the latest code to deal with Meltdown/Spectre, this release includes modesetting and advanced display features for the amdgpu driver; improved power management support of systems with SATA Aggressive Link Power Management; a port for the open RISC-V CPUs; initial support for virtualized memory encryption in AMD CPUs; support for the Intel User Mode Instruction Prevention feature; support of the CPU controller in cgroups v2; a new mmap(2) flag to allow direct writes to persistent memory managed by filesystems; and many new drivers and other improvements.

1. Coolest features

1.1. Meltdown/Spectre

This release contains the latest code to deal with Meltdown/Spectre, a security problem you probably have never heard of. Page Table Isolation to address Meltdown is supported for x86/Intel CPUs (it can be disabled with the pti=off kernel boot option); there is also the retpoline mechanism to mitigate spectre v2 (which affects both Intel and AMD), it requires a GCC version supporting the -mindirect-branch=thunk-extern functionality and it can be turned off with boot option spectre_v2=off (if you don't have such compiler, there will be a minimal retpoline mitigation that only exists in the kernel code written in assembly) The PowerPC architecture is also affected by Meltdown on many CPU models, and can prevent those attacks with a "RFI flush of L1-D cache" feature included in this release. ARM is also affected by meltdown, but patches for it are not included in this release. Spectre v1 is not addressed in this version.

A /sys/devices/system/cpu/vulnerabilities/ directory has been added that will show the vulnerabilities affecting your CPU and the mitigations being currently applied.

Code: PTI merge, commit, commit, commit, merge; retpoline commit, commit; powerpc RFI flush commit, commit, commit, commit

1.2. Modesetting and much better display support in the AMD amdgpu driver

This release finally includes the "display code" (132k LoC) that has been missing for a long time from the amdgpu driver - a new driver that AMD made for modern graphics hardware. It provides atomic modesetting support for DCE8 (CIK), DCE10 (Tonga, Fiji), DCE11 (CZ, ST, Polaris), DCE12 (vega10), and DCN1 (RV) including HDMI and DP audio, DP MST, and many other advanced display features. This display code has been enabled by default for Vega10 and Raven; pre-vega10 parts can be enabled via module parameter ( amdgpu.dc=1 ), but are not enabled by default in this release because of stability concerns.

Code: merge

1.3. Improved power management in systems with SATA Link Power Management

For many, many years, there has been a problem with Linux and modern systems that have ALPM (Aggressive Link Power Management) in their SATA AHCI controllers (eg. Haswell, Broadwell, Skylake). Because of the obscurity and lack of documentation of the feature (and because playing with this feature was scary, because it easily caused data corruption), Linux has been unable to properly implement ALPM support for years. Lack of ALPM support prevents the system from entering in deep power saving states, which means a much worse battery life for Linux users on systems with ALPM.

In this release, a patch has been merged that implements a better default behaviour for ALPM without corrupting your data, and this means that Linux users with ALPM will see an improved battery life: a T440s test laptop saves 0.9-1.2W when idle with this patch.

Related link: Hans de Goede post

Related link: Matthew Garret post

Code: commit

1.4. New architecture: RISC-V

This release includes the main parts of the port to RISC-V CPUs. RISC-V is an open instruction set architecture that, unlike proprietary CPUs, can be freely used for any purpose, permitting anyone to design, manufacture and sell RISC-V chips and software.

The port is definitely a work in progress. While builds and boots, it's a bit hard to actually see anything happen because there are no device drivers yet.

Code: merge

1.5. Support for AMD Secure Encrypted Virtualization

Linux 4.14 already added support for AMD Secure Memory Encryption, a feature that allows encrypts memory when written to RAM, and automatically decrypts it when read, thus protecting the contents of DRAM from physical attacks on the system.

This release adds initial support for Secure Encrypted Virtualization, which integrates the memory encryption support in the AMD-V virtualization architecture to support encrypted virtual machines - virtual machines that have their memory secured such that only the guest itself has access to unencrypted version, which protects them from other virtual machines and even the hypervisor itself. Secure Encrypted Virtualization is particularly applicable to cloud computing where virtual machines need not fully trust the hypervisor and administrator of their host system. This release adds the changes necessary in a guest OS for Secure Encrypted Memory; changes required to create and manage SEV guests by a host will be merged in next releases.

See: From KVM forum, AMD's Virtualization Memory Encryption

See: AMD memory encryption whitepaper

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

1.6. Support the User-Mode Instruction Prevention Intel Security feature

This release adds support for a Intel CPU feature called "User Mode Instruction Prevention". When enabled, this feature disables certain instructions such as SGDT, SLDT, SIDT, SMSW and STR, from being executed in user mode, which reduces the tools available to craft some type of privilege escalation attacks. Because of emulators such as WineHQ and DOSEMU2, in virtual-8086 and protected modes, sgdt, sidt and smsw are emulated; str and sldt are not emulated (no emulation is done for user-space long mode processes).

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

1.7. Better CPU usage restrictions with the CPU resource controller for cgroupv2

Control groups with "unified hierarchy", or cgroup v2, was implemented in 2.6.24 and declared stable in 4.5. The individual resource controllers had to be ported in order to work with this new approach. The biggest missing item was the CPU resource controller, which is used to control the usage of CPU by a group of tasks. The merge of the CPU controller, however, required first addressing some funcionality in the cgroupv2 design, specifically the "thread mode", merged in 4.14, which supports hierarchical resource distribution across the threads of a group. After all that work, this release finally brings a cgroupv2-ready CPU controller.

Recommended LWN article: A milestone for control groups

Code: commit, commit

1.8. New MAP_SYNC mmap(2) flag to allow direct writes to persistent memory managed by filesystems

This release introduces MAP_SYNC and MAP_SHARED_VALIDATE flags to mmap(2), a mechanism that implements synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall. It arranges for any filesystem metadata updates that may be required to satisfy a write fault to also be flushed ("on disk") before the kernel returns to userspace from the fault handler. Effectively every write-fault that dirties metadata completes an fsync() before returning from the fault handler. The new MAP_SHARED_VALIDATE mapping type guarantees that the MAP_SYNC flag is validated as supported by the filesystem's mmap() implementation.

Recommended LWN article: Two more approaches to persistent-memory writes

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

2. Core

PID: replace pid bitmap implementation with IDR API commit, commit

proc: Add CoreDumping flag to /proc/self/status to notify if a process is being coredumped commit

epoll: Massively increase nested epoll performance, commit, commit

Control Groups (FEATURED) cgroup2 cpu controller support commit, commit Export list of cgroups v2 features in /sys/kernel/cgroup/features commit Export list of delegatable control files in /sys/kernel/cgroup/delegate commit Implement cgroup2 basic CPU usage accounting to allow monitoring by default without the CPU controller enabled commit, commit, commit, commit

livepatching (Un)patching Callbacks, which provide a mechanism for livepatch modules to execute callback functions when a kernel object is (un)patched. They can be considered a "power feature" that extends livepatching abilities to include: Safe updates to global data, "Patches" to init and probe functions and patching otherwise unpatchable code (i.e. assembly) commit, commit, commit Shadow variables: they allow callers to associate new shadow fields to existing data structures, in order to emulate additions to said structures commit

pvqspinlock: Implement hybrid queued/unfair lock with 2 modes to combine the best attributes of an unfair lock and a pvqspinlock. A lock waiter goes into the unfair mode when there are waiters in the wait queue but the pending bit isn't set. Otherwise, it will go into the queued mode waiting in the queue for its turn commit

sysvipc: make get_maxid O(1) once again commit

user namespaces: increase the number of uid and gid mappings a user namespace can support from 5 to 340 commit

lockdep: Add a boot parameter allowing unwind in "cross-release" lockdep feature commit, commit

Support resetting WARN_ONCE/WARN_ON_ONCE (in order to check if they are triggered again) by writting 1 to /sys/kernel/debug/clear_warn_once commit, commit

kbuild: Speed incremental builds of the kernel up by a bit by caching generated variables commit, commit

kcov: support comparison operands collection commit

Remove /proc/sys/vm/nr_pdflush_threads (has been obsolete since 2.6.32) commit

Add /sys/devices/system/cpu/vulnerabilities directory to show the status of meltdown/spectre handling commit

3. File systems

XFS Initial parts of online fsck support, complete support will be merged in future releases commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Switch to use a b+tree to implement the in-core extent list. This reduces the need for a large contiguous allocation that the current indirection array requires, and thus avoids stalls during workloads using giant extent lists (ie. workloads that work with heavily fragmented files), especially on systems that are long running commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

Btrfs Allow to specify zlib compression level, using the mount option -o compress=zlib:9 commit, commit Improve btrfs send performance of large files commit A new version of ioctl "extent to inode mapping", addressing a usecase where we want to retrieve more but inaccurate results and do the postprocessing in userspace, aiding defragmentation or deduplication tools commit, commit, commit Enable indexing for btrfs as lower filesystem in overlayfs commit Add heuristics for faster guess of the compressibility of data commit, commit, commit, commit, commit, commit, commit add ref-verify, an optional debugging feature to verify extent reference accounting commit, commit

ext4 Add support for online resizing with bigalloc commit Improve smp scalability for inode generation commit

F2FS Support flexible inline xattr size commit Support issuing/waiting discard in range commit Support error injection of bio allocation commit and get_page errors commit Support quota sys files commit Support soft block reservation commit Export SSR allocation threshold in sysfs commit Show # of dirty segments via sysfs commit Show flush list status in sysfs commit Expose quota information in debugfs commit

CRAMFS Rehabilitate cramfs commit Add mmap support commit Direct memory access support commit Implement uncompressed and arbitrary data block positioning commit

GFS2 Implement SEEK_HOLE and SEEK_DATA commit Add support for statx(2) inode flags commit

AFS Implement mmap() commit Make use of the YFS service upgrade to fully support IPv6 commit Allow to use IPv6 address to specificate VL servers commit Lay the groundwork for supporting network namespaces commit



4. Memory management

Speed up page cache truncation part 1 commit, commit, commit, commit, commit, commit, commit

Speed up page cache truncation part 2 commit, commit, commit, commit, commit, commit, commit, commit

(FEATURED) Implement synchronous page faults for DAX mappings to make flushing of DAX mappings possible from userspace (through a new mmap(2) flag, MAP_SYNC ), so that they can be flushed on finer than page granularity and also avoid the overhead of a syscall commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

Make able to disable NUMA stats for improved performance by writing 0 to /proc/sys/vm/numa_stat commit

Switches page table accounting to single counter from three - this removes VmPMD and VmPUD in /proc/self/status commit

Complete deferred page initialization commit, commit, commit, commit, commit, commit, commit, commit

dump_pagetables: Add two debugfs files which allow to dump the pagetable of the current task commit, commit, commit

Add infrastructure for get_user_pages_fast() benchmarking commit

slabinfo: add "-U" option to show unreclaimable slabs only commit

android/ion: userspace test utility for ion buffer sharing commit

kmemcheck: rip it out, it has been obsoleted by other facilities commit

Account filp cache to kmemcg commit

Account epoll's epitem and eppoll_entry to kmemcg commit

5. Block layer

loop: make loop cgroup aware commit

device mapper: add DAX support to the DM log-writes target commit, commit

null_blk: add no_sched module parameter commit

zram: add zstd to the supported algorithms list and remove zlib from the recommended list commit, commit

zram: skip swapcache for fast devices to reduce swap-in latency commit, commit, commit, commit

bcache: implement PI controller for writeback rate commit

brd: remove dax support commit

6. Tracing and perf

ftrace: Allow module init functions to be traced commit, commit, commit, commit, commit

tracing: add support for preempt and interrupt enabled/disable events commit, commit

perf stat: Add generic support for standalone metrics specified in JSON files. A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit

perf stat: Setting up groups can be complicated due to the complicated scheduling restrictions of different PMUs. Add a concept of a 'weak group': try to set up a group, but if it's not schedulable fallback to not using a group commit

perf list: Print metric groups with perf list metricgroups . A metric is a formula that uses multiple events to compute a higher level result (e.g. IPC) commit

perf record: user registers can currently only collected implicitely with call graph recording. To allow to see them separately, and filter them, add a new --user-regs option to record that is similar to --intr-regs , but acts on user regs. Also teach perf script to print user regs commit, commit

perf sched timehist: Add --pid and --tid options to show only events for specific pid/tids commit

perf script: Allow creating per-event dump files commit

perf top: multithread the synthetizing of events, which greatly improves user experience in systems such as Intel's Knights Mill commit, commit

Update vendor events JSON metrics for Broadwell DE commit, Broadwell Server commit, Broadwell commit, Haswell EP commit, Haswell commit, Ivy Bridge commit, Ivy Town commit, Sandy Bridge EP commit, Sandy Bridge commit, Skylake commit, Skylake server commit, add Goldmont Plus V1 event file commit

kprobes: Disable the jprobes APIs in preparation for removal. Nowadays ftrace and other tracing features are mature enough to replace jprobes use-cases commit, commit, commit, commit, commit

7. Virtualization

8. Cryptography

sm3: add OSCCA SM3 secure hash commit

9. Security

Add eBPF LSM hooks (see bpf section in networking)

EVM Extend the /sys/kernel/security/evm interface to allow userspace to signal an RSA key has been loaded. Also allow userspace to block loading of a symmetric key in order to avoid a compromised system from being able to load an additional key type later commit Include security.apparmor in EVM measurements commit

audit Adds the ability to filter records based on the filesystem type (useful for ignoring tracefs or debugfs) commit Allow auditd to set pid to 0 to end auditing commit Record fanotify access control decisions commit

Smack: Base support for overlayfs commit

10. Networking

Note: If you are interested in Linux networking, it is recommended to take a look at LWN's reports on Netconf 2017 and Netdev 2.2

11. Architectures

12. Drivers

12.1. Graphics

Add DRM mode object leasing for improving VR use cases. It provides new data structures to hold "lease" information about drm mode setting objects, and provides for creating new drm_masters which have access to a subset of the available drm resources commit, commit, commit, commit

Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls. They provide crtc-id based functions instead of pipe-number, while also offering higher resolution time and wider frame count as required by the Vulkan API commit

intel Add Display IPC support. IPC (Isochronous Priority Control) is the hardware feature, which dynamically controls the memory read priority of Display commit, commit, commit Transparent Huge Page support commit, commit, commit, commit, commit, commit User defined priorities support. It allows to change the default priority on a per-context basis, allowing different contexts to be favoured with GPU time at the expense of lower importance work. The user can adjust the context's priority via I915_CONTEXT_PARAM_PRIORITY , with more positive values being higher priority (they will be serviced earlier, after their dependencies have been resolved) commit, commit, commit gvt: Add emulation for BAR2 (aperture) with normal file RW approach commit gvt: Add support for PCIe extended configuration space commit perf: add support for Coffeelake GT2 commit Drop debugfs/i915_gem_pin_display commit

amdgpu (FEATURED) Merge the AMD DC (display code) layer which is requirement to program the display engines on the new Vega and Raven based GPUs. It also contains support for all amdgpu supported GPUs (CIK, VI, Polaris), which has to be enabled. It is also a kms atomic modesetting compatible driver (unlike the previous display code) and it includes HDMI and DP audio, DP MST, and many other advanced display features merge Per VM BO support commit, commit BO flag to allow buffers to opt out of implicit sync commit CI powerplay support commit, commit, commit, commit PASID mgr for kfd commit, commit, commit Add GPU reset functionality for Vega10 commit Prime mmap support commit Add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file or being able to convert an amdgpu fence into one of the handles commit UVD video encode ring support on Polaris commit, commit, commit, commit, commit, commit, commit, commit, commit Transparent huge page DMA support commit, commit, commit, commit CTX priority setting API commit, commit, commit, commit, commit Add query to allow userspace to figure out if VRAM was lost commit Powerplay: get the temperature on CZ commit Add sys file for VBIOS and version commit, commit Add option for force enable multipipe policy for compute commit

amdkfd: Drop radeon support commit

nouveau Pascal temperature sensor support commit

exynos HDMI audio interface support commit Enable support for 1024x768 and 1280x1024 modes commit

tegra Prep work for tegra186 commit

msm Preemption support for a5xx commit Add per-instance submit queues commit Support multiple ringbuffers commit Add a parameter query for the number of ringbuffers commit Update cursors asynchronously through atomic commit

vc4 New madvise ioctl commit

Rockchip LVDS support commit

omapdrm HDMI CEC support commit, commit

etnaviv GPU performance counters groundwork commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

sun4i Add support for A10 display pipeline components commit and A20 display pipeline components commit Support output muxing commit Add support for A31's HDMI controller commit Support HDMI controller on A10 commit, commit

pl111 Add all registers to debugfs commit Add handling of Versatile platforms commit Enable PL110 variant commit

adv7511 Add HDMI CEC support commit

sii8620 Add remote control support commit

host1x Add Tegra186 support commit, commit, commit

panel Add driver for Seiko 43WVF1G panel commit Add support for OTM8009A panel driver commit Add support for S6E63J0X03 panel commit Add support for the Raspberry Pi 7" Touchscreen commit simple: add Toshiba LT089AC19000 commit

tve200: Add new driver for TVE200 commit

bridge: add Silicon Image SiI9234 driver commit

fbdev: remove dead igafb driver commit

12.2. Storage

(FEATURED) libata: Add new med_power_with_dipm link_power_management_policy setting commit

ahci: Add support for Cavium's fifth generation SATA controller commit

ceva: Add gen 3 mode support in driver commit

ceva: Make RxWaterMark value as module parameter commit

nvme multipath support commit, commit, commit, commit, commit, commit, commit nvme-fc: add uevent for auto-connect commit, commit nvme-pci: add SGL support commit Send uevent for some asynchronous events commit

SCSI scsi: Export blacklist flags to sysfs commit sd: change allow_restart to bool in sysfs interface commit hisi_sas: add v3 hw DFX feature commit hisi_sas: add support for servicing AXI error handling commit, commit megaraid_sas: Add support for Crusader controllers commit mpt3sas: NVMe support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit mpt3sas: Adding support for SAS3616 HBA device commit qla2xxx: Changes to support N2N logins commit qla2xxx: Reinstate module parameter ql2xenablemsix commit smartpqi: update controller ids commit

target: Add netlink command reply supported option for each device commit

12.3. Drivers in the Staging area

typec: fusb302: Move out of staging commit

typec: tcpm: Move out of staging commit

comedi: adv_pci_dio: update for PCI-1761 commit

atomisp: Remove AP1302 sensor support commit

atomisp: Remove IMX sensor support commit

VME: Remove PIO2 driver commit

12.4. Networking

Bluetooth btbcm: Add entry for BCM4356A2 UART bluetooth commit, add support for MINIX Z83-4 based devices commit btusb: Add new NFA344A entry commit hci_bcm: Add support for BCM2E7E commit, add support for MINIX Z83-4 based devices commit

Add support for the HiSilicon RoCE engine in the hip08 SoC commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

vmw_pvrdma: Add shared receive queue support commit

ath10k: add new cipher suite support commit

bnxt_en Add PCIe device ID for bcm58804 commit Adding PCI ID for SMARTNIC VF support commit Add ethtool reset method commit Add support for Flower based vxlan encap/decap offload commit

brcmfmac: add CLM download support commit

cxgb4 Add support for new flash parts commit Add support to offload tc flower commit, commit, commit, commit Add new pci device id's for T5 commit, commit and T6 commit, commit Add hash-filter support to tc-flower offload commit, commit, commit, commit, commit, commit, commit Enable more tc flower offload matches and actions commit, commit, commit, commit, commit, commit, commit, commit Collect more hardware dumps via ethtool commit, commit, commit, commit, commit, commit, commit, commit Add support to get hardware debug logs via ethtool commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Remove the obsolete kernel module option 'c4iw_debug' commit

cxgb4vf: define get_fecparam ethtool callback commit

enic: Add support for 'ethtool -g/-G' commit

hv_netvsc: Add ethtool handler to set and get TCP hash levels commit

i40e Configuring traffic classes via new hardware offload mechanism in tc/mqprio commit, commit, commit, commit, commit, commit tc-flower based cloud filters commit, commit, commit, commit, commit, commit Add new PHY types for 25G AOC and ACC support commit Add support for 'ethtool -m' commit allow XPS with QoS enabled commit

i40evf: enable support for VF VLAN tag stripping control commit

ibmvnic Enable TSO support commit Feature implementation of Vital Product Data (VPD) for the ibmvnic driver commit Let users change net device features commit Update reset infrastructure to support tunable parameters commit

atusb: Driver for Busware HUL dongle commit

iwlwifi Add a new a000 device commit Add new cards for 8260 series commit, for 8265 series commit and for new cards for a000 series commit Add dbgfs entry for fw info commit Configurable Tx command queue size commit Add new cards for 9260 and 22000 series commit

ixgbe: add counter for times Rx pages gets allocated, not recycled commit

liquidio: xmit_more support commit, switchdev support for LiquidIO NIC commit

mlxsw Preparation for multicast router offload commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Add support for partial multicast route offload commit, commit, commit, commit, commit, commit, commit Add router adjacency dpipe table commit, commit, commit, commit, commit, commit, commit, commit, commit Add support for non-equal-cost multi-path commit, commit, commit, commit, commit, commit, commit, commit Add support for offloading IPv4 multicast routes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Handle changes in GRE configuration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Offload decap without encap commit, commit, commit, commit, commit qdisc RED offload commit, commit, commit ,commit, commit, commit, commit, commit, commit Offload bridge device mrouter commit, commit, commit, commit, commit

mlx5/mlx5e Enable differentiated services code point (dscp) to priority mapping for Ethernet packet. Once this feature is enabled, the packet is routed to the corresponding priority based on its dscp. User can combine this feature with priority flow control (pfc) feature to have priority flow control based on the dscp commit, commit, commit, commit, commit, commit IPoIB Muli Pkey support commit, commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit Support multiple updates of steering rules in parallel commit Add support for 802.1ad vlan filter commit and insertion support commit Add VLAN offloads statistics commit Add support for ethtool msglvl support commit CHECKSUM_COMPLETE offload for VLAN/QinQ packets commit Enable CQE based moderation on TX CQ commit Support 128B CQE compression feature commit, commit, commit

Add support for networking over Thunderbolt cable commit, commit and properties commit, commit

dsa b53: Support prepended Broadcom tags commit, commit, commit, wire-up EEE commit bcm_sf2: Add support for IPv6 CFP rules commit, commit, commit, commit, commit, commit, commit lan9303: Add basic offloading of unicast traffic commit, add fdb/mdb methods commit, commit

ena: add power management ops to the ENA driver commit, add statistics for missed tx packets commit

hns3 Add support for DCB feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit Add mqprio hardware offload support in hns3 driver commit Add support set_link_ksettings and for nway_reset ethtool command commit, commit Support set_ringparam and {set|get}_rxnfc ethtool commands commit, commit, commit Add mac loopback selftest support in hns3 driver commit

korina: use GRO commit

mvpp2: add ethtool GOP statistics commit

phy leds: Add support for "link" trigger commit DP83822 initial driver submission commit realtek: add RTL8201F phy-id and functions commit

qmi_wwan: add Quectel BG96 2c7c:0296 commit, add Sierra EM7565 1199:9091 commit

qualcomm: rmnet: Add support for GRO commit, implement bridge mode commit

netronome nfp Extend flower offload match and action capabilities to add offload capabilities for matching on MPLS, TTL, TOS and flow label. Furthermore offload capabilities for action have been expanded to include set ethernet, ipv4, ipv6, tcp and udp headers commit, commit, commit, commit, commit, commit, commit Add support for FEC mode modification commit, commit Add get/set link settings ndos to representors commit bpf: stack support in offload commit, commit, commit, commit, commit, commit, commit, commit, commit bpf: support direct packet access commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit bpf ABIv2 and multi port commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit bpf: support [BPF_ALU | BPF_ALU64] | BPF_NEG commit flower vxlan tunnel offload commit, commit, commit, commit, commit, commit, commit

qedr: Add iWARP support for QL4xxxx commit, commit, commit, commit, commit, commit, commit

qed Add iWARP enablement support commit Add iWARP out of order support commit Add iWARP support for unaligned MPA packets commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

qtnfmac: make "Channel change" event report full channel info commit

r8169: Add support for interrupt coalesce tuning (ethtool -C) commit

ravb: RX checksum offload commit

rsi p2p mode support commit, commit, commit, commit, commit, commit, commit, commit sdio: Add WOWLAN support for S4 hibernate state commit, for S5 shutdown state commit, for S3 suspend state commit

rtlwifi Add TX/RX throughput statistics in period commit Add module parameter ASPM commit Add ID for 8822BE commit Add support for 8822be TX/RX BD commit

sfc: support rx-fcs and rx-all commit

wil6210: remove SSID debugfs commit

Add a driver for Renesas uPD60620 and uPD60620A PHYs commit

12.5. Audio

ac97: add an ac97 bus. The goal of this new implementation is to implement a device/driver model for AC97, with an automatic scan of the bus and automatic discovery of AC97 codec devices commit

hda/realtek: Add support for ALC1220 commit, add headset mic support for Intel NUC Skull Canyon commit, new codec support for ALC257 commit

hda: Add Raven PCI ID commit

line6: add support for POD HD DESKTOP commit

ASoC AMD: Add machine driver for cz rt5650 commit Intel: Headset button support in kabylake machine driver commit Intel: cht_bsw_max98090: add support for Baytrail commit add mclk-fs support to audio graph card commit arizona: Add support for setting the output volume limits commit bcm2835: Add support for TDM modes commit, support additional samplerates up to 384kHz commit, support left/right justified and DSP modes commit cygnus: Remove support for 8 bit audio and for mono commit da7213: add support for DSP modes commit intel: byt: Add headset jack commit max98927: Added support for DSP_A and DSP_B format commit rsnd: add MIX Volume Ramp support commit rt5514: Voice wakeup support commit stm32: sai: Add synchronization support commit ts3a227e: add acpi table commit wm9705: add ac97 new bus support commit wm9712: add ac97 new bus support commit wm9713: add ac97 new bus support commit

sound: Retire OSS commit

12.6. Tablets, touch screens, keyboards, mouses

HID Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel commit alps: add support for Alps T4 Touchpad device commit, add new U1 device ID commit, asus: Add support for Fn keys on Asus ROG G752 commit

Add I2C attached EETI EXC3000 multi touch driver commit

Add support for HiDeep touchscreen commit

Add support for the Samsung S6SY761 touchscreen commit

edt-ft5x06: implement support for the EDT-M12 series commit

goodix: support gt1151 touchpanel commit

wm97xx: add new AC97 bus support commit

xpad: add support for PDP Xbox One controllers commit

12.7. TV tuners, webcams, video capturers

rockchip/rga: v4l2 m2m support commit

v4l2-tpg: add Y10 and Y12 support commit

vivid: add support for Y10 and Y12 commit

cec-gpio: add HDMI CEC GPIO driver commit

imx274: V4l2 driver for Sony imx274 CMOS sensor commit

remote control keymaps: add support for RC of hisilicon TV demo boards commit keymaps: add support for RC of hisilicon poplar board commit Add Astrometa T2hybrid keymap module commit Add driver for tango HW IR decoder commit Add tango keymap commit mceusb: add support for 15f4:0135 commit and 1b80:d3b2 commit

tc358743: add CEC support commit

tegra-cec: add Tegra HDMI CEC driver commit

usbtv: add a new usbid commit

12.8. Universal Serial Bus (USB)

typec: driver for TI TPS6598x USB Power Delivery controllers commit

typec: wcove: start using tcpm for USB PD support commit

f81534: implement break control commit

qcserial: add pid/vid for Sierra Wireless EM7355 fw update commit, add Sierra Wireless EM7565 commit

dwc2: add support for STM32F7xx USB OTG HS commit

mtu3: support option to disable usb3 ports commit

mtu3: add support for usb3.1 IP commit

renesas_usbhs: add support for R-Car D3 commit

usb251xb: Add USB2517i specific struct and IDs commit

xhci-mtk: support option to disable usb3 ports commit

xhci: add port speed ID to portsc tracing commit

xhci: Add debugfs interface for xHCI driver commit

early: Use new USB product ID and strings for DbC device commit

option: add Quectel BG96 id commit, add support for Telit ME910 PID 0x1101 commit, adding support for YUGA CLM920-NC5 commit

usb_debug: add new USB device id commit

cp210x: add new device ID ELV ALC 8xxx commit, add IDs for LifeScan OneTouch Verio IQ commit

ftdi_sio: add id for Airbus DS P8GR commit

phy: Add Broadcom STB USB phy driver commit, commit

phy: mxs: add usb charger type detection commit

phy: remove phy-msm-usb.c commit

phy: remove phy-qcom-8x16-usb.c commit

host: remove ehci-msm.c commit

Drop unused usb-serial-core USB driver commit

12.9. Serial Peripheral Interface (SPI)

imx: Add support for SPI Slave mode commit

Add ADI driver for Spreadtrum platform commit

12.10. Serial

8250_fintek: UART dynamic clocksource on Fintek F81216H commit and Fintek F81866 commit

8250_mid: Enable HSU on Intel Cedar Fork PCH commit

meson: add Magic SysRq support commit

mvebu-uart: add function to change baudrate commit, support probe of multiple ports commit, commit

8250_pci: Add Amazon PCI serial device ID commit

serdev: Add ACPI support commit

sh-sci: Support for variable HSCIF hardware RX timeout commit

tty: serial: meson: allow baud-rates lower than 9600 commit

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

ACPI: LPIT: Add Low Power Idle Table (LPIT) support commit PMIC: Add TI PMIC TPS68470 operation region driver commit PMIC: Add opregion driver for Intel Dollar Cove TI PMIC commit nfit: add support for the _LSI, _LSR, and _LSW label methods commit nfit: Enable to show what feature is supported for nfit_test commit nfit: add 'Enable Latch System Shutdown Status' command support commit nfit: add support for NVDIMM_FAMILY_INTEL v1.6 DSMs commit APD: Add clock frequency for ThunderX2 I2C controller commit

thermal hisi: Add support for hi3660 SoC commit Add Tegra BPMP thermal sensor driver commit Add brcmstb AVS TMON driver commit imx: Add support for reading OCOTP through nvmem commit int340x: processor_thermal: Add Cannon Lake support commit and Coffee Lake support commit pch: Add Cannon Lake support commit rockchip: Support the RV1108 SoC in thermal driver commit

cpuidle: ladder: Add per CPU PM QoS resume latency support commit

nfit_test: add error injection DSMs commit

12.12. Real Time Clock (RTC)

mediatek: add driver for RTC on MT7622 SoC commit

Add support for NXP PCF85363 real-time clock commit

sc27xx: Add Spreadtrum SC27xx PMIC RTC driver commit

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

Add support for Smart Battery System Manager commit

axp20x: Add support for AXP813 regulators commit

da9211: update for supporting da9223/4/5 commit

qcom_spmi: Add support for pmi8994 commit

12.14. Pin Controllers (pinctrl)

intel: Add Intel Cedar Fork PCH pin controller support commit

sh-pfc: r8a7795: Add SDHI0-3 support commit, Add USB3.0 host support commit

sh-pfc: r8a77995: Add USB2.0 host support commit

sh-pfc: r8a7795-es1: Add USB3.0 host support commit

rza1: Add support for RZ/A1L commit

gpio: mcp23s08: add support for mcp23018 commit

12.15. Multi Media Card (MMC)

Preparations for enabling CQE (eMMC CMDQ) requests commit, commit, commit

Convert RPMB to a character device commit

Export emmc revision in sysfs commit

mediatek Add support of mt2701/mt2712 commit Updates management of clocks and tunings commit, commit, commit, commit, commit, commit

meson-mx-sdio: Add a driver for the Amlogic Meson8 and Meson8b SoCs commit

sdhci-omap: Add OMAP SDHCI driver commit

sdhci-pci: Add support for Intel CDF commit

12.16. Memory Technology Devices (MTD)

sharpslpart: Add sharpslpart partition parser commit

intel-spi: Add Intel Lewisburg PCH SPI super SKU PCI ID commit

spi-nor Add support for Winbond w25q16dw commit Add support for mr25h128 commit Add support for GD25Q256 commit Add support for Gigadevice GD25LQ32 commit intel-spi: Add support for Intel Cedar Fork SPI serial flash commit, add support for Intel Lewisburg SPI serial flash commit



12.17. Industrial I/O (iio)

accel: add support to LIS2DW12 commit

accel: add support to LIS3DHH commit

accel: kxcjk1013: add support for KXTF9 commit

dac: Add Texas Instruments 8/10/12-bit 2/4-channel DAC driver commit

dac: ad5446: Add IDs of compatible Texas Instruments chips commit

dac: ds4422/ds4424 dac driver commit

adc: mcp320x: Add support for mcp3550/1/3 commit

chemical: ccs811: Add support for data ready trigger commit

gyro: st_gyro: add SPI-3wire support to st_gyro framework commit

light: tcs3472: support out-of-threshold events commit

magnetometer: st_magn: add SPI-3wire support to LIS3MDL commit

pressure: add support to LPS33HW and LPS35HW commit

pressure: st_pressure: add SPI-3wire support to st_pressure framework commit

proximity: Add rfd77402 driver commit

platform/chrome: Add cros_ec_accel_legacy driver commit

12.18. Multi Function Devices (MFD)

Add Spreadtrum SC27xx series PMICs driver commit

Add support for Cherry Trail Dollar Cove TI PMIC commit

rts5249: Add support for RTS5250S power saving commit

wm97xx-core: core support for wm97xx Codec commit

12.19. Pulse-Width Modulation (PWM)

mediatek: Add MT2712/MT7622 support commit

12.20. Inter-Integrated Circuit (I2C)

xgene-slimpro: Support v2 commit

12.21. Hardware monitoring (hwmon)

k10temp: Add support for family 17h commit, add support for temperature offsets commit

max6621: Add support for Maxim MAX6621 temperature sensor commit

xgene: Support hwmon v2 commit

pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller commit

12.22. General Purpose I/O (gpio)

Add Tegra186 support commit

Add driver for Maxim MAX3191x industrial serializer commit

dwapb: Add wakeup source support commit

uniphier: add UniPhier GPIO controller driver commit

12.23. Leds

ledtrig-activity: Add a system activity LED trigger commit

Add driver for PC Engines APU/APU2 LEDs commit

12.24. DMA engines

Add STM32 DMAMUX driver commit

Add STM32 MDMA driver commit

Add Spreadtrum DMA driver commit

sun6i: Add support for Allwinner A64 and compatibles commit

12.25. Hardware Random Number Generator (hwrng)

iproc-rng200 - Add support for BCM7278 commit

12.26. Cryptography hardware acceleration

crypto4xx Add aes-gcm support commit Add aes-ccm support commit enable AES RFC3686, ECB, CFB and OFB offloads commit Add backlog queue support commit

marvell: Remove the old mv_cesa driver commit

s5p-sss: Add HASH support for Exynos commit

12.27. PCI

Add resizable BAR infrastructure commit

Add pci=big_root_window option for AMD 64-bit windows commit

Expose SR-IOV offset, stride, and VF device ID via sysfs commit

Add support for Synopsys DesignWare RC in ECAM mode commit

hisi: Add HiSilicon STB SoC PCIe controller driver commit

layerscape: Add support for ls1012a commit

tango: Add MSI controller support commit

tegra: Add Tegra186 PCIe support commit

v3-semi: Add V3 Semiconductor PCI host driver commit

12.28. Non-Transparent Bridge (NTB)

Add MicroSemi Switchtec Non-Transparent Bridge Support commit, commit, commit, commit, commit, commit, commit, commit, commit

12.29. Clock

bcm: Add Broadcom Hurricane 2 clock support commit

renesas: cpg-mssr: Add R8A77970 support commit

samsung: Add a separate driver for Exynos4412 ISP clocks commit

qcom: Implement RPM clocks for MSM8660/APQ8060 commit

mediatek: Add MT2712 clock support commit, add clock support for MT7622 SoC commit

sh_cmt: Support separate R-Car Gen2 CMT0/1 commit

12.30. Various

bus: ti-sysc: Add minimal TI sysc interconnect target driver commit

bus: add driver for the Technologic Systems NBUS commit

extcon: max77843: Add OTG power control to the MUIC driver commit, add support for SmartDock accessory commit

firmware: qcom: scm: Expose download-mode control commit. expose secure IO service commit

firmware: tegra: Add BPMP debugfs support commit

iommu/omap: Add support to program multiple iommus commit

iommu/ipmmu-vmsa: Enable multi context support commit

irqchip brcmstb-l2: Add support for the BCM7271 L2 controller commit gic-v3: Add support for Range Selector (RS) feature commit meson: Add support for gpio interrupt controller commit stm32: Add stm32h7 support commit, add multi-bank management commit exiu: Add support for Socionext Synquacer EXIU controller commit

memory: brcmstb: Add driver for DPFE commit

cxl: Add support for POWER9 DD2 commit

cxl: Provide debugfs access to PSL_DEBUG/XSL_DEBUG registers commit

drivers/nvmem add snvs_lpgpr driver commit rockchip: add support for RK3368 commit Add a driver for the Amlogic Meson6/Meson8/Meson8b SoCs commit uniphier: add UniPhier eFuse driver commit sunxi-sid: add support for A64/H5's SID controller commit

remoteproc: debug: add resource table dump feature commit

remoteproc: debug: add carveouts list dump feature commit

drivers/reset Introduce AXS10x reset driver commit meson: add level reset support for GX SoC family commit add reset-simple to unify socfpga, stm32, sunxi, and zx2967 commit, commit, commit, commit, commit

drivers/soc renesas: rcar-sysc: add R8A77970 support commit amlogic: add Meson GX VPU Domains driver commit bcm: brcmstb: Add support for S2/S3/S5 suspend states commit, commit qcom: Remote filesystem memory driver commit atmel: Add basic support for new sama5d2 SiPs commit amlogic: Add Meson6/Meson8/Meson8b/Meson8m2 SoC Information driver commit mediatek: pwrap: add support for MT7622 SoC commit

w1: add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge commit

vfio: platform: reset: Add Broadcom FlexRM reset module commit

13. List of merges

14. Other news sites