Linux 6.17 только что выпущен на LKML :
На прошлой неделе не было больших сюрпризов, так что вот он, ядро 6.17 выпущено и готово к использованию.
Ниже приведен краткий лог только за последнюю неделю – не полный выпуск 6.17 – как обычно. Это не захватывающе, что и хорошо. Полагаю, самый крупный патч там – это исправления блокировок для некоторых гонок в Bluetooth, которые могли вызывать ситуации использования после освобождения. Вот и все, насколько это интересно.
Кроме того, есть обычные мелкие исправления драйверов (как обычно, преобладают GPU и сетевые, но «преобладание» все равно довольно скромное), некоторые незначительные случайные обновления других драйверов, некоторый шум в файловых системах, а также ядро и mm.
И некоторые обновления самопроверок.
Очевидно, это означает, что окно слияния для 6.18 откроется завтра, и уже есть четыре дюжины ожидающих запросов на включение. Спасибо проактивным людям – вы знаете, кто вы. Но до открытия окна слияния еще есть время для окончательной проверки новейшего выпуска.
Спасибо,
Линус
Выпущенный два месяца назад, Linux 6.16 добавил поддержку оффлоада USB-аудио для экономии энергии на встроенных устройствах, реализовал начальную поддержку Intel Trusted Domain Extensions (TDX), принес нуль-копирование отправки TCP-полезных нагрузок из памяти DMABUF, полезное для копирования данных напрямую из GPU/NPU в сетевое устройство, различные улучшения производительности Intel CPU и многое другое. Теперь давайте проверим некоторые заметные изменения в Linux 6.17, прежде чем углубляться в подробности об архитектурах Arm, RISC-V и MIPS.
Заметные изменения в Linux 6.17
Вот некоторые основные моменты выпуска Linux 6.17:
- Специальная поддержка одноядерных процессоров была удалена, и Linux 6.17 и выше будут поставляться с поддержкой SMP, даже на одноядерных машинах.
- Управление векторами атак реализация была объединена для архитектуры x86; это дает лучший контроль над тем, какие меры защиты от аппаратных уязвимостей должны быть включены в ядре. Обратитесь к документации для получения дополнительной информации.
- Новый модуль ядра DAMON_STAT обеспечивает упрощенный мониторинг активности управления памятью в системе; см. журнал изменений и документацию для подробностей.
Журнал изменений Arm в Linux 6.17
- Системы Arm теперь могут использовать расширение буфера записи ветвлений Arm v9.2 branch record buffer extension в подсистеме perf events.
- Динамическое исправление теперь поддерживается на 64-битных системах Arm.
- Allwinner
- Управление питанием – Добавлена поддержка контроллера питания PCK600 для Allwinner A523
- Драйвер тактирования
- Добавлен отсутствующий сброс PPU0 для Allwinner A523 (как привязка DT, так и драйвер). Изменение привязки разделено с деревом soc.
- Исправлена ширина поля мультиплексора тактовых сигналов DE для Allwinner V3s
- Прекращена передача запросов изменения частоты родителю для тактового сигнала DE Allwinner V3s
- Принудительно установлены и заблокированы тактовые сигналы DE и TCON Allwinner V3s на один и тот же источник, видео PLL
- Дисплей – Добавлена поддержка Display Engine 3.3 (DE33). DE33 – это более новая версия IP-блока Display Engine от Allwinner, встречающаяся в SoCs H616, H618, H700 и T507.
- Изменения в дереве устройств для Linux 6.17
- Определения выводов RGB666 LCD для выводов PE V3s и выводов PD V3
- Очистка привязок DT плат Allwinner
- Поддержка EMAC на A100/A133
- Включено на плате Liontron H-A133L
- Allwinner A523
- Определения выводов UART1
- Добавлены SID efuse, контроллеры питания и GPU
- Графический процессор Mali-G57 MC1 включен на всех существующих платах
- Исправления порядка узлов
- Новое устройство – Orange Pi 4A с SoC Allwinner T527
- Rockchip
- Драйвер контроллера PCIe Rockchip
- Удалены неиспользуемые маршрутизация и определения кодов сообщений PCIe
- Удалены несколько неиспользуемых включений заголовков
- Использованы стандартные определения регистров конфигурации PCIe вместо специфичных для Rockchip переопределений
- Установлена целевая скорость соединения на 5.0 GT/s перед повторным обучением, чтобы была возможность обучиться на более высокой скорости
- Драйвер контроллера PCIe Rockchip DesignWare
- Предотвращена гонка между обучением соединения и обновлением регистров через DBI путем запрета обучения соединения после горячего сброса и потери соединения
- Добавлена необходимая задержка PCIE_RESET_CONFIG_WAIT_MS после прерывания Link up IRQ
- Медиа – Драйвер декодера видео Rockchip переведен из стадии staging
- DRM – Поддержка GPU Rockchip RK3528 (Lima, Mali-450 MP2)
- Термальное – Реализована и документирована поддержка однократно программируемых предохранителей для драйвера Rockchip с целью повышения точности измерений
- Обновления дерева устройств для Linux 6.17:
- Поддержка камеры для PinePhone Pro.
- Несколько очисток для улучшения работы DTC, исправление порядка каналов DMA UART на rk3528, а также включение некоторого видеовыхода и определений кнопок.
- Интересная деталь – добавление поведения сброса, поскольку некоторые платы имеют специфические требования к тому, как PMIC должен выполнять перезапуск. DT-поддерживающие не считали заголовок с вспомогательными константами частью привязки, поэтому этот заголовок оказался в каталоге Rockchip
- Defconfig – Включены модули Rockchip DFI + PM_DEVFREQ_EVENT и RGA.
- Новые устройства
- FriendlyElec NanoPi M5
- Firefly ROC-RK3588S-PC
- Luckfox Omni3576 (RK3576)
- Sakura Pi RK3308B
- Драйвер контроллера PCIe Rockchip
- Amlogic
- Pinctrl – добавление поддержки управления выводами для Amlogic S7, S7D и S6
- SPI – добавлена поддержка контроллера Amlogic SPISG
- Драйвер тактирования
- Использование реализации вспомогательного контроллера сброса в Amlogic axg-audio вместо реализации контроллера сброса в drivers/clk
- Удаление ненужных заголовочных файлов контроллера тактирования для драйверов Amlogic
- Удаление больших таблиц regmap контроллера тактирования в драйверах Amlogic
- Дерево устройств для Linux 6.17:
- Приведение имени узла wifi в соответствие с привязками
- Включение узлов NPU на Alta и VIM3
- Новое устройство – ТВ-приставка Ugoos AM3 на базе Amlogic meson-gxm (S912)
- Samsung
- Добавление поддержки чипа Exynos 2200 для флагманских телефонов, используемого в Galaxy S22 и других телефонах Samsung; базовые узлы, контроллеры выводов, контроллеры тактирования и начальная поддержка USB
- Ввод – драйвер клавиатуры Samsung получил обновление
- PHY – поддержка Samsung Exynos990 usbdrd phy, Exynos7870 MIPI phy
- IOMMU – добавление поддержки зарезервированных областей памяти, указанных загрузчиком (Exynos)
- Pinctrl – добавление поддержки программирования пробуждения для контроллеров выводов Google GS101 SoC, чтобы SoC мог корректно пробуждаться из состояний низкого энергопотребления.
- Драйверы SoC
- Google GS101: небольшое улучшение привязки PMU.
- ExynosAutov920: добавление привязки системных регистров HSI2.
- DTS ARM изменения – несколько улучшений на основе dtbs_check.
- Изменения Samsung DTS ARM64 для Linux 6.17
- ExynosAutov920: добавление контроллера тактирования CMU_HSI2, оставшихся узлов SPI
- Google GS101:
- Подготовка к переходу на архитектурный таймер вместо Exynos MCT в качестве основного.
- Добавление вторичного PMIC Maxim MAX77759 на платы Pixel для управления USB Type-C и зарядкой.
- Добавление неполного описания основного PMIC Samsung S2MPG10. Несколько компонентов, такие как регуляторы, все еще отсутствуют.
- Добавление вторичного режима перезагрузки через NVMEM MAX77759.
- Переключение основного обработчика перезагрузки (SoC) на специфичный для Google google,gs101-reboot, который предоставляет дополнительные функции GS101 (холодная и теплая перезагрузка). Это изменение затронет других пользователей этого DTS, но насколько известно, используется только Android, откуда это изменение и происходит.
- Exynos7870
- Исправление проблем со скоростью в режиме USB gadget.
- Корректировка карты памяти для избежания сбоев из-за защищенного мира.
- Tesla FSD и Google GS101 DTS обрабатываются через дерево Samsung SoC, поэтому правило clean dtbs_check применяется и там – упомянуть это в записях сопровождающих.
- Включение шаблонов Tesla FSD DTS в дерево Samsung SoC для документирования фактического пути патчей.
- Изменения Defconfig
- Несколько SoC (включая Samsung, Apple): переключение звука на модуль вместо встроенного, поскольку он не необходим для загрузки. Также удалены избыточные опции звукового кодека.
- Включение драйверов PMIC для телефонов Google GS101 Pixel 6: MAX77759 и Samsung PMIC по протоколу ACPM.
- Новое устройство – Samsung Galaxy S22+ (SM-S906B), называемое G0S.
- Qualcomm
- PHY
- Добавлен Qualcomm Milos Synopsys eUSB2 PHY, SM8750 QMP phy, драйвер M31 eUSB2 PHY
- Рефакторинг сброса UFS PHY в Qualcomm и поддержка драйвером UFS API калибровки phy
- Свойства переопределения повторителя Qualcomm, исправление привязок qmp pcie для тактовых сигналов и последовательности инициализации для случая отключения питания прошивкой
- Pinctrl
- Добавлена поддержка управления выводами Qualcomm PMIV0104, PM7550 и Milos; из-за непрактичных схем нумерации драйверу Qualcomm теперь необходимо начать полагаться на кодовые имена SoC
- Обработка нескольких регионов TLMM в драйвере Qualcomm
- DMA контроллер – Добавлена поддержка Qualcomm Milos GPI, sc8280xp GPI
- Драйвер контроллера PCIe
- Добавлены привязки DT и поддержка драйвера для SA8255p, который поддерживает ECAM для доступа к пространству конфигурации
- Обновлены привязки DT и драйвер для описания PHY и сбросов на корневой порт в stanza корневого порта и устарело описание их в
хост-бридже; это позволяет поддерживать несколько корневых портов в будущем - Добавлен Qualcomm QCS615 в привязки DT SM8150
- Добавлен Qualcomm QCS8300 в привязки DT SA8775p
- Удалены TBU и опорные тактовые сигналы из привязок DT Qualcomm SM8150 и SC8180x
- Документирован сброс ‘link_down’ в привязках DT Qualcomm SA8775P
- Добавлена обязательная задержка PCIE_RESET_CONFIG_WAIT_MS после IRQ установления связи
- Soundwire – Обновление отладочного вывода драйвера Qualcomm
- Драйвер тактирования
- Глобальный, дисплейный, GPU, видео, камеры, tcsr и rpmh контроллер тактирования для Qualcomm Milos SoC
- Контроллеры тактирования камеры, дисплея, GPU и видео для Qualcomm QCS615
- Драйвер контроллера тактирования видео для Qualcomm SM6350
- Драйвер контроллера тактирования камеры для Qualcomm SC8180X
- Перемещение конфигурации Qualcomm PLL в реальный probe на множестве платформ для обработки контроллеров тактирования, питаемых несколькими доменами питания.
- Замена round_rate() на determine_rate() во всех реализациях тактирования Qualcomm
- Включение аппаратного управления GDSC для GDSC контроллеров тактирования видео на нескольких платформах.
- Исправлен сброс GE PHY на Qualcomm IPQ5018, исправлена некорректная таблица частот порта6 NSS на Qualcomm IPQ8074, добавлены отсутствующие сбросы видео на Qualcomm X1E80100 и поддержание тактового сигнала XO всегда включенным на Qualcomm IPQ5018.
- IOMMU – Arm SMMU:
- Обновление привязок Devicetree для Qualcomm SMMU в SoC «Milos»
- Поддержка частей Qualcomm SM6115 MDSS
- Отключение PRR на Qualcomm SM8250, поскольку использование этих бит вызывает сбой гипервизора
- WiFi – Qualcomm/Atheros (ath12k):
- Исправление сканирования на многоканальных устройствах
- Дополнительные функции EHT/Wi-Fi 7
- Разгрузка инкапсуляции/декапсуляции
- Bluetooth – Добавлен еще один ID 0x28de:0x1401 для Qualcomm WCN6855 (btusb)
- Регулятор – Добавлены Qualcomm PM7550 и PMR735B
- Звук – Поддержка ASoC в Qualcomm QCS8275
- Обновления драйверов
- Выполнение проверки входных данных в загрузчике MDT, так как это не было должным образом выполнено в случаях без remoteproc.
- Исправление проблем с порядком байт в кодировщике/декодере QMI.
- Поддержка чтения статистики DDR с помощью драйвера статистики Qualcomm.
- Добавлена поддержка чтения деталей прошивки TME в драйвер socinfo.
- Документирован процессор Kryo 470 и добавлен SM7150 в DCC для привязок DeviceTree.
- Обеспечение поддержки драйвером rpmh RSC версии 4 IP-блока.
- Добавлено семейство SM7635 и связанные PMIC в драйвер socinfo. Также добавлена поддержка получения деталей сборки загрузчика.
- Обновления дерева устройств Arm64
- DB410c – Мезонин камеры D3 преобразован в оверлей.
- MSM8976 – Введены определения pinctrl SDC2 и контроллер DMA BLSP помечен как управляемый другим объектом.
- QCM2290 – Добавлена подсистема камеры
- QCS615 – Добавлены и включены remoteproc и связанные устройства.
- Добавлены и включены кодировщик/декодировщик видео на QCS8300 и SA8775P.
- SA8775P – Добавлены таблицы OPP процессора для масштабирования пропускной способности DDR/L3 в зависимости от частоты процессора, добавлены определения межсоединения L3, поддержка DSI и
кодировщика/декодировщика видео. - SDM850 – Включен remoteproc SLPI на Lenovo Yoga C630 .
- SM6350 – Добавлен контроллер тактирования видео, APR и некоторые аудиосервисы.
- Описана подсистема камеры на SM8550 и добавлен узел кодировщика/декодировщика видео Iris для SM8650.
- SM8750 – Введена поддержка UFS и Soundwire, включены они и описано звуковое оборудование на MTP и QRD.
- SC8180X – Добавлен контроллер тактирования камеры.
- X Elite
- Dell XPS13 – Добавлены pwrseq WiFi и Bluetooth и включен датчик отпечатков пальцев.
- HP Omnibook X14 – Добавлен мультиплексор USB1 SS1 SBU и выполнена некоторая разная очистка.
- Замена унаследованных от X Elite термозон на специфичные для X Plus.
- Добавление отсутствующих прерываний и очистка несвязанных тактовых сигналов для контроллеров PCIe на множестве платформ.
- Обновления дерева устройств Arm32
- Добавлены псевдонимы для контроллеров MMC на MSM8974, включена зарядка USB на платформе Sony Xperia Rhine и добавлено новое DeviceTree для устройства Sony Xperia Z Ultra.
- Упорядочивание спецификаторов прерываний на MSM8960 с использованием макроконстант.
- Обновления defconfig Arm64 для Linux 6.17 – Включение контроллеров тактирования камеры и видео для платформ SM8450, SM8550 и SM8650.
- Новое устройство – Ноутбук Asus Zenbook A14 Qualcomm Snapdragon X1
- PHY
- MediaTek
- Добавлена поддержка MT6572, более старого чипа для мобильных телефонов, который был чрезвычайно популярен десять лет назад, но до сих пор не был включен в основную ветку
- Watchdog – Корректировка времени поддержания активности для избежания состояния гонки MediaTek WS0
- WiFi – mt76
- Улучшения восстановления прошивки
- Дополнительная работа над MLO
- Bluetooth – Добавлены новые VID/PID 0489/e14e + 2c7c/7009 для MT7925 (btusb)
- Pinctrl – Добавлен драйвер управления выводами для MT8189
- Обновления драйверов для Linux 6.17 – коммит очистки для драйвера mtk-mutex, разъясняющий использование регистров MUTEX_MOD1, MUTEX_MOD2
для применения настроек заглушки подкомпонентов контроллера дисплея на всех SoC MediaTek. - Обновления DTS ARM64
- Добавлена зарезервированная память для AFE DMA для MT8173/83/86/92, выравнивание распределения памяти, связанной с аудио, между всеми SoC для Chromebook
- Добавлены компоненты второго источника для Steelix и отмечены несколько тачпадов для Asurada как таковые
- MediaTek Genio 1200: Включена поддержка Audio DSP и звука
- MediaTek Genio 510/700/1200: Добавлена поддержка PMIC Keys
- MediaTek MT7988: Добавлен когерентный интерконнект кэша для CPU DVFS
- MT7988A-BananaPi-R4: Включен CCI, добавлены светодиоды GPIO
- Airoha EN7581: Добавлены узлы Ethernet на оценочную плату
- Arm64 defconfig – Н/Д
- Новое устройство – Chromebook Steelix Squirtle (Mediatek MT8186)
- Другие новые аппаратные платформы Arm и SoC
- ASPEED – Две новые материнские платы на основе ASPEED BMC
- Axiado – Встраиваемый чип Axiado AX3000 с ядрами CPU Cortex-A53, описанный как «Trusted Control/Compute Unit», который может быть
использован в качестве BMC в серверах. Он поддерживает Ethernet 10Gbps и поставляется с NPU 4TOPS. - CIX – Добавлен процессор P1 с 12 ядрами Cortex-A720/A520. Один из первых, использующих инструкции ARMv9.2.
- Marvell – Чип Marvell PXA1908 для мобильных телефонов с 64-битной архитектурой (довольно старый чип)
- NVIDIA – Добавлена поддержка Tegra264. Это новый чип Thor, используемый в модуле Jetson T5000 . Пока минимальная поддержка.
на данный момент, и не так много информации о нем доступно публично - NXP – Промышленные платы на основе SoC i.MX6, i.MX 8 и i.MX 95
- Renesas – Renesas R-Car V4M-7 (R8A779H2) является обновленной версией R-Car V4M (R8A779H0), используемой в автомобильных приложениях
- Sophgo – SG2000 – это SoC с двойной архитектурой (ARM + RISC-V). RISC-V уже поддерживался, но Linux 6.17 добавляет поддержку Arm.
- STMicro – Промышленная плата на основе STM32
- Texas Instruments – Поддержка AM62D2; промышленные платы на основе AM33 и AM62D2
- Специфичные изменения для Raspberry Pi
- DRM – Поддержка дисплея Raspberry Pi 7″ 720×1280 (ilitek-ili9881c)
- Драйвер для многофункционального I/O чипа Raspberry Pi RP1 , используемого в Raspberry Pi 5, вместе с подключением к фреймворкам pinctrl и clk.
- DRM/FourCC – Добавлены форматы RGB161616 и BGR161616 – Не только для Pi, но будет использоваться Raspberry Pi PiSP Back End, поддерживаемый драйвером V4L2 в пространстве ядра и libcamera в пользовательском пространстве, который использует идентификаторы DRM FourCC
Обновления RISC-V в Linux 6.17
- KVM
- Включено кольцевое отслеживание грязной памяти
- Улучшен perf kvm stat для отчетов о событиях прерываний
- Делегирование ловушки недопустимой инструкции в VS-режим
- Улучшения, связанные с MMU, для KVM RISC-V для предстоящей вложенной виртуализации
- Defconfig
- Spacemit – Включение драйверов sdhci и pwm для soc k1 в defconfig, первый в качестве встроенного, последний в качестве модуля.
- Starfive – Удалена более не требуемая конфигурация для звукового драйвера Starfive.
- AMD – Добавлена совместимость с 64-битным Microblaze V CPU.
- Andes Technologies – QiLai четырехъядерный AX45MP SoC, используемый в плате Voyager Micro-ATX.
- Sophgo
- CV18xx
- Добавлен узел RTCSYS MFD, который предоставляет богатые регистры управления для управления питанием soc и другими функциями управления;
- Добавлен узел контроллера сброса и добавлены связанные свойства сброса для других периферийных устройств
- Добавлены узлы, связанные с контроллером Ethernet, в soc и включено управление Ethernet устройством для HuashanPi.
- SG2042
- Добавлены ISA расширения, такие как xtheadvector/ziccrse/zfh для ядер cpu
- Добавлена поддержка контроллера Ethernet
- Добавлены платы EVB_V1 & EVB_V2
- SG2044
- Добавлена конфигурация PMU
- Добавлены ISA расширения ziccrse и добавлено отсутствующее свойство riscv,cbop-block-size для ядер cpu
- Добавлено больше периферийных узлов для SoC после готовности контроллера тактовых частот, таких как MSI/PCIe/pwm/SPI-NOR и т.д. Этот PR также добавляет HWMON MCU устройство для платы sophgo-srd3-10 и резервирует узел uart0 для платы sophgo-srd3-10, поскольку uart0 уже занят прошивкой.
- Перемещение sophgo.yaml из директории riscv в soc/sophgo для совместного использования между riscv и arm. SoC CV18xx содержит большое ядро RISC-V и большое ядро ARM64. Перемещение sophgo.yaml в общее местоположение поможет добавить поддержку ядер ARM для чипа CV18xx в будущем.
- CV18xx
- SpacemiT
- Изменения дерева устройств
- Добавлены шины трансляции DMA
- Добавлена поддержка PWM
- Добавлена поддержка Reset
- Добавлен узел eMMC
- Изменения дерева устройств
- StarFive – Сортировка свойств на MilkV Mars и добавление светодиода статуса питания на все платы JH7110.
Отметим, что в этом цикле была некоторая драма с RISC-V Linux, и некоторые изменения не вошли из-за « мусорных pull requests ». Это будет в Linux 6.18.
Список изменений MIPS
Как обычно, MIPS добавляет только минимальные изменения:
- Обновления DT для ralink, mobileye и atheros/qualcomm
- Очистка использования mc146818
- Ускорение калибровки задержки для CPS
- Другие исправления и очистки
Для еще более подробной информации можно проверить список изменений Linux 6.17 (только сообщения коммитов), сгенерированный командой git log v6.16..v6.17-rc7 --stat
перечисляющий только сообщения коммитов. Kernelnewbies также имеет свой собственный список изменений Linux 6.17.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.