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 5.5 was released on 26 Jan 2020.

This release includes support in Btrfs for RAID1 with 3 and 4 copies and new checksum types; KUnit, a kernel unit testing framework; many improvements to io_ring(2) largely focused around networked I/O; Airtime Queue Limits for fighting bufferbloat on Wi-Fi and provide a better connection quality; support for mounting a CIFS network share as root filesystem and for using the same session across multiple network interfaces; support adding alternative names for network devices; many BPF improvements that allow to generate faster BPF code; and support for NFS cross device offloaded copy. As always, there are many other new drivers and improvements.

1. Coolest features

1.1. Btrfs RAID1 with 3 and 4 copies and more checksum alternatives

Btrfs' RAID1 always had 2 copies. This release incorporates two new block group profiles: RAID1 with 3- and 4- copies, aka RAID1C34. This is an incompatible feature (the incompat bit will be removed if all the RAID1C34 profiles are removed). The recommended use of RAID1C3 is replacement of RAID6 profile on metadata, this brings a more reliable resiliency against 2 device loss/damage.

In this release Btrfs also adds support for new checksums (per-filesystem, set at mkfs time): xxhash, a fast hash (crc32c successor) with a 64-bit digest. Also, two strong cryptographic hashes (both 256-bit): sha256 (slower, FIPS), blake2b (faster). There is also a significant improvement of parallel lseek SEEK_CUR/SEEK_SET/SEEK_END, it is speed up by 80%.

1.2. Many improvements to io_uring(2)

This release includes several new features in io_uring(2). Improving the support for networked IO (and hence unbounded request completion times) is one of the major themes. There is also support for never drop events on an overflowed CQ ring, allow processes to set the size of the CQ ring, support for absolute timeouts, support for generic cancellations, and other improvements and speed ups.

1.3. KUnit, an unit testing framework for the kernel

This release incorporates KUnit, a lightweight unit testing and mocking framework for the Linux kernel. These tests are able to be run locally on a developer's workstation without a VM or special hardware - using the User-Mode Linux architecture. KUnit provides facilities for defining unit test cases, grouping related test cases into test suites, providing common infrastructure for running tests, and much more.

Documentation: KUnit - Unit Testing for the Linux Kernel

Recommended LWN article: A kernel unit-testing framework

1.4. Airtime Queue Limits for a better Wi-Fi connection quality

The Linux kernel has been fighting for years the phenomena know as bufferbloat: undesirable high latency that comes from network equipment buffering too much data. In order to improve the bufferbloat problems caused by the Wi-Fi stack, this release implements an Airtime-based Queue Limit to make the CoDel queuing work effectively with wireless drivers that utilized firmware/hardware offloading. For more details, see the following article:

Recommended LWN article: Making WiFi fast

1.5. CIFS as root file system and multichannel support

In this release, CIFS can be used as root file system. This release also adds support for "multichannel": it lets the client "share" the same SMB session over multiple TCP (or RDMA) connection.

1.6. Support alternative names for network interfaces

This release introduces the ability to add alternative names for network interfaces. The goal is to: overcome the name size limitations, allow to have multiple names at the same time (multiple udev patterns), and allow to use alternative names as handle for commands.

1.7. BPF improvements: type checking and BPF Trampoline

With introduction of Compile Once Run Everywhere in libbpf and in LLVM and BPF Type Format (BTF), the BPF verifier is finally ready for the next step in program verification. Now it can use in-kernel BTF to type check BPF assembly code. This type tracking allows safer and faster BPF tracing. For more details, see the following article:

Recommended LWN article: https://lwn.net/Articles/803258/Type checking for BPF tracing

This release also introduces a BPF trampoline, which allows kernel code to call into BPF programs with practically zero overhead. There is also support for memory-mapping BPF array map and other improvements.

1.8. NFS cross-device offloaded copy

This release adds NFS client support for cross-device offloaded copy. That is, offloaded copy of a file from one source server to a different target server.

2. Core (various)

  • clone3(2)
    • Add CLONE_CLEAR_SIGHAND. This lets callers clear all signal handler that are not SIG_DFL or SIG_IGN at process creation time. This originated as a feature request from glibc to improve performance and eliminaate races in their posix_spawn() implementation. Mutually exclusive with CLONE_SIGHAND to not disturb other thread's signal handler commit, commit

    • Add support for choosing a specific PID (main motivation is CRIU). In order to choose a specific pid the caller must have CAP_SYS_ADMIN in all owning user namespaces of the target pid namespaces commit, commit

  • (FEATURED) io_uring(2)
    • Add support for connect(2) commit, commit

    • Add support for accept(4) trought operation IORING_OP_ACCEPT commit, commit, commit, commit

    • Add support for sparse file sets, which means the application can register a fileset with room for expansion. On top of that, it add IORING_REGISTER_FILES_UPDATE. This allows modifying the existing file set commit, commit

    • Support up to 64K files (previously it was 1024) commit

    • Support for overflowed CQ ring, never dropping events but providing backpressure on submits: if completion events are dropped when the CQ ring, certain applications may find hard or impossible to use it. So never overflow the ring, simply store requests in a backlog for later flushing. This flushing is done automatically by the kernel commit

    • Add support for IORING_OP_ASYNC_CANCEL, which will attempt to cancel requests that have been punted to async context and are now in-flight. This works for regular read/write requests to files, as long as they haven't been started yet. For socket based IO (or things like accept4(2)), we can cancel work that is already running as well commit, commit

    • Add IORING_FEAT_SUBMIT_STABLE. If this flag is set, applications can be certain that any data for async offload has been consumed when the kernel has consumed the SQE commit, commit, commit, commit, commit

    • Add support for canceling an existing timeout requests with IORING_OP_TIMEOUT_REMOVE commit

    • Support for linked timeouts with IORING_OP_LINK_TIMEOUT flag. Unlike the existing timeouts that work on purely the CQ ring, these timeouts are specifically tied to a specific command. They are meant to be used to auto-cancel a request, if it hasn't finished in X amount of time commit, commit

    • Add support for absolute timeouts commit

    • Application control the size of the CQ ring with IORING_SETUP_CQSIZE, instead of just making it always 2x the SQ ring size. This makes it more flexible for networked applications commit

    • Make POLL_ADD/POLL_REMOVE scale better commit

    • Replace io_uring workqueues with a new type of workqueues, io-wq. For more details, see this LWN article commit, commit, commit, commit, commit

    • Add tracing events commit, commit

    • Add mapping support for NOMMU archs commit

  • task scheduler: Rework the load balance. It replaces the old heuristics that have become less meaningful after the introduction of the PELT metrics, with a grounds-up load-balancing algorithm commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Extend the seccomp(2) notifier with the SECCOMP_USER_NOTIF_FLAG_CONTINUE flag to allow for the continuation of a syscall commit, commit, commit

  • pidfd: Add NSpid entries to /proc/self/fdinfo; it allows the retrieval of the PID in all descendant pid namespaces commit, commit

  • Rework the generic CONFIG_REFCOUNT_FULL (full reference count validation) implementation using atomic_fetch_* operations so that the performance impact of the cmpxchg() loops is mitigated for common refcount operations. With these performance improvements the generic implementation of refcount_t is good enough and arch-specific implementations are no longer needed commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) kunit: introduce KUnit, the Linux kernel unit testing framework commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • cgroup: Optimize single thread migration so that it doesn't need threadgroup rwsem anymore commit, commit, commit, commit

  • livepatch: new API to track system state changes. It helps newly installed livepatches to deal with system state modifications done be already installed livepatches commit, commit, commit, commit, commit

  • Build: Add dir-pkg target which just creates the same directory structures as in tar-pkg, but doesn't package anything. Useful when the user wants to copy the kernel tree on a machine using ssh, rsync or whatever commit

  • Configuration: Introduce a new target 'make helpnewconfig' which lists all the new options, like listnewconfig, but with the full help text of all the new options as well commit

  • printf: add support for printing symbolic error names commit

  • Remove the sysctl system call (deprecated a long time ago) commit

3. File systems

  • File system infrastructure
    • iomap: Lift the XFS writeback code to iomap commit and the xfs common tracing code commit

    • fscrypt: In preparation for adding inline encryption support to fscrypt, this patchset adds a new fscrypt policy flag which modifies the encryption to be optimized for inline encryption hardware compliant with the UFS v2.1 standard or the upcoming version of the eMMC standard. This means using per-mode keys instead of per-file keys, and in compensation including the inode number in the IVs commit, commit, commit

    • statx(2): expose the fs-verity bit (a.k.a. FS_VERITY_FL). This is useful because it allows applications to check whether a file is a verity file without opening it commit, commit, commit, commit

  • Btrfs
    • (FEATURED) RAID1 with 3- and 4- copies commit, commit, commit, commit

    • (FEATURED) Speed up parallel fseek on the same file commit, commit, commit

    • send: allow clone operations within the same file commit

    • (FEATURED) Add BLAKE2 checksumming support commit, commit

    • (FEATURED) Add sha256 to checksumming algorithm commit

    • (FEATURED) Add xxhash64 to checksumming algorithms commit

    • tree-checker: Add check to detect missing inode items commit, commit

    • Avoid getting stuck during cyclic writebacks commit

    • sysfs: export supported checksums commit

    • sysfs: show used checksum driver per filesystem commit

  • XFS
  • Ceph
    • Show tasks waiting on caps in debugfs caps file commit

  • CIFS
  • ext4
    • Introduce direct I/O read/write using iomap infrastructure commit, commit

  • F2FS
    • Support aligned pinned file, which can guarantee no GC at all by allocating fully valid 2MB segment commit

  • NFS
  • EROFS
    • Support superblock checksum commit

  • HUGETBLFS

4. Memory management

5. Block layer

6. Tracing, perf and BPF

  • BPF
  • libbpf
    • Make bpf_helpers.h and bpf_endian.h a part of libbpf itself for consumption by user BPF programs, and add BPF_CORE_READ macros commit, commit, commit, commit, commit, commit, commit

    • Add bpf_object__open_file() and bpf_object__open_mem() APIs that use a new approach to providing future-proof non-ABI-breaking API changes commit, commit, commit, commit

    • Bitfield and size relocations support commit, commit, commit, commit, commit

    • Generalize libbpf's CO-RE relocation support. In addition to existing field's byte offset relocation, libbpf now supports field existence relocations, which are emitted by Clang commit, commit, commit, commit, commit

    • Teach bpf_object__open() (and its variants) to automatically derive BPF program type/expected attach type from section names, similarly to how bpf_prog_load() was doing it commit, commit, commit, commit, commit, commit, commit

    • Add support for reading 'pinning' settings from BTF-based map definitions. It introduces a new open option which can set the pinning path; if no path is set, /sys/fs/bpf is used as the default. Callers can customise the pinning between open and load by setting the pin path per map, and still get the automatic reuse feature commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Extend libbpf to support shared umems and Rx|Tx-only sockets commit, commit, commit, commit, commit

  • perf
    • probe: Support multiprobe events commit, commit, commit, commit, commit, commit, commit

    • record: Add option --kcore which will put a copy of /proc/kcore, kallsyms and modules into a perf.data directory commit, commit, commit, commit, commit, commit

    • record: Add support for limit perf output file size with --max-size commit

    • report: Support sorting all blocks by cycles with a new option --total-cycles which sorts all blocks by 'Sampled Cycles%' commit, commit, commit, commit, commit, commit, commit

    • report: Support --percent-limit for --total-cycles, or not showing entries under that percent commit

    • script: Allow --time (to specify a time span of interest) with --reltime commit

    • scripts python: exported-sql-viewer.py: Add Time chart by CPU commit, commit, commit, commit, commit, commit

    • stat: Add --per-node option to aggregate stats per NUMA nodes commit

    • stat: Support --all-kernel/--all-user to configure all used events to run in kernel space or run in user space commit

    • tools: Add support for AUX area sampling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • tools: Allow to build with -ltcmalloc commit

    • tools: Allow to link with libbpf dynamicaly commit

    • trace: Add syscall failure stats to -s/--summary and -S/--with-summary commit

    • trace: Introduce --errno-summary. To be used with -s or -S, to show stats for the errnos experienced by syscalls, using only this option will trigger --summary commit

    • trace: Introduce --filter for tracepoint events similar to what is in 'perf record', eg. perf trace -e msr:* --filter="msr!=0xc0000100" commit

    • perf_event_{open,alloc,free,read,write}(2): Add support for LSM and SELinux checks, to allow more fine grained security permissions than the perf_event_paranoid sysctl allows commit

  • Introduce PERMANENT ftrace_ops flag that makes tracing not able to be disabled by disabling ftrace_enabled, in order to not surprise users of livepatching commit, commit, commit

  • tracing: Introduce trace event injection, useful to test applications that use trace events commit

  • ftrace: new features for the preempt/irqsoff tracers: implement fs notification for tracing_max_latency, and extends the preemptirq_delay_test module so that it can be used to generate a burst of closely occurring latencies commit, commit

  • tracing: Adding new API for kernel access to Ftrace instances commit, commit

7. Virtualization

  • hv: add vmbus testing tool commit

  • hv: vmbus: Enable VMBus protocol versions 4.1, 5.1 and 5.2 commit

  • hv: vmbus: Add module parameter to cap the VMBus version commit

  • hv: vmbus: Introduce latency testing commit

  • hv_balloon: Add the support of hibernation commit

  • hv_sock: Add the support of hibernation commit

  • hv: Add PCI hibernation support commit

8. Cryptography

  • blake2b: add blake2b generic implementation commit

  • blake2s: generic C library implementation commit, commit

  • chacha20poly1305: import from Zinc commit

  • curve25519: generic C library implementations commit, commit

  • skcipher: remove the "blkcipher" algorithm type commit

  • ablkcipher: remove deprecated and unused ablkcipher support commit

9. Security

  • selinux: allow labeling before policy is loaded commit

  • selinux: A policy developer can now specify glblub as a default_range default and the computed transition will be the intersection of the mls range of the two contexts commit

  • apparmor: Initial implementation of raw policy blob compression commit

  • audit: Report suspicious O_CREAT usage commit

  • tpm: tpm_tis_spi: Support cr50 devices commit

  • Limit the size of copy_to_user() and copy_from_user() calls to INT_MAX in order to catch any weird overflows in size calculations commit

10. Networking

11. Architectures

11.1. ARM

  • New SoC descriptions
  • New boards and platforms
    • Add FriendlyARM NanoPi Duo2, an Allwinner H3 based board, with 512 MB RAM, a USB OTG port, MicroSD slot, an onboard AP6212A wifi/bluetooth module, and a CSI connector commit

    • Amlogic: Ugoos am6, based on the Amlogic W400 (G12B) reference design using the S922X chipset commit

    • Atmel at91: Overkiz Kizbox2/3 commit, commit

    • Broadcom: Raspberry Pi 4, Luxul XWC-2000 commit, commit

    • Marvell: New Espressobin flavor commit

    • NXP: i.MX8MN LPDDR4 EVK commit, commit, i.MX8QXP Colibri, S32V234 EVB commit, Netronix E60K02 commit and Kobo Clara HD commit, Kontron N6311 and N6411 commit, commit, OPOS6UL and OPOS6ULDev commit

    • Renesas: Salvator-XS with R-Car M3-W+ commit

    • Rockchip: Beelink A1 (rk3308) commit, rk3308 eval boards, rk3399-roc-pc commit, commit

    • Renesas: Initial r8a774b1 SoC device tree commit, commit

    • Renesas: Add HiHope RZ/G2N main board support commit

    • Marvell: Add support for Marvell CN9132-DB commit, CN9130-DB commit, CN9130 commit and CN9131-DB commit

    • Renesas: Add HiHope RZ/G2N sub board support commit

    • Renesas: Add Renesas R8A77961 SoC support commit

    • Add minimal support for Droid Bionic xt875 commit

    • Add DTS for NetCAN Plus devices commit

    • Add DTS for NetCom Plus 1xx and 2xx device series commit, and NetCom Plus 4xx and 8xx device series commit

    • aspeed: Add Rainier system commit

    • aspeed: Add Tacoma machine commit

    • mmp3: Add MMP3 SoC dts file commit, commit and Dell Wyse 3020 machine commit

    • marvell: Declare the CN913x SoC compatibles commit

  • Add support for generic vDSO commit

  • hw_breakpoint: add more ARMv8 debug architecture versions support commit

  • coresight
    • etm4x: Add missing single-shot control API to sysfs commit

    • etm4x: Add support for ThunderX2 commit

    • etm4x: Add view comparator settings API to sysfs commit

  • perf: Add CCPI2 PMU support in ThunderX2 UNCORE driver commit

  • perf: arm-ccn: Enable stats for CCN-512 interconnect commit

  • perf/imx_ddr: Add driver for DDR PMU in i.MX8MPlus commit, add enhanced AXI ID filter support commit

  • KVM
    • Allow reporting non-ISV data aborts to userspace commit

    • Allow user injection of external data aborts commit

    • Show halt poll counters in debugfs commit

  • crypto
    • chacha: import scalar accelerated ChaCha code commit

    • curve25519: import Curve25519 ARM implementation commit, commit

    • poly1305: incorporate OpenSSL/CRYPTOGAMS NEON implementation commit

  • ARM64
    • KVM: Expose stolen time to guests, allowing the guest to identify time when it is forcibly not executing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Workaround for a Neoverse-N1 erratum where the CPU may fetch stale instructions under certain conditions commit, commit, commit

    • Workaround for Cortex-A57 and A72 errata where the CPU may speculatively execute an AT instruction and associate a VMID with the wrong guest page tables (corrupting the TLB) commit

    • Implement ftrace with regs commit

    • crypto: gcm-ce: implement 4 way interleave commit

    • crypto: poly1305: incorporate OpenSSL/CRYPTOGAMS NEON implementation commit

    • perf vendor events arm64: Add some missing events for Hisi hip08 DDRC PMU commit, add some missing events for Hisi hip08 HHA PMU commit, add some missing events for Hisi hip08 L3C PMU commit

11.2. x86

  • Enable 5-level paging support by default commit

  • Extend the boot protocol to allow future extensions without hitting the setup_header size limit commit, commit, commit

  • Prevent user space from using CLI/STI with iopl(3): implement the IO privilege features of the iopl system call by using the IO permission bitmap in permissive mode, while trapping CLI/STI/POPF/PUSHF uses in user-space if they change the interrupt flag. For more details, see this LWN article: Emulated iopl() commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • random: invoke EFI_RNG_PROTOCOL in the x86 EFI stub to seed the kernel entropy pool commit, commit

  • intel-speed-select
  • perf: Add AUX data sampling commit, commit

  • Add support for RDPRU instruction which is used to give access to some processor registers that are typically only accessible when the privilege level is zero commit

  • Disable unreliable HPET on CFL/ICL systems commit, commit

  • More enablement for the Intel-compatible CPUs Zhaoxin commit, commit, commit

  • Converts the late loading method to load the microcode in parallel (vs sequentially currently) commit

  • Platforms
    • Add System76 ACPI driver commit

    • Support upcoming UV systems that do not have a UV HUB commit, commit, commit, commit, commit, commit, commit, commit

    • mellanox: Add bootctl driver for Mellanox BlueField Soc commit

    • acerhdf: Add support for Acer Aspire 7551 commit

    • Previously the Huawei driver handled only hotkeys. After the conversion to WMI it has been expanded to support newer laptop models commit, commit, commit, commit

    • touchscreen_dmi: Add info for the ezpad 6 m4 tablet commit

    • chrome: wilco_ec: Add Dell's USB PowerShare Policy control commit

    • chrome: wilco_ec: Add charging config driver commit

    • chrome: wilco_ec: Add debugfs test_event file commit

    • chrome: wilco_ec: Add keyboard backlight LED support commit

    • intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver commit

  • perf vendor events intel: Update Cascade Lake-X events to v1.05 commit, update all the Intel JSON metrics from TMAM 3.6 commit

  • perf: Add PCI ID of IMC for Xeon E3 V5 Family commit

  • intel_th
    • Add Comet Lake PCH-V support commit

    • Add Elkhart Lake SOC support commit

    • Add Ice Lake CPU support commit

    • Add Tiger Lake CPU support commit

  • nVMX: Add full nested support for "load IA32_PERF_GLOBAL_CTRL" VM-{Entry,Exit} control commit, commit, commit, commit, commit, commit

  • KVM: nVMX: Add support for capturing highest observable L2 TSC commit, commit, commit, commit

  • hyperv: Allow guests to enable InvariantTSC commit

  • crypto: blake2s: x86_64 SIMD implementation commit

  • crypto: curve25519: x86_64 library and KPP implementations commit

  • Remove the calgary IOMMU driver commit

11.3. PowerPC

11.4. MIPS

  • Add ARCH_HAS_FORTIFY_SOURCE support commit

  • Add kcov support commit

    • ralink: Add GARDENA smart Gateway MT7688 board commit

  • Add support for SGI Octane (IP30) commit

  • Add Loongson-3A R4 basic support commit

  • Loongson: Add CFUCFG&CSR support commit

  • BPF: Disable MIPS32 eBPF JIT commit

  • crypto:
    • chacha: import 32r2 ChaCha code from Zinc commit, commit

    • poly1305: incorporate OpenSSL/CRYPTOGAMS optimized implementation commit

11.5. RISC-V

  • Add support for SECCOMP and SECCOMP_FILTER commit

  • Add multiple compression image format commit

  • Enable gcov commit

  • Add nommu support commit

  • Provide a flat image loader commit

  • provide native clint access for M-mode commit

11.6. S390

  • kasan: add KASAN_VMALLOC support commit

  • livepatch: Implement reliable stack tracing for the consistency model commit

  • qdio: implement IQD Multi-Write commit

  • qeth: support per-frame invalidation commit

  • qeth: use IQD Multi-Write commit

  • KVM: s390: count invalid yields commit

11.7. Xtensa

  • Add XIP kernel support commit

  • Make stack dump size configurable commit

11.8. ARC

11.9. UML

  • Loadable BPF "Firmware" for vector drivers commit

12. Drivers

12.1. Graphics

12.2. Power Management

  • EFI Specific Purpose Memory Support. EFI 2.8 Specification introduces the EFI_MEMORY_SP ("specific purpose") memory attribute. This attribute bit replaces the deprecated ACPI HMAT "reservation hint" that was introduced in ACPI 6.2 and removed in ACPI 6.3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • ACPI / PMIC: Add Cherry Trail Crystal Cove PMIC OpRegion driver commit

  • ACPI: button: Allow disabling LID support with the lid_init_state module option commit

  • ACPI: EC: add support for hardware-reduced systems. This enables the use of several media keys (e.g. screen brightness up/down) on Asus UX434DA commit

  • cpupower: Make cpupower more accurate by removing the userspace to kernel transitions and read_msr initiated IPI delays commit, commit, commit, commit

  • thermal
    • tsens: Add debugfs support commit

    • qoriq: add thermal monitor unit version 2 support commit

    • amlogic: Add thermal driver to support G12 SoCs commit

    • qcom: tsens-v1: Add support for MSM8956 and MSM8976 commit

    • Remove netlink support commit

12.3. Storage

  • ahci: Add support for Amazon's Annapurna Labs SATA controller commit

  • nvme: Add hardware monitoring support commit

  • nvme: hwmon: provide temperature min and max values for each sensor commit

  • nvmem: add Rockchip OTP driver commit

  • nvmem: sprd: Add Spreadtrum SoCs eFuse support commit

  • SCSI
    • Add sysfs attributes for VPD pages 0h and 89h commit

    • hisi_sas: Add ability to have multiple debugfs dumps commit, add debugfs file structure for CQ commit, add debugfs file structure for DQ commit, add debugfs file structure for IOST commit, add debugfs file structure for IOST cache commit, add debugfs file structure for ITCT commit, add debugfs file structure for ITCT cache commit, add debugfs file structure for port commit, add debugfs file structure for registers commit, add module parameter for debugfs dump count commit, add timestamp for a debugfs dump commit, commit, record the phy down event in debugfs commit

    • lpfc: Add FA-WWN Async Event reporting commit

    • lpfc: Add FC-AL support to lpe32000 models commit

    • pm80xx: Controller fatal error through sysfs commit

    • qla2xxx: Dual FCP-NVMe target port support commit

    • storvsc: Add the support of hibernation commit

    • target: iscsi: CHAP: add support for SHA1, SHA256 and SHA3-256 commit

    • ufs-qcom: Add reset control support for host controller commit

    • ufs: Add driver for TI wrapper for Cadence UFS IP commit

    • zfcp: introduce sysfs interface for diagnostics of local SFP transceiver commit

    • zfcp: introduce sysfs interface to read the local B2B-Credit commit

    • zfcp: support retrieval of SFP Data via Exchange Port Data commit

    • sr_vendor: support Beurer GL50 evo CD-on-a-chip devices commit

12.4. Drivers in the Staging area

12.5. Networking

12.6. Audio

  • aloop: Support sound timer as clock source instead of jiffies. This is required for forwarding audio data between a HW sound card and an aloop device without the usage of an asynchronous sample rate converter. The timer source can be initially selected by timer_source kernel module parameter commit, commit, commit, commit, commit, commit, commit

  • hda
    • add Intel DSP configuration / probe code commit

    • Add DP-MST jack support commit

    • Add DP-MST support for non-acomp codecs commit

    • hda - Add DP-MST support for NVIDIA codecs commit

    • Add mute led support for HP ProBook 645 G4 commit

    • realtek: Enable the headset-mic on a Xiaomi's laptop commit

    • realtek: Enable internal speaker of ASUS UX431FLC commit

    • hdmi - Add new pci ids for AMD GPU display audio commit

    • hdmi - enable runtime pm for newer AMD display audio commit

    • hdmi - enable automatic runtime pm for AMD HDMI codecs by default commit

    • realtek - Enable the bass speaker of ASUS UX431FLC commit

    • realtek - Add headset Mic no shutup for ALC283 commit

    • realtek - Add Bass Speaker and fixed dac for bass speaker commit

  • Sound Open Firmware
    • Intel: initial support to JasperLake commit

    • acpi led support for switch controls commit

    • acpi: add debug module param commit

    • pci: add debug module param commit

  • ASoC
    • Add ADAU7118 8 Channel PDM-to-I2S/TDM Converter driver commit

    • Intel: boards: Add CML m/c using RT1011 and RT5682 commit

    • adau1761: Add ALC controls commit

    • adau1761: Add PGA Slew time control commit

    • add tas2770 smart PA kernel driver commit

    • cros_ec_codec: support WoV commit

    • fsl_mqs: Add MQS component driver commit

    • mediatek: mt6358: support WoV commit

    • mediatek: mt8183: support WoV commit

    • msm8916-wcd-analog: Add earpiece commit

    • rockchip_max98090: Add HDMI jack support commit

    • rockchip_max98090: Optionally support HDMI use case commit

    • rt5677: Add a PCM device for streaming hotword via SPI commit

    • samsung: arndale: Add support for WM1811 CODEC commit

    • tas2562: Introduce the TAS2562 amplifier commit

    • wm8994: Add support for setting MCLK clock rate commit

  • usb-audio: Add skip_validation module parameter; unit descriptor validation may lead to a probe error when the device provides a buggy descriptor or the validator detected incorrectly commit

  • firewire-motu: add support for MOTU UltraLite commit

  • soundwire: cadence_master: add hw_reset capability in debugfs commit

12.7. Tablets, touch screens, keyboards, mouses

  • Add privacy screen toggle keycode commit

  • Add touchscreen platform data for the Schneider SCT101CTM tablet commit

  • keyboard: imx_sc: Add i.MX system controller key support commit

  • edt-ft5x06: add support for regulator commit

  • ili210x: add ILI2117 support commit

  • st1232: switch to using MT-B protocol commit

  • HID
    • Add driver for Logitech gaming keyboards (G15, G15 v2) commit

    • Improve Windows Precision Touchpad detection commit

    • lg-g15: Add keyboard and LCD backlight control commit

    • lg-g15: Add support for the M1-M3 and MR LEDs commit

    • lg-g15: Add support for the G510 keyboards' gaming keys commit

    • lg-g15: Add support for the G510's M1-M3 and MR LEDs commit

    • lg-g15: Add support for controlling the G510's RGB backlight commit

    • hyperv: Add the support of hibernation commit

    • wacom: Recognize new MobileStudio Pro PID commit

    • multitouch: Add LG MELF0410 I2C touchscreen support commit

    • ite: Add USB id match for Acer SW5-012 keyboard dock commit

    • intel-ish-hid: ipc: Add Tiger Lake PCI device ID commit

    • serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx commit

    • serial: option: add support for Quectel RM500Q in QDL mode commit

    • serial: option: Add support for Quectel RM500Q commit

    • qmi_wwan: Add support for Quectel RM500Q commit

12.8. TV tuners, webcams, video capturers

  • Implement UNIT_CELL_SIZE, a control that represents the size of a cell (pixel) commit, commit, commit, commit, commit, commit, commit, commit

  • HEVC/H.265 stateless support for V4L2 and Cedrus commit, commit, commit, commit, commit

  • ad5820: Add support for ad5821 and ad5823 commit

  • af9035: add support for Logilink VG0022A commit

  • cx88: Add support for NotOnlyTV LV3H card commit

  • dvbsky: add support for eyeTV Geniatech T2 lite commit

  • em28xx: Add support for Magix Wideowandler 2 commit

  • hi556: Add support for Hi-556 sensor commit

  • i2c: Add IMX290 CMOS image sensor driver commit

  • ov5640: add PIXEL_RATE control commit

  • rc: Add support for another iMON 0xffdc device commit

  • rc: add keymap for Beelink GS1 remote control commit

  • rc: add keymap for Tronsmart Vega S95/S96 remote commit

  • rcar-csi2: Enable support for R8A774B1 commit

  • rcar-vin: Add support for V4L2_FIELD_ALTERNATE commit

  • rcar-vin: Add support for outputting NV12 commit

  • rcar-vin: Enable support for R8A774B1 commit

  • saa7164: use debugfs rather than procfs for debugging file commit

  • smiapp: Support probing NVM size commit

  • sun4i: Add H3 deinterlace driver commit

  • ti-vpe: Add support for NV21 format commit

  • ti-vpe: Add support for SEQ_BT commit

  • vivid: Metadata support commit, commit, commit

12.9. Universal Serial Bus

  • Extends kcov to allow collecting coverage from backgound kernel threads commit, commit, commit

  • usbfs: Suppress problematic bind and unbind uevents commit

  • cdns3: Add TI specific wrapper driver commit

  • dwc3: pci: add ID for the Intel Comet Lake -H variant commit

  • gadget: Add UDC driver for tegra XUSB device mode controller commit

  • gadget: udc: renesas_usb3: add suspend event support commit

  • host: xhci-tegra: Add Tegra194 XHCI support commit

  • serial: ftdi_sio: add device IDs for U-Blox C099-F9P commit

  • serial: mos7840: add USB ID to support Moxa UPort 2210 commit

  • serial: option: add support for DW5821e with eSIM support commit

  • serial: option: add support for Foxconn T77W968 LTE modules commit

  • serial: pl2303: add support for PL2303HXN commit

  • typec: driver for TI HD3SS3220 USB Type-C DRP port controller commit

  • usb-serial: cp201x: support Mark-10 digital force gauge commit

  • usb251xb: Add support for USB2422 commit

  • usb251xb: add vdd supply support commit

  • serial: option: add ZLP support for 0x1bc7/0x9010 commit

  • serial: option: add Telit ME910G1 0x110a composition commit

12.10. Serial Peripheral Interface (SPI)

  • dw-pci: Add runtime power management support commit

  • dw: Add basic runtime PM support commit

  • pxa2xx: Add support for Intel Comet Lake-H commit and Intel Jasper Lake commit

12.11. Watchdog

  • w83627hf_wdt: Support NCT6116D commit

12.12. Serial

  • sprd: Add polling IO support commit

  • lpuart: Add RS485 support for 32-bit uart flavour commit

  • 8250: Make Aspeed VUART SIRQ polarity configurable commit

  • hvc: dcc: Add earlycon support commit

12.13. CPU Frequency scaling

  • ti-cpufreq: Add support for omap34xx and omap36xx commit

  • ti-cpufreq: Add support for AM3517 commit

  • Add cpufreq and cci devfreq for mt8183, and SVS support

12.14. Device Voltage and Frequency Scaling

  • devfreq: Add dev_pm_qos notifiers to devfreq core in order to support frequency limits via dev_pm_qos_add_request commit, commit, commit, commit, commit, commit

  • tegra30: Support variable polling interval commit

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

  • power: reset: add driver for mt6323 poweroff commit

  • power: supply: axp20x_usb_power: enable USB BC detection on AXP813 commit

  • power: supply: cpcap-battery: Add basic coulomb counter calibrate support commit

  • test_power: Add CHARGE_COUNTER properties commit and CURRENT properties commit * regulator: ab8500: Remove AB8505 USB regulator commit

  • regulator: fan53555: add chip id for Silergy SYR83X commit

  • regulator: qcom-rpmh: add PM6150/PM6150L regulator support commit

  • regulator: qcom_smd: Add PM8950 regulators commit

  • regulator: qcom_spmi: Add PM8950 SPMI regulator commit

  • regulator: qcom_spmi: Add support for PM8004 regulators commit

12.16. Real Time Clock (RTC)

  • mt6397: add compatible for mt6323 commit

  • sun6i: Add support for RTC clocks on R40 commit

12.17. Pin Controllers (pinctrl)

  • Add pinmux & GPIO controller driver for Intel Lightning Mountain SoC commit

  • intel: Add Intel Tiger Lake pin controller support commit

  • meson: add pinctrl driver support for Meson-A1 SoC commit

  • qcom: Add a pinctrl driver for MSM8976 and 8956 commit

  • rockchip: add rk3308 SoC support commit

  • sh-pfc: r8a77965: Add R8A774B1 PFC support commit

  • sh-pfc: r8a7796: Add R8A77961 PFC support commit

12.18. Multi Media Card (MMC)

  • Add Actions Semi Owl SoCs SD/MMC driver commit

  • jz4740: Add 8bit mode support commit

  • jz4740: Add support for JZ4760 commit

  • jz4740: Add support for Low Power Mode (LPM) commit

  • jz4740: Add support for X1000 commit

  • sdhci-milbeaut: add Milbeaut SD controller driver commit

  • sdhci-of-arasan: Add Support for Intel LGM SDXC commit

  • sdhci-of-arasan: Add support for ZynqMP Platform Tap Delays Setup commit

  • sdhci-pci: Add support for Intel JSL commit

  • sdhci_am654: Add Support for Command Queuing Engine to J721E commit

12.19. Memory Technology Devices (MTD)

  • nand: brcmnand: Add support for flash-dma v0 commit

  • physmap_of: add a hook for Intel IXP4xx flash probing commit

  • rawnand: Add new Cadence NAND driver to MTD subsystem commit

  • spi-nor: Add support for is25wp256 commit

  • spi-nor: Add support for w25q256jw commit

  • spi-nor: add support for en25qh16 commit

  • spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash commit

  • spi-nor: intel-spi: add support for Intel Cannon Lake SPI flash commit

12.20. Industrial I/O (iio)

  • Ingenic JZ47xx: Add support for JZ4770 SoC ADC commit

  • adc: Add driver support for AD7292 commit

  • adc: New driver for the AB8500 GPADC commit

  • adc: intel_mrfld_adc: Add Basin Cove ADC driver commit

  • adc: max1027: Introduce 12-bit devices support commit

  • cros_ec: Add cros-ec-sensorhub driver commit

  • dac: ad5446: Add support for new AD5600 DAC commit

  • dac: stm32: add power management support commit

  • imu: Add support for the FXOS8700 IMU commit

  • imu: inv_mpu6050: add MPU925x magnetometer support commit

  • imu: inv_mpu6050: add fifo support for magnetometer data commit

  • imu: mpu6050: Add support for vdd-supply regulator commit

  • imu: st_lsm6dsx: add odr calibration feature commit

  • imu: st_lsm6dsx: add support to LSM6DS0 commit

  • imu: st_lsm6dsx: add support to LSM6DSRX commit

  • light: Add support for ADUX1020 sensor commit

  • light: add driver for veml6030 ambient light sensor commit

  • temperature: Add support for LTC2983 commit

12.21. Multi Function Devices (MFD)

  • db8500-prcmu: Support U8420-sysclk firmware commit

  • intel-lpss: Add Intel Comet Lake PCH-H PCI IDs commit

  • madera: Add support for requesting the supply clocks commit

  • qcom-spmi-pmic: Add support for PM/PMI8950 commit

12.22. Pulse-Width Modulation (PWM)

  • stm32: Add power management support commit

12.23. Inter-Integrated Circuit (I2C + I3C)

  • Aspeed: Add AST2600 compatible commit

  • Add support for filters optional properties commit

  • at91: add new platform support for sam9x60 commit

  • at91: add support for advanced digital filtering commit

  • at91: add support for analog filtering commit

  • at91: add support for digital filtering commit

  • i801: Add support for Intel Comet Lake PCH-H commit

  • i801: Add support for Intel Jasper Lake commit

12.24. Hardware monitoring (hwmon)

  • Add driver for Texas Instruments TMP512/513 sensor chips commit

  • Add support for ltc2947 commit

  • dell-smm: Add support for disabling automatic BIOS fan control commit, commit

  • ina3221: Add summation feature support commit

  • pmbus: add driver for BEL PFE1100 and PFE3000 commit

12.25. General Purpose I/O (gpio)

  • tegra186: Implement wake event support commit

  • tegra186: Add debounce support commit

  • Add xgs-iproc driver commit

12.26. Leds

  • Add LED driver for EL15203000 board commit

12.27. DMA engines

  • JZ4780: Add support for the X1000 commit

  • fsl-dpaa2-qdma: Add NXP dpaa2 qDMA controller driver for Layerscape SoCs commit

  • fsl-dpaa2-qdma: Add the DPDMAI(Data Path DMA Interface) support commit

  • milbeaut-hdmac: Add HDMAC driver for Milbeaut platforms commit

  • milbeaut-xdmac: Add XDMAC driver for Milbeaut platforms commit

  • xilinx_dma: Add Xilinx AXI MCDMA Engine driver support commit

12.28. Hardware Random Number Generator (hwrng)

  • atmel: add new platform support for sam9x60 commit

  • hisi: add HiSilicon TRNG driver support commit

  • npcm: add NPCM RNG driver commit

12.29. Cryptography hardware acceleration

  • inside-secure
    • Adds support for the (AES) CBCMAC family of authentication algorithms: AES-CBCMAC, AES-XCBCMAC and AES-MAC commit, commit, commit

    • Add support for the Chacha20 skcipher and the Chacha20-Poly1305 AEAD suites commit, commit, commit

    • Add support to sm3 and hmac(sm3) ahash support commit, commit, commit

    • Add support to ecb(sm4), cbc(sm4), ofb(sm4), cfb(sm4) and rfc3686(ctr(sm4)) skcipher algorithms commit, commit, commit, commit, commit, commit, commit

    • Add more authenc with (3)DES commit, commit, commit

    • Add support for the rfc4106(gcm(aes)), rfc4543(gcm(aes)) and rfc4309(ccm(aes)) ciphersuites intended for IPsec ESP acceleration commit, commit, commit

    • Add (HMAC) SHA3 support commit, commit, commit

    • Add SM4 based authenc AEAD ciphersuites commit

    • Add support for the EIP196 commit

    • Added support for CRC32 commit

    • Add support for the eip197f_iewc configuration that is currently being taped-out by a customer. It adds support for the 256 bit internal buswidth used by larger EIP197's as well as support for having less ring interrupt controllers than rings commit, commit

  • allwinner: Add sun8i-ce Crypto Engine commit

  • amlogic: Add crypto accelerator for amlogic GXL commit

  • ccp: add SEV command privilege separation commit

  • hisilicon

12.30. PCI

  • AER: Add PoisonTLPBlocked to Uncorrectable error counters commit

  • ASPM: Add sysfs attributes for controlling ASPM link states commit, commit

  • DPC: Add pcie_ports=dpc-native to allow DPC without AER control commit

  • Add pci=hpmmiosize and pci=hpmmioprefsize parameters commit

  • amlogic: meson: Add support for G12A commit

  • rpaphp: Add drc-info support for hotplug slot registration commit

  • vmd: Add device id for VMD device 8086:9A0B commit

12.31. Non-Transparent Bridge (NTB)

12.32. Thunderbolt

  • Add Thunderbolt 3 support for the software connection manager. It is currently only used in Apple systems. Previously the driver started the firmware connection manager on those but it is not necessary anymore in this release (we still leave user an option to start the firmware in case there are problems with the software connection manager). This includes: Expose 'generation' attribute under each device in sysfs, lane bonding support, expose link speed and width in sysfs, display Port handshake needed for Titan Ridge devices, display Port pairing and resource management, and display Port bandwidth management commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

12.33. FRU Support Interface (FSI)

  • Add fsi-master class commit

  • Add ast2600 master driver commit

12.34. Clock

  • Add common clock driver for BM1880 SoC commit

  • Ingenic: Add CGU driver for X1000 commit

  • meson: axg_audio: add sm1 support commit

  • qcom: Add Global Clock controller (GCC) driver for SC7180 commit

  • qcom: Add MSM8998 GPU Clock Controller (GPUCC) driver commit

  • qcom: Add Q6SSTOP clock controller for QCS404 commit

  • qcom: clk-rpmh: Add support for RPMHCC for SC7180 commit

  • renesas: cpg-mssr: Add r8a774b1 support commit

  • renesas: r8a7796: Add R8A77961 CPG/MSSR support commit

  • tegra: Add Tegra20/30 EMC clock implementation commit

12.35. PHY ("physical layer" framework)

  • phy/rockchip: Add support for Innosilicon MIPI/LVDS/TTL PHY commit

  • Add USB2 PHY driver for Marvell MMP3 SoC commit

  • allwinner: add phy driver for USB3 PHY on Allwinner H6 SoC commit

  • qcom-qmp: Add SM8150 QMP UFS PHY support commit

  • tegra: xusb: Add XUSB dual mode support on Tegra210 commit

  • tegra: xusb: Add usb3 port fake support on Tegra210 commit

  • tegra: xusb: Add vbus override support on Tegra186 commit and Tegra210 commit

12.36. Various

  • counter: new TI eQEP driver commit

  • firmware: broadcom: add OP-TEE based BNXT f/w manager commit

  • firmware: qcom: scm: add OCMEM lock/unlock interface commit

  • firmware: qcom: scm: add support to restore secure config to qcm_scm-32 commit

  • firmware: xilinx: Add support for versal soc commit

  • fpga: dfl: fme: add power management support commit

  • fpga: dfl: fme: add thermal management support commit

  • habanalabs: Add a new H/W queue type commit

  • habanalabs: add opcode to INFO IOCTL to return clock rate commit

  • habanalabs: export uapi defines to user-space commit

  • habanalabs: expose card name in INFO IOCTL commit

  • interconnect: qcom: add msm8974 driver commit

  • iommu/ioasid: Add custom allocators commit

  • iommu: Add I/O ASID allocator commit

  • iommu: Introduce guest PASID bind function commit

  • iommu: arm-smmu-impl: Add sdm845 implementation hook commit

  • irqchip: Add support for Layerscape external interrupt lines commit

  • mailbox: imx: add support for imx v1 mu commit

  • mei: add trc detection register to sysfs commit

  • mei: bus: add more client attributes to sysfs commit

  • mei: me: add comet point V device id commit

  • memory: Add DMC driver for Exynos5422 commit

  • memory: Extend of_memory with LPDDR3 support commit

  • memory: tegra: Introduce Tegra30 EMC driver commit

  • misc: fastrpc: add mmap/unmap support commit

  • misc: rtsx: Add support for RTS5261 commit

  • nfc: pn533: Add autopoll capability commit

  • nfc: pn533: add UART phy driver commit

  • powercap/intel_rapl: add support for CometLake Mobile commit

  • powercap/intel_rapl: add support for Cometlake desktop commit

  • ptp: Add a ptp clock driver for IDT ClockMatrix commit

  • remoteproc: qcom_q6v5_mss: Add support for MSM8998 commit

  • reset: add support for the Meson-A1 SoC Reset Controller commit

  • reset: meson-audio-arb: add sm1 support commit

  • reset: uniphier-glue: Add Pro5 USB3 support commit

  • serdev: Add ACPI devices by ResourceSource field commit

  • soc/tegra: fuse: Implement nvmem device commit

  • soc/tegra: pmc: Add wake event support on Tegra210 commit

  • soc/tegra: pmc: Configure core power request polarity commit

  • soc/tegra: pmc: Configure deep sleep control settings commit

  • soc/tegra: pmc: Support wake events on more Tegra SoCs commit

  • soc/tegra: regulators: Add regulators coupler for Tegra20 commit

  • soc/tegra: regulators: Add regulators coupler for Tegra30 commit

  • soc: at91: Add Atmel SFR SN (Serial Number) support commit

  • soc: fsl: add RCPM driver commit

  • soc: qcom: add OCMEM driver commit

  • soc: qcom: socinfo: add sdm845 and sda845 soc ids commit

  • soc: renesas: Identify RZ/G2N commit

  • soc: renesas: rcar-rst: Add support for RZ/G2N commit

  • soc: renesas: rcar-sysc: Add R8A77961 support commit

  • soc: renesas: rcar-sysc: Add r8a774b1 support commit

  • soc: samsung: Add Exynos Adaptive Supply Voltage driver commit

  • soc: ti: add initial PRM driver with reset control support commit

  • w1: new driver. DS2430 chip commit

13. List of Pull Requests

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2020-01-27 18:11:09 by diegocalleja)