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.20 was released on Sun, 23 Dec 2018.

Summary: This release includes support for a new way to measure the system load; it adds support for future AMD Radeon Picasso and Raven2 and enables non-experimental support for Radeon Vega20; it adds support for the C-SKY CPU architecture and the x86 Hygon Dhyana CPUs; a TLB microoptimization brings a small performance win in some workloads; TCP has switched to a "Early Departure Time" model; a mechanism to turn memfd regions into dma-buf allows qemu to improve virtualized graphics performance; it also includes the latest round of fixes for CPU security bugs; and it also adds many new drivers and other improvements.

1. Prominent features

1.1. Pressure stall information for better overview of system load

When systems are overcommitted and resources become contended, it's hard to tell exactly the impact this has on workload productivity, or how close the system is to lockups and OOM kills. In particular, when machines work multiple jobs concurrently, the impact of overcommit in terms of latency and throughput on the individual job can be enormous. In order to maximize hardware utilization without sacrificing individual job health or risk complete machine lockups, this release adds pressure stall information, a way to quantify resource pressure in the system.

Under /proc/pressure/ (and also inside each cgroup), several files expose the percentage of time the system is stalled on CPU, memory, or IO, respectively. These percentages of walltime can be thought of as pressure percentages, and they give a general sense of system health and productivity loss incurred by resource overcommit. They can also indicate when the system is approaching lockup scenarios and OOMs.

Documentation: Documentation/accounting/psi.txt

Recommended LWN article: Tracking pressure-stall information

1.2. AMD Radeon Picasso + Raven2 support, and Vega20 enablement

This release adds support for Raven2 APU and Picasso APUs. Also, support for Vega20 is no longer considered experimental.

1.3. More efficient virtualized graphics

This release includes udmabuf, a device that can turn memfd regions into dma-buf. It allows qemu to create dmabufs for the vga framebuffer or virtio-gpu resources. Then they can be passed around to display those guest things on the host. To spice client for classic full framebuffer display, and hopefully some day to wayland server for seamless guest window display.

1.4. New chinese CPUs: C-SKY architecture and Hygon Dhyana x86 CPUs

This release adds support for new architecture: C-SKY architecture, a 32 bit chinese CPU ISA

There is also support for Hygon Dhyana Family 18h, a new x86 processor coming from the AMD–Chinese joint venture

1.5. TCP: switch to Early Departure Time model

Internet grew following a AFAP ("As Fast As Possible") idea. Due to the constraints of modern hardware, this model is not optimal any more. This release switches the TCP stack to Early Departure Time model

See:

1.6. Make lazy TLB even lazier

As TLB flushes are extremely expensive, a technique called lazy TLB is employed by Linux which avoids unnecessary TLB flushes by processes which do not access the userspace page tables as the kernel portion of the address space is always visible. This release tries to use lazy TLB used even lazier: On most workloads, the number of context switches far exceeds the number of TLB flushes sent. Optimizing the context switches, by always using lazy TLB mode, speeds up those workloads. This reduces total CPU use in the system by about 1-2% for a memcache workload on two socket systems, and by about 1% for a heavily multi-process netperf between two systems.

1.7. Another round of fixes for CPU security bugs

  • x86: Remedy the overhead of STIBP/IBPB with per task indirect branch speculation control
  • x86: Harden spectre v2 userspace-userspace protection
  • x86: The "minimal retpoline" support is no longer useful and has been removed
  • arm64: Support for the new ARMv8.5 PSTATE.SSBS bit which can be used to mitigate Spectre-v4 dynamically without trapping to EL3 firmware

Recommended LWN articles:

2. Core (various)

  • fanotify super block marks: It implement the new mark type FAN_MARK_FILESYSTEM to enable monitoring of filesystem events on all filesystem objects regardless of the mount where event was generated commit, commit, commit

  • New fanotify event info API: In order to identify which thread triggered the event in a multi-threaded program, add the FAN_REPORT_TID flag in fanotify_init to opt-in for reporting the event creator's thread id information commit, commit, commit, commit, commit, commit, commit

  • (FEATURED) psi: pressure stall information for CPU, memory, and IO commit, commit, commit, commit, commit, commit, commit, commit, commit

  • init: add root=PARTLABEL=<name> support commit

  • task scheduler
  • Android binder: Add BINDER_GET_NODE_INFO_FOR_REF ioctl. It allows the context manager to retrieve information about nodes that it holds a reference to, such as the current number of references to those nodes commit

  • gcc-plugins: Add the STACKLEAK plugin, which erases the kernel stack before returning from syscalls. That reduces the information which kernel stack leak bugs can reveal and blocks some uninitialized stack variable attacks commit, commit, commit

  • Allow dedupe of user owned read-only files commit, commit

  • qspinlock_stat: Count instances of nested lock slowpaths commit

  • Building
    • Remove oldnoconfig and silentoldconfig targets commit, commit

    • Add the following GCC flags unconditionally: -Wvla, -Wdeclaration-after-statement, -Wno-pointer-sign, -Wno-unused-but-set-variable commit, commit, commit, commit

3. File systems

  • XFS
    • Support returning partial reflink results. For example, if userspace sends a 1GB clone request and we run out of space halfway through, we at least can tell userspace that we completed 512M of that request like a regular write commit

  • BTRFS
    • qgroups: Reduce dirty extents for metadata. It significantly improves balancing with quota enabled commit, commit, commit, commit, commit, commit

    • Improve btrfs btree locking modes. It significantly improves performance: more files/sec in fsmark, better perf on multi-threaded workloads (filebench, dbench), fewer context switches, better latency, etc commit

  • CIFS
    • Compounding support, it aggregates several operations to avoid round trips commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • Implement direct I/O: The file system passes the I/O data directly from user-space buffer to the transport layer, when file system is mounted with cache-none commit, commit, commit

    • Add ioctl for QUERY_INFO passthrough to userspace. It allows userspace tools to query the raw info levels for cifs files and process the response in userspace commit

    • Add support for ioctl on directories commit

    • Show number of current open files in /proc/fs/cifs/Stats commit

  • F2FS
    • Support superblock checksum commit

    • Checkpoint disabling commit

    • Account meta IO and skip count of background GC in status debugfs entry commit, commit

    • Add new idle interval timing for discard and gc paths commit

  • FUSE
  • GFS2
    • Add support for ioctl getfslabel commit

  • NFSD
  • 9P
    • Add mount option for lock retry interval commit

  • AFS
    • Add support for the YFS variant of the AFS server commit, commit, commit

    • Allow dumping of server cursor on operation failure commit

  • CEPH
  • OCFS2
    • Support partial clone range and dedupe range commit

  • OVERLAYFS
    • Automatically enable redirect_dir on metacopy=on commit

4. Memory management

5. Block layer

6. Tracing, perf and BPF

  • perf trace: Introduce perf trace --max-events for stopping 'perf trace' when that many syscalls (enter+exit), tracepoints or other events such as page faults take place. Support that as well on a per-event basis, e.g.: perf trace -e sched:*switch/nr=2/,block:*_plug/nr=4/,block:*_unplug/nr=1/,net:*dev_queue/nr=3,max-stack=16/ Will stop when 2 context switches, 4 block plugs, 1 block unplug and 3 net_dev_queue tracepoints take place commit, commit, commit, commit

  • uprobes: Support SDT markers having reference count (semaphore) commit, commit, commit, commit

  • uprobe: support reference counter in fd-based uprobe commit

  • Make perf script easier to use for itrace. Implement a range of improvements to make it easier to look at itrace traces with perf script commit, commit, commit, commit, commit

  • perf script: Allow extended console debug output commit

  • perf scripts python: exported-sql-viewer.py: Add All branches report commit, add ability to display all the database tables commit, add ability to find symbols in the call-graph commit, add ability to shrink / enlarge font commit, add support for multiple sub-windows commit

  • kprobes: Allow kprobe-events to record module symbol commit

  • probeevent: Improve fetcharg features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • BPF
  • bpftool: add map create command commit

7. Virtualization

  • vfio: add vgpu edid support commit, commit

  • virtio-balloon: support free page reporting commit, commit, commit

  • Add support for overriding the default driver for a VMBus device in the same way that it can be done for PCI devices commit

8. Cryptography

9. Security

  • LSM: Provide init debugging infrastructure with lsm.debug kernel boot parameter commit

  • apparmor: Allow packet filtering based on secmark policy commit, commit

  • tpm: add support for nonblocking operation commit

10. Networking

  • (FEATURED) TCP: switch TCP and and fair-queue scheduler to Early Departure Time model. See: Evolving from AFAP: Teaching NICs about time commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Implement kernel filtering of route dumps by protocol (e.g., which routing daemon installed the route), route type (e.g., unicast), table id and nexthop device. iproute2 has been doing this filtering in userspace for years; pushing the filters to the kernel side improves efficiency on large scale systems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • TCP: Previously TCP initial receive buffer is ~87KB by default and the initial receive window is ~29KB (20 MSS). This patch changes the two numbers to 128KB and ~64KB (rounding down to the multiples of MSS) respectively commit

  • batman-adv: Enable LockLess TX for softif commit

  • bridge: add support for per-port vlan stats commit

  • Wireless
    • Add support for 60GHz band channels 5 and 6 commit

    • Allow userspace to enable FTM responder functionality with the addition of new Netlink flag attribute NL80211_ATTR_FTM_RESPONDER with configurable lci/civic ocation parameters commit, commit

    • VHT extended NSS support commit, commit, commit, commit

    • Add per peer statistics to compute FCS error rate commit

    • Add he_capa debugfs entry commit

  • packet scheduler
    • Add hardware specific counters to TC actions commit, commit

    • Add sockopt PACKET_IGNORE_OUTGOING to ignore outgoing packets. Note that the *BSDs already have something similar: BIOCSSEESENT/BIOCSDIRECTION and BIOCSDIRFILT commit

    • Add support for configuring the taprio scheduler commit

  • DNS: Allow the dns resolver to retrieve a server set commit

  • Distributed Switch Architecture
    • Add Lantiq / Intel GSWIP tag support commit

    • Expose tagging protocol to user-space commit

  • Introduce eBPF flow dissector, a more secure flow dissector. Recommended LWN article: Writing network flow dissectors in BPF. commit, commit, commit, commit

  • geneve: add ttl inherit support commit

  • rtnetlink: add IFA_TARGET_NETNSID for RTM_GETADDR. The goal is to make it possible to perform RTM_GETADDR requests on different network namespaces commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Add support for dumping addresses for a specific device commit, commit, commit, commit

  • IPv6
    • Add a sysctl (skip_notify_on_dev_down) to skip DELROUTE message on device down, to mimic IPv4 behaviour commit

    • Add sockopt IPV6_MULTICAST_ALL analogue to IP_MULTICAST_ALL commit

    • Allow the l3mdev to be a loopback commit

  • ncsi
    • Add NCSI OEM command support commit and Broadcom OEM command commit

    • Extend NC-SI Netlink interface to allow user space to send NC-SI command commit

  • neighbour
    • Allow setting of NTF_ROUTER by an external entity (eg BGP E-VPN control plane) commit

    • Send netlink notification if NTF_ROUTER changes commit

  • netfilter
    • nf_tables: add SECMARK support commit

    • nf_tables: add xfrm expression commit

    • nft_osf: Add ttl option support commit

    • xt_IDLETIMER: add sysfs filename checking routine commit

  • netlink
    • Add new socket option to enable strict checking on dumps commit

    • Add NLA_REJECT policy type which does nothing but reject (with EINVAL) validation of any messages containing this attribute commit

    • Add ethernet address policy type which checks for exact size, and rejects the attribute if the length isn't ETH_ALEN commit

  • netpoll: Enable netconsole IPv6 link local address commit

  • rxrpc: Add /proc/net/rxrpc/peers to display peer list commit

  • vhost_net XDP TX batching: try to batch submitting packets to underlayer socket through msg_control during sendmsg() commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • vhost: improve performance when enable busyloop commit, commit, commit

  • tipc: support binding to specific ip address when activating UDP bearer commit

  • TLS
    • Add support for async encryption of records for performance commit

    • sockmap integration for ktls. It allows for introspection or filtering of L7 data with the help of BPF programs operating on a common input context commit, commit, commit, commit, commit, commit, commit, commit

  • veth
  • virtio_net: ethtool tx napi configuration commit

11. Architectures

  • ARM
    • device tree sources
      • Two boards get added for TI OMAP: Moxa UC-2101 is an industrial computer commit, commit; GTA04A5 is a minor variation of the motherboards of the GTA04 phone commit

      • Clearfog is a nice little board for quad-core Marvell Armada 8040 network processor commit

      • Two additional server boards come with the Aspeed baseboard management controllers: Stardragon4800 commit is an arm64 reference platform made by HXT (based on Qualcomm's server chips), and TiogaPass commit, commit is an Open Compute mainboard with x86 CPUs. Both use the ARM11 based AST2500 chips in the BMC

      • NXP i.MX usually sees a lot of new boards each release. This time there we only add one minor variant: ConnectCore 6UL SBC Pro commit uses the same SoM design as the ConnectCore 6UL SBC Express added later. However, there is a new chip, the i.MX6ULZ, which is an even smaller variant of the i.MX6ULL, with features removed. There is also support for the reference board design, the i.MX6ULZ 14x14 EVK commit, commit

      • A new Raspberry Pi variant gets added, this one is the CM3 compute module based on bcm2837, it was launched in early 2017 but only now added to the kernel, both as 32-bit and as 64-bit files, as we tend to do for Raspberry Pi commit

      • On the Allwinner side, everything is again about cheap development boards, usually of the "Fruit Pi" variety. The new ones this time are: Orange Pi Zero Plus2 commit, Orange Pi One Plus commit, Pine64 LTS commit, Banana Pi M2+ H5 commit, commit. The last one of these is now a 64-bit version of the earlier Banana Pi M2+ H3, with the same board layout.

      • For Rockchips, we get another variant of the 32-bit Asus Tinker board, the model 'S' based on rk3288 commit, and three now boards based on the popular RK3399 chip: ROC-RK3399-PC commit, Rock960 commit, RockPro64 commit. These are all quite powerful boards with lots of RAM and I/O, and the RK3399 is the same chip used in several Chromebooks. Finally, we get support for the PX30 (aka rk3326) chip, which is based on the low-end 64-bit Cortex-A35 CPU core. So far, only the evaluation board is supported commit, commit

      • One more Banana Pi is added with a Mediatek chip: Banana Pi R64 is based on the MT7622 WiFi router platform, and the first product the arm maintainer has seen with a 64-bit Mediatek chip in that market commit

      • For HiSilicon, we gain support for the Hi3670 SoC commit and HiKey 370 development board commit, which are similar to the Hi3660 and Hikey 360 respectively, but add support for an NPU

      • Amlogic gets initial support for the Meson-G12A chip (S905D2) commit, another quad-core Cortex-A53 SoC, and its evaluation platform. On the 32-bit side, we gain support for an actual end-user product, the Endless Computers Endless Mini based on Meson8b (S805) commit

      • Qualcomm adds support for their MSM8998 SoC and evaluation platform. This chip is commonly known as the Snapdragon 835, and is used in high-end phones as well as low-end laptops commit

      • For Renesas, a very bare support for the r8a774a1 (RZ/G2M) is added commit, commit, commit, commit but no boards for this one. However, we do add boards for the previously added r8a77965 (R-Car M3-N): the M3NULCB Kingfisher commit and the M3NULCB Starter Kit Pro commit

      • While we have lots of DT changes for NVIDIA to update the existing files, the only board that gets added is the Toradex Colibri T20 on Colibri Evaluation Board for the old Tegra2 commit

      • Synaptics add support for their AS370 SoC, which is part of the (formerly Marvell) Berlin line of set-top-box chips used e.g. in the various Google Chromecast. Only the .dtsi gets added at this point, no actual machines commit

      • mvebu: Add device tree for db-88f6820-amc board commit

      • shmobile: Add basic RZ/A2 SoC support commit

      • shmobile: r8a7744: Basic SoC support commit

      • u300: Delete dummy SPI chip commit

      • imx6qdl: Add Engicam i.Core 1.5 MX6 commit

    • amlogic: add meson-canvas driver commit

    • coresight: Add support for CLAIM tag protocol commit

    • coresight: etm-perf: Add support for ETR backend commit

    • crypto: ghash-ce: implement support for 4-way aggregation commit

    • KVM: Enable 32 bits kvm vcpu events support commit

    • ARM64
      • (FEATURED) Support for Common Not Private (CnP) translations allowing threads of the same CPU to share the TLB entries commit, commit

      • Support for the new ARMv8.5 PSTATE.SSBS bit which can be used to mitigate Spectre-v4 dynamically without trapping to EL3 firmware commit, commit, commit, commit, commit, commit, commit

      • Add accelerated crc32 routines commit

      • crypto: aes-blk: add support for CTS-CBC mode commit

      • kvm: Allow tuning the physical address size for VM commit

  • X86
  • CSKY
  • PARISC
    • Added alternative infrastructre commit

    • Include compressed vmlinux file in vmlinuz boot kernel commit

    • Remove the dead ccio-rm-dma driver commit

  • POWERPC
    • Maintain a cache of SLB entries for each process and preload them on context switch. Leading to a 27% speedup for our context switch benchmark on Power9 commit, commit

    • Add stack protector support for 32 and 64-bit, with a per-task canary commit, commit

    • Add support for physical memory up to 2PB in the linear mapping on 64-bit Book3S. We only support up to 512TB as regular system memory, otherwise the percpu allocator runs out of vmalloc space commit

    • Enable THP migration on 64-bit Book3S machines (eg. Power7/8/9) commit

    • Add support for PTRACE_SYSEMU and PTRACE_SYSEMU_SINGLESTEP commit

    • Add support for function error injection commit

    • pseries: Add driver for PAPR SCM regions commit

    • pseries: PAPR persistent memory support commit

    • KVM
      • Nested HV KVM support for radix guests on POWER9. The performance is much better than with PR KVM. Migration and arbitrary level of nesting is supported commit, commit, commit

      • Add a debugfs file to dump radix mappings commit

  • RISC-V
    • Add futex support commit

    • Allow to disable FPU support commit

    • Show CPU ID and Hart ID separately in /proc/cpuinfo commit

    • Add FP register ptrace support for gdb commit

  • S390
    • Extend the pkey API to provide random protected keys, this is useful for encrypted swap device with ephemeral protected keys commit, commit, commit, commit, commit

    • Add KASAN support commit, commit, commit

    • Add support for virtually mapped kernel stacks commit

    • zcrypt: Improved access control for the zcrypt driver, multiple device nodes can now be created with different access control lists commit, commit

    • vfio-ap: Introduce a new AP device driver. This driver grants access to Adjunct Processor (AP) devices via the VFIO mediated device interface commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

    • qeth
      • Add TSO support for L2 devices commit

      • Add support for IPv6 TSO commit

      • Report 25Gbit link speed commit

      • speed up TSO transmission commit

    • KVM: s390: interface to clear CRYCB masks commit

  • MIPS
    • mscc: add DT for Ocelot PCB120 commit

  • SPARC
    • Add support for perf annotate commit

    • Add support for perf jitdump commit

12. Drivers

12.1. Graphics

  • (FEATURED) udmabuf device to turn memfd regions into dma-buf commit

  • Add per-plane pixel blend mode property commit

  • amdgpu
  • exynos
  • intel
    • Turn off resource streamer API commit

    • More Icelake enablement + DMC firmware
    • Full PPGTT for Ivybridge, Haswell and Valleyview commit

    • DDB distribution based on resolution commit

    • Add a new CFL PCI ID commit

    • Add PSR mode/revision to debugfs commit

    • Add debugfs support to force a downgrade to PSR1 mode commit

  • mali-dp
    • Implement plane alpha and pixel blend on malidp commit

  • mediatek
    • HDMI output support on mt2701 and mt7623 commit

    • Add dpi driver for mt2701 and mt7623 commit

    • Add support for SPDIF audio in HDMI commit

  • nouveau
  • rockchip
  • sun4i
    • R40 TCON support commit

    • Add support for A64 mixers commit

    • R40 HDMI support commit

    • Add dithering support for RGB565/RGB666 LCD panels commit

  • tegra
  • bridge
    • Add support for sn65dsi86 bridge driver commit

    • tc358764: Add DSI to LVDS bridge driver commit

  • vkms
  • rcar-du
    • Add r8a77990 and r8a77995 device support commit

    • Interlaced modes on Gen3 commit

    • D3 and E3 SoC support commit

  • virtio-gpu
    • vmap support for PRIME objects commit

    • Add iommu support commit

  • backlight

12.2. Storage

  • nvme: Add support for P2P memory commit, commit, commit, commit

  • nvmet_fc: support target port removal with nvmet layer commit

  • cxgb4i: add DCB support for iSCSI connections commit

  • myrb: Add Mylex RAID controller commit, commit

  • qla2xxx: Add mode control for each physical port commit

  • ufs: Add API to execute raw upiu commands commit

12.3. Drivers in the Staging area

  • media: platform: Add Cedrus VPU decoder driver commit

  • comedi: add interface to ni routing table information commit

  • comedi: add new device-global config interface commit

  • comedi: ni_660x: Add NI PCI-6608 to list of supported devices commit

  • comedi: ni_mio_common: implement global pfi, rtsi routing commit

  • comedi: ni_mio_common: implement new routing for TRIG_EXT commit

  • comedi: ni_mio_common: implement output selection of GPFO_{0, 1} commit

  • comedi: ni_routing: Add NI signal routing info commit

  • comedi: tio: implement global tio/ctr routing commit

  • dgnc: delete the driver commit

  • vboxvideo: Atomic phase 3: Switch last bits over to atomic commit

  • iio:ad7606: Add support for the ad7605-4 commit

12.4. Networking

12.5. Audio

  • realtek: Add support for Acer Aspire C24-860 headset mic commit

  • realtek: Support ALC300 commit

  • Add support for AMD Stoney Ridge commit

  • usb-audio: Add vendor and product name for Dell WD19 Dock commit

  • ASoC
    • Add support to card rebind commit

    • Add driver for PROTO Audio CODEC (with a WM8731) commit

    • Intel: Boards: Add KBL Dialog Maxim I2S machine driver commit

    • Intel: Boards: Machine driver for SKL+ w/ HDAudio codecs commit

    • codecs: tas5720: add TAS5722 TDM slot width setting support commit, add TAS5722 specific volume control commit

    • hdac_hda: add asoc extension for legacy HDA codec drivers commit

    • meson: add axg pdm input commit

    • nau8822: new codec driver commit

    • pcm3060: Add codec driver commit

    • pcm3168a: add I2S/Left_J TDM support commit

    • rsnd: add support for 8 bit S8 format commit

    • rsnd: add support for the DSP_A/DSP_B formats commit

    • sta32x: Add support for XTI clock commit

    • sunxi: Add new driver for Allwinner A64 codec's analog path controls commit

12.6. Tablets, touch screens, keyboards, mouses

  • HID
    • hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad commit

    • ite: Add USB id match for another ITE based keyboard rfkill key quirk commit

    • microsoft: Add rumble support for Xbox One S controller commit

    • multitouch: Add pointstick support for Cirque Touchpad commit

  • elan_i2c: add ACPI ID for Lenovo IdeaPad 330-15ARR commit

  • elan_i2c: add ELAN0620 to the ACPI table commit

  • elan_i2c: add support for ELAN0621 touchpad commit

  • synaptics: add PNP ID for ThinkPad P50 to SMBus commit

  • synaptics: enable SMBus for HP 15-ay000 commit

12.7. TV tuners, webcams, video capturers

  • Implement media requests commit, commit

  • Add imx319 camera sensor driver commit

  • Add imx355 camera sensor driver commit

  • dvb-frontends: add LNBH29 LNB supply driver commit

  • imx-pxp: add i.MX Pixel Pipeline driver commit

  • uapi/linux/media.h: add request API commit

  • Add definition for the Sunxi tiled NV12 format commit

  • Add definitions for MPEG-2 slice format and metadata commit

  • vivid: Add 16-bit bayer to format list commit, support 480p for webcam capture commit

12.8. Universal Serial Bus

  • Add uevent for over-current commit

  • typec: ucsi: add support for Cypress CCGx commit

  • export firmware port location in sysfs commit

  • EHCI: make ehci-mv a separate driver commit

  • appledisplay: Add 27" Apple Cinema Display commit

  • cdc-acm: add entry for Hiro (Conexant) modem commit

  • dwc3: exynos: Add support for Exynos5433 variant with all clocks commit

  • gadget: udc: renesas_usb3: add support for r8a77990 commit

  • gadget: uvc: configfs: Add bFormatIndex attributes commit, add bFrameIndex attributes commit, add interface number attributes commit

  • usbtmc: usbtmc: Changes needed for compatible IVI/VISA library commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • xhci-mtk: supports bandwidth scheduling with multi-TT commit

  • serial: option

12.9. Serial Peripheral Interface (SPI)

  • spi: add support for Amazon's Alpine spi controller commit

  • Introduce new driver for Qualcomm QuadSPI controller commit

  • at91-usart: Add driver for at91-usart as SPI commit

  • dw-mmio: add MSCC Jaguar2 support commit

  • mediatek: add spi slave for Mediatek MT2712 commit

  • omap2-mcspi: Add slave mode support commit

  • spi-geni-qcom: Add SPI driver support for GENI based QUP commit

  • spi-mem: add stm32 qspi controller commit

  • sprd: Add SPI driver for Spreadtrum SC9860 commit

12.10. Watchdog

  • Add support for Armada 37xx CPU watchdog commit

  • w83627hf_wdt: Support NCT6796D, NCT6797D, NCT6798D commit

12.11. Serial

  • Add ISO7816 infrastructure commit

  • sh-sci: Add earlycon for R7S9210 commit

  • 8250_uniphier: add auto-flow-control support commit

  • atmel: add ISO7816 support commit

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

  • ACPI
    • LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers commit

    • ADXL: Add address translation interface using an ACPI DSM commit

    • TAD: Add low-level support for real time capability commit

  • efi: add API to reserve memory persistently across kexec reboot commit

  • tools: sleepgraph and bootgraph: upgrade to v5.2 commit, commit

  • cpufreq: intel_pstate: Add base_frequency attribute commit, commit

  • thermal
    • hisi: Add multiple sensors support commit

    • hisi: Add the dual clusters sensors for hi3660 commit

    • Add stm32 thermal driver commit

12.13. Real Time Clock (RTC)

  • ds1307: add frequency_test_enable attribute on m41txx commit

  • ds1307: add offset sysfs for mt41txx chips commit

  • abx80x: add basic watchdog support commit

  • rv8803: add Epson RX8803 support commit

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

  • power: supply
    • Add Spreadtrum SC2731 charger support commit

    • bq25890_charger: Add the BQ25896 part commit

    • bq27xxx: Add support for BQ27411 commit

    • reset: qcom-pon: Add pms405 pon support commit

  • regulator
    • Add consumer-requested load in regulator_summary commit

    • Add the opmode to regulator_summary commit

    • mfd: Support ROHM BD71847 power management IC commit

    • lochnagar: Add support for the Cirrus Logic Lochnagar commit

    • qcom: Add PMS405 regulators commit

    • stpmic1: add stpmic1 regulator driver commit

12.15. Pin Controllers (pinctrl)

  • bcm: add Northstar driver commit

  • ingenic: Add support for the JZ4725B commit

  • mediatek: add MT6765 pinctrl driver commit

  • mediatek: add MT7623 pinctrl driver based on generic pinctrl binding commit

  • mediatek: add MT8183 pinctrl driver commit

  • mediatek: add pinctrl-paris that implements the vendor dt-bindings commit

  • meson-g12a: add pinctrl driver support commit

  • nuvoton: add NPCM7xx pinctrl and GPIO driver commit

  • qcom: Add qcs404 pinctrl driver commit

  • qcom: Add sdm660 pinctrl driver commit

  • renesas: Renesas RZ/N1 pinctrl driver commit

  • sh-pfc: r8a7791: Add r8a7744 support commit

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

  • sh-pfc: r8a77990: Add R8A774C0 PFC support commit

12.16. Multi Media Card (MMC)

  • mediatek: add MT8183 MMC driver support commit

  • mmci: add stm32 sdmmc variant commit

  • sdhci-iproc: Add ACPI support commit

  • sdhci-sprd: Add Spreadtrum's initial host controller commit

  • sdhci: Add Auto CMD Auto Select support commit

  • tegra: Enable UHS and HS200 modes for Tegra186 commit

  • tegra: Enable UHS and HS200 modes for Tegra210 commit

  • uniphier-sd: add UniPhier SD/eMMC controller driver commit

12.17. Memory Technology Devices (MTD)

  • rawnand: toshiba: Add support for Toshiba Memory BENAND (Built-in ECC NAND) commit

  • rawnand: Remove docg4 commit

  • spi-nor: add support to non-uniform SFDP SPI NOR flash memories commit

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

12.18. Industrial I/O (iio)

  • adc: Add QCOM SPMI PMIC5 ADC driver commit

  • adc: add support for mcp3911 commit

  • adc: sc27xx: Add raw data support commit

  • adxl372: New driver for Analog Devices ADXL372 Accelerometer commit

  • dac: add support for ltc1660 commit

  • imu: st_lsm6dsx: add support to LSM6DSO commit

  • proximity: Add driver support for ST's VL53L0X ToF ranging sensor commit

  • tsl2772: add support for avago,apds9930 commit

  • adxl372: Add filter bandwidth support commit

  • adxl372: Add sampling frequency support commit

12.19. Inter-Integrated Circuit (I2C)

  • Add i2c bus driver for NVIDIA GPU commit

12.20. Hardware monitoring (hwmon)

  • nct6775: Add support for NCT6798D commit

  • nct6775: Add support for NCT6797D commit

  • lm75: Add MAX31725/6 support commit

  • pmbus/ltc2978: Add support for LTM4686 uModule commit

12.21. General Purpose I/O (gpio)

  • add single-register GPIO via CREG driver commit

  • ingenic: Remove driver commit

12.22. Leds

  • Introduce LED pattern trigger commit

  • sc27xx: Add pattern_set/clear interfaces for LED controller commit

  • add Panasonic AN30259A support commit

12.23. DMA engines

  • dma-jz4780: Add support for the JZ4725B SoC commit

  • dma-jz4780: Add support for the JZ4740 SoC commit

  • dma-jz4780: Add support for the JZ4770 SoC commit

  • dw: Add alternative ACPI HIDs for Cherry Trail DMA controllers commit

  • fsl-edma: add ColdFire mcf5441x edma support commit

  • owl: Add Slave and Cyclic mode support for Actions Semi Owl S900 SoC commit

12.24. Cryptography hardware acceleration

  • caam/qi2: add DPAA2-CAAM driver commit, commit, commit

  • cavium/nitrox: Added support for SR-IOV configuration commit

  • cavium/nitrox: add support for per device request statistics commit

  • cavium/nitrox: added support to identify the NITROX device partname commit

  • cavium/nitrox: updated debugfs information commit

  • ccp: add timeout support in the SEV command commit

  • s5p-sss: Add aes-ctr support commit

12.25. PCI

12.26. Non-Transparent Bridge (NTB)

  • idt: Add basic hwmon sysfs interface commit

12.27. Clock

  • Add Ingenic jz4725b CGU driver commit

  • actions: Add Actions Semi Owl SoCs Reset Management Unit support commit

  • actions: Add Actions Semi S700 SoC Reset Management Unit support commit

  • actions: Add Actions Semi S900 SoC Reset Management Unit support commit

  • at91: add at91sam9260 PMC driver commit

  • at91: add at91sam9rl PMC driver commit

  • at91: add at91sam9x5 PMCs driver commit

  • at91: add sama5d2 PMC driver commit

  • at91: add sama5d4 pmc driver commit

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

  • qcom: Add HFPLL driver commit

  • qcom: Add KPSS ACC/GCC driver commit

  • qcom: Add Krait clock controller driver commit

  • qcom: Add camera clock controller driver for SDM845 commit

  • qcom: Add support for Krait clocks commit

  • qcom: Add support for RCG to register for DFS commit

  • qcom: gcc: Add global clock controller driver for QCS404 commit

  • renesas: cpg-mssr: Add R7S9210 support commit

  • renesas: cpg-mssr: Add r8a774a1 support commit

  • renesas: r8a7743: Add r8a7744 support commit

  • c-sky: Add C-SKY SMP timer commit

  • c-sky: Add gx6605s SOC system timer commit

  • Add ZynqMP clock driver commit

12.28. Firmware

  • dcdbas: Add support for WSMT ACPI table commit

  • imx: add SCU firmware driver support commit

  • imx: add misc svc support commit

  • meson_sm: Add serial number sysfs entry commit

  • xilinx: Add Zynqmp firmware driver commit

  • xilinx: Add debugfs for query data API commit

  • xilinx: Add debugfs interface commit

  • xilinx: Add zynqmp IOCTL API for device control commit

12.29. IOMMU

  • arm-smmu-v3: Add support for non-strict mode commit

  • arm-smmu: Support non-strict mode commit

  • dma: Add support for non-strict mode commit

  • io-pgtable-arm-v7s: Add support for non-strict mode commit

  • io-pgtable-arm: Add support for non-strict mode commit

  • vt-d: Add debugfs support for Interrupt remapping commit

  • vt-d: Add debugfs support to show context internals commit

  • vt-d: Add debugfs support to show register contents commit

  • vt-d: Enable base Intel IOMMU debugfs support commit

  • Add "iommu.strict" command line option commit

12.30. PHY

12.31. IRQ chip

  • irq-mvebu-icu: Add support for System Error Interrupts (SEI) commit

  • irq-mvebu-sei: Add new driver for Marvell SEI commit

  • add C-SKY APB bus interrupt controller commit

  • add C-SKY SMP interrupt controller commit

12.32. Various

  • edac: Add EDAC driver support for QCOM SoCs commit

  • eeprom: New ee1004 driver for DDR4 memory commit

  • gsmi: Add GSMI commands to log S0ix info commit

  • remoteproc: qcom: Introduce Non-PAS ADSP PIL driver commit

  • reset: qcom: PDC Global (Power Domain Controller) reset controller commit

  • slimbus: core: add support to uevent commit

  • soundwire: Add support for multi link bank switch commit

13. List of merges

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2018-12-26 20:40:41 by diegocalleja)