Linux 4.12
Linux 4.12
12
Linux 4.12 has been released on Sun, 2 July 2017.
Summary: This release includes a new BFQ I/O scheduler which provides a much better interactive experience; it also includes preliminary support for
Radeon RX Vega graphic cards and support for USB Type-C connectors; improvements to the live kernel patching feature, support for Intel IMSM's
Partial Parity Log which allows to close the RAID5 write hole; support for exposing OpenChannel SSDs as device blocks, and another I/O scheduler,
Kybe that allows to configure a latency target for reads and writes, ,
1. Prominent features
1. Preliminary Radeon Vega support
2. USB Type-C support
3. New BFQ I/O scheduler for a more reponsive desktop
4. New Kyber I/O scheduler
5. Progress in Live kernel patching
6. Add support for Intel IMSM's Partial Parity Log
7. Expose OpenChannel SSDs as device blocks
2. Core (various)
3. File systems
4. Memory management
5. Block layer
6. Tracing and perf tool
7. Virtualization
8. Cryptography
9. Security
10.Networking
11.Architectures
12.Drivers
1. Graphics
2. Storage
3. Drivers in the Staging area
4. Networking
5. Audio
6. Tablets, touch screens, keyboards, mouses
7. TV tuners, webcams, video capturers
8. Universal Serial Bus
9. Serial Peripheral Interface (SPI)
10.Serial
11.ACPI, EFI, cpufreq, thermal, Power Management
12.Real Time Clock (RTC)
13.Voltage, current regulators, power capping, power supply
14.Pin Controllers (pinctrl)
15.Multi Media Card (MMC)
16.Memory Technology Devices (MTD)
17.Industrial I/O (iio)
18.Multi Function Devices (MFD)
19.Pulse-Width Modulation (PWM)
20.Inter-Integrated Circuit (I2C)
21.Hardware monitoring (hwmon)
22.General Purpose I/O (gpio)
23.Leds
24.DMA engines
25.Cryptography hardware acceleration
26.PCI
27.Clock
28.Various
13.List of merges
14.Other news sites
1. Prominent features
1.1. Preliminary Radeon Vega support
This release adds preliminary support for Radeon RX Vega graphic cards.
Recommended LWN article: Two new block I/O schedulers for 4.12
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit, commit
Recommended LWN article: Two new block I/O schedulers for 4.12
This release adds a so-called per-task consistency model - a foundation which will eventually enable to patch those ~10% of security patches which
change function or data semantics. This is the biggest remaining piece needed to make livepatch more generally useful. This code stems from the
design proposal made in November 2014. It's a hybrid of kGraft and kpatch: it uses kGraft's per-task consistency and syscall barrier switching
combined with kpatch's stack trace switching.
Documentation: Documentation/md/raid5-ppl.txt
Code: commit, commit, commit, commit, commit, commit
Documentation: http://lightnvm.io/pblk-tools/
Code: commit
2. Core (various)
• Change livepatch to use a basic per-task consistency model (FEATURED) commit, commit, commit
• epoll: Add busy poll support to epoll with socket fds. The main idea it is that when there is only one event left, the kernel will beging polling for events
with the same NAPI ID commit, commit, commit, commit, commit, commit, commit, commit
• namespaces: expose task pid_ns_for_children in /proc/PID/ns, needed by software like CRIU commit, commit
• task scheduler: Add 'sched-pelt' tool commit
• RCU locking
• Create a tiny SRCU for SMP=n && PREEMPT=n builds commit
• Introduce CLASSIC_SRCU Kconfig option to use the traditional well-tested classic SRCU implementation from v4.11 instead of Tree and Tiny SCRU
commit
• SRCU: Parallelize callback handling commit
• taskstats: add elapsed time, user CPU time and system CPU time for TGID command commit
• Add better clang cross build support commit
• tty: Disable default console blanking interval commit
• vfs: add common GETFSMAP ioctl definitions commit
• uio: Allow handling of non page-aligned memory regions commit
3. File systems
• XFS
• Implement the GETFSMAP ioctl commit
• Publish UUID in the superblock commit
• EXT4
• Support GETFSMAP ioctl commit
• Avoid unnecessary transaction stalls during writeback commit
• CIFS
• Greatly improve asynchronous I/O commit, commit, commit
• F2FS
• Enable small discard by default commit
• Add ioctl to flush data from faster device to cold area commit
• Add undiscard blocks stat commit
• write small sized IO to hot log commit
• Show available_nids in f2fs/status commit
• FUSE
• Add support for pid namespaces commit
• NFS
• Remove the objlayout driver commit
• ORANGEFS
• Support very large directories commit
• Support llseek on directories commit
• UBIFS
• Add CONFIG_UBIFS_FS_SECURITY to disable/enable security labels commit
• AFFS
• Add rename exchange support commit, commit
4. Memory management
• Try to reduce fragmenting fallbacks commit, commit, commit, commit, commit, commit, commit, commit
• Print non-populated zones in /proc/zoneinfo commit
• MADV_FREE has several issues that make it unusable in software like jemalloc: doesn't support system without swap enabled, increases memory
pressure, and accounting problems. This release puts MADV_FREE pages into the LRU_INACTIVE_FILE list, enables MADV_FREE for swapless
systems and improves statistic accounting commit, commit, commit, commit, commit, commit
• memcontrol cgroup: introduced three new entries in memory.stat: workingset_refault (number of refaults of previously evicted pages),
workingset_activate (number of refaulted pages that were immediately activated), workingset_nodereclaim (number of times a
shadow node has been reclaimed) commit, commit
• memcontrol cgroup: provide shmem statistics commit
5. Block layer
• (FEATURED) introduce the BFQ-v0 I/O scheduler commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,
commit ,commit, commit, commit, commit
• (FEATURED) introduce Kyber multiqueue I/O scheduler commit, commit
• CFQ scheduler: Disable writeback throttling (feature introduced in Linux 4.10) by default, since does not play well with CFQ since that also tries to
throttle asynchronous writes. As a result asynchronous writeback can get starved in presence of readers
[https://git.kernel.org/linus/142bbdfccc8b3e9f7342f2ce8422e76a3b45beae commit
• multiqueue: Export queue state through /sys/kernel/debug/block/*/state commit
• blk-throttle improvements: this release includes a scalable framework for implementing scalable priotization - particularly for blk-mq, but applicable to
any type of block device. The interface is marked experimental for now commit, commit, commit, commit, commit, commit, commit, commit, commit,
commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
• Device Mapper (DM)
• Add integrity target. It emulates a block device that has additional per-sector tags that can be used for storing integrity information. The dm-integrity
target can be used with the dm-crypt target - in this situation the dm-crypt target creates the integrity data and passes them to the dm-integrity target. In
this mode, the dm-crypt and dm-integrity targets provide authenticated disk encryption - if the attacker modifies the encrypted device, an I/O error is
returned. The dm-integrity target can also be used as a standalone target, in this mode it calculates and verifies the integrity tag internally. In this mode,
the dm-integrity target can be used to detect silent data corruption on the disk or in the I/O path commit, commit, commit
• dm crypt: Add a new authenticated encryption feature to the DM crypt target that builds on the capabilities provided by the DM integrity target. It
allows the use of per-sector metadata, provided by the dm-integrity module, for integrity protection and persistently stored per-sector Initialization
Vector (IV) commit, commit, commit
• A major update for DM cache that reduces the latency for deciding whether blocks should migrate to/from the cache. The bio-prison-v2 interface
supports this improvement by enabling direct dispatch of work to workqueues rather than having to delay the actual work dispatch to the DM cache
core. So the dm-cache policies are much more nimble by being able to drive IO as they see fit. One immediate benefit from the improved latency is a
cache that should be much more adaptive to changing workloads commit, commit, commit, commit
• dm raid: add raid4/5/6 journal write-back support via journal_mode option commit
• MD
• Improve RAID5 IO pattern to improve performance for hard disk based RAID5/6 commit, commit, commit
• md-cluster: add the support for resize commit, commit
• Use consistency_policy to allow removing journal feature commit
• Add Partial Parity Log (ppl) feature found in Intel IMSM raid array (FEATURED) commit, commit, commit, commit, commit, commit
• Allow creation of mdNNN arrays via md_mod/parameters/new_array commit
• Support disabling of create-on-open semantics with create_on_open module option commit
• mq-deadline: add debugfs attributes commit
• blkfront: add uevent for size change commit
• (FEATURED) lightnvm: introduces pblk, a host-side translation layer for Open-Channel SSDs to expose them like block devices commit
• libnvdimm
• Add sysfs trigger for nvdimm_flush() commit
• Add 'resource' sysfs attribute to regions commit
• Add mechanism to publish badblocks at the region level in the badblock sysfscommit
• Add support for clear poison list and badblocks for device dax commit
• nvmem
• sunxi-sid: add support for H3's SID controller commit
• Add driver for the i.MX IIM commit
• nbd: Add a netlink interface commit, commit, commit, commit, commit
• null_blk: add blocking mode commit
• rbd: exclusive map option commit
• dax: add a facility to lookup a dax device by 'host' device name commit
• brd: remove discard support commit
• Remove the osdblk driver commit
• Remove the mg_disk driver commit
• Remove the obsolete hd driver commit
7. Virtualization
• Xen
• enable building the kernel with Xen support but without enabling paravirtualized mode commit
• Add a new 9pfs xen frontend driver commit, commit, commit, commit, commit, commit, commit
• fbfront: add support for specifying size via xenstore commit
• kbdif: add multi-touch support commit
• tools/kvm_stat: add '%Total' column commit, add interactive command 'r' commit, add interactive command 'c' commit, add option '--guest' commit
8. Cryptography
• KEYS
• Add a system blacklist keyring that is used to store information about blacklisted certificates and signatures commit
• Add KEYCTL_RESTRICT_KEYRING keyctl(2) command. With it, existing keyrings can be configured to check the content of keys before they are
linked, and then allow or disallow linkage of that key to the keyring commit, commit, commit, commit
• Add SP800-56A KDF support for DH commit
• scomp: add support for deflate rfc1950 (zlib) commit
• X.509: Allow X.509 certs to be blacklisted commit
9. Security
• Add TEE subsystem. A TEE (Trusted Execution Environment) driver is a driver that interfaces with a trusted OS running in some secure environment,
for example, TrustZone on ARM cpus, or a separate secure co-processor etc. The TEE subsystem can serve a TEE driver for a Global Platform
compliant TEE, but it's not limited to only Global Platform TEEs commit, commit, commit
• selinux: add a security hook for prlimit commit
• Introduce CONFIG_SECURITY_WRITABLE_HOOKS for RO hardening of LSM hooks commit, commit
• ima: provide ">" and "<" operators for fowner/uid/euid rules commit
• audit: log module name on module deletion commit
• tpm:implement contextual TPM command 'spaces' commit, commit
10. Networking
• Generic XDP driver, so that anyone can test XDP even if they lack a networking device whose driver has explicit XDP support commit
• Allow configuring default qdisc in kernel configuration commit
• TCP Fast Open: Add snmp counter for blackhole detection commit
• TCP Fast Open: Disable active side TCP Fast Open in certain scenarios commit
• Add sysctl to toggle early demux for tcp and udp commit
• IPv4: add support for ECMP hash policy choice via a new sysctl called fib_multipath_hash_policy and also adds support for L4 hashes
commit
• IPv6: Provide ipv6 version of disable_policy sysctl, ie. Allows IPsec processing to be skipped on terminating packets on a per-interface basis
commit
• IPv6: add support for NETDEV_RESEND_IGMP event similar to how it works for IPv4 commit
• IPv6: Add sysctl (accept_ra_rt_info_min_plen) for minimum prefix len acceptable in Route Information Options commit
• TCP: Permit user set TCP_MAXSEG to default value commit
• TCP: remove per-destination timestamp cache commit
• TCP: remove tcp_tw_recycle sysctl commit
• sockets: introduce SO_MEMINFO getsockopt for reading of SK_MEMINFO_VARS via socket option. This way an application can get all meminfo
related information in single socket option call instead of multiple calls. commit
• Enable tx timestamping on loopback and dummy commit
• eBPF: Add a helper function to retrieve socket uid. This is useful to perform per-UID accounting of network traffic or per-UID packet filtering commit
• eBPF: Add a helper function to get socket cookie in eBPF commit, commit
• New getsockopt option to get socket cookie commit, commit
• VSOCK: Add vsockmon virtual device to monitor AF_VSOCK sockets commit, commit
• bridge: add per-port broadcast flood flag commit
• can: initial network namespace support commit, commit, commit, commit
• Adds support for parsing MPLS flows in the flow dissector and the flower classifier. Each of the MPLS TTL, BOS, TC and Label fields can be used
for matching commit, commit
• Add support for pipeline debug (dpipe). It introduces capability for exporting the ASICs pipeline abstraction via devlink infrastructure, which should
serve as an complementary tool. This infrastructure allows the user to get visibility into the ASIC by modeling it as a set of match/action tables
commit, commit, commit, commit, commit, commit, commit, commit
• ip_tunnel: Allow policy-based routing through tunnels commit, commit
• MPLS: allow TTL propagation to/from IP packets to be configured commit, commit
• net sched action: Complete the JUMPX opcode commit
• distributed switch architecture
• Add Mediatek tag RX/TX handler commit
• Add support for the SMSC-LAN9303 tagging format commit
• dsa2: Add basic support of devlink commit
• devlink: Add E-Switch encapsulation control commit, commit
• bridge: allow to add externally learned entries from user-space commit, commit
• netconf: Add support for RTM_DELNETCONF. It is sent when a device is deleted commit, commit, commit, commit
• rtnetlink: Add dump all for netconf commit
• sched: make default fifo qdiscs appear in the dump commit
• netfilter
• nft_ct: add helper set support; it allows to assign connection tracking helpers to connections via nft objref infrastructure commit
• nft_exthdr: Allow checking TCP option presence, too commit
• nft_fib: Support existence check commit
• nft_hash: support of symmetric hash according to source ip address and port, and destination ip address and port commit
• Netlink extended ACK support: commit, commit, commit, commit, commit
• Wireless
• Add support for FILS shared key authentication offload commit
• Allow multiple active scheduled scan requests commit
• Add support for specifying BSSIDs in scheduled scan matchsets commit
• Add support for BSS max idle period element (defined in IEEE802.11-2016, section 9.4.2.79) commit
• packet: add socket option PACKET_FANOUT_FLAG_UNIQUEID to assign new fanout group id commit
• SCTP:
• Add SCTP_PR_STREAM_STATUS sockopt for prsctp commit
• Add receiver-side procedures for stream reconf asoc reset and add streams and response commit, commit, commit, commit, commit, commit, commit
• TIPC: add support for stream/seqpacket socketpairs commit
• TIPC: allow rdm/dgram socketpairs commit
• xfrm: Add an IPsec hardware offloading API commit
• Replace 2 jiffies with a sysctl to enable softirq tuning. The new sysctl, netdev_budget_usecs, allows to set the maximum number of
microseconds in one NAPI polling cycle commit
• ethtool: add CRC32 as an RSS hash function commit
• ethtool: Add ESP offload features commit
11. Architectures
• ARM
• Device Tree Source
• BCM5301X: Add basic DT for Linksys EA6300 V1 commit, for Linksys EA9200 commit, for Linksys EA9500 commit, for BCM953012HR commit,
for TP-LINK Archer C5 V2 commit
• Add a devicetree for Raidsonic NAS IB-4220-B commit
• Add a devicetree for Teltonika RUT1xx commit
• Add a devicetree for Wiliboard WBD-111 commit and Wiliboard WBD-222 commit
• add device tree for Gemini SoC and SQ201 commit
• add support for I2SE Duckbill 2 485 commit, I2SE Duckbill 2 EnOcean commit, I2SE Duckbill 2 SPI commit, I2SE Duckbill 2 boards commit
• armada-385-synology-ds116: add support for Synology DS116 NAS commit
• armada-385: add support for the Linksys WRT1900ACS (Shelby) commit
• imx6: add ZII RDU2 boards commit
• imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 10.1 initial support commit, add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 12.3
initial support commit
• imx6qp-nitrogen6_som2: add Quad Plus variant of the SOM commit
• imx7d-sdb: Add sht11 Click Board support commit
• imx: add Gateworks Ventana GW5903 support commit, add Gateworks Ventana GW5904 support commit
• rockchip: Add support for PCM-947 carrier board commit, add support for phyCORE-RK3288 SoM commit, add dts for RK3288-Tinker board
commit
• stm32: Add STM32H743 MCU and STM32H743i-EVAL board commit, add a new SOC - STM32H743 commit
• sun8i: Add dts file for NanoPi NEO Air commit
• gemini: DT for the Cortina Gemini SoC platforms commit, commit
• KVM: Support for userspace virtual interrupt controller (slower, but necessary for KVM on the weird Broadcom SoCs used by the Raspberry Pi 3)
commit, commit
• uefi: Randomize the base of the UEFI rt services region commit
• perf: arm_pmu: add ACPI framework commit
• ARM64
• Device Tree Source
• meson-gxl: Add support for HwaCom AmazeTV commit, add support for the Khadas VIM board commit
• allwinner: h5: add Allwinner H5 commit, add support for the Orange Pi PC 2 board commit, commit
• Add basic DT to support Spreadtrum's SP9860G commit
• Add support for FSL's LS1088A SoC commit
• freescale: ls2088a: Add DTS support for FSL's LS2088A SoC commit
• hisilicon: add dts files for hi3798cv200-poplar board commit
• rockchip: add Gru/Kevin DTS commit, add RK3328 eavluation board devicetree commit, commit
• Add kdump support commit, commit, commit
• Add ARMv8.3 HWCAP bits for: Support for Javascript conversion instruction commit, support for complex number instructions commit, support for
weaker release consistency commit
• bpf: implement jiting of BPF_XADD commit
• tpm_crb: Enable TPM CRB interface for ARM64 commit
• KVM: Add support for VPIPT I-caches commit
• KVM: vgic-its: Add KVM_DEV_ARM_ITS_SAVE/RESTORE_TABLES commit
• KVM: vgic-v3: Add KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES commit
• MIPS
• Basic support for hardware virtualization (ImgTec P5600/P6600/I6400 and Cavium Octeon III) commit, commit, commit, commit, commit, commit,
commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
• Add 48-bit VA space (and 4-level page tables) for 4K pages commit
• BPF: Add JIT support for SKF_AD_HATYPE commit
• POWERPC
• KVM
• Add MMIO emulation for stdx (store doubleword indexed) commit
• Book3S: Add MMIO emulation for FP and VSX instructions commit
• Emulation for more integer loads and stores commit
• VFIO: Add in-kernel acceleration for VFIO commit
• crypto
• Add CRC-T10DIF acceleration commit
• Stress test for vpmsum implementations commit
• 64s: Support new device tree binding for discovering CPU features commit
• fadump: reuse crashkernel parameter for fadump memory reservation commit
• kprobes: Add support for KPROBES_ON_FTRACE commit
• Increase VA range to 128TB commit
• Add support for runtime configuration of ASLR limits commit
• Enable mappings above 128TB commit
• perf
• Add Power8 mem_access event to sysfs commit
• Export memory hierarchy info to user space commit
• Support to export MMCRA[TEC*] field to userspace commit
• Support to export SIERs bit in Power8 commit
• Support to export SIERs bit in Power9 commit
• powernv: Add OPAL exports attributes to sysfs commit
• powernv: Introduce address translation services for Nvlink2 commit
• pseries: Enable VFIO commit
• xmon
• add debugfs entry for xmon commit
• drop the nobt option from xmon plus minor fixes commit
• Add NMI IPI infrastructure commit
• S390
• debugfs: introduce top-level 's390' directory commit
• cpum_cf: add support for the MT-diagnostic counter set (z13) commit
• sysinfo: provide remaining stsi information via debugfs commit
• cpuinfo: show facilities as reported by stfle commit
• sysinfo: provide raw stsi 15,1,x data via debugfs commit
• Add a system call for guarded storage commit
• crypto: Provide s390 specific arch random functionality commit
• trng: Introduce s390 TRNG device driver commit
• vfio-ccw: vfio support for I/O subchannel devices for Linux/s390 commit, commit, commit, commit, commit, commit, commit, commit, commit,
commit, commit, commit, commit
• KVM
• adapter interruption suppression commit, commit, commit, commit
• Support keyless subset guest mode commit, commit
• SPARC
• Add eBPF JIT commit
• Support NR_CPUS = 4096 commit
• X86
• Enable KASLR by default commit
• Add support for Intel Memory Bandwidth Allocation. Bandwidth throttling is a core specific mechanism on some of Intel SKUs. Using a high
bandwidth and a low bandwidth setting on two threads sharing a core will result in both threads being throttled to use the low bandwidth commit,
commit, commit, commit, commit
• Detect CPUID faulting support. Intel supports faulting on the CPUID instruction beginning with Ivy Bridge. When enabled, the processor will fault on
attempts to execute the CPUID instruction with CPL>0. This will allow a ptracer to emulate the CPUID instruction commit
• arch_prctl: Add ARCH_[GET|SET]_CPUID to get or set the CPUID state. Intel supports faulting on the CPUID instruction beginning with Ivy
Bridge commit
• Various fixes related to 32-bit mmap() compat syscall returning address over 4Gb in applications, launched from 64-bit binaries - motivated by C/R
frameworks such as Virtuozzo commit, commit, commit
• perf: Add Top Down events to Intel Goldmont commit
• Add support for earlyprintk via USB3 debug port commit
• perf: Add support for multiple IOMMUs to perf by exposing an AMD IOMMU PMU for each IOMMU found in the system commit
• ftrace: Add -mfentry support to x86_32 with DYNAMIC_FTRACE set commit
• intel_rdt: Add cpus_list rdtgroup file commit
• More work on Intel 5-level paging enablement merge
• intel_idle: add Gemini Lake support commit
• iommu/vt-d: Add an option to disable Intel IOMMU force on commit
• iommu: Allow default domain type to be set on the kernel command line commit
• RAS: Add a Corrected Errors Collector commit
• platform
• thinkpad_acpi: add mapping for new hotkeys commit
• silead_dmi: Add entry for Insyde 7W tablets commit
• hp-wireless: add Xiaomi's hardware id to the supported list commit
• Add Intel Cherry Trail ACPI INT33FE device driver commit
• intel-mid: Enable Bluetooth support on Intel Edison commit
• virtualization
• Add support for vDSO acceleration of the "Hyper-V TSC page", to speed up clock reading on Hyper-V guests commit
• KVM: virtualize cpuid faulting commit
• VMX: drop vmm_exclusive module parameter commit
• nVMX: Implement emulated Page Modification Logging commit
• AVR32
• Remove support for AVR32 architecture commit, commit
• METAG
• Add 64-bit get_user support commit
• NIOS2
• Add CDX support commit
• Add BMX support commit
• Enable earlycon support commit
12. Drivers
12.1. Graphics
• amdgpu
• Preliminary vega10 support (FEATURED) commit, commit, commit, merge
• GPU sensor support for userspace commit, commit
• PRT support commit, commit, commit, commit, commit, commit
• Add power profile sysfs entries commit, commit, commit, commit, commit, commit
• Add power consumption display support in debugfs commit
• Enable LEDs on Fiji boards commit
• Enable GFX/UVD/VCE PG for Bristol commit
• Enable gfx/system/vce clockgating on Polars12 commit
• intel
• Enable atomic modesetting by default on supported platforms commit
• Geminilake color manager support commit, commit
• GVT: Turn on KBL platform support commit
• debugfs: Add i915_hpd_storm_ctl commit
• uc: Add params for specifying firmware commit
• Show the current i915_params in debugfs/i915_capabilites commit
• Use atomic page flip for intel again commit
• Support explicit fencing for execbuf commit
• Enable userspace to opt-out of implicit fencing commit
• Add missing SKL ID commit
• nouveau
• Acceleration support for Pascal (GP10x) commit, commit, commit
• Add GP107 acceleration support commit, commit, commit
• Add GP10B support commit, commit, commit, commit, commit, commit, commit, commit, commit
• secboot: add support for SEC LS firmware commit, support for loading LS PMU firmware commit, support for r364 ACR commit, support for r367
ACR commit, support for r375 ACR commit, support for unload blob bootloader commit, support optional falcons commit, support running ACR on
SEC commit, support standard NVIDIA HS binaries commit
• vmwgfx: Add atomic modesetting support merge
• omapdrm: Add support for render nodes commit
• mediatek: add support for Mediatek SoC MT2701 commit
• vc4: Add HDMI audio support commit
• mali-dp
• Color management support commit, commit
• Add plane scaling support commit, commit
• Enable power management commit
• Add core_id file to the sysfs interface commit
• panel
• Add generic LVDS panel driver commit
• Add driver for sitronix ST7789V LCD controller commit
• Add support for S6E3HA2 panel driver on TM2 board commit
• simple: Add support for Ampire AM-480272H3TMQW-T01H commit
• simple: Add support for Winstar WF35LTIACD commit
• rcar-du
• Add DPLL support commit
• Add Gen3 HDMI encoder support commit
• ipu-v3
• Prefetch Resolve Engine/Gasket commit, commit
• Add support for separate alpha channels commit
• etnaviv
• add etnaviv cooling device commit
• Support for in-fences commit and out-fences commit
• fb-helper
• Add multi buffer support for cma fbdev commit
• Implement legacy ioctl FBIO_WAITFORVSYNC commit
• meson: HDMI Synopsys Controller support for Amlogic Meson Display commit, commit, commit, commit
• rockchip
• Add dw-mipi power domain support commit
• dw-mipi: support RK3399 mipi dsi commit
• bridge
• Add LVDS encoder driver commit
• Drivers for megachips-stdpxxxx-ge-b850v3-fw (LVDS-DP++) commit
• tegra: add VIC support commit
• dma-buf: fence debugging commit
• Add a new connector atomic property for link status commit
• qxl: Enable atomic modesetting ioctl commit
• host1x: Add IOMMU support commit
• backlight: Add support for Arctic Sand LED backlight driver chips commit
12.2. Storage
• Add Fabric assigned WWN support commit
• ata: add Palmchip BK3710 PATA controller driver commit
• ata: ahci: add support for DaVinci DM816 SATA controller commit
• nvme: improve performance for virtual NVMe devices commit
• nvme_fc: add controller reset support commit
• pata: remove the at91 driver commit
• SCSI
• Show the SCSI CDB for pending SCSI commands in /sys/kernel/debug/block/*/mq/*/dispatch and */rq_list commit
• cxlflash: Support up to 4 ports commit, commit, commit
• cxlflash: Support multiple hardware queues commit
• tcmu: Add dynamic growing data area feature support commit
• tcmu: Add global data block pool support commit
• target/user: PGR Support commit
• fnic
• Adding Check Condition counter to misc fnicstats commit
• Adding debug IO and Abort latency counter to fnic stats commit
• hisi_sas: add softreset function for SATA disk commit
• hpsa: update pci ids commit
• lpfc: Add MDS Diagnostic support commit
• stex
• Add S6 support commit
• Support Pegasus 3 product commit
• storvsc: Add support for FC rport commit
12.4. Networking
• Bluetooth
• Added support for Rivet Networks Killer 1535 commit
• Add nokia driver commit
• btusb: Add support for Intel Bluetooth devices 9160/9260 [8087:0025] commit
• hci_intel: Add support Intel Bluetooth device 9160/9260 for UART commit
• hci_uart: add LL protocol serdev driver support commit
• Infiniband
• Add support for fd objects commit
• Add support for idr types commit
• hfi1: Add fault injection features commit, commit
• hfi1: OPA_VNIC RDMA netdev support commit
• hfi1: VNIC SDMA support commit
• hfi1: Virtual Network Interface Controller (VNIC) HW support commit
• ipoib: add get_link_ksettings in ethtool commit
• opa-vnic: Addition of the VNIC driver from Intel. While IPoIB provides IP over InfiniBand (and *only* IP, no lower layer protocol headers are
allowed or supported), the VNIC driver presents a virtual Ethernet device with support for things like varying Ethertypes, VLANs, priorities and other
features of Ethernet. The virtual devices are centrally managed by the OPA fabric manager, making this (for the time being) a strictly OPA specific
feature commit, commit, commit, commit, commit, commit, commit, commit, commit
• rxe: Add port protocol stats commit
• rxe: Offload CRC calculation when possible commit
• mlx5
• RDMA net device support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,
commit, commit
• Enable IPoIB acceleration commit
• Support congestion related counters commit
• Update the list of the PCI supported devices commit
• Offloading of TC pedit (header re-write) action commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,
commit
• Add support for RXFCS feature flag commit
• Add support to neighbour update flow commit
• ath9k: Add Dell Wireless 1601 with wowlan capability commit
• ath9k_htc: Add support of AirTies 1eda:2315 AR9271 device commit
• bnxt_en
• Add 100G link speed reporting for BCM57454 ASIC in ethtool commit
• Add PHY loopback to ethtool self-test commit
• Add basic WoL infrastructure commit
• Add basic ethtool -t selftest support commit
• Add ethtool get_wol method commit
• Add ethtool mac loopback self test commit
• Add ethtool set_wol method commit
• Add interrupt test to ethtool -t selftest commit
• bonding: add 802.3ad support for 25G speeds commit
• brcmfmac: add support to move wiphy instance into network namespace commit
• can
• add Virtual CAN Tunnel driver (vxcan) commit
• Enable module auto loading for virtual CAN interfaces commit
• hi311x: Add Holt HI-311x CAN driver commit
• mcba_usb: Add support for Microchip CAN BUS Analyzer commit
• peak: add support for PEAK PCAN-PCIe FD CAN-FD boards commit
• dpaa_eth
• Add four prioritised Tx traffic classes commit
• Enable Rx checksum offload commit
• Enable multiple Tx traffic classes commit
• xgene-v2: t adds support for RGMII based 1GbE hardware commit, commit, commit, commit, commit, commit, commit, commit
• e1000e
• Add Support for 38.4MHZ frequency commit
• Add Support for CannonLake commit, commit
• ftgmac100
• Add ethtool n-way reset call commit
• Add ndo_set_rx_mode() and support for multicast & promisc commit
• Add netpoll support commit
• Add pause frames configuration and support commit
• Add vlan HW offload commit
• Make ring sizes configurable via ethtool commit
• gtp: support SGSN-side tunnels commit
• i40e
• Add counters for UDP/IPv4 and IPv4 filters commit
• Add support for SCTPv4 FDir filters commit
• Allow changing input set for ntuple filters commit, commit
• Dump VF information in debugfs commit
• new AQ commands commit
• add client interface commit
• ibmvnic: Remove debugfs support commit
• ieee802154: Add CA8210 IEEE 802.15.4 device driver commit
• igb/igbvf: Add VF MAC filter request capabilities commit
• igb: Add support for ethtool private flag to allow use of legacy Rx commit
• iwlwifi
• add four new 8265 and 8275 series PCI IDs commit
• Add support for 9000 HW B-step NICs commit
• mvm: add multicast station commit
• mvm: add support for EWRD (Dynamic SAR) ACPI table commit
• Support a000 CDB product commit
• ixgbe
• Add 1000Base-T device based on X550EM_X MAC commit
• Add X552 XFI backplane support commit
• Complete support for X553 sgmii commit
• Add XDP support commit, commit
• liquidio: add support for XPS commit
• mac80211_hwsim: Add channel 169 (5845 MHz) commit
• mlx4: add rx_alloc_pages counter in ethtool -S commit
• mlxsw
• Remove debugfs interface commit
• Add support for TC flower offload statistics commit, commit, commit, commit, commit, commit, commit, commit, commit
• spectrum: Add support for VLAN offload for cls_flower commit, commit
• Enable VRF offload commit, commit, commit, commit, commit, commit, commit, commit, commit
• Distributed Switch Architecture
• Add dsa support for Mediatek MT7530 switch commit
• LAN9303: add I2C managed mode support commit
• LAN9303: add MDIO managed mode support commit
• Mock-up driver commit
• Add new DSA switch driver for the SMSC-LAN9303 commit
• mv88e6xxx: add VTU support for 88E6390 commit, commit, commit
• mv88e6xxx: enable ATU Learn2All commit
• bcmgenet: add support for the GENETv5 hardware commit
• dwc-xlgmac: Initial driver for DesignWare Enterprise Ethernet commit, commit
• bgmac: driver power manangement commit
• ks8851: Added support for half-duplex SPI commit
• mvneta: support suspend and resume commit
• mvpp2: finally add the PPv2.2 compatible string commit
• phy: bcm7xxx: add support for 28nm EPHY commit
• stmmac: Multiqueue support commit, commit, commit, commit, commit
• stmmac: Use AVB mode by default commit
• stmmac: dwc-qos: Add Tegra186 support commit
• thunderx: Add XDP support commit, commit, commit
• thunderx: Enable TSO and checksum offloads for ipv6 commit
• qmi_wwan: add Telit ME910 support commit
• qmi_wwan: add qmap mux protocol support commit
• vrf: performance improvements for IPv4 commit and IPv6 commit
• netvsc: enable GRO commit
• netvsc: implement NAPI commit
• nfp
• Add extended error messages commit
• Add port state refresh commit
• Add support for .set_link_ksettings() commit
• Add support for reporting CRC32 hash function commit
• Allow multi-stage NSP configuration commit
• Implement .ndo_get_phys_port_name() commit
• move more ring debug info to debugfs commit
• report auto-negotiation in ethtool commit
• report link speed from NSP commit
• report port type in ethtool commit
• qed/qede
• VF tunnelling support [VXLAN/GENEVE/GRE] commit
• Add support for QL41xxx adapters commit
• Utilize Firmware 8.15.3.0 commit
• Add UDP ports in bulletin board commit
• Enable tunnel offloads based on hw configuration commit
• aRFS support commit, commit
• qmi_wwan: add another Lenovo EM74xx device ID commit
• rt2x00: add support for MT7620 commit
• rtlwifi: Add code to read new versions of firmware commit
• smsc911x: Adding support for Micochip LAN9250 Ethernet controller commit
• stmmac: Add support for SIMATIC IOT2000 platform commit
• sunvnet: add stats to track ldom to ldom packets and bytes commit
• sunvnet: count multicast packets commit
• wil6210: remove HALP voting in debugfs ioblob commit
• wil6210: support 8KB RX buffers commit
12.5. Audio
• fireface: Add new driver for RME Fireface series commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit,
commit, commit, commit
• firewire-motu: new driver for MOTU FireWire series commit, commit, commit, commit, commit, commit, commit ,commit, commit, commit, commit,
commit, commit, commit, commit, commit, commit, commit
• firewire-digi00x: add support for console models of Digi00x series commit, allow user space applications to read/write MIDI messages for all ports
commit
• hda
• Add HP ZBook 15u G3 Conexant CX20724 GPIO mute leds commit
• Support Gigabyte Gaming board with dual Realtek codecs commit
• realtek - Add Dual Codecs support for Lenovo P520/420 commit
• realtek - Add support for Acer Aspire E5-475 headset mic commit
• Add Geminilake id to SKL_PLUS commit
• ASoC
• Add support for Cirrus Logic CS35L35 Amplifier commit
• Add support for Maxim Integrated MAX98927 Amplifier commit
• Intel: Atom: enable BYT/CHT+DA7213 machine driver commit
• Intel: Skylake: Add loadable module support on KBL platform commit, add support for deferred DSP module bind commit
• Intel: add machine driver for BYT/CHT + DA7213 commit
• Intel: boards: add card for MinnowBoardMax/Up I2S access commit
• dio2125: add dio2125 amp driver commit
• es7134: add es7134 DAC driver commit
• hisilicon: Add hi6210 i2s audio driver commit
• mediatek: Add mt2701-wm8960 machine driver commit
• nau8824: new driver commit
• rsnd: enable clock-frequency for both 44.1kHz/48kHz commit
• samsung: Add Odroid ASoC machine driver commit
• sgtl5000: Allow LRCLK pad drive strength to be changed commit
• wm_adsp: Add support for ADSP2V2 commit
• zx-tdm: add zte's tdm controller driver commit
12.6. Tablets, touch screens, keyboards, mouses
• HID
• Accutouch: Add driver for ELO Accutouch 2216 USB Touchscreens commit
• Add quirk driver for NTI USB-SUN adapter commit
• asus: Add support for T100 keyboard commit
• asus: support Republic of Gamers special keys commit
• asus: support backlight on USB keyboards commit
• logitech-hidpp: add a sysfs file to tell we support power_supply commit
• logitech-hidpp: add battery support for HID++ 2.0 devices commit
• logitech-hidpp: add support for battery status for the K750 commit
• logitech-hidpp: battery: provide CAPACITY_LEVEL commit
• logitech-hidpp: battery: provide ONLINE property commit
• logitech-hidpp: enable HID++ 1.0 battery reporting commit
• sony: Expose DS3 motion sensors through separate device commit
• sony: Make DS4 bt poll interval adjustable commit
• sony: Report DS4 motion sensors through a separate device commit
• sony: Support motion sensor calibration on dongle commit
• sony: Treat the ds4 dongle as a separate device commit
• wacom: generic: add 3 tablet touch keys commit
• wacom: generic: add mode change touch key commit
• wacom: generic: support touch on/off softkey commit
• add support for PlayStation 1/2 joypads connected via SPI commit
• bma150 - remove support for bma150 commit
• pm8xxx-vib - add support for pm8916's vibrator commit
• psmouse - add support for SMBus companions commit
• psmouse - implement fast reconnect option commit
• soc_button_array - add support for ACPI 6.0 Generic Button Device commit
• synaptics - add support for Intertouch devices commit
• tsc2007 - add iio interface to read external ADC input and temperature commit
• xpad - add USB IDs for Mad Catz Brawlstick and Razer Sabertooth commit
• cpcap-pwrbutton: New driver commit
• touchscreen: mxs-lradc: Add support for touchscreen commit
12.10. Serial
• uartlite: Adding a kernel parameter for the number of uartlites commit
• altera_jtaguart: add earlycon support commit
• 8250_fintek: Enable high speed mode on Fintek F81866 commit
• altera_uart: add earlycon support commit
• 8250_early: Add earlycon support for Palmchip UART commit
12.23. Leds
• leds/trigger/cpu: Add LED trigger for all CPUs aggregated commit
• cpcap: new driver commit
• Add LED support for MT6323 PMIC commit
12.26. PCI
• MicroSemi Switchtec management interface driver commit, commit, commit, commit
• Add sysfs sriov_drivers_autoprobe to control VF driver binding commit
• dwc: designware: Add EP mode support commit
• dwc: dra7xx: Add EP mode support commit
• Recognize Thunderbolt devices commit
• Add device IDs for DRA74x and DRA72x commit
• endpoint: Add EP core layer to enable EP controller and EP functions commit
• endpoint: Create configfs entry for EPC device and EPF driver commit
• endpoint: Introduce configfs entry for configuring EP functions commit
• endpoint: functions: Add an EP function to test PCI commit
• faraday: Add Faraday Technology FTPCI100 PCI Host Bridge driver commit
• imx6: Add code to support i.MX7D commit
• rockchip: Advertise 128-byte Read Completion Boundary support commit
• tools: PCI: Add sample test script to invoke pcitest commit
• tools: PCI: Add a userspace tool to test PCI endpoint commit
12.27. Clock
• renesas: rcar-gen3-cpg: Add support for RCLK on R-Car H3 ES2.0 commit
• renesas: r8a7795: Add support for R-Car H3 ES2.0 commit
• meson-gxbb: Add MALI clocks commit
• add clk_possible_parents debugfs file commit
• sunxi-ng: add Allwinner H5 CCU support for H3 CCU driver commit
• meson-gxbb: Add GXL/GXM GP0 Variant commit
• mediatek: add clk support for MT6797 commit
• vc5: Add support for IDT VersaClock 5P49V5935 commit
• sunxi-ng: add support for PRCM CCUs commit
12.28. Various
• auxdisplay: Add HD44780 Character LCD support commit
• auxdisplay: charlcd: Add support for displays with more than two lines commit
• auxdisplay: charlcd: Add support for 4-bit interfaces commit
• hwrng: mtk - Add driver for hardware random generator on MT7623 SoC commit
• EDAC, thunderx: Add Cavium ThunderX EDAC driver commit
• extcon: intel-cht-wc: Add Intel Cherry Trail Whiskey Cove PMIC extcon driver commit
• fpga: zynq: Add support for encrypted bitstreams commit
• fpga: Add support for Lattice iCE40 FPGAs commit
• FPGA: Add TS-7300 FPGA manager commit
• fpga pr ip: Core driver support for Altera Partial Reconfiguration IP commit
• fpga manager: Add Xilinx slave serial SPI driver commit
• fpga: Add support for Xilinx LogiCORE PR Decoupler commit
• fpga pr ip: Platform driver for Altera Partial Reconfiguration IP commit
• irqchip: Add Mediatek mtk-cirq driver commit
• irqchip: mips-cpu: Introduce IPI IRQ domain support commit
• mailbox: Add driver for Broadcom FlexRM ring manager commit
• mailbox: bcm-pdc: Add Northstar Plus support to PDC driver commit
• mei: implement fsync commit
• mei: drop amthif internal client commit
• drivers/misc: Add Aspeed LPC control driver commit
• cxl: Add psl9 specific code commit
• cxl: Enable PCI device IDs for future IBM CXL adapters commit
• misc: Add host side PCI driver for PCI test function device commit
• nfc: Add support RC-S380P to port100 commit
• NFC: remove TI nfcwilink driver commit
• phy: rockchip-usb: Add vbus regulator support commit
• phy: phy-mt65xx-usb3: add support for new version phy commit
• phy: qcom-qmp: new qmp phy driver for qcom-chipsets commit
• phy: qcom-qusb2: New driver for QUSB2 PHY on Qcom chips commit
• soc: qcom: smd: Remove standalone driver commit
• soc: ti: Add ti_sci_pm_domains driver commit
• soc: imx: Add GPCv2 power gating driver commit
• soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0 commit
• soc/tegra: Implement Tegra186 PMC support commit
• w1: add support for DS2438 Smart Battery Monitor commit
• firmware: Google VPD sysfs driver commit
• firmware: google memconsole: Add ARM/ARM64 support commit
• firmware: google memconsole: Add coreboot support commit
• Android: goldfish_pipe: An implementation of more parallel pipe commit
• perf: qcom: Add L3 cache PMU driver commit