4475
Comment:
|
881
Linux 4.19 has NOT been released, but the changelog is complete
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
The purpose of this page is tracking and explaining the features added in every release, just like the [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly people did]. | #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|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! |
Line 3: | Line 5: |
It'd be nice if kernel hackers would spend some minutes adding their stuff here. The one place where you can find a comparable changelog are the fabulous LWN kernel articles: http://lwn.net/Kernel/, or the [http://lwn.net/Articles/driver-porting/ driver porting guide] - but there's no reason why the kernel community shouldn't embrace and extend those efforts ;) | You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 5: | Line 7: |
TODO: * Import [http://kernelnewbies.org/status/latest.html Kernelnewbies status] list (2.5.57 - 2.6.0-test9 done) * Import relevant data from [http://www.codemonkey.org.uk/post-halloween-2.5.txt davej's post halloween document] * Keep track of what gets changed 2.6.14: 2.6.13: * x86 now uses the generic PCI bus setup code for assigning unassigned resources * [http://lwn.net/Articles/104343/ inotify] * Support for the Xtensa architecture: [http://www.tensilica.com/products/xtensa_architecture.htm 32-bit architecture] used in embedded devices * [http://lwn.net/Articles/108595/ kexec and kdump]: Kexec allows users to load a new kernel from another running kernel. By preserving the memory contents in a crash scenario, kexec allows to implement kdump. Kdump is able to get a memory dump of the previous kernel, and be used as a debugging tool. * [http://lwn.net/Articles/135472/ Execute-in-place support]: Traditionally, programs are loaded from disk to memory to be executed. However, the current wave of embedded devices store programs in a ROM/flash chip. XIP allows the kernel executing programs directly from that ROM, without being copied to RAM (saving RAM space), and bypassing the page cache/io scheduler layers (since they're not needed). * [http://lwn.net/Articles/145973/ build-time configurable clock interrupt frequency]: * [http://lwn.net/Articles/143474/ Improved CFQ IO scheduler] * Voluntary preemption patches * Removal of the devfs configuration option 2.6.12: * [http://lwn.net/Articles/140164/ API changes] * New driver for the "trusted computing" (TPM) crap^Wchip * [http://www.superh.com/products/shyway.htm SuperHyway bus support] * Multilevel security implementation for SELinux * [http://lwn.net/Articles/124703/ device mapper multipath support] * [http://lwn.net/Articles/121845/ Address space randomization] * Restore the Philips webcam driver * I/O barrier support for serial ATA drives * [http://lwn.net/Articles/134460/ "resource limits"] * [http://lwn.net/Articles/127936/ cpusets] * Remove IPV6 "experimental" status 2.6.11: 2.6.10: 2.6.9: 2.6.8: 2.6.7: 2.6.6: 2.6.5: 2.6.4: 2.6.3: 2.6.2: 2.6.1: 2.6.0: 2.6.0-test9: * [http://lwn.net/Articles/44243/ libata driver architecture] (Jeff Garzik) 2.6.0-test6: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104344596912094&w=2 32-bit dev_t] (Andries Brouwer, Al Viro) 2.6.0-test3: * [http://www.nsa.gov/selinux/index.html SELinux] (Stephen Smalley, SELinux team) 2.6.0-test1: * [http://www.linuxvirtualserver.org/ Linux Virtual Server layer] (Wensong Zhang) 2.5.75: * [http://marc.theaimsgroup.com/?l=linux-mm&m=104529418208788&w=2 Anticipatory Scheduler] (Nick Piggin, Andrew Morton) 2.5.71: * [http://marc.theaimsgroup.com/?l=linux-kernel&m=104981044405395&w=2 Switch the IDE I/O layers to taskfile](Bartlomiej Zolnierkiewicz, Alan Cox) 2.5.70: * [http://www.linux-usb.org/gadget USB gadget support] (David Brownell, Stuart Lynne, Greg Kroah-Hartman) 2.5.69: * [http://lwn.net/Articles/29555/ New interrupt handling API] (Linus Torvalds, Andrew Morton, etc.) 2.5.65: * [http://www.kerneltrap.org/node.php?id=603 Desktop Interactivity Improvements] (Linus Torvalds, Ingo Molnar) 2.5.63: * [http://high-res-timers.sourceforge.net/ POSIX timers] (George Anzinger) 2.5.60: * New modversions implementation (Kai Germaschewski) * 64-bit jiffies (Tim Schmielau) 2.5.59: * [http://home.arcor.de/efocht/sched/ NUMA aware scheduler extensions] (Erich Focht, Michael Hohnbaum, Martin Bligh) 2.5.57: * [http://www.zipworld.com.au/~akpm/linux/schedlat.html Remove long-held locks for low scheduling latency] (Andrew Morton, etc.) 2.5.54: * [http://secure.netroedge.com/~lm78/ Add drivers for hardware health monitoring] (lm_sensors team) |
<<Include(Linux_4.19)>> |
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 4.19 was released on Monday, 22 October.
Summary: This release adds: the CAKE network queue management to fight bufferbloat, it is designed to fight intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers; support for guaranteeing minimum I/O latency targets for cgroups; experimental support for the future Wi-Fi 6 (802.11ax-drafts); memory usage for overlayfs users has been improved; a experimental EROFS file system optimized for read-only use; a new asynchronous I/O polling interface; support for avoiding unintentional writes to an attacker-controlled FIFO or regular files in world writable sticky directories; support for a Intel feature that locks part of the CPU cache for an application; and many new drivers and other improvements.
(bonus: the Linux 4.18 and Linux 4.17 changelogs, unavailable during their respective releases, are now complete)
Contents
-
Coolest features
- Better networking experience with the CAKE queue management algorithm
- Block I/O latency controller
- Preliminary Wi-Fi 6 (802.11ax) support
- New asynchronous I/O polling interface
- Overlayfs memory usage improvements
- New experimental EROFS file system
- Better protection in sticky directories (eg. /tmp)
- Intel Cache Pseudo-locking
- Even more fixes for CPU security bugs
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing and perf
- Virtualization
- Security
- Crypto
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- FRU Support Interface (FSI)
- Clock
- Various
- List of merges
- Other news sites
1. Coolest features
1.1. Better networking experience with the CAKE queue management algorithm
This release includes a new queuing discipline for the network packet scheduler: Common Applications Kept Enhanced (CAKE). It is designed to replace and improve upon the complex hierarchy of simple queuing disciplines presently required to effectively tackle the bufferbloat problem at the network edge.
CAKE targets the home router use case and is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it.
Recommended LWN article: Let them run CAKE
Project page: https://www.bufferbloat.net/projects/codel/wiki/Cake/
Technical information: https://www.bufferbloat.net/projects/codel/wiki/CakeTechnical/
Paper: https://arxiv.org/abs/1804.07617
Code: commit 1, 2, 3, 4, 5, 6, 7, 8
1.2. Block I/O latency controller
This release adds a new controller that attempts to guarantee minimum I/O latency targets for cgroups. As long as everybody is meeting their latency target the controller doesn't do anything, but once a group starts missing its target it will attempt to maintain average IO latencies below the configured latency target, throttling anybody with a higher latency target than the victimized group. Latency targets need to be enabled in the new io.latency cgroup file, but experimentation is needed to determine the latency targets for a given hardware configuration. For more details see the documentation.
Recommended LWN article: The block I/O latency controller
Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
1.3. Preliminary Wi-Fi 6 (802.11ax) support
This release adds preliminary support in the wireless stack for the existing drafts of the future 802.11ax standard, also known as Wi-Fi 6.
1.4. New asynchronous I/O polling interface
After being merged and reverted in 4.18, this feature adds a simple one-shot poll through the io_submit(2) interface to poll for the readiness of file descriptors using the aio subsystem. It allows aio poll to work without any additional context switches, unlike epoll. To poll for a file descriptor the application should submit an iocb of type IOCB_CMD_POLL. It adds a io_pgetevents(2) system call, which is the io_getevents(2) equivalent of ppoll(2)/pselect(2) and allows to properly mix signals and aio completions (especially with IOCB_CMD_POLL). The API is based on patches that existed in RHAS2.1 and RHEL3, which means it already is supported by libaio.
Recommended LWN article: A new kernel polling interface
1.5. Overlayfs memory usage improvements
When users of overlayfs (eg. containers) change metadata on a file, overlayfs makes a copy of the entire file's cache for the upper layer. This means that some actions, eg. doing chown() on whole image directory tree, will increase memory usage considerably. This release allows to delay copy up of data: when file is on lower layer and only metadata is modified (except size), the kernel will only only copy up the metadata and continue to use the data from the lower file until file is opened for writing. Following the previous example, doing chown() on whole image directory tree won't trigger a copy of the file's data, containers will continue sharing the page cache. For instructions on how to turn on this feature, see the documentation.
This release also properly implements regular file operations for overlayfs, removing several hacks and allowing proper interaction of read-only open files with copy-up, possibility to implement fs modifying ioctls properly, and others. Overlayfs can now act as a POSIX compliant filesystem with some features turned on, for more details see the documentation
Code copy up medata only: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
Code stack file operations: 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 13, 14, 15, 16, 17, 18, 19
1.6. New experimental EROFS file system
The new EROFS file system has been added in this release. It is a experimental project, under the staging directory, and still expects to make changes to the on-disk layout. EROFS stands for Enhanced Read-Only File System, and it is a lightweight read-only file system with a modern design (eg. page-sized blocks, inline xattrs/data, etc.) for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or Livecds. It also provides VLE compression support, focusing on random read improvements, keeping relatively lower compression ratios, which is useful for high-performance devices with limited memory and ROM space.
Code: source
1.7. Better protection in sticky directories (eg. /tmp)
This release tries to avoid unintentional writes to an attacker-controlled FIFO or regular files by disallowing open of FIFOs or regular files not owned by the user in world writable sticky directories, unless the owner is the same as that of the directory or the file is opened without the O_CREAT flag. The purpose is to make data spoofing attacks harder. This protection can be turned on and off separately for FIFOs (protected_fifos) and regular files (protected_regular) via sysctl, just like the already existing symlinks/hardlinks protection
Code: commit
1.8. Intel Cache Pseudo-locking
This release adds support for an Intel-specific CPU feature. It allows a user to specify the amount of CPU cache space that an application can fill, it isolates that region of the CPU cache and 'locks' it. From that point on will only serve cache hits. The cache pseudo-locked memory is made accessible to user space where an application can map it into its virtual address space and thus have a region of memory with reduced average read latency. The locking is not perfect and gets totally screwed by WBINDV and similar mechanisms, but it provides a reasonable enhancement for certain types of latency sensitive applications.
Documentation: Documentation/x86/intel_rdt_ui.txt
Code: commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
1.9. Even more fixes for CPU security bugs
This release includes the usual round of patches to deal with the new and exciting CPU security bugs:
x86: Add protection against L1TF, aka L1 Terminal Fault, yet another speculative hardware engineering trainwreck. It's a hardware vulnerability which allows unprivileged speculative access to data which is available in the Level 1 Data Cache. For more details, read this LWN article: Meltdown strikes back: the L1 terminal fault vulnerability; and/or see the documentation
- x86: Add protection against userspace-userspace spectreRSB
- x86: Support Enhanced IBRS on future Intel CPUs as the default Spectre V2 mitigation technique instead of retpoline for improved performance
- Support page-table isolation protection (KPTI) for x86-32
- Implement syscall wrappers in arm64 to minimize the risk of userspace-controlled values being used under speculation
- KVM Shadow Paging performance improvements to improve the performance of shadow paging when the guest kernel is using KPTI
- Support for flushing the count cache on context switch on some POWERPC IBM CPUs (controlled by firmware), as a Spectre v2 mitigation
- Many small patches across the entire kernel to fix the possible Spectre exploitations warned by GCC
2. Core (various)
(FEATURED) Asynchronous I/O: implement IOCB_CMD_POLL commit, commit, commit, commit
Raise the minimum required gcc version to 4.6 commit
Provide a command line (nosmt) and a sysfs knob (/sys/devices/system/cpu/smt/*) to control Simultaneous Multi Threading commit
Add an option for uncompressed kernel commit
Salted build ids to allow unique build ids commit, commit, commit, commit
Set $HOSTCFLAGS and $HOSTLDFLAGS variables from the environment commit, commit, commit, commit, commit
locking: Implement an algorithm choice for Wound-Wait mutexes commit
task scheduler: Remove unused sched_time_avg_ms sysctl commit
tools/vm/page-types.c: add support for idle page tracking commit and include shared map counts commit
usercopy: Enabling HARDENED_USERCOPY may cause measurable regressions in networking performance: up to 8% under UDP flood. Allow to disable it at runtime with hardened_usercopy=off option commit
Enable early printing of hashed pointers. Aid debugging early in the boot sequence for machines that do not have a hw RNG by adding the command line option debug_boot_weak_hash commit, commit, commit, commit
virtual terminal: The vt code translates UTF-8 strings into glyph index values and stores those glyph values in the screen buffer. Because there can only be at most 512 glyphs, it is impossible to represent most unicode characters. This release introduces unicode screen support to the core console code with /dev/vcs* as a first user commit, commit, commit
proc: show fd locks taken by processes from another pidns commit
Power management: Add a new framework for idle injection, to be used by all of the idle injection code in the kernel in the future commit
Allow deferred driver probing to timeout commit, commit, commit, commit, commit, commit
driver core: Add a debugfs entry to show deferred devices commit
optimization: epoll: loosen irq safety when possible commit, commit, commit, commit
optimization: cpufreq/schedutil: Take time spent in interrupts into account commit
optimization: page_alloc: double zone's batchsize commit
3. File systems
- EROFS
(FEATURED) Add EROFS (Enhanced Read-Only File System), a lightweight read-only file system with modern designs for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs source
- BTRFS
- XFS
Remove deprecated barrier/nobarrier mount commit
- CIFS
- EXT4
- F2FS
Add fsync_mode=nobarrier mount option which gives an option to user where it skips issuing cache flush commands to underlying flash storage commit
Enable -o discard by default commit
Introduces a new mount option fault_type to assist old fault_injection commit
Support discard submission error injection commit
- FAT
Add FITRIM ioctl for FAT file system commit
- NFS
- OVERLAYFS
(FEATURED) Delayed copy up of data 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
(FEATURED) Stack file operations: this allows removal of several hacks from the VFS, proper interaction of read-only open files with copy-up, possibility to implement fs modifying ioctls properly, and others commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- PSTORE
Add zstd compression support commit
- UBIFS
4. Memory management
/proc/meminfo: add percpu populated pages count commit
huge pages microoptimization: Copy target sub-page last when copy huge page, because it is possible for the application to access the begin of the huge page after copying the huge page, and copying the target sub-page last will keep the CPU caches warm for the app commit, commit, commit, commit
Introduce a tiny implementation of cgroup-aware OOM killer, which adds an ability to kill a cgroup as a single unit and so guarantee the integrity of the workload. A new knob for cgroup v2 memory controller is added: memory.oom.group. The knob determines whether the cgroup should be treated as an indivisible workload by the OOM killer. If set, all tasks belonging to the cgroup or to its descendants (if the memory cgroup is not a leaf cgroup) are killed together or not at all. Incoming releases will improve this mechanism commit, commit, commit
5. Block layer
(FEATURED) Introduce blk-iolatency io controller, a latency based io controller for cgroups commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Separates block layer statistics for discards from writes. Discards are currently bundled with writes in the various /sys/block/*/stat files as well as in /proc/diskstats. The new discard statistics are appended to the current /sys/bloc/*/stat and /proc/diskstats on output such that they are the last four entries of each. These are analogous to the four read and write statistics commit, commit, commit, commit, commit, commit
dm integrity: Add the ability to store DM integrity metadata on a separate device. This feature is activated with the option meta_device:/dev/device commit, commit, commit, commit, commit, commit, commit, commit, commit
- rbd
null_blk: add zone support commit
6. Tracing and perf
perf: add key binding ('p') and option (--percent-type) for switching between local/global percentage in annotation output/browser. Local means % within symbol, global within the whole perf data commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
tracing: Add -mcount-nop option support commit
tracing: Allow gcov profiling on only ftrace subsystem commit
kprobes: Remove jprobe API implementation commit
7. Virtualization
8. Security
(FEATURED) Avoid unintentional writes to an attacker-controlled FIFO or regular file: disallow open of FIFOs or regular files not owned by the user in world writable sticky directories, unless the owner is the same as that of the directory or the file is opened without the O_CREAT flag. The purpose is to make data spoofing attacks harder. This protection can be turned on and off separately for FIFOs (protected_fifos) and regular files (protected_regular) via sysctl, just like the symlinks/hardlinks protection commit
kexec/firmware: support system wide policy requiring signatures. It allows the customer to define a policy which requires the kexec'ed kernel images, firmware, and/or kernel modules to be signed. In addition, this patch set includes the ability to configure a build time IMA policy, which is automatically loaded at run time without needing to specify it on the boot command line and persists after loading a custom kernel policy commit, commit, commit, commit, commit, commit, commit, commit
9. Crypto
random: add a config option to trust the CPU's hwrng commit
10. Networking
Support list based batching and stack traversal of socket buffers. It allows the network stack to receive a list of packets and process them as a unit, rather than handling each packet singly in sequence commit, commit, commit, commit, commit, commit, commit, commit, commit, merge
Maintain IP fragment queue in an rbtree, but optimize properly for in-order frags commit, commit, commit, commit, commit
Improve handling of ACKs on hole repairs commit, commit, commit, commit
- TCP
Add SNMP counter (LINUX_MIB_TCPZEROWINDOWDROP for zero-window drops commit
Add SNMP counter (LINUX_MIB_TCPRCVQDROP) for drops when try to queue in rcv queue commit
Adds 3 RFC4898 stats: tcpEStatsPerfHCDataOctetsOut, tcpEStatsPerfOctetsRetrans, tcpEStatsStackDSACKDups and an addtional stat to record the number of data packet reordering events seen, tcp_reord_seen commit, commit, commit, commit, commit
Make TCP_USER_TIMEOUT socket option more accurate commit, commit, commit
IPv4: Control socket buffer reprioritization after forwarding. After IPv4 packets are forwarded, the priority of the corresponding socket buffer is updated according to the TOS field of IPv4 header. This overrides any prioritization done earlier by e.g. an skbedit action or ingress-qos-map defined at a vlan device. A sysctl (ip_forward_update_priority) is added that lets users prevent this behaviour commit, commit, commit, commit, commit, commit, commit
- IPv6
Preventing the kernel from responding to ICMP Echo Requests messages can be useful in several ways. For IPv4, the sysctl icmp_echo_ignore_all could be used for this function, this release adds a echo_ignore_all sysctl for the IPv6 equivalent commit
ila: Add ILA_CMD_FLUSH netlink command to clear the ILA translation table commit
route: add support for directed broadcast forwarding. It implements the feature described in rfc1812 section-5.3.5.2 and rfc2644. It allows the router to forward directed broadcast when sysctl bc_forwarding is enabled commit, commit
(FEATURED) Support 802.11ax High-Efficiency wireless commit, commit, commit, commit
802.11: Extend scan privacy by randomizing the sequence number of the probe request frames transmitted, and reducing the probe request content to just the SSID, supported rates, DS element and - if given - requested elements from userspace commit, commit, commit, commit, commit
TLS: Generic infrastructure to offload TLS crypto to a network devices. It enables the kernel TLS socket to skip decryption and authentication operations for SKBs marked as decrypted on the receive side of the data path. Leaving those computationally expensive operations to the NIC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support for Tx queue selection based on Rx queue(s) map. This is done by configuring Rx queue(s) map per Tx-queue using sysfs attribute. If the user configuration for Rx queues does not apply, then the Tx queue selection falls back to XPS using CPUs and finally to hashing commit, commit, commit, commit, commit, commit, commit
Add virtual XFRM interfaces to route IPSec traffic, which avoid all of the limitations of existing IPSEC tunnels commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, merge
Support DSCP and flowlabel per-transport in SCTP commit, commit, commit, commit, commit
Add parameter support to devlink commit, commit, commit, commit, commit, commit, commit, commit
Support regions and region snapshots in devlink, allowing users access to driver defined address regions and reading and dumping snapshots from them commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
devlink: Add enable_sriov parameter to enables SR-IOV commit
Allow to attach XDP programs to both HW and SW at the same time on a given device. This enables advanced use cases where some of the work is offloaded to the NIC and some is done by the host commit, commit, commit, commit, commit, commit, commit
bridge: a new bridge port option that allows any port to have any other port (in the same bridge of course) as its backup and traffic will be forwarded to the backup port when the primary goes down. This is mainly used in MLAG and EVPN setups where we have peerlink path which is a backup of many (or even all) ports and is a participating bridge port itself commit, commit
- packet scheduler:
Introduce a set of kernel interfaces that can be used by applications that require (time-based) Scheduled Tx of packets. It adds a new SO_TXTIME socket option, and the ETF "earliest txtime first" qdisc, that provides per-queue TxTime-based scheduling. For applications/systems that the concept of time slices isn't precise enough, the etf qdisc allows applications to control the instant when a packet should leave the network controller. Recomended LWN article: Time-based packet transmission. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, merge
(FEATURED) Add Common Applications Kept Enhanced (cake) qdisc (paper). sch_cake targets the home router use case and is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it commit, commit, commit, commit, commit, commit, commit, commit
Allow the flower classifier to match on tunnel options and the tunnel key action to set them commit, commit
Add skbprio, the SKB priority queue scheduler. It schedules packets according to skb->priority, which is useful for request packets in DoS mitigation systems such as Gatekeeper commit
set/match the tos/ttl fields of TC based IP tunnels commit, commit, commit
Introduce matching on double vlan/QinQ headers for TC flower commit, commit, commit, commit, commit
Add new action inheritdsfield. It copies the field DS of IPv4 and IPv6 packets into skb->priority. This enables later classification of packets based on the DS field commit
Add support for slotting with non-uniform distribution to netem packet scheduler commit
Support for templates in packet scheduler classifier commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
TIPC: Extend the existing TIPC socket diagnostics framework for information related to TIPC group communication commit
Add Geneve Options support to the TC tunnel key action. It provides the plumbing required to configure Geneve variable length options commit, commit, commit, commit
- Bluetooth
Implement Get, Set PHY Configuration and setting of PHY in Advertising. Also implemented extended advertising, scanning and connection commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add HCI command for clear Resolv list commit
Basic implementation of veth driver XDP commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- BPF
Implement cgroup local storage for bpf programs. The main idea is to provide a fast accessible memory for storing various per-cgroup data, e.g. number of transmitted packets. Cgroup local storage looks as a special type of map for userspace, and is accessible using generic bpf maps API for reading and updating of the data. The (cgroup inode id, attachment type) pair is used as a map key. A user can't create new entries or destroy existing entries; it happens automatically when a user attaches/detaches a bpf program to a cgroup commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce BPF_MAP_TYPE_REUSEPORT_SOCKARRAY and BPF_PROG_TYPE_SK_REUSEPORT to allow userspace to be capable of directly setting up a bpf map which can then be consumed by the bpf prog to make decision. In this case, decide which SO_REUSEPORT sk to serve the incoming request. By adding BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, the userspace has total control and visibility on where a SO_REUSEPORT sk should be located in a bpf map. BPF_PROG_TYPE_SK_REUSEPORT allows the bpf prog to directly select a sk from the bpf map commit, commit, commit,commit, commit, commit, commit, commit, commit
Introduce a new bpftool command: cgroup tree. The idea is to iterate over the whole cgroup tree and print all attached programs commit, commit, commit
Add support to call bpf_get_socket_cookie() helper from two more program types: BPF_PROG_TYPE_CGROUP_SOCK_ADDR and BPF_PROG_TYPE_SOCK_OPS commit, commit, commit, commit
Add TCP-BPF callback for listening sockets commit, commit, commit, commit, commit, commit
Add support for sharing BPF objects within one ASIC. This will allow us to reuse of the same program on multiple ports of a device leading to better code store utilization. It also enables sharing maps between programs attached to different ports of a device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend the abilities of bpftool prog load beyond the simple cgroup use cases. Three new parameters are added: type - allows specifying program type; map - allows reusing existing maps; dev - offload/binding to a device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ieee802154
ipmr: Add support for IGMPMSG_WRVIFWHOLE which is used to pass full packet and real vif id when the incoming interface is wrong commit
libceph: support for cephx v2 commit, commit, commit, commit, commit, commit, commit, commit
- netfilter
openvswitch: add kernel datapath clone action. In case the actions within clone do not modify the current flow, the actions are executed without making a copy of current key before execution commit
- netlink
SCTP: add support for SCTP_REUSE_PORT sockopt commit
smc: pnetid and SMC-D support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11. Architectures
- ARM
- New SoCs/platforms
Raspberry Pi Compute Module (CM1) and IO board commit
- i.MX6SSL from NXP
Renesas RZ/N1D SoC (R9A06G032), Dual Cortex-A7 with Ethernet, CAN and PLC interfaces commit, commit
TI AM654 SoC, Quad Cortex-A53, safety subsystem with Cortex-R5 controllers, communication and PRU subsystem and lots of other interfaces (PCIe, USB3, etc) commit, commit
- New boards and systems
- Other Device Tree Sources
Add S805X based P241 board commit
meson-gxl: add support for the Oranth Tanix TX3 Mini commit
meson-gxl: add support for the S905W SoC and the P281 board commit
Add Mediatek X20 Development Board support commit
rockchip: add 96boards RK3399 Ficus board commit
rockchip: add Google Bob commit
zynqmp: Add support for Avnet Ultra96 rev1 board commit
zynqmp: Remove ep108 board commit
Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x commit
Add devicetree for Storlink/Storm SL93512R commit
BCM5301X: Add support for Linksys EA9500 commit
add support for Gatwick board based on WB50N commit
am335x: add am335x-sancloud-bbe board support commit
imx31: add LogicPD MX31Lite board description commit
imx53: Add support for imx53 HSC/DDC boards from K+P commit
imx6dl: Add Engicam i.CoreM6 1.5 Quad/Dual MIPI starter kit support commit
imx6ul: Add DTS for ConnectCore 6UL SBC Express commit
imx6ul: Add DTS for ConnectCore 6UL System-On-Module (SOM) commit
imx: Add ZII SCU2 Mezz board commit
imx: Add ZII SCU3 ESB commit
vf610: Add ZII CFU1 board commit
vf610: Add ZII SSMB SPU3 board commit
zynq: Add support for Z-turn board commit
OMAP2+: sleep33/43xx: Add RTC-Mode support commit
at91: pm: Add ULP1 mode support commit
- KVM
vgic: Let userspace opt-in to writable v2 IGROUPR commit
coresight: ETM: Add support for Arm Cortex-A73 and Cortex-A35 commit
coresight: Introduce support for Coresight Address Translation Unit commit
arm64: implement syscall wrappers to minimize the risk of userspace-controlled values being used under speculation commit
arm64: Wire up support for qspinlock, replacing the ticket lock code commit
arm64: Add support for STACKLEAK gcc plugin commit
- New SoCs/platforms
- X86
(FEATURED) Add protection against L1TF, aka L1 Terminal Fault, yet another speculative hardware engineering trainwreck. It's a hardware vulnerability which allows unprivileged speculative access to data which is available in the Level 1 Data Cache. While Meltdown breaks the user space to kernel space protection, L1TF allows to attack any physical memory address in the system and the attack works across all protection domains. It allows an attack of SGX and also works from inside virtual machines because the speculation bypasses the extended page table (EPT) protection mechanism. A l1tf boot option, with several parameters, is provided to control the mitigations applied by the kernel. FOr more details, see Documentation/admin-guide/l1tf.rst merge
(FEATURED) Add protection against userspace-userspace spectreRSB commit
(FEATURED) Support page-table isolation protection for x86-32 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, commit, commit, commit, commit, commit, commit, commit
(FEATURED) intel_rdt: support Cache Pseudo-Locking. Cache Allocation Technology (CAT), part of Intel Resource Director Technology, enables a user to specify the amount of cache space into which an application can fill. Cache pseudo-locking builds on the fact that a CPU can still read and write data pre-allocated outside its current allocated area on cache hit. With cache pseudo-locking data can be preloaded into a reserved portion of cache that no application can fill, and from that point on will only serve cache hits. The cache pseudo-locked memory is made accessible to user space where an application can map it into its virtual address space and thus have a region of memory with reduced average read latency 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, commit, commit, commit, commit, commit, commit, commit
- Support Enhanced IBRS on future Intel CPUs as the default Spectre V2 mitigation technique instead of
retpoline for improved performance commit
intel_th: pci: Add Ice Lake PCH support commit
iommu/amd: Add support for IOMMU XT mode commit
iommu/amd: Add basic debugfs infrastructure for AMD IOMMU commit
perf: support the Extended PEBS feature, introduced in Goldmont Plus microarchitecture, supports all events as "Extended PEBS" commit, commit, commit, commit
- platform
Add ACPI i2c-multi-instantiate pseudo driver commit
asus-wmi: Add keyboard backlight toggle support commit
intel-hid: Add support for Device Specific Methods commit
intel-vbtn: Add support for dock mode detection commit
silead_dmi: Add touchscreen info for the Chuwi Vi10 tablet commit
thinkpad_acpi: Add support for calculator hotkey commit
tsc: Redefine notsc to behave as tsc=unstable commit
- KVM
Shadow Paging performance improvements to improve the performance of shadow paging when the guest kernel is using KPTI commit, commit, commit, commit, commit, commit, commit, commit, commit, commit , commit, ,commit, commit, commit, commit, commit, commit
nVMX: nested VMCS shadowing. It expose VMCS Shadowing feature to L1 guest. This is done in order to accelerate the use-case of Triple-Virtualization commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Nested VMX live migration commit
Hyper-V: Introduce PV guest address space mapping flush support commit, commit, commit, commit
- MIPS
Introduce NT_MIPS_DSP & NT_MIPS_FP_MODE ELF notes & corresponding regsets to expose DSP ASE & floating point mode state respectively, both for live debugging & core dumps commit, commit
Loongson: Add Loongson-3A R3.1 basic support commit
Make elf2ecoff work on 64bit host machines commit
ath79: add support for QCA953x QCA956x TP9343 commit
- NDS32
- POWERPC
Add barrier_nospec implementation for NXP PowerPC Book3E commit
Support for flushing the count cache on context switch on some IBM CPUs (controlled by firmware), as a Spectre v2 mitigation commit, commit, commit, commit, commit
Disable the speculation barrier from the command line commit
via-pmu: Replace via-pmu68k driver with via-pmu driver commit
via-pmu: Add support for m68k PowerBooks commit
powernv: Add support to enable sensor groups commit
Remove POWER9 DD1 support commit
- S390
Host large page support for KVM guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ftrace: Add -mfentry and -mnop-mcount support commit
qeth: add statistics for consumed buffer elements commit
zcrypt: AP bus support for alternate driver(s) commit
zcrypt: Show load of cards and queues in sysfs commit
Support for perf report -D commit
perf list: Add support for detailed PMU event description commit
perf report: Add support for s390 auxiliary trace commit, commit
perf stat: Add transaction flag (-T) support for s390 commit
12. Drivers
12.1. Graphics
Add vkms, the Virtual Kernel Mode-Setting driver. It creates a very basic kms driver with 1 crtc/encoder/connector/plane. VKMS driver would be useful for testing, or for running X (or similar) on headless machines and be able to still use the GPU. Thus it enables a virtual display without the need for hardware display capability commit, commit
console/fbcon: defer fbcon taking over the console from the dummy console until the first text is displayed on the console. Together with the "quiet" kernel commandline option, this allows fbcon to still be used together with a smooth graphical bootup commit
vmwgfx: support for multisample surfaces commit, commit, commit, commit
Displayport support for CEC tunneling over AUX commit
efifb: BGRT: Add nobgrt option commit
debugfs: Add internal client debugfs file commit
- amdgpu
Modify CS IOCTL to allow its input as command buffer and an array of buffer handles to create a temporay bo list and then destroy it when IOCTL completes. This saves on calling for BO_LIST create and destry IOCTLs in MESA and by this improves performance commit
Add stutter mode control in a module parameter for RV. Stutter mode can save power in low DRAM use cases including but not limited to productivity application use, web browsing, and video playback commit
JPEG engine support on VCN merge
Add a sysfs entry to read GPU load from userspace commit
DP YCbCr 4:2:0 support commit
Set/read lane settings through debugfs commit
Add new polaris pci id commit
Remove internal/unused kernel module parameters commit
- amdkfd
Add Raven support commit
Add CU-masking ioctl to KFD. It allows a KFD client to control the set of CUs used by a user mode queue for executing compute dispatches. This can be used for optimizing the partitioning of the GPU and minimize conflicts between concurrent tasks commit
Add debugfs interface to trigger HWS hang commit
- i915
Icelake: Add power well support commit
Icelake: Add DSI support commit
Introducing Whiskey Lake platform commit
Introducing Amber Lake platform commit
Remove support for legacy debugfs crc interface commit
Add DisplayPort CEC-Tunneling-over-AUX support commit
gvt: Add 64K huge gtt support commit and 2M huge gtt support commit
armada: Atomic modesetting support completed commit, commit, commit, commit
- sun4i
mediatek: MT2712 SoC support merge
msm: Add A6XX device support commit
- mali-dp
- panel
Add Ilitek ILI9881c panel driver commit
Add support for the EDT ETM0700G0BDH6 commit
Add support for the EDT ETM0700G0EDH6 commit
p079zca: Support Innolux P097PFG panel commit
simple: Add Innolux TV123WAM panel driver support commit
simple: Add Sharp LQ035Q7DB03 panel support commit
simple: Add newhaven, nhd-4.3-480272ef-atxl LCD commit
simple: Add support for BOE HV070WSA-100 panel to simple-panel commit
simple: Add support for Rocktech RK070ER9427 LCD panel commit
Add AUO g070vvn01 display support (800x480) commit
pl111: Support Nomadik LCDC variant commit
tinydrm: new driver for ILI9341 display panels commit
- vc4
ipu-v3: add support for XRGB32 and XBGR32 V4L2 pixel formats commit
12.2. Storage
nvme: implement the Namespace Write Protect feature described in "NVMe TP 4005a Namespace Write Protect" commit, commit, commit
nvme: Add support for Asynchronous Namespace Access as specified in NVMe 1.3 TP 4004 commit, commit, commit, commit, commit, commit, commit, commit
nvmet-rdma: support max(16KB, PAGE_SIZE) inline data commit
nvmet: add commands supported and effects log page commit
- scsi
Switch to scsi-mq by default commit
tcmu: add module wide block/reset_netlink support commit
ufs: add Hisilicon ufs driver code commit
lpfc: Support duration field in Link Cable Beacon V1 command commit
megaraid_sas: Support FW provided TM timeout values commit
remove NCR_D700 driver commit
remove NCR_Q720 driver commit
ata: sata_rcar: Add r8a77965 support commit
12.3. Drivers in the Staging area
(FEATURED) erofs: Add EROFS (Enhanced Read-Only File System), a lightweight read-only file system with modern designs for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs source
Gasket driver framework + Apex driver commit
imx: add support for RGB565_2X8 on parallel bus commit
Add driver for Xilinx AXI-Stream FIFO v4.1 IP core commit
fsl-mc: Move DPIO from staging to drivers/soc/fsl commit
vboxvideo: Add page-flip support commit
Remove Skein and Threefish code commit
comedi: drop serial2002 driver commit
iio: Drop ADIS16060 driver from staging commit
mt7621-gpio: remove driver from staging commit
12.4. Networking
- Bluetooth
Add a new Realtek 8723DE ID 0bda:b009 commit
btqca: Add wcn3990 firmware download support commit
btrtl: add support for retrieving the UART settings commit
btrtl: add support for the RTL8723BS and RTL8723DS chips commit
hci_h5: Add support for the RTL8723BS commit
hci_h5: Add support for enable and device-wake GPIOs commit
hci_h5: Add support for serdev enumerated devices commit
hci_qca: Add support for Qualcomm Bluetooth chip wcn3990 commit
hci_qca: Enable 3.2 Mbps operating speed commit
mediatek: Add protocol support for MediaTek serial devices commit
Infiniband/mlx5: Introduce mlx5 DEVX interface. It enables direct access from the user space area to the mlx5 device driver by using the KABI mechanism. The main purpose here is to make the user space driver as independent as possible from the kernel so that future device functionality and commands can be activated with minimal to none kernel changes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Infiniband/mlx5: Support RoCE ICRC encapsulated error counter commit
RDMA/hns: Add 50GE type of hnae3 device match commit
RDMA/hns: Add TPQ link table support commit and TSQ link table support commit
hns3: Add vlan filter setting by ethtool command -K commit
aquantia: Add ethtool operations: renegotiate commit, ring size configuration commit, rx/tx flow control ethtools callback commit
ath6kl: add support for Dell Wireless 1537 commit
ath10k: add debugfs file warm_hw_reset commit
ath10k: support for multicast rate control commit
bnxt_en: Add DCBNL DSCP application protocol support commit
bnxt_en: Add external loopback test to ethtool selftest commit
bnxt_en: Add hwmon sysfs support to read temperature commit
bnxt_en: Add support for ethtool get dump commit
- can
cxgb4: Add new T5 PCI device id 0x50ae commit, 0x50af and 0x50b0 commit
cxgb4: add support to display DCB info commit
cxgb4: Support ethtool private flags commit
dpaa_eth: add support for hardware timestamping commit
dpaa_eth: add the get_ts_info interface for ethtool commit
- dsa
Add Vitesse VSC73xx DSA router driver commit
add support for ksz9897 ethernet switch commit
mv88e6xxx: 6390 vs 6390X SERDES support commit
mv88e6xxx: Add hwtimestamp support for the 6165 commit
mv88e6xxx: Add mv88e6165 PTP support commit
mv88e6xxx: add phylink support commit
realtek-smi: Add Realtek SMI driver commit
rtl8366rb: Support port 4 (WAN) commit
ti: cpsw: add CBS Qdisc offload commit
ti: cpsw: add MQPRIO Qdisc offload commit
fsl/fman: add set_tstamp interface commit
fsl/fman_port: support getting timestamp commit
ice: Report stats for allocated queues via ethtool stats commit
igb: Add support for ETF offload commit
iw_cxgb4: Support FW write completion WR commit
iwlwifi: add module parameter to disable 802.11ax commit
iwlwifi: add support for 22560 devices commit
iwlwifi: add support for IEEE802.11ax commit
iwlwifi: add a bunch of PCI IDs for 22000 and 22560 commit
ixgbe: add ipsec security registers into ethtool register dump commit
lan743x: Add EEE support commit
lan743x: Add RSS support commit
lan743x: Add power management support commit
lan743x: Add support for ethtool eeprom access commit, get_drvinfo commit, link settings commit, message level commit, statistics commit
lan743x: lan743x: Add PTP support commit
mlx4: Add support for devlink reload and load driverinit values commit
mlx5: Add core support for double vlan push/pop steering action commit
mlx5: Add support for flow table destination number commit
mlx5: Expose MPEGC (Management PCIe General Configuration) structures commit
mlx5e: Add NAPI statistics commit
mlx5e: Add TX completions statistics commit
mlx5e: Add XDP_TX completions statistics commit
mlx5e: Add support for XDP_REDIRECT in device-out side commit
mlx5e: Add UDP GSO support commit
mlx5e: Add channel events counter commit
mlx5e: support for ethtool rxnfc flow steering commit, commit, commit, commit
mlx5e: Offload setting/matching on tunnel tos/ttl commit, commit, commit
mlx5e: Support offloading double vlan push/pop tc actions commit
mlx5e: Support offloading tc double vlan headers match commit
mlxsw: Introduce initial Spectrum-2 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Introduce algorithmic TCAM support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Support DSCP prioritization and rewrite commit, commit, commit, commit, commit, commit, commit, commit
mscc: ocelot: add VLAN filtering commit
mscc: ocelot: add bonding support commit
mt76: Add support for MediaTek MT76x0U (USB) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt76: Add support for MT76x2u, a 2x2 USB 802.11ac chipset by MediaTek commit, commit, commit, commit
mt7601u: expose 802.11w support commit
mvpp2: add a debugfs interface commit, commit, commit, commit
mvpp2: mvpp2: add RSS support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- nfp
bpf: support u16 and u32 multiplications commit
bpf: support u32 divide commit
bpf: xdp_adjust_tail support commit
expose ring stats of inactive rings via ethtool commit
flower: add geneve option match offload commit
flower: add geneve option push action offload commit
flower: allow matching on ipv4 UDP tunnel tos and ttl commit
flower: enabled offloading of Team LAG commit
flower: offload tos and tunnel flags for ipv4 udp tunnels commit
implement netpoll ndo (thus enabling netconsole) commit
phy: Add support for Broadcom Omega internal Combo GPHY commit
phy: Add support to configure clock in Broadcom iProc mdio mux commit
phy: realtek: Support RTL8366RB variant commit
phy: realtek: add missing entry for RTL8211C to mdio_device_id table commit
phy: realtek: add support for RTL8211 commit
phy: realtek: add support for RTL8211C commit
phy: sfp: Add HWMON support for module sensors commit
phy: vitesse: Add support for VSC73xx commit
qed/qede: Multi CoS support commit
qed: Add Multi-TC RoCE support commit
qede: Add destination ip based flow profile commit
qede: Add driver callbacks for eeprom module query commit
qede: Ingress tc flower offload (drop action) support commit
qedr: Add support for kernel mode SRQ's commit
qedr: Add user space support for SRQ commit
qmi_wwan: Support dynamic config on Quectel EP06 commit
qtnfmac: enable multiple SSIDs scan support commit
qtnfmac: enable source MAC address randomization support commit
qtnfmac: implement net_device_ops callback to set MAC address commit
qtnfmac: implement basic WoWLAN support commit
qtnfmac: implement cfg80211 power management callback commit
r8169: Reinstate ASPM Support commit
r8169: add support for NCube 8168 network card commit
r8169: enable ASPM on RTL8106E commit
r8169: remove TBI 1000BaseX support commit
rsi: add firmware support for AP+BT dual mode commit
stmmac: adds support for 10Gigabit IP. The IP is called XGMAC2 commit, commit, commit, commit, commit, commit, commit
stmmac: Add support for CBS QDISC commit
ucc_geth: Add BQL support commit
wil6210: allow scan on AP interface commit
wil6210: add TX latency statistics commit
wil6210: add support for enhanced DMA RX data flows commit, enhanced DMA TX data flows commit, enhanced DMA debugfs commit
wil6210: add support for link statistics commit
wil6210: add support for Talyn-MB (Talyn ver 2.0) device commit, commit, commit, commit
wil6210: support max aggregation window size 64 commit
12.5. Audio
firewire-motu: add support for Motu Traveler commit
hda/ca0132: Adds support for the Recon3D PCI-E card commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hda/realtek: Comprehensive model list for ALC262 commit, ALC268 commit, ALC882 & co commit
usb-audio: add support for UAC3 Power Domains. This feature of the USB audio class 3 allows the host to notify the device what it is making use of so power comsumption can be optimized commit, commit, commit, commit
usb-audio: Add support for Encore mDSD USB DAC commit
- ASoC
Intel: Boards: Add GLK Realtek Maxim I2S machine driver commit
core: add support to card re-bind using component framework commit
es7134: add support for the es7154 commit
es7241: add es7241 codec support commit
meson: adds support for the audio subsystem found on Amlogic's axg SoC family. The first SoC of this family is the A113D/X targeted at smart speaker application. The G12a SoC family, Amlogic next-gen STB chipset, will reuse this audio subsystem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: add sdm845 sound card support commit
rt5651: Add IN3 Boost volume control commit
rt5651: Add button press support commit
rt5682: add rt5682 codec driver commit
stm32: sai: add iec958 controls support commit
tas517x: add tas5707 support commit
uniphier: add support for multichannel output commit
wcd9335: add CLASS-H Controller support commit
wcd9335: add support to wcd9335 codec commit
wm_adsp: Allow up to 8 channels for voice control commit
12.6. Tablets, touch screens, keyboards, mouses
Add MT_TOOL_DIAL commit
Add bu21029 touch driver commit
egalax_ts: add system wakeup support commit
elantech: enable middle button of touchpad on ThinkPad P72 commit
touchscreen: resistive-adc-touch: add generic resistive ADC touchscreen commit
- HID:
Add support for Apple Magic Keyboards commit
cougar: Add support for the Cougar 500k Gaming Keyboard commit
elan: Add USB-id for HP x2 10-n000nd touchpad commit
elan: Add support for touchpad on the Toshiba Click Mini L9W commit
hid-saitek: Add device ID for RAT 7 Contagion commit
input: enable Totem on the Dell Canvas 27 commit
intel-ish-hid: Enable Ice Lake mobile commit
intel-ish-hid: Enable Sunrise Point-H ish driver commit
microsoft: support the Surface Dial commit
wiimote: add support for Guitar-Hero devices commit
12.7. TV tuners, webcams, video capturers
v4l2-ctrl: Add control for VP9 profile commit
v4l: enables the video standards to be controlled directly on the subdev device node commit
v4l: Add new 10-bit packed grayscale format commit, add new 2X8 10-bit grayscale media bus code commit
vicodec: the Virtual Codec driver, a driver that emulates a HW codec commit, commit, commit, commit, commit
ak7375: Add ak7375 lens voice coil driver commit
camss: Add support for 10-bit grayscale formats commit
camss: Add support for 8x96 on csid commit, ispif commit, vfe commit
camss: Add support for RAW MIPI14 on 8x96 commit
camss: vfe: Add support for UYVY output from VFE on 8x96 commit
coda: add read-only h.264 decoder profile/level controls commit
dvb-frontends: add Socionext MN88443x ISDB-S/T demodulator driver commit
dw9807: Add dw9807 vcm driver commit
i2c: Add driver for Aptina MT9V111 commit
i2c: Copy rj54n1cb0c soc_camera sensor driver commit
i2c: lm3560: add support for lm3559 chip commit
imx274: add cropping support via SELECTION API commit
ov2680: Add Omnivision OV2680 sensor driver commit
ov5640: add HFLIP/VFLIP controls support commit
ov5640: add support of module orientation commit
ov772x: add media controller support commit
platform: Add ChromeOS EC CEC driver commit
rcar-vin: Add support for R-Car R8A77995 SoC commit, enable support for r8a77965 commit
smiapp: Support the "rotation" property commit
uvcvideo: Add KSMedia 8-bit IR format support commit
venus: add HEVC codec support commit
venus: hfi: preparation to support venus 4xx commit
venus: implementing multi-stream support commit
video-i2c: add hwmon support for amg88xx commit
12.8. Universal Serial Bus
Report wakeup events on root-hub ports commit
typec: tcpm: Support for Alternate Modes commit
typec: tcpci: move tcpci drivers out of staging commit
Add USB ehci support for nuvoton npcm7xx platform commit
option: add support for DW5821e commit
serial: kl5kusb105: remove KLSI device id commit
serial: pl2303: add a new device id for ATEN commit
serial: simple: add Motorola Tetra MTP6550 id commit
dwc3: Add a glue driver for Synopsys HAPS platform commit
host: exynos: Remove support for Exynos5440 commit
usbtmc: Add ioctl for EOM bit commit
usbtmc: Add ioctl for termination character commit
usbtmc: Add ioctl for trigger commit
usbtmc: Add ioctls to set/get usb timeout commit
12.9. Serial Peripheral Interface (SPI)
dw-mmio: add MSCC Ocelot support commit
pxa2xx: Add support for Intel Ice Lake commit
spi-gpio: add SPI_3WIRE support commit
12.10. Watchdog
Add driver for the MEN 16z069 IP-Core commit
12.11. Serial
12.12. ACPI, EFI, cpufreq, thermal, Power Management
ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th commit
thermal: armada: add multi-channel sensors support commit
thermal: tsens: Add generic support for TSENS v2 IP commit
12.13. Real Time Clock (RTC)
isl1208: add support for isl1219 with tamper detection commit
12.14. Voltage, current regulators, power capping, power supply
power: reset: qcom-pon: Add Qcom PON driver commit
power: supply: add cros-ec USBPD charger driver commit
regulator: Add support for CPCAP regulators on Motorola Xoom devices commit
regulator: add QCOM RPMh regulator driver commit
regulator: bd9571mwv: Add support for toggle power switches commit
regulator: bd9571mwv: Use "backup_mode" sysfs file instead of "wake_up" commit
regulator: pfuze100: add support to en-/disable switch regulators commit
regulator: uniphier: add regulator driver for UniPhier SoC commit
12.15. Pin Controllers (pinctrl)
ocelot: add support for interrupt controller commit
intel: Add Ice Lake PCH pin controller support commit
imx: add driver for i.MX8MQ commit
berlin: add the as370 SoC pinctrl driver commit
12.16. Multi Media Card (MMC)
renesas_sdhi: add eMMC HS400 mode support commit
sdhci-of-dwcmshc: add SDHCI OF Synopsys DWC MSHC driver commit
sdhci-pci-dwc-mshc: synopsys dwc mshc support commit
sdhci-pci: Add support for Intel ICP commit
sdhci: Add support for O2 eMMC HS200 mode commit
sdhci: Add support for O2 hardware tuning commit
tmio: add eMMC HS400 mode support commit
12.17. Memory Technology Devices (MTD)
nand: Add core infrastructure to support SPI NANDs commit
rawnand: add NVIDIA Tegra NAND Flash controller driver commit
rawnand: atmel: add module param to avoid using dma commit
spinand: Add initial support for Micron MT29F2G01ABAGD commit, Winbond W25M02GV commit, MX35LF1GE4AB commit, MX35LF2GE4AB commit
12.18. Industrial I/O (iio)
Add channel for Phase commit
Add channel for Position Relative commit
accel: adxl345: add calibration offset support commit
accel: adxl345: add sampling frequency support commit
adc: Add Spreadtrum SC27XX PMICs ADC support commit
adc: at91-sama5d2_adc: add support for position and pressure channels commit
adxl345: Add support for the ADXL375 commit
chemical: Add support for Bosch BME680 sensor commit
dac: Add AD5758 support commit
light: introduce si1133 commit
vcnl4000: add VCNL4010 and VCNL4020 device id commit
vcnl4000: add support for VCNL4200 commit
ad5686: Add AD5311R support commit
12.19. Multi Function Devices (MFD)
Add support for Cirrus Logic CS47L35/L85/L90/L91 codecs commit, commit, commit, commit, commit, commit, commit, commit, commit
bd71837: Core driver for ROHM BD71837 PMIC commit
da9063: Add DA9063L support commit
intel-lpss: Add Ice Lake PCI IDs commit
12.20. Pulse-Width Modulation (PWM)
12.21. Inter-Integrated Circuit (I2C)
Add Actions Semiconductor Owl family S900 I2C driver commit
Adds an algorithm for an I2C master physically located on an FSI slave device commit, commit, commit, commit, commit, commit, commit
i2c-qcom-geni: Add bus driver for the Qualcomm GENI I2C controller commit
i801: Add support for Intel Ice Lake commit
tegra: Add support for Tegra194 commit
12.22. Hardware monitoring (hwmon)
Add support for RPi voltage sensor commit
Add support for power min, lcrit, min_alarm and lcrit_alarm commit
Add NPCM7xx: PWM and Fan driver commit
mlxreg-fan: Add support for Mellanox FAN driver commit
12.23. General Purpose I/O (gpio)
it87: Add support for IT8613 commit
tegra186: Add support for Tegra194 commit
mt7621: Add a driver for MT7621 commit
12.24. Leds
lm3692x: Support LED sync configuration commit
12.25. DMA engines
12.26. Hardware Random Number Generator (hwrng)
msm: remove msm hw_random driver commit
12.27. Cryptography hardware acceleration
Add support for the SHA512 and SHA384 algorithms in the Inside Secure SafeXcel driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce the EIP197d engine support to the Inside Secure SafeXcel driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds support for more algorithms in the Inside Secure SafeXcel driver: MD5 (and its hmac), DES (ECB and CBC), and 3DES (ECB and CBC) commit, commit, commit, commit
ccp: Add support for new CCP/PSP device ID commit
hisilicon: SEC security accelerator driver commit
qcom-rng: Add Qcom prng driver commit
12.28. PCI
Add pci=disable_acs_redir parameter to disable ACS redirection for peer-to-peer DMA support (we don't have the peer-to-peer support yet; this is just one piece) commit, commit, commit
AER: Add sysfs attributes for rootport cumulative stats commit
AER: Add sysfs attributes to provide AER stats and breakdown commit
kirin: Add MSI support commit
pciehp: Support interrupts sent from D3hot commit
hotplug: Delete skeleton driver commit
tools: Add MSI-X support commit
12.29. FRU Support Interface (FSI)
Add new central chardev support commit
Add cfam char devices commit
sbefifo: Add driver for the SBE FIFO commit
12.30. Clock
Add driver for MAX9485 commit
actions: Add S700 SoC clock support commit
at91: add I2S clock mux driver commit
meson: add axg audio sclk divider driver commit
meson: add clk-phase clock driver commit
meson: add triple phase clock driver commit
qcom: Add display clock controller driver for SDM845 commit
qcom: clk-rpmh: Add QCOM RPMh clock driver commit
rockchip: add clock controller for px30 commit
rockchip: add support for half divider commit
samsung: Remove support for Exynos5440 commit
tegra: Add sdmmc mux divider clock commit
timer-mediatek: Add support for system timer commit
New RISC-V SBI timer driver commit
12.31. Various
GNSS receiver (e.g. a GPS receiver) subsystem commit, commit, commit, commit, commit
FPGA Device Feature List (DFL) Device Drivers 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
bus: add bus driver for accessing Allwinner A64 DE2 commit
cpufreq: armada-37xx: Add AVS support commit
cpufreq: exynos: Remove support for Exynos5440 commit
drivers/misc: Aspeed LPC snoop output using misc chardev commit
drivers: qcom: rpmh-rsc: add RPMH controller for QCOM SoCs commit
drivers: soc: Add LLCC driver commit
libnvdimm: Introduce locked DIMM capacity support commit
mailbox: Add support for i.MX messaging unit commit
mailbox: mediatek: Add Mediatek CMDQ driver commit
mailbox: ti-msgmgr: Add support for Secure Proxy commit
mei: expose fw version to sysfs commit
mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux commit
nvmem: Add Spreadtrum SC27XX efuse support commit
parport: parport_serial: Add WCH CH382L PCIe single parallel port support commit
phy: Renesas R-Car gen3 PCIe PHY driver commit
phy: bcm-sr-pcie: Add Stingray PCIe PHY driver commit
platform/mellanox: Introduce support for Mellanox register access driver commit
platform/mellanox: mlxreg-hotplug: Add hotplug hwmon uevent notification commit
ptp_qoriq: support automatic configuration for ptp timer commit
regmap: add SCCB support commit
remoteproc: qcom: Introduce Hexagon V5 based WCSS driver commit
reset: meson: add meson audio arb driver commit
reset: qcom: AOSS (always on subsystem) reset controller commit
reset: uniphier: add USB3 core reset control commit
slimbus: ngd: Add qcom SLIMBus NGD driver commit
slimbus: ngd: add stream support commit
soc: mediatek: pwrap: add mt6351 driver for mt6797 SoCs commit
soc: mediatek: pwrap: add pwrap driver for mt6797 SoCs commit
- iommu
13. List of merges