Linux 6.14 was released last week, and as usual, we recommend checking out the LWN articles covering the 6.14 merge window (part 1, part 2) to get a good sense of the main new features and updates in this release.
Bootlin engineers have once again been busy contributing to this kernel release, with 125 commits authored by Bootlin engineers, and 60 patches reviewed and merged by Bootlin engineers who are maintainers of specific parts of the Linux kernel.
On the maintenance side, it’s mostly Miquèl Raynal (MTD, NAND maintainer) and Alexandre Belloni (RTC, I3C maintainer) who have been the most active, with respectively 35 patches and 20 patches from contributors reviewed and merged by them.
Regarding our own contributions, the main highlights for this release are:
- Both Alexis Lothoré and Bastien Curutchet continued their extensive work to convert eBPF tests to the test_progs infrastructure. This was recently covered in a blog post from Alexis if you’re interested in more details
- Bastien Curutchet improved the Texas Instruments AEMIF driver, the TI DaVinci NAND driver, and made a small improvement to the PPS GPIO driver. All those changes are related to a major Linux kernel update that Bastien did on a Texas Instruments OMAP L138 platform for one of our customers. As part of this effort, we upstreamed a lot of changes to reduce the technical debt and the on-going maintenance effort.
- Köry Maincent contributed on two distinct networking topics. First, he continued his work on Power over Ethernet support: he is working on adding support for power budget evaluation, and got some preliminary work merged towards this goal. Second, he finally saw his work on making hardware PTP timestamping more configurable, an effort that he had started close to 2 years ago.
- Louis Chauvet continued contributing to the VKMS DRM driver, which allows to test the user-space graphics stack by offering a fake/emulated DRM display. He has a lot more patches pending, which will hopefully progressively make their way upstream in the next few releases.
- Luca Ceresoli added support for a new display panel, fixed a bug in the core device model logic related to devlinks, and did a few others assorted contributions
- Maxime Chevallier converted the Freescale/NXP ucc_geth Ethernet MAC driver to the phylink API, as part of an overall goal to bring a better representation for Ethernet ports in Linux
- Miquèl Raynal contributed some significant improvements to the spi-mem subsystem and the SPI NAND support. He enhanced support to enable each SPI memory operation to run at its own maximum frequency. Additionally, he introduced support for DTR operations in SPI NAND devices that support them, as these operations significantly improve performance. This is for example the case for a number of SPI NAND chips from Winbond, which was the hardware used for this development.
- Thomas Richard contributed a MFD (Multi Function Device) driver for the FPGA used on AAeon x86 boards to provide various I/O extensions, together with a LED driver. The main part, a pin-muxing driver, did not make it for 6.14 and is still under discussion with the community, but will hopefully be ready for 6.16.
- Théo Lebrun continued working on Mobileye MIPS processor support, this time by extending an existing NVMEM driver to be able to access the non-volatile memory used on Mobileye platforms to store the MAC addresses of the Ethernet interfaces
And here are the complete details, commit by commit:
- Alexandre Belloni (1):
- Alexis Lothoré (2):
- Alexis Lothoré (eBPF Foundation) (15):
- selftests/bpf: add a macro to compare raw memory
- selftests/bpf: use ASSERT_MEMEQ to compare bpf flow keys
- selftests/bpf: replace CHECK calls with ASSERT macros in flow_dissector test
- selftests/bpf: re-split main function into dedicated tests
- selftests/bpf: expose all subtests from flow_dissector
- selftests/bpf: add gre packets testing to flow_dissector
- selftests/bpf: migrate flow_dissector namespace exclusivity test
- selftests/bpf: Enable generic tc actions in selftests config
- selftests/bpf: move ip checksum helper to network helpers
- selftests/bpf: document pseudo-header checksum helpers
- selftests/bpf: use the same udp and tcp headers in tests under test_progs
- selftests/bpf: add network helpers to generate udp checksums
- selftests/bpf: migrate bpf flow dissectors tests to test_progs
- selftests/bpf: remove test_flow_dissector.sh
- selftests/bpf: ensure proper root namespace cleanup when test fail
- Bastien Curutchet (13):
- memory: ti-aemif: Store timings parameter in number of cycles – 1
- memory: ti-aemif: Remove unnecessary local variables
- memory: ti-aemif: Wrap CS timings into a struct
- memory: ti-aemif: Create aemif_check_cs_timings()
- memory: ti-aemif: Create aemif_set_cs_timings()
- memory: ti-aemif: Export aemif_*_cs_timings()
- selftests/bpf: test_xdp_meta: Rename BPF sections
- selftests/bpf: Migrate test_xdp_meta.sh into xdp_context_test_run.c
- mtd: rawnand: davinci: Always depends on TI_AEMIF
- mtd: rawnand: davinci: Add clock resource
- mtd: rawnand: davinci: Implement setup_interface() operation
- mtd: rawnand: davinci: Reduce polling interval in NAND_OP_WAITRDY_INSTR
- pps: clients: gpio: Bypass edge’s direction check when not needed
- Bastien Curutchet (eBPF Foundation) (3):
- Kory Maincent (26):
- net: Make dev_get_hwtstamp_phylib accessible
- net: Make net_hwtstamp_validate accessible
- net: Add the possibility to support a selected hwtstamp in netdevice
- net: ethtool: tsinfo: Enhance tsinfo to support several hwtstamp by net topology
- net: ethtool: Add support for tsconfig command to get/set hwtstamp config
- net: ethtool: Fix suspicious rcu_dereference usage
- net: pse-pd: Remove unused pse_ethtool_get_pw_limit function declaration
- net: pse-pd: Avoid setting max_uA in regulator constraints
- net: pse-pd: Add power limit check
- net: pse-pd: tps23881: Simplify function returns by removing redundant checks
- net: pse-pd: tps23881: Use helpers to calculate bit offset for a channel
- net: pse-pd: tps23881: Add missing configuration register after disable
- net: pse-pd: Use power limit at driver side instead of current limit
- net: pse-pd: Split ethtool_get_status into multiple callbacks
- net: pse-pd: Remove is_enabled callback from drivers
- net: pse-pd: tps23881: Add support for power limit and measurement features
- net: pse-pd: Fix missing PI of_node description
- net: pse-pd: Clean ethtool header of PSE structures
- regulator: Add support for power budget
- regulator: dt-bindings: Add regulator-power-budget-milliwatt property
- net: ravb: Fix missing rtnl lock in suspend/resume path
- net: sh_eth: Fix missing rtnl lock in suspend/resume path
- net: ethtool: tsconfig: Fix netlink type of hwtstamp flags
- net: pse-pd: Fix deadlock in current limit functions
- net: pse-pd: pd692x0: Fix power limit retrieval
- net: ethtool: tsinfo: Fix dump command
- Kory Maincent (Dent Project) (1):
- Louis Chauvet (9):
- drm/vkms: Remove index parameter from init_vkms_output
- drm/vkms: Code formatting
- drm/vkms: Add typedef and documentation for pixel_read and pixel_write functions
- drm/vkms: Use const for input pointers in pixel_read an pixel_write functions
- drm/vkms: Update pixels accessor to support packed and multi-plane formats.
- drm/vkms: Avoid computing blending limits inside pre_mul_alpha_blend
- drm/vkms: Introduce pixel_read_direction enum
- drm/vkms: Re-introduce line-per-line composition algorithm
- drm/vkms: Remove useless drm_rotation_simplify
- Luca Ceresoli (6):
- drm/bridge: ti-sn65dsi83: use dev_err_probe when failing to get panel bridge
- dt-bindings: display: simple: Add Tianma TM070JDHG34-00 panel
- drm/panel: simple: Add Tianma TM070JDHG34-00 panel support
- gpio: pca953x: log an error when failing to get the reset GPIO
- watchdog: max77620: fix excess field in kerneldoc
- drivers: core: fix device leak in __fw_devlink_relax_cycles()
- Maxime Chevallier (11):
- net: freescale: ucc_geth: Drop support for the “interface” DT property
- net: freescale: ucc_geth: split adjust_link for phylink conversion
- net: freescale: ucc_geth: Use netdev->phydev to access the PHY
- net: freescale: ucc_geth: Fix WOL configuration
- net: freescale: ucc_geth: Use the correct type to store WoL opts
- net: freescale: ucc_geth: Simplify frame length check
- net: freescale: ucc_geth: Hardcode the preamble length to 7 bytes
- net: freescale: ucc_geth: Move the serdes configuration around
- net: freescale: ucc_geth: Introduce a helper to check Reduced modes
- net: freescale: ucc_geth: phylink conversion
- net: ethtool: netlink: Allow NULL nlattrs when getting a phy_device
- Miquel Raynal (28):
- spi: spi-mem: Extend spi-mem operations with a per-operation maximum frequency
- spi: spi-mem: Add a new controller capability
- spi: amd: Support per spi-mem operation frequency switches
- spi: amd: Drop redundant check
- spi: amlogic-spifc-a1: Support per spi-mem operation frequency switches
- spi: cadence-qspi: Support per spi-mem operation frequency switches
- spi: dw: Support per spi-mem operation frequency switches
- spi: fsl-qspi: Support per spi-mem operation frequency switches
- spi: microchip-core-qspi: Support per spi-mem operation frequency switches
- spi: mt65xx: Support per spi-mem operation frequency switches
- spi: mxic: Support per spi-mem operation frequency switches
- spi: nxp-fspi: Support per spi-mem operation frequency switches
- spi: rockchip-sfc: Support per spi-mem operation frequency switches
- spi: spi-sn-f-ospi: Support per spi-mem operation frequency switches
- spi: spi-ti-qspi: Support per spi-mem operation frequency switches
- spi: zynq-qspi: Support per spi-mem operation frequency switches
- spi: zynqmp-gqspi: Support per spi-mem operation frequency switches
- spi: spi-mem: Reorder spi-mem macro assignments
- spi: spi-mem: Create macros for DTR operation
- spi: spi-mem: Estimate the time taken by operations
- mtd: spinand: Create distinct fast and slow read from cache variants
- mtd: spinand: Add an optional frequency to read from cache macros
- mtd: spinand: Enhance the logic when picking a variant
- mtd: spinand: Add support for read DTR operations
- mtd: spinand: winbond: Update the *JW chip definitions
- mtd: spinand: winbond: Add comment about naming
- mtd: spinand: winbond: Add support for DTR operations
- mtd: spinand: skyhigh: Align with recent read from cache variant changes
- Thomas Richard (4):
- Théo Lebrun (6):
- dt-bindings: nvmem: rmem: Add mobileye,eyeq5-bootloader-config
- nvmem: specify ->reg_read/reg_write() expected return values
- nvmem: rmem: make ->reg_read() straight forward code
- nvmem: rmem: remove unused struct rmem::size field
- nvmem: rmem: add CRC validation for Mobileye EyeQ5 NVMEM
- MIPS: mobileye: eyeq5: add bootloader config reserved memory