KernelNewbies:

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

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

Linux 4.15 has been released on 28 Jan 2018.

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

1. Coolest features

1.1. Meltdown/Spectre

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

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

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

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

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

Code: merge

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

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

Related link: Hans de Goede post

Related link: Matthew Garret post

Code: commit

1.4. New architecture: RISC-V

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

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

Code: merge

1.5. Support for AMD Secure Encrypted Virtualization

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

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

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

See: AMD memory encryption whitepaper

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

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

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

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

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

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

Recommended LWN article: A milestone for control groups

Code: commit, commit

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

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

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

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

2. Core

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

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

  • epoll: Massively increase nested epoll performance, commit, commit

  • Control Groups
    • (FEATURED) cgroup2 cpu controller support commit, commit

    • Export list of cgroups v2 features in /sys/kernel/cgroup/features commit

    • Export list of delegatable control files in /sys/kernel/cgroup/delegate commit

    • Implement cgroup2 basic CPU usage accounting to allow monitoring by default without the CPU controller enabled commit, commit, commit, commit

  • livepatching
    • (Un)patching Callbacks, which provide a mechanism for livepatch modules to execute callback functions when a kernel object is (un)patched. They can be considered a "power feature" that extends livepatching abilities to include: Safe updates to global data, "Patches" to init and probe functions and patching otherwise unpatchable code (i.e. assembly) commit, commit, commit

    • Shadow variables: they allow callers to associate new shadow fields to existing data structures, in order to emulate additions to said structures commit

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

  • sysvipc: make get_maxid O(1) once again commit

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

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

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

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

  • kcov: support comparison operands collection commit

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

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

3. File systems

4. Memory management

5. Block layer

  • loop: make loop cgroup aware commit

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

  • null_blk: add no_sched module parameter commit

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

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

  • bcache: implement PI controller for writeback rate commit

  • brd: remove dax support commit

6. Tracing and perf

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

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

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

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

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

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

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

  • perf script: Allow creating per-event dump files commit

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

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

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

7. Virtualization

8. Cryptography

  • sm3: add OSCCA SM3 secure hash commit

9. Security

  • Add eBPF LSM hooks (see bpf section in networking)
  • EVM
    • Extend the /sys/kernel/security/evm interface to allow userspace to signal an RSA key has been loaded. Also allow userspace to block loading of a symmetric key in order to avoid a compromised system from being able to load an additional key type later commit

    • Include security.apparmor in EVM measurements commit

  • audit
    • Adds the ability to filter records based on the filesystem type (useful for ignoring tracefs or debugfs) commit

    • Allow auditd to set pid to 0 to end auditing commit

    • Record fanotify access control decisions commit

  • Smack: Base support for overlayfs commit

10. Networking

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

  • TCP
    • Maintain the TCP retransmit queue using an rbtree, with 1GB windows at 100Gb this really has become necessary commit

    • Improve the CPU consumption of the RACK TCP loss recovery algorithm, in particular for high-speed networks commit, commit, commit

    • Remove the forward-acknowledgment (FACK) packet-based loss and reordering detection. FACK has been disabled by default and the successor RACK subsumed FACK and can handle reordering better commit, commit

    • Higher throughput under reordering with adaptive RACK reordering wnd commit

    • New socket option TCP_FASTOPEN_KEY to allow different keys per listener commit

    • Configure TFO without cookie per socket and/or per route. Linux already allows to enable TFO without a cookie by using the fastopen-sysctl and setting it to TFO_SERVER_COOKIE_NOT_REQD (or TFO_CLIENT_NO_COOKIE). This release exposes a socket-option and a per-route attribute to enable such fine-grained configurations commit

    • Add namespace support for the sysctls tcp_abort_on_overflow commit, tcp_adv_win_scale commit, tcp_app_win commit, tcp_autocorking commit, tcp_challenge_ack_limit commit, tcp_default_congestion_control commit, tcp_dsack commit, tcp_early_retrans commit, tcp_fack commit, tcp_frto commit, tcp_invalid_ratelimit commit, tcp_limit_output_bytes commit, tcp_max_reordering commit, tcp_min_rtt_wlen commit, tcp_min_tso_segs commit, tcp_moderate_rcvbuf commit, tcp_nometrics_save commit, tcp_pacing_ca_ratio commit, tcp_pacing_ss_ratio commit, tcp_recovery commit, tcp_retrans_collapse commit, tcp_rfc1337 commit, tcp_rmem and tcp_wmem commit, tcp_slow_start_after_idle commit, tcp_stdurg commit, tcp_thin_linear_timeouts commit, tcp_tso_win_divisor commit, tcp_workaround_signed_windows commit

    • Add support for the new of a new TCP experimental option that is needed by the SMC protocol. With this option, SMC capabilities are exchanged between peers during the TCP three way handshake commit

  • IPv4
    • Add namespaces support for the sysctl tcp_fastopen commit, tcp_fastopen_blackhole_timeoutcommit, tcp_fastopen_key commit

    • Send a netevent whenever multipath hash policy is changed commit

  • IPv6
    • During route lookup, reader lock is taken and during route insertion, deletion or modification, writer lock is taken. This is a very inefficient implementation because the fastpath always has to do the operation to grab the reader lock. This release tries to get rid of the usage of the rwlock and replace it with rcu and spinlock protection. This greatly speeds up the fastpath performance as it only needs to hold rcu which is much less expensive than grabbing the reader lock commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Implement limits on RFC 8200 Hop-by-Hop and Destination options commit

    • Set all.accept_dad to 0 by default commit

    • Add support for sockopt(SOL_IPV6, IPV6_FREEBIND) commit

    • ila: make identifier format optional commit, commit, commit, commit, commit

    • Add a per-device sysctl (ndisc_tclass) to specify IPv6 Neighbour Discovery traffic class commit

  • VSOCK: add the netlink sock_diag interface for AF_VSOCK. Userspace can send a DUMP request to filter sockets based on their state (connected, listening, etc) commit, commit, commit, commit, commit

  • BPF
    • spectre v2 prevention: prevent out-of-bounds speculation commit, introduce BPF_JIT_ALWAYS_ON config commit

    • Add 'bpftool' utility, to help with the inspection and simple manipulation of eBPF maps (documentation tools/bpf/bpftool

    • Allow BPF programs to get the base RTT of the connection commit, commit, commit, commit, commit

    • New bpf cpumap type for XDP_REDIRECT commit commit, commit, commit, commit

    • eBPF-based device cgroup controller: cgroup v2 lacks the device controller, provided by cgroup v1; this release adds a new eBPF program type, which in combination of previously added ability to attach multiple eBPF programs to a cgroup, will provide a similar functionality, but with some additional flexibility commit, commit, commit, commit, commit

    • New file mode and LSM hooks for eBPF object permission control: eBPF objects are accessed, controlled, and shared via a file descriptor, but unlike file descriptors for files and sockets, the existing mechanisms for eBPF object access control are very limited: grant access to all processes, or only CAP_SYS_ADMIN processes. This release adds LSM hooks to eBPF so that security systems such as selinux can do a more fine grained control commit, commit, commit, commit, commit

    • Extend bpf_{prog,map}_info commit, commit, commit, commit, commit

    • Permit multiple bpf attachments for a single perf tracepoint event commit, commit, commit

    • Enable generic transfer of metadata from XDP into skb, meaning the packet has a flexible and programmable room for meta data, which can later be used by BPF to set various skb members when passing up the stack commit, commit, commit, commit, commit, commit

    • Add support for attaching multiple programs per cgroup commit, commit, commit, commit, commit, commit, commit, commit

    • Add offload as a first class citizen commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • bridge
  • 802.11 (wireless)
    • Add an event that indicates that a connection is authorized commit

    • in-kernel regulatory database commit, commit, commit, commit

    • nl80211: add Optimized Connectivity Experience (OCE) scan and capability flags commit, commit

    • nl80211: add an option to allow MFP without requiring it commit

  • ppp: allow usage in namespaces commit

  • ip_gre: add support for i/o_flags update commit, commit

  • ip_tunnel: add mpls over gre support commit

  • Trigger netlink notification on ifalias change via sysfs commit

  • Time-sensitive Networking (TSN): Add qdisc based config interface for Credit-Based Shaper (CBS). The CBS queueing discipline implements the shaper algorithm defined by the 802.1Q-2014 Section 8.6.8.2 and detailed in Annex L commit, commit, commit, commit, commit, commit

  • Distributed switch architecture: add port fdb dump commit

  • qrtr: Support decoding incoming v2 packets commit

  • packet scheduler
    • sch_htb: add per class overlimits counter commit

    • sch_netem: convert netem away from the old "ticks" interface and userspace API, and add support for a new "slot" feature intended to emulate bursty macs such as WiFi and LTE better commit, commit, commit

  • netfilter: nf_tables: adds a new get operation to look up for specific elements in a set via netlink interface commit

  • openvswitch
    • Enable NSH support commit

    • Add meter action support to runs packet through a meter, which may drop the packet, or modify the packet (e.g., change the DSCP field) commit, commit, commit, commit

    • Allow openvswitch to query ports in another netns commit, commit, commit

  • smc: add SMC rendezvous protocol commit

  • SCTP: Introduce SCTP Stream Schedulers. It provides 3 schedulers at the moment: FCFS, Priority and Round Robin. The other 3, Round Robin per packet, Fair Capacity and Weighted Fair Capacity will be added later commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • TIPC: Add a 'Group Communication' feature in order to resolve the datagram and multicast flow control problem. This new feature makes it possible for a user to instantiate multiple private virtual brokerless message buses by just creating and joining member sockets commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ipvlan: add 'private' and 'vepa' attributes to ipvlan modes commit, commit

  • TUN: enable NAPI for TUN/TAP driver commit, commit

  • Infiniband
  • NFC: Add NFC_CMD_DEACTIVATE_TARGET support commit

11. Architectures

12. Drivers

12.1. Graphics

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

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

  • intel
    • Add Display IPC support. IPC (Isochronous Priority Control) is the hardware feature, which dynamically controls the memory read priority of Display commit, commit, commit

    • Transparent Huge Page support commit, commit, commit, commit, commit, commit

    • User defined priorities support. It allows to change the default priority on a per-context basis, allowing different contexts to be favoured with GPU time at the expense of lower importance work. The user can adjust the context's priority via I915_CONTEXT_PARAM_PRIORITY, with more positive values being higher priority (they will be serviced earlier, after their dependencies have been resolved) commit, commit, commit

    • gvt: Add emulation for BAR2 (aperture) with normal file RW approach commit

    • gvt: Add support for PCIe extended configuration space commit

    • perf: add support for Coffeelake GT2 commit

    • Drop debugfs/i915_gem_pin_display commit

  • amdgpu
    • (FEATURED) Merge the AMD DC (display code) layer which is requirement to program the display engines on the new Vega and Raven based GPUs. It also contains support for all amdgpu supported GPUs (CIK, VI, Polaris), which has to be enabled. It is also a kms atomic modesetting compatible driver (unlike the previous display code) and it includes HDMI and DP audio, DP MST, and many other advanced display features merge

    • Per VM BO support commit, commit

    • BO flag to allow buffers to opt out of implicit sync commit

    • CI powerplay support commit, commit, commit, commit

    • PASID mgr for kfd commit, commit, commit

    • Add GPU reset functionality for Vega10 commit

    • Prime mmap support commit

    • Add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file or being able to convert an amdgpu fence into one of the handles commit

    • UVD video encode ring support on Polaris commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Transparent huge page DMA support commit, commit, commit, commit

    • CTX priority setting API commit, commit, commit, commit, commit

    • Add query to allow userspace to figure out if VRAM was lost commit

    • Powerplay: get the temperature on CZ commit

    • Add sys file for VBIOS and version commit, commit

    • Add option for force enable multipipe policy for compute commit

  • amdkfd: Drop radeon support commit

  • nouveau
    • Pascal temperature sensor support commit

  • exynos
    • HDMI audio interface support commit

    • Enable support for 1024x768 and 1280x1024 modes commit

  • tegra
    • Prep work for tegra186 commit

  • msm
    • Preemption support for a5xx commit

    • Add per-instance submit queues commit

    • Support multiple ringbuffers commit

    • Add a parameter query for the number of ringbuffers commit

    • Update cursors asynchronously through atomic commit

  • vc4
  • Rockchip
  • omapdrm
  • etnaviv
  • sun4i
    • Add support for A10 display pipeline components commit and A20 display pipeline components commit

    • Support output muxing commit

    • Add support for A31's HDMI controller commit

    • Support HDMI controller on A10 commit, commit

  • pl111
    • Add all registers to debugfs commit

    • Add handling of Versatile platforms commit

    • Enable PL110 variant commit

  • adv7511
  • sii8620
    • Add remote control support commit

  • host1x
  • panel
    • Add driver for Seiko 43WVF1G panel commit

    • Add support for OTM8009A panel driver commit

    • Add support for S6E63J0X03 panel commit

    • Add support for the Raspberry Pi 7" Touchscreen commit

    • simple: add Toshiba LT089AC19000 commit

  • tve200: Add new driver for TVE200 commit

  • bridge: add Silicon Image SiI9234 driver commit

  • fbdev: remove dead igafb driver commit

12.2. Storage

12.3. Drivers in the Staging area

  • typec: fusb302: Move out of staging commit

  • typec: tcpm: Move out of staging commit

  • comedi: adv_pci_dio: update for PCI-1761 commit

  • atomisp: Remove AP1302 sensor support commit

  • atomisp: Remove IMX sensor support commit

  • VME: Remove PIO2 driver commit

12.4. Networking

12.5. Audio

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

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

  • hda: Add Raven PCI ID commit

  • line6: add support for POD HD DESKTOP commit

  • ASoC
    • AMD: Add machine driver for cz rt5650 commit

    • Intel: Headset button support in kabylake machine driver commit

    • Intel: cht_bsw_max98090: add support for Baytrail commit

    • add mclk-fs support to audio graph card commit

    • arizona: Add support for setting the output volume limits commit

    • bcm2835: Add support for TDM modes commit, support additional samplerates up to 384kHz commit, support left/right justified and DSP modes commit

    • cygnus: Remove support for 8 bit audio and for mono commit

    • da7213: add support for DSP modes commit

    • intel: byt: Add headset jack commit

    • max98927: Added support for DSP_A and DSP_B format commit

    • rsnd: add MIX Volume Ramp support commit

    • rt5514: Voice wakeup support commit

    • stm32: sai: Add synchronization support commit

    • ts3a227e: add acpi table commit

    • wm9705: add ac97 new bus support commit

    • wm9712: add ac97 new bus support commit

    • wm9713: add ac97 new bus support commit

  • sound: Retire OSS commit

12.6. Tablets, touch screens, keyboards, mouses

  • HID
    • Add ID 044f:b605 ThrustMaster, Inc. force feedback Racing Wheel commit

    • alps: add support for Alps T4 Touchpad device commit, add new U1 device ID commit,

    • asus: Add support for Fn keys on Asus ROG G752 commit

  • Add I2C attached EETI EXC3000 multi touch driver commit

  • Add support for HiDeep touchscreen commit

  • Add support for the Samsung S6SY761 touchscreen commit

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

  • goodix: support gt1151 touchpanel commit

  • wm97xx: add new AC97 bus support commit

  • xpad: add support for PDP Xbox One controllers commit

12.7. TV tuners, webcams, video capturers

  • rockchip/rga: v4l2 m2m support commit

  • v4l2-tpg: add Y10 and Y12 support commit

  • vivid: add support for Y10 and Y12 commit

  • cec-gpio: add HDMI CEC GPIO driver commit

  • imx274: V4l2 driver for Sony imx274 CMOS sensor commit

  • remote control
    • keymaps: add support for RC of hisilicon TV demo boards commit

    • keymaps: add support for RC of hisilicon poplar board commit

    • Add Astrometa T2hybrid keymap module commit

    • Add driver for tango HW IR decoder commit

    • Add tango keymap commit

    • mceusb: add support for 15f4:0135 commit and 1b80:d3b2 commit

  • tc358743: add CEC support commit

  • tegra-cec: add Tegra HDMI CEC driver commit

  • usbtv: add a new usbid commit

12.8. Universal Serial Bus (USB)

  • typec: driver for TI TPS6598x USB Power Delivery controllers commit

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

  • f81534: implement break control commit

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

  • dwc2: add support for STM32F7xx USB OTG HS commit

  • mtu3: support option to disable usb3 ports commit

  • mtu3: add support for usb3.1 IP commit

  • renesas_usbhs: add support for R-Car D3 commit

  • usb251xb: Add USB2517i specific struct and IDs commit

  • xhci-mtk: support option to disable usb3 ports commit

  • xhci: add port speed ID to portsc tracing commit

  • xhci: Add debugfs interface for xHCI driver commit

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

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

  • usb_debug: add new USB device id commit

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

  • ftdi_sio: add id for Airbus DS P8GR commit

  • phy: Add Broadcom STB USB phy driver commit, commit

  • phy: mxs: add usb charger type detection commit

  • phy: remove phy-msm-usb.c commit

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

  • host: remove ehci-msm.c commit

  • Drop unused usb-serial-core USB driver commit

12.9. Serial Peripheral Interface (SPI)

  • imx: Add support for SPI Slave mode commit

  • Add ADI driver for Spreadtrum platform commit

12.10. Serial

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

  • 8250_mid: Enable HSU on Intel Cedar Fork PCH commit

  • meson: add Magic SysRq support commit

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

  • 8250_pci: Add Amazon PCI serial device ID commit

  • serdev: Add ACPI support commit

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

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

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

  • ACPI:
    • LPIT: Add Low Power Idle Table (LPIT) support commit

    • PMIC: Add TI PMIC TPS68470 operation region driver commit

    • PMIC: Add opregion driver for Intel Dollar Cove TI PMIC commit

    • nfit: add support for the _LSI, _LSR, and _LSW label methods commit

    • nfit: Enable to show what feature is supported for nfit_test commit

    • nfit: add 'Enable Latch System Shutdown Status' command support commit

    • nfit: add support for NVDIMM_FAMILY_INTEL v1.6 DSMs commit

    • APD: Add clock frequency for ThunderX2 I2C controller commit

  • thermal
    • hisi: Add support for hi3660 SoC commit

    • Add Tegra BPMP thermal sensor driver commit

    • Add brcmstb AVS TMON driver commit

    • imx: Add support for reading OCOTP through nvmem commit

    • int340x: processor_thermal: Add Cannon Lake support commit and Coffee Lake support commit

    • pch: Add Cannon Lake support commit

    • rockchip: Support the RV1108 SoC in thermal driver commit

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

  • nfit_test: add error injection DSMs commit

12.12. Real Time Clock (RTC)

  • mediatek: add driver for RTC on MT7622 SoC commit

  • Add support for NXP PCF85363 real-time clock commit

  • sc27xx: Add Spreadtrum SC27xx PMIC RTC driver commit

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

  • Add support for Smart Battery System Manager commit

  • axp20x: Add support for AXP813 regulators commit

  • da9211: update for supporting da9223/4/5 commit

  • qcom_spmi: Add support for pmi8994 commit

12.14. Pin Controllers (pinctrl)

  • intel: Add Intel Cedar Fork PCH pin controller support commit

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

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

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

  • rza1: Add support for RZ/A1L commit

  • gpio: mcp23s08: add support for mcp23018 commit

12.15. Multi Media Card (MMC)

12.16. Memory Technology Devices (MTD)

  • sharpslpart: Add sharpslpart partition parser commit

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

  • spi-nor
    • Add support for Winbond w25q16dw commit

    • Add support for mr25h128 commit

    • Add support for GD25Q256 commit

    • Add support for Gigadevice GD25LQ32 commit

    • intel-spi: Add support for Intel Cedar Fork SPI serial flash commit, add support for Intel Lewisburg SPI serial flash commit

12.17. Industrial I/O (iio)

  • accel: add support to LIS2DW12 commit

  • accel: add support to LIS3DHH commit

  • accel: kxcjk1013: add support for KXTF9 commit

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

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

  • dac: ds4422/ds4424 dac driver commit

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

  • chemical: ccs811: Add support for data ready trigger commit

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

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

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

  • pressure: add support to LPS33HW and LPS35HW commit

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

  • proximity: Add rfd77402 driver commit

  • platform/chrome: Add cros_ec_accel_legacy driver commit

12.18. Multi Function Devices (MFD)

  • Add Spreadtrum SC27xx series PMICs driver commit

  • Add support for Cherry Trail Dollar Cove TI PMIC commit

  • rts5249: Add support for RTS5250S power saving commit

  • wm97xx-core: core support for wm97xx Codec commit

12.19. Pulse-Width Modulation (PWM)

  • mediatek: Add MT2712/MT7622 support commit

12.20. Inter-Integrated Circuit (I2C)

  • xgene-slimpro: Support v2 commit

12.21. Hardware monitoring (hwmon)

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

  • max6621: Add support for Maxim MAX6621 temperature sensor commit

  • xgene: Support hwmon v2 commit

  • pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller commit

12.22. General Purpose I/O (gpio)

  • Add Tegra186 support commit

  • Add driver for Maxim MAX3191x industrial serializer commit

  • dwapb: Add wakeup source support commit

  • uniphier: add UniPhier GPIO controller driver commit

12.23. Leds

  • ledtrig-activity: Add a system activity LED trigger commit

  • Add driver for PC Engines APU/APU2 LEDs commit

12.24. DMA engines

  • Add STM32 DMAMUX driver commit

  • Add STM32 MDMA driver commit

  • Add Spreadtrum DMA driver commit

  • sun6i: Add support for Allwinner A64 and compatibles commit

12.25. Hardware Random Number Generator (hwrng)

  • iproc-rng200 - Add support for BCM7278 commit

12.26. Cryptography hardware acceleration

  • crypto4xx
    • Add aes-gcm support commit

    • Add aes-ccm support commit

    • enable AES RFC3686, ECB, CFB and OFB offloads commit

    • Add backlog queue support commit

  • marvell: Remove the old mv_cesa driver commit

  • s5p-sss: Add HASH support for Exynos commit

12.27. PCI

  • Add resizable BAR infrastructure commit

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

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

  • Add support for Synopsys DesignWare RC in ECAM mode commit

  • hisi: Add HiSilicon STB SoC PCIe controller driver commit

  • layerscape: Add support for ls1012a commit

  • tango: Add MSI controller support commit

  • tegra: Add Tegra186 PCIe support commit

  • v3-semi: Add V3 Semiconductor PCI host driver commit

12.28. Non-Transparent Bridge (NTB)

12.29. Clock

  • bcm: Add Broadcom Hurricane 2 clock support commit

  • renesas: cpg-mssr: Add R8A77970 support commit

  • samsung: Add a separate driver for Exynos4412 ISP clocks commit

  • qcom: Implement RPM clocks for MSM8660/APQ8060 commit

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

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

12.30. Various

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

  • bus: add driver for the Technologic Systems NBUS commit

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

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

  • firmware: tegra: Add BPMP debugfs support commit

  • iommu/omap: Add support to program multiple iommus commit

  • iommu/ipmmu-vmsa: Enable multi context support commit

  • irqchip
    • brcmstb-l2: Add support for the BCM7271 L2 controller commit

    • gic-v3: Add support for Range Selector (RS) feature commit

    • meson: Add support for gpio interrupt controller commit

    • stm32: Add stm32h7 support commit, add multi-bank management commit

    • exiu: Add support for Socionext Synquacer EXIU controller commit

  • memory: brcmstb: Add driver for DPFE commit

  • cxl: Add support for POWER9 DD2 commit

  • cxl: Provide debugfs access to PSL_DEBUG/XSL_DEBUG registers commit

  • drivers/nvmem
    • add snvs_lpgpr driver commit

    • rockchip: add support for RK3368 commit

    • Add a driver for the Amlogic Meson6/Meson8/Meson8b SoCs commit

    • uniphier: add UniPhier eFuse driver commit

    • sunxi-sid: add support for A64/H5's SID controller commit

  • remoteproc: debug: add resource table dump feature commit

  • remoteproc: debug: add carveouts list dump feature commit

  • drivers/reset
  • drivers/soc
    • renesas: rcar-sysc: add R8A77970 support commit

    • amlogic: add Meson GX VPU Domains driver commit

    • bcm: brcmstb: Add support for S2/S3/S5 suspend states commit, commit

    • qcom: Remote filesystem memory driver commit

    • atmel: Add basic support for new sama5d2 SiPs commit

    • amlogic: Add Meson6/Meson8/Meson8b/Meson8m2 SoC Information driver commit

    • mediatek: pwrap: add support for MT7622 SoC commit

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

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

13. List of merges

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2018-01-29 10:47:30 by diegocalleja)