• Immutable Page
  • Info
  • Attachments

LinuxChanges

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.6 was released on Sun, 15 May 2016.

Summary: This release adds support for USB 3.1 SuperSpeedPlus (10 Gbps), the new distributed file system OrangeFS, a more reliable out-of-memory handling, support for Intel memory protection keys, a facility to make easier and faster implementations of application layer protocols, support for 802.1AE MAC-level encryption (MACsec), support for the version V of the BATMAN protocol, a OCFS2 online inode checker, support for cgroup namespaces, support for the pNFS SCSI layout, and many other improvements and new drivers.

  1. Prominent features
    1. USB 3.1 SuperSpeedPlus (10 Gbps) support
    2. Improve the reliability of the Out Of Memory task killer
    3. Support for Intel memory protection keys
    4. OrangeFS, a new distributed file system
    5. Kernel Connection Multiplexor, a facility for accelerating application layer protocols
    6. 802.1AE MAC-level encryption (MACsec)
    7. BATMAN V protocol
    8. dma-buf: new ioctl to manage cache coherency between CPU and GPU
    9. OCFS2 online inode checker
    10. Support for cgroup namespaces
    11. Add support for the pNFS SCSI layout
  2. Core (various)
  3. File systems
  4. Memory management
  5. Block layer
  6. Cryptography
  7. Security
  8. Tracing and perf tool
  9. Virtualization
  10. Networking
  11. Architectures
  12. Drivers
    1. Graphics
    2. Storage
    3. Staging
    4. Networking
    5. Audio
    6. Tablets, touch screens, keyboards, mouses
    7. TV tuners, webcams, video capturers
    8. USB
    9. Serial Peripheral Interface (SPI)
    10. Watchdog
    11. Serial
    12. ACPI, EFI, cpufreq, thermal, Power Management
    13. Real Time Clock (RTC)
    14. Voltage, current regulators, power capping, power supply
    15. Rapid I/O
    16. Pin Controllers (pinctrl)
    17. Memory Technology Devices (MTD)
    18. Multi Media Card
    19. Industrial I/O (iio)
    20. Multi Function Devices (MFD)
    21. Inter-Integrated Circuit (I2C)
    22. Hardware monitoring (hwmon)
    23. General Purpose I/O (gpio)
    24. Clocks
    25. PCI
    26. Various
  13. List of merges
  14. Other news sites

1. Prominent features

1.1. USB 3.1 SuperSpeedPlus (10 Gbps) support

USB 3.1 specification includes a new SuperSpeedPlus protocol supporting up to 10Gbps speeds. USB 3.1 devices using the new SuperSpeedPlus protocol are called USB 3.1 Gen2 devices (note that USB 3.1 SuperSpeedPlus is not the same as Type-C or power delivery).

This release adds support for the USB 3.1 SuperSpeedPlus 10 Gbps speeds for USB core and xHCI host controller, meaning that a USB 3.1 mass storage connected to a USB 3.1 capable xHCI host should work with 10 Gbps speeds.

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

1.2. Improve the reliability of the Out Of Memory task killer

In previous releases, the OOM killer (which tries to kill a task to free memory) tries to kill a single task in a good hope that the task will terminate in a reasonable time and frees up its memory. In practice, it has been shown that it's easy to find workloads which break that assumption, and the OOM victim might take unbounded amount of time to exit because it might be blocked in the uninterruptible state waiting for an event which is blocked by another task looping in the page allocator. This release adds a specialized kernel thread oom_reaper that tries to reclaim memory by preemptively reaping the anonymous or swapped out memory owned by the OOM victim, under an assumption that such a memory won't be needed when its owner is killed anyway.

Recommended LWN article: Toward more predictable and reliable out-of-memory handling

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

1.3. Support for Intel memory protection keys

This release adds support for a memory protection hardware feature that is available in upcoming Intel CPUs: protection keys. Protection keys allow the encoding of user-controllable permission masks in the page table entries (pte). Instead of having a fixed protection mask in the pte (which needs a system call to change and works on a per page basis), the user can map a handful of protection mask variants. User space can then manipulate a new user-accessible, thread-local register, (PKRU) with two separate bits (Access Disable and Write Disable) for each mask. This makes possible to dynamically switch the protection bits of very large amounts of virtual memory by just manipulating a CPU register, without having to change every single page in the affected virtual memory range.

It also allows more precise control of MMU permission bits: for example the executable bit is separate from the read bit. This release adds the infrastructure for that, plus it adds a high level API to make use of protection keys. If a user-space application calls: mmap(..., PROT_EXEC) or mprotect(ptr, sz, PROT_EXEC) (note PROT_EXEC-only, without PROT_READ/WRITE), the kernel will notice this special case, and will set a special protection key on this memory range. It also sets the appropriate bits in the PKRU register so that the memory becomes unreadable and unwritable. So using protection keys the kernel is able to implement 'true' PROT_EXEC: code that can be executed, but not read, which is a small security advantage (but note that malicious code can manipulate the PKRU register too). In the future, there will further work around protection keys that will offer more high level call APIs to manage protection keys.

Recommended LWN article: Memory protection keys

Code: (merge)

1.4. OrangeFS, a new distributed file system

OrangeFS is an LGPL scale-out parallel storage system. Oiginally called PVFS, it was first developed in 1993 by Walt Ligon and Eric Blumer as a parallel file system for Parallel Virtual Machine as part of a NASA grant to study the I/O patterns of parallel programs. It is ideal for large storage problems faced by HPC, BigData, Streaming Video, Genomics, Bioinformatics. OrangeFS can be accessed through included system utilities, user integration libraries, MPI-IO and can be used by the Hadoop ecosystem as an alternative to the HDFS filesystem.

Applications often don't require Orangefs to be mounted into the VFS, but the Orangefs kernel client allows Orangefs filesystems to be mounted as a VFS. The kernel client communicates with a userspace daemon which in turn communicates with the Orangefs server daemons that implement the file system. The server daemons (there's almost always more than one) need not be running on the same host as the kernel client. Orangefs filesystems can also be mounted with FUSE.

Recommended LWN article: The OrangeFS distributed filesystem

Documentation: Documentation/filesystems/orangefs.txt

Website: http://www.orangefs.org/

Code: fs/orangefs

1.5. Kernel Connection Multiplexor, a facility for accelerating application layer protocols

This release adds Kernel Connection Multiplexor (KCM), a facility that provides a message-based interface over TCP for accelerating application layer protocols. The motivation for this is based on the observation that although TCP is byte stream transport protocol with no concept of message boundaries, a common use case is to implement a framed application layer protocol running over TCP. Most TCP stacks offer byte stream API for applications, which places the burden of message delineation, message I/O operation atomicity, and load balancing in the application.

With KCM an application can efficiently send and receive application protocol messages over TCP using a datagram interface. The kernel provides necessary assurances that messages are sent and received atomically. This relieves much of the burden applications have in mapping a message based protocol onto the TCP stream. KCM also make application layer messages a unit of work in the kernel for the purposes of steerng and scheduling, which in turn allows a simpler networking model in multithreaded applications. In order to delineate message in a TCP stream for receive in KCM, the kernel implements a message parser based on BPF, which parses application layer messages and returns a message length. Nearly all binary application protocols are parseable in this manner, so KCM should be applicable across a wide range of applications.

For development plans, benchmarks and FAQ, see the merge

Recommended LWN article: The kernel connection multiplexer

API documentation: Documentation/networking/kcm.txt

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

1.6. 802.1AE MAC-level encryption (MACsec)

This release adds support for MACsec IEEE 802.1AE, a standard that provides encryption over ethernet. It encrypts and authenticate all traffic in a LAN with GCM-AES-128. It can protect DHCP traffic and VLANs, prevent tampering on ethernet headers. MACsec is designed to be used with the MACsec Key Agreement protocol extension to 802.1X, which provides channel attribution and key distribution to the nodes, but can also be used with static keys getting fed manually by an administrator.

Media: DevConf.cz video about MACsec

Code: commit

1.7. BATMAN V protocol

B.A.T.M.A.N. (Better Approach To Mobile Adhoc Networking) adds support for the V protocol, successor of the IV protocol. The new protocol splits the OGM protocol into two subcomponents: ELP (Echo Location Protocol), in charge of dealing with the neighbour discovery and link quality estimation; and a new OGM protocol, OGMv2, which implements the algorithm that spreads the metrics around the network and computes optimal paths. The biggest change introduced with B.A.T.M.A.N. V is the new metric: the protocol won't rely on packet loss anymore, but the estimated throughput.

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

1.8. dma-buf: new ioctl to manage cache coherency between CPU and GPU

Userspace might need some sort of cache coherency management e.g. when CPU and GPU domains are being accessed through dma-buf at the same time. To circumvent this problem there are begin/end coherency markers, that forward directly to existing dma-buf device drivers vfunc hooks. Userspace can make use of those markers through the DMA_BUF_IOCTL_SYNC ioctl.

Recommender article: Sharing CPU and GPU buffers on Linux

Code: commit

1.9. OCFS2 online inode checker

OCFS2 is often used in high-availaibility systems. OCFS2 usually converts the filesystem to read-only when encounters an error, but this decreases availability and is not always necessary. OCFS2 has the mount option (errors=continue), which returns the EIO error to the calling process, it doesn't remount the filesystem to read-only, and the problematic file's inode number is reported in the kernel log. This release adds a very simple in-kernel inode checker that can be used to check and reset the inode. Note that this feature is intended for very small issues which may hinder day-to-day operations of a cluster filesystem by turning the filesystem read-only, it is not suited for complex checks which involve dependency of other components of the filesystem. In these cases, the offline fsck is recommended.

The scope of checking/fixing is at the file level, initially only for regular files. The way this file checker is by writting the inode number, reported in dmesg, to /sys/fs/ocfs2/devname/filecheck/check, then read the output of that file to know what kind of error it has. If you determine to fix this inode, write the inode number to /sys/fs/ocfs2/devname/filecheck/fix, then read the file to know if the inode was able to be fixed or not. For more details see the documentation

Code: commit, commit, commit, commit, commit

1.10. Support for cgroup namespaces

This release adds support for cgroup namespaces, which provides a mechanism to virtualize the view of the /proc/$PID/cgroup file and cgroup mounts. A new clone flag, CLONE_NEWCGROUP, can be used with clone(2) and unshare(2) to create a new cgroup namespace. For a correctly setup container this enables container-tools (like libcontainer, lxc, lmctfy, etc.) to create completely virtualized containers without leaking system level cgroup hierarchy.

Without cgroup namespace, the /proc/$PID/cgroup file shows the complete path of the cgroup of a process. In a container setup where a set of cgroups and namespaces are intended to isolate processes the /proc/$PID/cgroup file may leak potential system level information to the isolated processes.

Documentation https://git.kernel.org/torvalds/c/d4021f6cd41f03017f831b3d40b0067bed54893d

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

1.11. Add support for the pNFS SCSI layout

This release adds NFSv4.1 support for parallel NFS SCSI layouts in the Linux NFS server, a variant of the block layout which uses SCSI features to offer improved fencing and device identification. With pNFS SCSI layouts, the NFS server acts as Metadata Server for pNFS, which in addition to handling all the metadata access to the NFS export, also hands out layouts to the clients so that they can directly access the underlying SCSI LUNs that are shared with the client. See draft-ietf-nfsv4-scsi-layout for more details

To use pNFS SCSI layouts, the exported file system needs to support the pNFS SCSI layouts (currently just XFS), and the file system must sit on a SCSI LUN that is accessible to the clients in addition to the MDS. As of now the file system needs to sit directly on the exported LUN, striping or concatenation of LUNs on the MDS and clients is not supported yet. On a server built with CONFIG_NFSD_SCSI, the pNFS SCSI volume support is automatically enabled if the file system is exported using the "pnfs" option and the underlying SCSI device support persistent reservations. On the client make sure the kernel has the CONFIG_PNFS_BLOCK option enabled, and the file system is mounted using the NFSv4.1 protocol version (mount -o vers=4.1.

Code: commit, commit, commit, commit

2. Core (various)

  • Futex scalability improvements: remove page lock use for shared futex get_futex_key(), which speeds up 'perf bench futex hash' benchmarks by over 40% on a 60-core Westmere. This makes anon-mem shared futexes perform close to private futexes commit

  • Allow to restrict the default irq affinity mask with the command line option irqaffinity commit

  • Process scheduler

    • Make scheduler statistics a runtime tunable that is disabled by default. As most distributions enable CONFIG_SCHEDSTATS due to its instrumentation value, this is a nice performance enhancement. The way to enable it at runtime is using the sched_schedstats sysctl, or at boot time with the schedstats kernel option commit

    • Add deadline scheduler bandwidth ratio to /proc/sched_debug commit

    • NUMA: Spread memory on nodes according to CPU and memory use commit

  • timers

    • Add /proc/<pid>/timerslack_ns. This file allows controlling processes to set the timerslack value on other processes. After setting the slack value on a bash process to 10 seconds, the command sleep 1 will last 10 seconds. This functionality is used by power/performance management software, they set the timer slack for other threads according to its policy (such as when the thread is designated foreground vs. background activity) in order to save power by avoiding wakeups (something Android does currently via out-of-tree patches) commit, commit

    • Support for cross clock domain timestamps, and a new PTP_SYS_OFFSET_PRECISE PTP ioctl interface: Currently, network/system cross-timestamping is performed in the PTP_SYS_OFFSET ioctl, which represents a best effort where the latency between the capture of system time (getnstimeofday()) and the device time (gettime64() driver callback), but at best, the precision of this cross timestamp is on the order of several microseconds due to software latencies, abd sub-microsecond precision is required for industrial control and some media applications. The getcrosststamp() callback and corresponding PTP_SYS_OFFSET_PRECISE ioctl allows the driver to perform better device/system correlation when for example cross timestamp hardware is available (modern Intel systems can do this for onboard Ethernet controllers using the ART counter; which has virtually zero latency between captures of the ART and network device clock). In this release, only the e1000e supports this interface commit, commit, commit, commit, commit, commit, commit

  • Add two new syscalls, preadv2() and pwritev2(). See the recommended LWN article: The return of preadv2()/pwritev2() and the documentation in the Linux man pages; commit, commit

  • quotas: Add a new quotaclt, Q_GETNEXTQUOTA. It is like Q_GETQUOTA, except that it will return quota information for the id equal to or greater than the id requested; if the requested id has no quota, it will return quota information for the next higher id which does have a quota set. This allows filesystems to do efficient iteration (today, ext4 with a hidden quota inode requires getpwent-style iterations, and for systems which have i.e. LDAP backends, this can be very slow). Also a analogue Q_XGETNEXTQUOTA command is added to complement Q_XGETQUOTA commit, commit

  • Add kcov code coverage. kcov provides code coverage collection for coverage-guided fuzzing (randomized testing). Coverage-guided fuzzing is a testing technique that uses coverage feedback to determine new interesting inputs to a system. A notable user-space example is AFL. kcov has been used to build syzkaller system call fuzzer, which has found 90 kernel bugs in just 2 months commit

  • CPU hotplug: Add sysfs state interface. The whole CPU hotplugging support is getting a complete revamp, for more details see this recommended LWN article: Rationalizing CPU hotplugging. commit

  • Add objtool, a tool to perform compile-time validation of the stack frame, living at tools/objtool. It enforces a set of rules on asm code and C inline assembly code so that stack traces can be reliable. This is needed for future projects. Recommended LWN article: Compile-time stack validation commit, commit

  • cgroup: provide cgroup_no_v1= kernel parameter. Testing cgroup2 can be painful with system software automatically mounting and populating all cgroup controllers in v1 mode. With this boot option it is posible to disable certain controllers in v1 mounts, so that they remain available for cgroup2 mounts. Example use: cgroup_no_v1=memory,cpu, or cgroup_no_v1=all commit, commit

  • Add support for cgroup namespaces (featured) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • GDB scripts: add lx-cmdline and lx-version commands commit, commit

  • kallsyms: add support for relative offsets in kallsyms address table commit

  • Introduce __ro_after_init to mark read-write memory regions that are used only during init as read-only after init (recommended LWN article: Post-init read-only memory) commit

3. File systems

  • OrangeFS

  • Btrfs

    • Change max_inline default from 4KB to 2K. This means that only files with a size of 2KB or smaller will be inlined in the metadata by default commit

    • Introduce new mount option nologreplay to disable tree log replay at mount time to prevent filesystem modification and co-operate with "ro" mount option to get real readonly mount, like "norecovery" in ext and xfs. A filesystem mounted with this option cannot transition to a read-write mount via remount,rw - the filesystem must be unmounted and mounted back again if read-write access is desired commit. Also introduce mount option norecovery as an alias for nologreplay to keep "norecovery" behavior the same with other filesystems commit

    • Introduce new mount option usebackuproot as a replacement for recovery, since the word "recovery" is too generic and may be confusing for some users commit

    • Add GET_SUPPORTED_FEATURES to the control device ioctls. This is already possible using the sysfs files, this ioctl is for parity and convenience commit

    • This release renames some existing key types and gives them a more generalized meaning (backward compatible), in order to allow more flexible extensions by various patchsets without key type exhaustion. Two types of persistent items are added to store status data: temporary (exists to store state of a running operation like balance) and permanent (exists if a feature is used) commit, commit, commit, commit, commit, commit

  • XFS

    • Add support for the quota ioctl Q_XGETNEXTQUOTA, added in this release. It allows quotactl to quickly find all active quotas by examining the quota inode, and skipping over unallocated or uninitialized regions commit

  • OCFS2

  • NFS

    • Add NFSv4.1 support for the new pNFS SCSI layout (featured) commit, commit, commit, commit

    • Add support for multiple NFSv4.1 callbacks in flight commit

    • parallel nfs: Add multipath capabilities to pNFS flexfiles servers over NFSv3 commit

    • Make NFS swap work with multipath commit

  • ext4

  • ext2

    • Improve xattr scalability with mbcache rewrite (see ext4)

  • F2FS

    • Export dirty_nats_ratio in sysfs commit

    • Introduce lifetime write IO statistics in /sys/fs/f2fs/<disk>/lifetime_write_kbytes commit

    • Speed up handling holes in fiemap commit

  • FAT

    • Add config option CONFIG_FAT_DEFAULT_UTF8 to set UTF-8 mount option utf8 by default commit

  • PSTORE

    • Add support for 64-bit address space commit

  • AUTOFS

    • Show pipe inode in mount options. This is required for CRIU (Checkpoint Restart In Userspace) to migrate a mount point when write end in user space is closed commit

  • CACHEFILES

    • Provide read-and-reset objects- and blocks-released counters for cachefilesd to use to work out whether there's anything new that can be culled, instead of spinning commit

4. Memory management

  • Improve OOM reliability (featured) commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Memory protection keys (featured) (merge)

  • Implementing the accelerated bulk API for SLAB allocator and add the new kfree_bulk() API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Implement SLAB support for KASAN: commit, commit, commit, commit, commit, commit

  • Introduce kcompactd kernel threads. These kernel threads are per node and are intended to take the task of memory compaction from kswapd. For more details see the commits commit, commit, commit, commit

  • Add rodata=off kernel boot parameter to disable read-only kernel mappings commit

  • Add kernelcore=mirror kernel boot parameter. When mirror is specified, mirrored (reliable) memory is used for non-movable allocations and remaining memory is used for Movable pages commit, commit

  • Allow to configure page poisoning separately of debug utilities, because it has an use as a security measure: clearing of the pages on free provides an increase in security as it helps to limit the risk of information leaks. It's not compatible with hibernation commit, commit

  • SLUB: support left redzone commit

  • zsmalloc: add new `freeable' column to pool stat, which will tell how many pages ideally can be freed by class compaction, so it will be easier to analyze zsmalloc fragmentation commit

  • cgroup2: report the following cgroup stats in memory.stat: kernel stack usage commit and slab usage commit

  • memory hotplug: Introduce default policy for the newly added memory blocks in /sys/devices/system/memory/auto_online_blocks file with two possible values: "offline" which preserves the current behavior and "online" which causes all newly added memory blocks to go online as soon as they're added. The default is "offline" commit

  • dma-buf: Add ioctls to allow userspace to flush. The userspace might need some sort of cache coherency management e.g. when CPU and GPU domains are being accessed through dma-buf at the same time. To circumvent this problem, this release adds begin/end coherency markers that userspace can make use of through the DMA_BUF_IOCTL_SYNC ioctl commit

  • tool/vm/page-types: add commands for memory cgroup dumping and filtering commit, support swap entry commit

5. Block layer

  • libnvdimm: Asynchronous address range scrub. Given the capacities of next generation persistent memory devices a scrub operation to find all poison may take 10s of seconds. By making the scrub asynchronous, the system can boot faster commit, commit, commit, commit, commit, commit, commit, commit

  • libnvdimm: Clear poison command support. ACPI 6.1 introduces the ability to send "clear error" commands to the ACPI0012:00 device representing the root of an "nvdimm bus". Similar to relocating a bad block on a disk, this support clears media errors in response to a write commit, commit, commit

  • nvme: Expose the cntlid in sysfs, because for NVMe over Fabrics it can be used by systemd/udev to create link to the device commit

  • Device Mapper

    • dm cache: make the 'mq' policy an alias for 'smq'. smq seems to be performing better than the old mq policy in all situations, as well as using a quarter of the memory. The tunables that were present for the old mq are faked, and have no effect. mq hould be considered deprecated now commit

    • Add 'dm_mq_nr_hw_queues' (Number of hardware queues for request-based dm-mq devices) and 'dm_mq_queue_depth' (Queue depth for request-based dm-mq devices) module params commit

    • Add 'dm_numa_node' module parameter, which allows to control which NUMA node the memory for DM device structures is allocated from commit

  • Add support for runtime changes in the number of hardware queues, something that may happen with resource provisioning commit

  • Enable polling support by default (a feature added in Linux 4.4. Note that this will only have an affect on driver that supply a poll function, which currently only includes nvme commit

  • For partitions, add new uevent parameters PARTN which specifies the partitions index in the table, and PARTNAME, which specifies the partition name of a partition device commit

  • Enable writeback cgroup support commit

6. Cryptography

  • atmel-sha - add support of sama5d2x SoCs commit

  • ccp: Add hash state import and export support commit, support for multiple CCPs commit

  • compress: remove unused pcomp interface commit

  • rockchip: add hash support for crypto engine in rk3288 commit

  • X.509: Support leap seconds commit

7. Security

  • Integrity Measurement Architecture

    • Support for measuring and appraising the IMA policy itself commit

    • Support for kexec image and initramfs commit

    • Require the IMA policy to be signed when additional rules can be added commit

  • Keys: Allow to reserve area for inserting a certificate without recompiling commit

  • scripts/sign-file: Add support for signing a kernel module with a raw detached PKCS#7 signature/message commit

8. Tracing and perf tool

  • perf report/top

    • Hierarchy histogram mode for perf top and perf report, showing multiple levels, one per --sort entry. Example, # perf top --hierarchy -s '{comm,dso},sym' commit, commit, commit

    • Add 'L' hotkey to dynamically set the percent threshold for histogram entries and callchains, i.e. dynamicly do what the --percent-limit command line option to 'top' and 'report' does

  • perf mem: Add -e option for perf mem record command, to be able to specify memory event directly (for example, perf mem record -e ldlat-loads true). Also, allow to list the available events via perf mem record -e list commit

  • perf record

    • Add perf record --all-user/--all-kernel options, so that one can tell that all the events in the command line should be restricted to the user or kernel levels, i.e.: perf record -e cycles:u,instructions:u is equivalent to perf  record --all-user -e cycles,instructions commit

    • Make perf record collect CPU cache info in the perf.data file header. This information will be used in perf c2c and eventually in perf diff to allow, for instance running the same workload in multiple machines and then when using 'diff' show the hardware difference. It's displayed under header info with -I option, perf report --header-only -I commit

    • Improved support for Java, using the JVMTI agent library to do jitdumps that then will be inserted in synthesized PERF_RECORD_MMAP2 events via perf inject --jit pointed to synthesized ELF files stored in ~/.debug and keyed with build-ids, to allow symbol resolution and even annotation with source line info. For more details see the commits commit, commit, commit, commit

  • perf script/trace

    • Decode data_src values (e.g. perf.data files generated by perf mem record) in perf script commit

    • Improve support to data_src, weight and addr fields commit, commit

  • perf stat

    • Shows shadow metrics (insn per cycle, etc) in interval mode too commit

    • Enable metrics printing in --per-core / --per-socket mode commit

    • Implement --metric-only mode to only print metrics commit, commit

    • Implement CSV metrics output commit

  • perf BPF

    • Print bpf-output events in perf script commit

    • Add API to set values of map entries in a BPF object, be it individual map slots or ranges commit

    • Support converting data from bpf events in 'perf data' commit, commit, commit, commit, commit

    • Introduce support for the bpf-output event. BPF programs can output data to a perf ring buffer through that new type of perf event, and perf can create events of that type, and a perf user can use the following cmdline to receive output data from BPF programs perf record -a -e bpf-output/no-inherit,name=evt/ -e ./test_bpf_output.c map:channel.event=evt/ ls / commit

    • Print content of bpf-output event in perf trace commit

  • perf config: Add --system and --user options to select which config file is used. --system means $(sysconfdir)/perfconfig and --user}} means {{{$HOME/.perfconfig. If none is used, both are read commit

  • perf: Enable to set config and setting names for legacy cache events commit

  • perf: Enable to set config terms for raw and numeric events commit

9. Virtualization

  • Xen

    • netback: implement dynamic multicast control commit

    • balloon: Add support for the newly added kernel memory auto onlining policy commit

    • hvc_xen: add earlycon support commit

  • virtio

    • vhost_net: basic polling support. The maximum time spent on polling are specified through a new kind of vring ioctl commit

    • virtio_balloon: export 'available' memory to balloon statistics commit

    • virtio_net: add ethtool support for set and get of settings commit

    • virtio_pci: Use the DMA API if enabled commit

    • virtio_ring: Support DMA APIs commit, commit

  • Hyper-V

    • KVM: Implement Hyper-V hypercall userspace exit KVM_EXIT_HYPERV_HCALL for Hyper-V VMBus hypercalls (postmsg, signalevent) to handle these hypercalls by QEMU commit

    • hv_netvsc: add ethtool support for set and get of settings commit, add software transmit timestamp support commit

    • Add a new driver which exposes a root PCI bus whenever a PCI Express device is passed through to a guest VM under Hyper-V. The device can be single- or multi-function commit

    • vmbus: Support kexec on ws2012 r2 and above commit

  • pvqspinlock: Enable slowpath locking count tracking commit

  • firmware: introduce sysfs driver for QEMU's fw_cfg device commit

10. Networking

  • Add 802.1AE MAC-level encryption (MACsec) (featured) commit

  • Add the Kernel Connection Multiplexor (featured) commit, commit, commit, commit, commit, commit, commit

  • Add BATMAN V protocol support (featured) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • BPF

    • Add per-cpu maps, for hash (BPF_MAP_TYPE_PERCPU_HASH) and array maps (BPF_MAP_TYPE_PERCPU_ARRAY), for performance reasons. For per-cpu array maps, the primary use case is a histogram array of latency where bpf program computes the latency of block requests or other events and stores histogram of latency into array of 64 elements. All cpus are constantly running, so normal increment is not accurate, bpf_xadd causes cache ping-pong and this per-cpu approach allows fastest collision-free counters. For per-cpu hash maps, they are used to do accurate counters without need to use BPF_XADD instruction which turned out to be too costly for high-performance network monitoring commit, commit, commit

    • Add a new map type, BPF_MAP_TYPE_STACK_TRACE, to store stack traces. BPF programs already can walk the stack via unrolled loop of bpf_probe_read()s which is ok for simple analysis, but it's not efficient and limited to <30 frames. In this release the programs can collect up to PERF_MAX_STACK_DEPTH both user and kernel frames. Using stack traces as a key in a map turned out to be very useful for generating flame graphs, off-cpu graphs, waker and chain graphs commit

    • Support for access to tunnel options commit

  • TCP

    • Add RFC4898 tcpEStatsPerfDataSegsOut/In to TCP_INFO socket option. They count segments sent/received containing a positive length data segment (that includes retransmission segments carrying data) commit

    • Add tcpi_min_rtt and tcpi_notsent_bytes to TCP_INFO socket option. tcpi_min_rtt reports the minimal rtt observed by TCP stack for the flow, in usec unit. tcpi_notsent_bytes reports the amount of bytes in the write queue that were not yet sent commit

    • fastopen: accept data/FIN present in SYNACK message, as per RFC 7413 (TCP Fast Open) 4.2.2, which states that the SYNACK message MAY include data and/or FIN commit

    • Faster SO_REUSEPORT for TCP. In the previous release, two performance improvements were done for the SO_REUSEPORT socket option for UDP sockets. In this release, these performance improvements are extended to TCP: faster lookup of a target socket when choosing a socket from the group of sockets, and also expose the ability to use a BPF program when selecting a socket from a reuseport group commit, commit

  • IPv4: Add namespaces support for the following sysctls ip_default_ttl commit, tcp_reordering commit, tcp_syn_retries commit, tcp_synack_retries commit, tcp_syncookies commit, tcp_fin_timeout commit, tcp_notsent_lowat commit, tcp_orphan_retries commit, tcp_retries1 commit, tcp_retries2 commit, ip_dynaddr commit, ipfrag_max_dist commit, ip_early_demux commit

  • IPv6

    • Add sysctl drop_unicast_in_l2_multicast (default), equivalent to the IPv4 one commit

    • Add sysctl drop_unsolicited_na (default off) to drop all unsolicited neighbor advertisements, for example if there's a known good NA proxy on the network and such frames need not be used (or in the case of 802.11, must not be used to prevent attacks) commit

    • Add sysctl keep_addr_on_down that keeps all IPv6 addresses on an interface down event. If set, static global addresses with no expiration time are not flushed commit

  • Wireless

    • Add Radio Resource Management (RRM) nl80211 feature flag. Today, the supplicant will add the RRM capabilities Information Element in the association request only if Quiet period is supported, but there are other RRM features that are not related to Quiet (e.g. neighbor report). This solution adds a global RRM capability, that tells user space that it can request RRM capabilities without any specific feature support in the kernel commit

    • Add support for PBSS (Personal Basic Service Set). PBSS is a new BSS type for DMG networks. It is similar to infrastructure BSS, having an AP-like entity called PCP (PBSS Control Point), but it has few differences. PBSS support is mandatory for 11ad devices commit

  • ethtool

    • Add a new ETHTOOL_GLINKSETTINGS/SLINKSETTINGS API. It provides support for most legacy ethtool_cmd fields, adds support for larger link mode masks (up to 4064 bits, variable length), and removes ethtool_cmd deprecated fields (transceiver/maxrxpkt/maxtxpkt). This API is deprecating the legacy ETHTOOL_GSET/SSET API commit

    • Introduce a new ioctl ETHTOOL_PERQUEUE for per queue parameters setting commit

    • Implement sub command ETHTOOL_GCOALESCE for ioctl ETHTOOL_PERQUEUE. It introduces an interface to get coalesce of each masked queue from device driver commit

    • Implement sub command ETHTOOL_SCOALESCE for ioctl ETHTOOL_PERQUEUE. It introduces an interface to set coalesce of each masked queue to device driver commit

    • Add IPv6 to the NFC API commit

  • geneve

    • Add dst caching support. In case of UDP traffic with datagram length below MTU this give about 2% performance increase for plain geneve tunnel over ipv4, about 65% performance increase for ipv6 tunnel commit

    • Support setting IPv6 flow label commit

    • Support outer IPv4 Tx checksums by default commit

  • bridge

    • mdb: add support for extended attributes in the mdb entry, by extending the attribute that was used for the structure and adding per-mdb entry attributes after the struct has been added commit

    • Add support for temporary router port which doesn't depend only on the incoming queries commit, commit, commit, commit

  • Reliable Datagram Sockets

    • SO_TIMESTAMP support for incoming messages commit

    • Initial support for Fastreg Memory Registration commit, commit

    • TCP: Add per-net sysctl tunables to set the size of sndbuf and rcvbuf on the kernel tcp socket. The tunables are added at /proc/sys/net/rds/tcp/rds_tcp_sndbuf and /proc/sys/net/rds/tcp/rds_tcp_rcvbuf commit

    • Drop stale iWARP RDMA transport commit

  • Bluetooth

    • Add support for limited privacy mode indicated by value 0x02 to the mgmt Set Privacy command commit, commit

    • Add LED trigger for indicating HCI is powered up commit

  • Inifiniband

    • Add two new Netlink attributes to support configuration of Infiniband node or port GUIDs commit

    • Support accessing SA in virtualized environment commit

  • Netfilter

    • Add PRANDOM support. It can be used to randomly match packets e.g. for statistic traffic sampling commit

    • nft_masq: Add port range selection support to nf_tables masquerading commit

  • Netlink

    • Add support for NIC driver ioctls commit

    • Remove mmapped netlink support commit

  • openvswitch

    • Extend OVS conntrack interface to cover NAT. New nested OVS_CT_ATTR_NAT attribute may be used to include NAT with a CT action commit

    • Introduce a new flag, GENL_UNS_ADMIN_PERM for operations which should be allowed inside a user namespace commit

  • vxlan

    • allow setting ipv6 traffic class commit

    • Support setting IPv6 flow label commit

    • Support outer IPv4 Tx checksums by default commit

  • Add sysctl drop_gratuitous_arp (default off) to drop gratuitous ARP packets (for example if there's a known good ARP proxy on the network and such frames need not be used , or in the case of 802.11, must not be used to prevent attacks) commit

  • Add sysctl drop_unicast_in_l2_multicast (default off) to drop unicast IP packets encapsulated in L2 multicast (or broadcast) frames (the so-called hole-196 attack). This behavior (for multicast) is actually a SHOULD in RFC 1122, but is disabled by default for compatibility reasons commit

  • Export ip fragment sysctl to unprivileged users. Now that all the ip fragmentation related sysctls are namespaceified there is no reason to hide them anymore from "root" users inside containers commit

  • Add dst cache support for gre lwtunnels, in case of UDP traffic with datagram length below MTU this gives about 4% performance increase commit

  • traffic control: Add support for distributing the Linux Traffic Control (tc) filter-action subsystem packet processing across disparate nodes. The nodes could be a mix and match of containers, VMs, bare metal machines or ASICs. A new tc Inter-Forwarding Engine (IFE) action is introduced based on ForCES WG Inter-FE LFB work. This paper goes into both the implementation as well as the usage of the IFE tc action. A video (slides) is also available commit, commit, commit

  • flower classifier: Introduce hardware offload support commit, commit, commit, commit; also (merge)

  • Add MSG_BATCH flag in sendmsg(2)'s msg_hdr flags. It is used to indicate that more messages will be sent on the socket. The stack may batch messages up if it is beneficial for transmission commit

  • Add support for filtering link dump by master device and kind commit

  • Allow MSG_EOR being set in each individual msghdr passed in sendmmsg(2). This allows a sendmmsg(2) to send multiple messages when using SOCK_SEQPACKET commit

  • Add dst_cache to ovs vxlan lwtunnel. In case of UDP traffic with datagram length below MTU this give about 2% performance increase when tunneling over ipv4 and about 60% when tunneling over ipv6 commit

  • Add rx_nohandler stat counter, along with a sysfs statistics node, and copies the counter out via netlink as well. It counts nohandler dropped packets by core network on inactive devices commit

  • Distributed Switch Architecture: Support VLAN filtering switchdev attr commit

  • Add support for Local Checksum Offload for encapsulation. For a tunneled packet, the checksum of the outer header is 'constant' (because with the checksum field filled into the inner protocol header, the payload of the outer frame checksums to 'zero'), and the kernel can take advantage of that commit, commit, commit, commit, commit, commit, commit, commit

  • Use dst_cache for vxlan device. In case of UDP traffic with datagram length below MTU this give about 3% performance increase when tunneling over ipv4 and about 70% when tunneling over ipv6 commit

  • Add network namespace support for tc actions commit

  • IGMP: Add namespaces support for the following sysctls: igmp_llm_reports commit, igmp_max_memberships commit, igmp_max_msf commit, igmp_qrv commit

  • ip_tunnel: add support for setting flow label via collect metadata commit

  • Introduce devlink infrastructure. This release adds a new generic Netlink based interface, called "devlink". There a is need for some userspace API that would allow to expose things that are not directly related to any device class, but rather chip-wide/switch-ASIC-wide stuff. Use cases:get/set of port type (Ethernet/InfiniBand), setting up port splitters - split port into multiple ones and squash again, enables usage of splitter cable, setting up shared buffers - shared among multiple ports within one chip, configuration of switch wide properties commit

  • packet: Extend PACKET_VNET_HDR socket option support to packet sockets with memory mapped rings (PACKET_RX_RING, PACKET_TX_RING) commit, commit, commit, commit

11. Architectures

  • ARM

    • Device tree sources

      • BCM5301X: Add DT for D-Link DIR-885L commit

      • Add minimal Support for Logic PD DM3730 SOM-LV commit

      • Add dts for Uniwest evi commit

      • artpec: add Artpec-6 development board dts commit, commit

      • Add Engicam IMX6 Q7 initial support commit

      • imx: Add basic dts support for imx6qp SOC commit, imx6qp-sabreauto commit and imx6qp-sabresd commit; add support for Toradex Apalis iMX6Q/D SoM commit, add support for Toradex Ixora carrier board commit, add Advantech BA-16 Qseven module commit, add support for Advantech/GE B450v3 commit, add support for Advantech/GE B650v3 commit, add support for Advantech/GE B850v3 commit, add support for Advantech/GE Bx50v3 commit

      • keystone: Add Initial DT support for TI K2G SoC family commit

      • kirkwood: add device tree for buffalo linkstation ls-qvl commit

      • mediatek: add MT7623 basic support commit

      • orion5x: add device tree for buffalo linkstation ls-gl commit

      • rockchip: add to support emac for rk3036 SoCs commit

      • sun7i: Add dts file for the lamobo-r1 board commit

      • sun8i: Add A83T HomletV2 Board by Allwinner commit, commit, add device tree for Cubietruck Plus commit

      • sunxi: Introduce Allwinner for A83T support commit

      • uniphier: add PH1-Pro4 Ace board support commit, add PH1-Pro4 Sanji board support commit

      • Add DTS file to support the Nexus7 2013 (flo) device. commit

      • Add DT binding for the Marvell Armada 3700 SoC family commit

      • stm32: Supply a DTS file for the STM32F469 Discovery board commit

      • amd: Add AMD XGBE device tree file commit, add support for AMD/Linaro 96Boards Enterprise Edition Server board commit, add support for new AMD Overdrive boards commit

      • bcm2835: dt: Add Raspberry Pi Model A commit

    • DRA722: Add ID detect for Silicon Rev 2.0 commit

    • debug: add support for Palmchip BK-310x UART commit

    • mx25: Add basic suspend/resume support commit

    • coresight: etm-perf: new PMU driver for ETM tracers commit,

    • arm-cci: CoreLink CCI-550 PMU driver commit

  • ARM64

    • Device tree source

      • Broadcom Vulcan support commit

      • Add msm8996 SoC and MTP board support commit

      • Add support for Juno r2 board commit

      • Add .dts for GICv3 Foundation model commit

      • Add the Alpine v2 EVP commit

      • Add the Marvell Armada 3700 family and a development board commit

      • marvell: add Device Tree files for Armada 7K/8K commit

      • amlogic: Add Device Trees for Tronsmart Vega S95 Pro, Meta and Telos TV boxes commit

    • Add mvebu architecture entry commit

    • Introduce Allwinner SoC config option commit

    • Enable Amlogic Meson GXBaby platform commit

    • add Alpine SoC family commit

    • perf: Add Cavium ThunderX PMU support commit

    • Add support for Half precision (16bit) floating point/asimd data processing instructions present in ARM8.2 extensions commit

    • KVM: VHE support so that we can run the kernel at EL2 on ARMv8.1 systems commit

    • Add PMU support for guests commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • KVM: Introduce per-vcpu kvm device controls commit

    • Add support for building vmlinux as a relocatable PIE binary commit

    • Add support for ASLR commit, commit, commit

    • Allow kernel Image to be loaded anywhere in physical memory commit

    • Enable CONFIG_DEBUG_RODATA by default commit

    • Add support for User Access Override, a new ARMv8.2 feature which allows the unprivileged load and store instructions to be overridden to behave in the normal way commit

    • Implement ACPI parking protocol commit

    • Add ubsan support commit

    • Mark vDSO code as read-only commit

    • Initial machine port for artpec-6 SoC commit

    • Add support for Exynos PMU driver commit

  • X86

    • Enable new AVX-512 features commit

    • Always enable CONFIG_DEBUG_RODATA and remove the configuration option commit

    • Enable full randomization on i386 and X86_32 (until this release, only the stack and the executable are randomized but not other mmapped files commit

    • If the CPU feature INVPCID is available, use it to flush global mappings. Also add a 'noinvpcid' option to turn it off commit, commit

    • system trace modules: Add heartbeat stm source device. It sends periodic heartbeat messages to trace hosts over STM devices commit

    • Add Intel Memory Bandwith Monitoring. Memory bandwidth monitoring (MBM) provides OS/VMM a way to monitor bandwidth from one level of cache to another. The current patches support L3 external bandwidth monitoring. It supports both 'local bandwidth' and 'total bandwidth' monitoring for the socket. Local bandwidth measures the amount of data sent through the memory controller on the socket and total b/w measures the total system bandwidth commit, commit, commit, commit

    • Add an AMD accumlated power reporting mechanism for the Family 15h, Model 60h processor that can be used to calculate the average power consumed by a processor during a measurement interval commit

    • Add support for new IOMMU performance events based on the information in table 74 of the AMD I/O Virtualization Technology (IOMMU) Specification (Document Id: 4882, Rev 2.62, Feb 2015) commit

    • intel/rapl: Add missing Broadwell models commit

    • Intel Trace Hub: Add Apollo Lake SOC support commit, add Broxton SOC support commit

    • x86 Platforms

      • toshiba_acpi: add a module parameter to disable hotkeys registration commit, add support for cooling method feature commit, commit

      • dell-wmi: support new hotkeys on the XPS 13 9350 (Skylake) commit, enable receiving WMI events on Dell Vostro V131 commit, properly process Dell Instant Launch hotkey commit, support Dell Inspiron M5110 commit

      • alienware-wmi: add initial support for alienware graphics amplifier. commit, add support for deep sleep control. commit, add support for new platform: X51-R3 commit, add support for two new systems: ASM200 and ASM201. commit

      • hp_accel: Add support for HP ProBook 440 G3 commit

      • fujitsu-laptop: Support radio toggle button commit

  • POWERPC

    • Enable page parallel initialisation (for 4GB of memory, boot time is improved by 59%) commit

    • EEH Support for SRIOV VFs commit, commit

    • ftrace: Add support for ftrace ABI -mprofile-kernel (available for ppc64 on gcc > 4.8.5) commit, commit

    • mpc85xx: Add CPU hotplug support for E6500 commit, add hotplug support on E5500 and E500MC cores commit

    • perf: hv-24x7: Display domain indices in sysfs (/sys/bus/event_source/devices/hv_24x7/interface/domains) commit

    • perf: Export the generic hardware and cache perf events for Power8 to sysfs, so users can precisely determine the PMU event monitored by the generic event commit

    • powernv: Remove support for p5ioc2 commit

    • Add RCPM driver commit

    • xmon: Add xmon command (P) to dump process/task information similar to ps: task pointer, kernel stack pointer, PID, PPID, state (interpreted), CPU where (last) running, and command commit

    • Enable VFIO device for powerpc commit

    • perf: Port perf kvm stat to powerpc commit, commit

    • cxl: Support added to the CXL driver for running on both bare-metal and hypervisor systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • KVM:

      • Add support for 64bit TCE windows commit

      • Add support for multiple-TCE hypercalls for user space emulated devices such as IBMVIO devices or emulated PCI. These calls allow adding multiple entries (up to 512) into the TCE table in one call which saves time on transition between kernel and user space commit

      • Book3S HV: Add tunable to control H_IPI redirection commit

    • Intel MIC

      • Add VOP (Virtio over PCIe) driver support. The VOP driver allows virtio drivers, e.g. net, console and block drivers, on the card connect to user space virtio devices on the host commit, commit, commit, commit, commit, commit, commit, commit

  • S390

    • Add a user space interface (device and ioctl) to issue call logical-processor instructions commit

    • Add DEBUG_RODATA support commit

    • Optimized xor routing using the XC instruction commit

    • oprofile: add z13/z13s model numbers commit

  • XTENSA

    • Add Three Core HiFi-2 MX Variant. commit

    • Make fake NMI configurable commit

    • Support hardware breakpoints/watchpoints commit

  • SH

    • Add device tree support and generic board using device tree commit

  • MICROBLAZE

    • Support generic Xilinx AXI PCIe Host Bridge IP driver commit

  • SPARC

    • New driver adds support for Logical Domains vSwitch (ldmvsw). The ldmvsw driver operates on Oracle systems running SPARC Linux in a Logical Domains environment (typically in the control domain). The ldmvsw driver is very similar in function to the existing sunvnet, it creates a network interface for each "vsw-port" node found in the Machine Description (MD) of a service domain. These nodes correspond to ports on a vswitch created by the logical domains manager. The created network interface(s) can be used by bridge/vswitch software (such as the Linux bridge or Open vSwitch) to provide guest domain(s) with network interconnectivity or connectivity to a physical network commit

    • Recognize and support Sonoma CPU type commit

  • ARC

    • Add PCI support commit

    • ioremap: Support dynamic peripheral address space commit

  • M68KNOMMU

    • Remove obsolete 68360 support commit

  • H8300

  • ALTERA

    • Add Altera L2 cache and OCRAM support commit

12. Drivers

12.1. Graphics

  • i915

    • Enable Panel Self Refresh by default on Haswell and Broadwell. commit; and Valleyview and Cherryview. commit

    • Enable FrameBuffer Compression by default on Haswell and Broadwell commit

    • bxt: update list of PCIIDs commit

    • skl: Add missing SKL ids commit

    • Add GuC Addition Data Structure. The ADS itself is a chunk of memory created by driver to share with GuC. The GuC firmware uses this for various purposes commit, commit, commit, commit

  • amdgpu/radeon

  • vmwgfx

    • Add Support for DX10 gen mipmaps commit

    • Add suggested screen x and y connector properties as a generic way to tell a display manager about the GUI layout commit

  • exynos

    • Add DRM_EXYNOS_GEM_MAP ioctl commit

    • Support exynos5422 mipi-dsi commit

    • Add exynos5420 support for FIMD commit

  • Nouveau

    • Signed firmware support from NVidia for GM20x cards - adds acceleration for Maxwell GPUs commit, commit, commit

    • GM200 support commit

    • GM20B clock driver support commit

    • GM20B volt driver commit

    • hwmon: add power consumption commit

    • iccsense: implement for ina209, ina219 and ina3221 commit

  • imx

  • msm

  • rockchip

    • Add support for Innosilicion HDMI commit

  • rcar-du

  • omapdrm

    • Support double-pixel mode commit

    • HDMI5: Add interlace support commit

    • HDMI: support double-pixel pixel clock commit

    • Implement dma_buf import commit

    • Support double-pixel commit

  • tilcdc

  • vc4

    • Add support for YUV planes. commit

    • Add support for scaling of display planes. commit

    • Improve throughput by pipelining binning and rendering jobs commit

  • Add support for ARM's HDLCD controller. The HDLCD controller is a display controller that supports resolutions up to 4096x4096 pixels. It is present on various development boards produced by ARM Ltd and emulated by the latest Fast Models from the company commit

  • sti

  • panel: simple: Add URT UMSH-8596MD-xT panels support commit, support for LG lp120up1 panel commit

  • Add a drm_aux-dev module for reading/writing dpcd registers. commit

  • Introduce pipe color correction properties. This introduces optional properties to enable color correction at the pipe level commit

  • Apple GMUX vga switcheroo support commit, commit

12.2. Storage

  • sata_via: Implement hotplug for VT6421 commit

  • libata: support AHCI on OCTEON platform commit

  • ahci_mvebu: add support for Armada 3700 variant commit

  • ahci: Add runtime PM support for the host controller commit

  • AHCI: Remove obsolete Intel Lewisburg SATA RAID device IDs commit

  • ata: add AMD Seattle platform driver commit

  • SCSI

    • Add 'access_state' and 'preferred_path' sysfs attributes commit

    • stex: Add S3/S4 support commit, add hotplug support commit, add support to Pegasus series commit

      • qla2xxx: Add debugfs node for target sess list /sys/kernel/debug/qla2xxx/qla2xxx_31/tgt_sess commit, add support for Private link statistics counters. commit, add support for buffer to buffer credit value for ISP27XX commit, add support for online flash update for ISP27XX commit, enable T10-DIF for ISP27XX commit

    • megaraid_sas: Dual queue depth support commit, IO throttling support commit, introduce module parameter for SCSI command timeout commit, Reply Descriptor Post Queue (RDPQ) support commit, task management support commit

    • mpt3sas: Add support for configurable Chain Frame Size commit, added smp_affinity_enable module parameter. commit, added support for high port count HBA variants. commit

    • hisi_sas: add v1 hw ACPI support commit

    • aacraid: SCSI blk tag support commit

    • hpsa: add SMR drive support commit

  • nvmem: NXP LPC18xx EEPROM memory NVMEM driver commit

  • nvmem: Add Mediatek EFUSE driver commit

  • cpqarray: remove it from the kernel commit

  • NVMe: Expose ns wwid through single sysfs entry commit

12.3. Staging

12.4. Networking

  • ixgbe: add support for tc_u32 offload commit

  • can

    • ifi: Add IFI CANFD IP support commit

    • rcar_can: Add r8a7795 support commit

    • sja1000: of: add compatibility with Technologic Systems version commit

  • e1000e: Adds hardware supported cross timestamp on e1000e nic commit, initial support for KabeLake commit

  • igb: Add support for VLAN promiscuous with SR-IOV and NTUPLE commit, add support for generic Tx checksums commit, enable use of "bridge fdb add" to set unicast table entries commit

  • igbvf: Add support for generic Tx checksums commit

  • thunderx: Add TX timeout and RX buffer alloc failure stats. commit

  • Add mediatek ethernet driver for MediaTek SoCs from the MT7623 family commit, commit

  • mlx5: QoS IEEE dcbnl and VxLAN offloads support for Mellanox 100G mlx5 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit; implement modify HCA vport command commit ; add hardware offload support for cls_flower commit, commit, commit, commit, commit, commit, introduce offload arithmetic hardware capabilities commit, add ConnectX-5 to list of supported devices commit

  • i40e: Add new device IDs for X722 commit, SCTP offload support commit, allow channel bonding of VFs commit, add 100Mb ethtool reporting commit, add new proxy-wol bit for X722 commit, add a new "set switch config" admin queue command and the new Cisco VXLAN-GPE cloud tunnel type for the admin queue commands commit, commit, commit, commit, add counter for arq overflows commit, add debugfs output for dump VSI commit, drop unused debugfs file "dump" commit, add support for IPv4 encapsulated in IPv6 commit, support segmenting UDP tunnels with outer checksums enabled commit, add functions to blink led on 10GBaseT PHY commit, support coalesce getting by queue commit, support coalesce setting by queue commit, add adminq commands for Rx CTL registers commit, add support for client interface for IWARP driver commit

  • i40evf: Add support for IPv4 encapsulated in IPv6 commit, support segmenting UDP tunnels with outer checksums enabled commit, support packet split receive commit

  • Add i40iw driver for Intel Ethernet X722 iWARP devices commit

  • dsa: mv88e6xxx: support VLAN filtering commit

  • macb: add wake-on-lan support via magic packet commit

  • mvneta: add support for hardware buffer management commit, commit

  • phy

    • Add SGMII support for Marvell 88E1510/1512/1514/1518 commit

    • bcm7xxx: Add entries for Broadcom BCM7346 and BCM7362 commit,

    • dp83848: Add PHY ID for TI version of DP83848C commit, add support for TI TLK10x Ethernet PHYs commit

    • spi_ks8995: add support for MICREL KSZ8795CLX commit, add support for resetting switch using GPIO commit

  • libertas: add an cfg80211 interface for powersaving commit

  • mwifiex: add debugfs file (/sys/kernel/debug/mwifiex/mlan0/verext) to read chip information commit, adds support for waking up the device on finding better RSSI commit, add schedule scan support commit, add support for wakeup when configured network is detected commit, commit, enable pcie MSIx interrupt mode support commit, firmware dump support for w8997 chipset commit

  • mlx4: Implement devlink interface commit, commit

  • mlxsw: Implement devlink interface commit, commit

  • lan78xx: add ethtool set & get pause functions commit

  • iwlwifi: Add P2P client snoozing commit, support setting minimum quota (for a single virtual interface) from debugfs commit, add 9000 series multi queue rx DMA support commit, commit, commit, commit, add run-time power management for PCIe commit, commit, allow to disable beacon filtering for AP/GO interface from debugfs commit, add CT-KILL notification commit, allow to limit the A-MSDU from debugfs commit, enable VHT MU-MIMO for supported hardware commit, add new configuration to enable MSIX commit, add disable_11ac module parameter to disable VHT capabilities commit, add ctdp operations to debugfs commit, add device IDs for the 8265 device commit

  • brcmfmac: add support for 14e4:4365 PCI ID with BCM4366 chipset commit, add 802.11w management frame protection support commit, add support for the PCIE 4366c0 chip commit, add wowl gtk rekeying offload support commit, remove pcie gen1 support commit

  • bnx2x: Add Geneve inner-RSS support commit, add support for single-port DCBx commit, extend DCBx support commit

  • bnxt_en: Add installed-package firmware version reporting via Ethtool GDRVINFO commit, add port statistics support. commit, enable AER support. commit, include hardware port statistics in ethtool -S. commit, commit

  • ath10k: start adding support for qca4019 chip (merge), debugfs support for Per STA total rx duration commit, enable periodic peer stats update commit, commit, implement basic support for new tx path firmware commit

  • ath9k_htc: add device ID for Toshiba WLM-20U2/GN-1080 commit

  • amd-xgbe: Disable VLAN filtering when in promiscuous mode commit, enable/disable PFC per traffic class commit

  • Bluetooth

    • btusb: Add new AR3012 ID 0489:e095 commit, add a new AR3012 ID 04ca:3014 commit, add new AR3012 ID 13d3:3395 commit

    • hci_bcm: Add BCM2E55 ACPI ID used in Lenovo ThinkPad Tablet 8 commit, add BCM2E7C ACPI ID commit, add new ACPI ID for bcm43241 commit

    • hci_uart: Add Intel/AG6xx support commit, add diag and address support for Intel/AG6xx commit

  • pasemi_mac: Replace LRO with GRO commit

  • qed: Add infrastructure support for hardware GRO commit, add support for HW attentions commit, add vlan filtering offload support commit, commit

  • qede: Add slowpath/fastpath support and enable hardware GRO commit

  • qmi_wwan: Added support for Gemalto's Cinterion PHxx WWAN interface commit, add "D-Link DWM-221 B1" device id commit

  • rocker: implement get settings mode command commit

  • rt2x00: add new rt2800usb device Buffalo WLI-UC-G450 commit

  • rtl8xxxu: Add 8723bu support (merge)

  • sfc: implement IPv6 NFC (and IPV4_USER_FLOW) commit

  • iw_cxgb3: support for iWARP port mapping commit

  • xgene: Add support for Classifier engine commit, add support for RSS commit, add support for multiple queues commit

  • cxgb4: TOS support (also for iw_cxgb4) commit, add pci device id for chelsio t520-cr adapter commit, add iSCSI DDP page pod manager commit, large receive offload support commit

  • RDMA/nes: Replace LRO with GRO commit

  • RDMA/ocrdma: Support RoCE-v2 in the RC path commit, support RoCE-v2 in the UD path commit, support user AH creation for RoCE-v2 commit

  • bgmac: support Ethernet device on BCM47094 SoC commit

  • Infiniband

    • ipoib: Add support for configuring VFs commit

    • mlx5: adds user-space support for memory windows allocation and deallocation commit, add support for CSUM in RX flow commit, add support for don't trap rules commit, add support for setting source QP number commit, add support for re-registration of MRs commit, implement UD QP offloads for IPoIB in the TX flow commit

    • qib: Support query gid in rdmavt commit

12.5. Audio

  • hda: Add new GPU codec ID 0x10de0082 to snd-hda commit, add PCI ID for Intel Broxton-T commit, add AMD Polaris-10/11 AZ PCI IDs with proper driver caps commit

  • usb-audio: adds a new option "quirk_alias" to snd-usb-audio driver for allowing user to pass the quirk alias list commit

  • Remove deprecated AU1X00 AC97 driver commit

  • ASoC

    • Add max9867 codec driver commit

    • Add max98926 codec driver commit

    • Intel: Atom: add support for CHT w/ RT5640 commit

    • Intel: Bxtn: Add Broxton PCI ID commit

    • Intel: boards: Enable HDMI and DP on SKL nau88l25_max98357 machine commit, enable HDMI and DP on nau88l2 machine commit, enable HDMI and DP on skl_rt286 machine commit

    • cht_bsw_rt5645: Enable jack detection commit

    • fsl-asoc-card: add cs4271 and cs4272 support commit

    • hdac_hdmi: Add broxton device ID commit, add jack reporting commit, enable DP1.2 and all converters/pins commit

    • mediatek: Add machine driver for ALC5650 codec commit, add machine driver for rt5650 rt5514 codec commit

    • omap-hdmi-audio: Support for DRA7xx family commit

    • pcm179x: Add I2C interface driver commit, support continuous rates commit

    • qcom: add mic support commit, apq8016-sbc: add mic support commit

    • rsnd: SRC TIMSEL support for Capture commit, add CTU support commit, commit

    • rsrc-card: add convert channels support commit

    • rt5514: add rt5514 codec driver commit

    • rt5616: Add support sample rate to 192KHz commit

    • sunxi: Add support for the SPDIF block commit, add sun4i SPDIF transceiver commit

12.6. Tablets, touch screens, keyboards, mouses

  • Add MELFAS MIP4 Touchscreen driver commit

  • Add BYD PS/2 touchpad driver commit

  • melfas_mip4 - add hw_version sysfs attribute commit

  • synaptics-rmi4: add I2C transport driver commit, add SPI transport driver commit, add support for 2D sensors and F11 commit, add support for F12 commit, add support for F30 commit, add support for Synaptics RMI4 devices commit

  • touchscreen: Add imx25 TCQ driver commit

  • xpad: add Mad Catz FightStick TE 2 VID/PID commit

  • wacom: Add support for DTK-1651 commit

12.7. TV tuners, webcams, video capturers

  • Add support for Avermedia AverTV Volar HD 2 (TD110) commit

  • Add support for Terratec Cinergy S2 Rev.4 commit

  • UVC: Add support for R200 depth camera commit

  • add media controller support to videobuf2-dvb commit

  • af9035: add support for 2nd tuner of MSI DigiVox Diversity commit

  • dib8000: Add support for Mygica/Geniatech S2870 commit

  • dvb-usb-dvbsky: add new product id for TT CT2-4650 CI commit

  • dw2102: Add support for Terratec Cinergy S2 USB BOX commit, add support for TeVii S662 commit

  • em28xx: add media controller support commit, add support for Terratec Grabby REC button commit, add support for Terratec Grabby Record led commit

  • ti-vpe: Add CAL v4l2 camera capture driver commit

  • mn88473: move out of staging commit

  • mt9v011: add media controller support commit

  • pwc: Add USB id for Philips Spc880nc webcam commit

  • saa7134: Add support for Snazio TvPVR PRO commit, add DMABUF support commit, add media controller support commit

  • soc_camera: rcar_vin: Add ARGB8888 caputre format support commit

  • soc_camera: rcar_vin: Add R-Car Gen3 support commit

  • soc_camera/mx2_camera.c: move to staging in preparation, for removal commit

  • soc_camera/mx3_camera.c: move to staging in preparation, for removal commit

  • soc_camera/omap1: move to staging in preparation for removal commit

  • tvp5150: Add pixel rate control support commit, add tvp5151 support commit, add HW input connectors support commit

  • vsp1: Add VSP+DU support commit, add support for the R-Car Gen3 VSP2 commit, add tri-planar memory formats support commit

  • vivid: support new multiplanar YUV formats commit

  • v4l2-ctrls: add V4L2_CID_DV_RX/TX_IT_CONTENT_TYPE controls commit

  • v4l: Add YUV 4:2:2 and YUV 4:4:4 tri-planar non-contiguous formats commit

12.8. USB

  • USB 3.1 SuperSpeedPlus support (featured) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add a new USBDEVFS_DROP_PRIVILEGES ioctl, used to relinquish the ability to do certain operations which are considered to be privileged on a usbfs file descriptor. This includes claiming arbitrary interfaces, resetting a device on which there are currently claimed interfaces from other users, and issuing USBDEVFS_IOCTL calls. The ioctl parameter is a 32 bit mask of interfaces the user is allowed to claim on this file descriptor. A simple utility to test the ioctl, is located at Documentation/usb/usbdevfs-drop-permissions.c commit

  • Add support for usbfs zerocopy commit

  • option: add "D-Link DWM-221 B1" device id commit

  • serial: cp210x: Adding GE Healthcare Device ID commit

  • serial: ftdi_sio: Add support for ICP DAS I-756xU devices commit

  • uas: add full support for RESPONSE IU commit

  • dwc2: Add support for Lantiq ARX and XRX SoCs commit

  • dwc3: Enable SuperSpeedPlus commit

  • renesas_usbhs: add R-Car Gen3 power control commit

  • usbtmc: Implement support for the USB488 defined READ_STATUS_BYTE ioctl, and SRQ notifications with fasync and poll/select in order to be able to synchronize with variable duration instrument operations. Also add convenience ioctl to return all device capabilities, and ioctls for other USB488 requests commit commit, commit, commit, commit

  • HID

    • Support for CMedia CM6533 HID audio jack controls commit

    • logitech-hidpp: Force feedback support for the Logitech G920 commit

    • microsoft: Add ID for MS Wireless Comfort Keyboard commit, add support for 3 more devices commit

    • sony: Add nyko core controller support commit

  • serial: cp210x: add ID for Link ECU commit, add Straizona Focusers device ids ECU commit

12.9. Serial Peripheral Interface (SPI)

  • Add Analog Devices AXI SPI Engine controller support commit

  • master driver to enable RTC on ICPDAS LP-8841 commit

  • pxa2xx: Add support for Intel Broxton B-Step commit, commit

  • spi-pxa2xx-pci: Add ID and driver type for WildcatPoint PCH commit

  • spi-ti-qspi: add mmap mode read support commit

12.10. Watchdog

  • Add watchdog timer support for the WinSystems EBC-C384 commit

  • Add a device driver (mei_wdt) for the Intel MEI iAMT watchdog, which is an OS Health (Hang/Crash) watchdog commit, commit, commit

  • Add NI 903x/913x watchdog driver (ni903x_wdt) commit

  • pnx4008: add support for soft reset commit, support "cmd" from userspace commit

  • w83627hf: Added NCT6102D support. commit

  • Introduce ARM SBSA watchdog driver commit

12.11. Serial

  • bcm2835: add driver for bcm2835-aux-uart commit

  • mvebu-uart: initial support for Armada-3700 serial port commit

  • serial-uartlite: add earlycon support commit

  • 8250: Add software emulated RS485 support commit; enabñe suspend/resume for 8250_of driver commit, add omap8250 earlycon commit, add earlycon support for Tegra commit

  • sh-sci: Add CONFIG_SERIAL_EARLYCON support commit, add support for SCIFA/SCIFB variable sampling rates commit

  • xuartps: Enable OF earlycon support commit

  • Remove 68328 driver commit

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

  • tools/power turbostat

    • Add --out option for saving output in a file commit

    • Initial support for: BXT commit, KBL commit, SKX commit

    • Show column GFX%rc6 (comes from counter /sys/class/drm/card0/power/rc6_residency_ms) commit, column GFXMHz (snapshot of attribute /sys/class/graphics/fb0/device/drm/card0/gt_cur_freq_mhz) commit, IRQs per CPU (difference between /proc/interrupts shapshots)commit

  • Add Mediatek thermal controller support commit

  • cpuidle: intel_idle: Add SKX and KBL support commit, commit, support for Intel Xeon Phi Processor x200 Product Family commit

  • cpufreq

    • intel_pstate: Enable HWP by default commit

    • powernv: Add sysfs attributes to show throttle stats commit

  • ACPI

    • Add support to load ACPI tables via initrd commit

    • Add device HID for future AMD UART controller commit

    • Add support for ACPI 6.0 ACPI0010 processor container, an abstract container used to represent CPU topology commit

    • AMBA bus probing support commit

    • Allow memory error injection to NVDIMM commit

12.13. Real Time Clock (RTC)

  • Implement a sysfs interface for clock offset. Clock offset may be set and read in decimal parts per billion attribute is /sys/class/rtc/rtcN/offset commit

  • Add Alphascale asm9260 driver commit

  • Add driver for RX6110SA real time clock commit

  • Add PIC32 real time clock driver commit

  • abx80x: handle autocalibration commit

  • ds1307: add clock provider support for DS3231 commit, add temperature sensor support for ds3231 commit

  • max77686: Add max77802 support commit, add support for MAX20024/MAX77620 RTC IP commit

  • pcf2127: add pcf2129 device id commit, add support for spi interface commit

  • rv3029: Add "rv3029" I2C device id commit, add thermometer hwmon support commit

  • Remove Maxim 77802 driver commit

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

  • core: Add support for active-discharge configuration commit

  • act8945a: add regulator driver for ACT8945A commit

  • axp20x: Support new AXP223 PMIC commit

  • hi655x: enable regulator for hi655x PMIC commit

  • lp872x: Add enable GPIO pin support commit

  • max77620: Add support to configure active-discharge commit

  • max77620: add regulator driver for max77620/max20024 commit

  • tps65912: Add regulator driver for the TPS65912 PMIC commit

  • power: act8945a: add charger driver for ACT8945A commit

  • power: Add types for USB Type C and PD chargers commit

  • powercap: intel_rapl: Add missing Haswell model commit

12.15. Rapid I/O

  • Add mport character device driver to provide user space interface to basic RapidIO subsystem operations commit

  • Add mport removal support commit

  • Add outbound window configuration support commit

  • tsi721: add mport removal support commit, add option to configure direct mapping of IB window commit, add outbound windows mapping support commit

  • net/rionet: add capability to change MTU commit, add mport removal handling commit

12.16. Pin Controllers (pinctrl)

  • Add STM32 MCUs support commit

  • mediatek: Add Pinctrl/GPIO/EINT driver for MT7623 commit and for mt2701 commit

  • pinctrl-pic32: Add PIC32 pin control driver commit

  • qcom: Add IPQ4019 pinctrl support commit

  • rockchip: add support for the rk3399 commit

  • sh-pfc: r8a7795: Add CAN FD support commit, add CAN support commit, add PWM support commit, add USB2.0 host support commit, add support for INTC-EX IRQ pins commit

  • sunxi: Add H3 R_PIO controller support commit

  • Add driver for Allwinner A64 SoC commit

12.17. Memory Technology Devices (MTD)

  • atmel_nand: Support PMECC on SAMA5D2 commit, support 32-bit ECC strength commit

  • qcom_nand: Add driver for the Qualcomm NAND controller, found in SoCs like IPQ806x, MSM7xx, MDM9x15 series commit

  • pxa3xx_nand: add support for partial chunks commit

  • sunxi: add randomizer support commit

  • spi-nor: Add support for s25fl116k commit, add TB (Top/Bottom) protect support commit, fsl-quadspi: add support for layerscape commit, fsl-quadspi: add support for ls1021a commit, support lock/unlock for a few Winbond chips commit

12.18. Multi Media Card

  • core: enable mmc host device to suspend/resume asynchronously commit

  • mediatek: add SD write protect support commit

  • sdhci-acpi: add QCOM controllers commit

  • sdhci-iproc: add bcm2835 support commit, add support and PCI IDs for more Broxton host controllers commit

  • sdhci-pic32: Add PIC32 SDHCI host controller driver commit

  • sdhi: Add r8a7795 support commit

  • sunxi: Support 8 bit eMMC DDR transfer modes commit, support MMC_DDR52 timing modes commit, support vqmmc regulator commit

12.19. Industrial I/O (iio)

  • Add IIO support for the DAC on the Apex Embedded Systems STX104 commit

  • adc

    • Add TI ADS1015 ADC driver support commit

    • Add imx25-gcq ADC driver commit

    • Move mxs-lradc out of staging commit

    • Add support for ADC0831/ADC0832/ADC0834/ADC0838 chips commit

    • mcp3422: Add support for MCP3425 commit

  • add ad5761 DAC driver commit

  • chemical: add Atlas pH-SM sensor support commit

  • dac: mcp4725: Add basic support for MCP4726 commit

  • dac: vf610_dac: Add IIO DAC driver for Vybrid SoC commit

  • health: Add driver for the TI AFE4403 heart monitor commit, add driver for the TI AFE4404 heart monitor commit

  • hmc5843: Add attributes for measurement config of bias current commit, move out of staging commit

  • imu: inv_mpu6050: Add SPI support for MPU6000 commit, add calibration offset support commit

  • mma8452: add freefall detection for Freescale's accelerometers commit, add support for MMA8451Q commit

  • potentiometer: add TI tpl0102 support commit

  • pressure: mpl115: support MPL115A1 commit

  • pressure: ms5611: Add triggered buffer support commit

  • si7005: add support for Hoperf th02 commit

  • si7020: add support for Hoperf th06 commit

  • ad5064: Add AD5625/AD5627/AD5645/AD5647/AD4665/AD5657 support commit

  • ad5064: Add support for ltc2617 and similar devices commit

  • ad5064: Structural changes to support LTC2617 commit

  • adc:at91_adc8xx: introduce new atmel adc driver commit

  • pressure:ms5611: power regulator support commit

12.20. Multi Function Devices (MFD)

  • lpss: Add PCI IDs for Intel Broxton B-Step platform commit

  • max77686: Add max77802 to I2C device ID table commit

  • mt6397: Add MT6323 support to MT6397 driver commit

  • tps65086: Add driver for the TPS65086 PMIC commit

  • tps65912: Add driver for the TPS65912 PMIC commit, commit

12.21. Inter-Integrated Circuit (I2C)

  • designware: Add device HID for future AMD I2C controller commit

  • iproc: Support larger TX transfer commit

  • mt65xx: add 4GB DMA mode support in i2c driver commit

  • mux: demux-pinctrl: add driver commit

  • qup: Add V2 tags support commit, add bam dma capabilities commit

  • xiic: Implement power management commit

  • ismt: Add Intel DNV PCI ID commit

  • rk3x: add support for rk3228 commit

12.22. Hardware monitoring (hwmon)

  • Add LTC2990 sensor driver commit

  • Create an NSA320 hardware monitoring driver commit

  • adm1275: Add support for ADM1278 commit

  • ntc_thermistor: Add support for ncpXXxh103 commit

  • scpi: add energy meter support commit

12.23. General Purpose I/O (gpio)

  • The GPIO stack has been changed to make the GPIO drivers real devices. For this reason, a new userspace ABI has been created: the GPIO character device. This release takes small steps, so first a pure *information* ABI has been added, along with the tool "lsgpio" that will list all GPIO devices on the system and all lines on these devices. GPIOs can now be properly discovered from userspace (but not be used from userspace). The old sysfs ABI is still available opt-in (and can be used in parallel) and will be maintained around for the foreseeable future, but it will not be extended

  • tools/gpio: create GPIO tools, adds a single example program (lsgpio) to list the GPIOs commit

  • Add a userspace chardev ABI for GPIOs commit, commit, commit, commit

  • gpio-f7188x: Add F81866 GPIO supports commit

  • Add GPIO support for the ACCES 104-DIO-48E commit

  • Add GPIO support for the WinSystems WS16C48 commit

  • Add driver for SPI serializers commit

  • Add driver for TI TPIC2810 commit

  • add TS-4800 fpga GPIO support commit

  • add driver for MEN 16Z127 GPIO controller commit

  • add tps65218 gpio commit

  • ath79: Add support for the interrupt controller commit

  • mcp23s08: Add support for mcp23s18 commit

  • tps65086: Add GPO driver for the TPS65086 PMIC commit

  • tps65912: Add GPIO driver for the TPS65912 PMIC commit

12.24. Clocks

  • axi-clkgen: Add multi-parent support commit, remove version 1 support commit

  • imx: Add clock support for imx6qp commit

  • iproc: Add support for Cygnus audio clocks commit

  • qcom: Add IPQ4019 Global Clock Controller support commit, gdsc: Add GDSCs in msm8996 commit, commit, commit, commit, commit

  • shmobile: r8a7795: Add SD divider support commit

  • ti: Add support for dm814x ADPLL commit

12.25. PCI

  • designware: Add driver for prototyping kits based on ARC SDP commit

  • layerscape: Add "fsl,ls2085a-pcie" compatible ID commit

  • thunder: Add PCIe host driver for ThunderX processors commit, add driver for ThunderX-pass{1,2} on-chip devices commit

  • xilinx-nwl: Add support for Xilinx NWL PCIe Host Controller commit

  • Unbreak dra7xx PCI driver as broken" commit

12.26. Various

  • VFIO: Capability chains, similar to PCI device capabilities, that allow extending ioctls. Extensions here include device specific regions and sparse mmap descriptions (merge)

  • spmi: pmic-arb: Support more than 128 peripherals commit

  • remoteproc: Supply controller driver for ST's Remote Processors commit

  • reset: img: Add Pistachio reset controller driver commit

  • phy: Add driver for rockchip Display Port PHY commit

  • phy: add a driver for the Rockchip SoC internal eMMC PHY commit

  • phy: mdio-thunder: Add driver for Cavium Thunder SoC MDIO buses. commit

  • Move panel driver out of staging commit

  • memory: mediatek: Add SMI driver commit

  • mei: me: add broxton pci device ids commit

  • mailbox: Add support for APM X-Gene platform mailbox driver commit

  • mailbox: Hi6220: add mailbox driver commit

  • mailbox: Introduce TI message manager driver commit

  • leds: Add SN3218 and SN3216 support to the IS31FL32XX driver commit

  • leds: Add driver for the ISSI IS31FL32xx family of LED controllers commit

  • iommu/arm-smmu: Support DMA-API domains commit

  • iommu/exynos: Add support for v5 SYSMMU commit

  • iommu/io-pgtable: Add ARMv7 short descriptor support commit

  • iommu/mediatek: Add mt8173 IOMMU driver commit

  • irqchip/gic/realview: Support more RealView DCC variants commit

  • irqchip/mvebu-odmi: Add new driver for platform MSI on Marvell 7K/8K commit

  • irqchip/tango: Add support for Sigma Designs SMP86xx/SMP87xx interrupt controller commit

  • irqchip: Add the Alpine MSIX interrupt controller commit

  • irqchips/bmips: Add bcm6345-l1 interrupt controller commit

  • hwrng: pic32 - Add PIC32 RNG hardware driver commit

  • extcon: palmas: Add the support for VBUS detection by using GPIO commit

  • dmaengine: add Qualcomm Technologies HIDMA channel driver commit

  • dmaengine: add Qualcomm Technologies HIDMA management driver commit

  • dmaengine: pl330: support burst mode for dev-to-mem and mem-to-dev transmit commit

  • bq24735_charger: add status property to view/enable/disable charging commit

  • bcma: add support for BCM47094 commit

  • bcma: support chipsets with PMU and GCI cores (devices) commit

  • bcma: support identifying MX25L25635F serial flash commit

  • HSI: nokia-modem: add n950 and n9 support commit

13. List of merges

14. Other news sites

Tell others about this page:

last edited 2016-05-16 09:18:48 by diegocalleja