Libération de Linux 6.14 – Mais-changements, ARM, RISC-V et Architecture MIPS

Libération De Linux 6.14 Mais Changements, Arm, Risc V Et Architecture

Linus Torvalds vient d’annoncer la sortie de Linux 6.14 sur LKML:

C’est donc tôt lundi matin (enfin – tôt pour moi, je ne suis pas vraiment une personne du matin), et j’aimerais avoir une bonne excuse pour expliquer pourquoi je n’ai pas fait la sortie 6.14 hier dans mon programme de sortie ordinaire du dimanche après-midi.

Je voudrais dire qu’une chose importante de dernière minute est apparue et a retardé les choses.

Mais non. C’est juste une pure incompétence.

Parce que rien de la dernière minute ne s’est produit hier, et je ne faisais que nettoyer des choses sans rapport afin d’être prête pour la fenêtre de fusion. Et dans le processus, il a tout à fait oublié de couper la version. D’OH.

Alors oui, un peu retardé sans raison bonne, et évidemment, cela signifie que la fenêtre de fusion s’est ouverte. Pas de repos pour les méchants (ou les incompétents).

Vous trouverez ci-dessous le shortlog pour la semaine dernière. C’est agréable et petit – non seulement il n’y avait pas de problème de dernière minute hier, mais toute la semaine dernière a été assez calme. Le patch est dominé par certaines mises à jour GPU AMD, et même celles-ci sont assez petites. Le reste est de petits changements aléatoires partout.

À en juger par ma pile de demandes de traction en attente, 6.15 sera beaucoup plus occupé.

Linus

Libéré il y a environ deux mois, Linux 6.13 a ajouté la préemption paresseuse, la prise en charge des écritures atomiques, divers autres améliorations des systèmes de fichiers BTRFS, F2FS et EXT4, la suppression de Reiserfs, des optimisations de systèmes de construction telles que AutoFDO (optimisation automatique dirigée) et l’hélice, etc.

Version Linux 6.14

Modifications dignes d’intérêt dans Linux 6.14

Certaines améliorations notables de Linux 6.14 incluent:

  • Meilleure performance du vin avec le pilote primitif de synchronisation NT (NTSYNC) – les systèmes d’exploitation Windows NT offrent des primitives de synchronisation qui sont différentes de celles présentes sur les systèmes UNIX. Cela crée des problèmes de performances lorsque vous essayez d’imiter ce comportement pour des logiciels comme le vin. Cette version ajoute un pilote qui permet de modéliser les primitives de NT et de passer moins de temps à essayer de l’imiter, ce qui peut améliorer massivement les performances dans certains programmes, en particulier les jeux. En savoir plus sur LWN.
  • Prise en charge des fusibles pour la communication basée sur IO_URING – Linux 6.14 ajoute la prise en charge du fusible pour la communication IO-uring entre le noyau et l’espace utilisateur afin d’augmenter les performances de fusible en réduisant les commutateurs de contexte et d’autres techniques. Consultez la documentation pour plus de détails.
  • Le pilote AMDXDNA pour les NPU AMD – les NPU dans les SOC x86 sont assez nouveaux, et le support a été inégal dans Linux (et même Windows) jusqu’à présent. La dernière version Linux a ajouté le pilote AMDXDNA pour les NPU AMD (unités de traitement neuronal) basées sur l’architecture AMD XDNA pour accélérer CNNS, LLMS et autres charges de travail AI.
  • E / S tamponnés non achetés – Cela ajoute la prise en charge de l’envoi d’E / S tamponné éventuellement dont les pages seront supprimées du cache de page une fois les données lues / écrites. Les périphériques de stockage rapides peuvent remplir le RAM avec trop de cache de page qui ne sera pas nécessaire, et cette fonctionnalité permet de lire / écrire des données et de les supprimer du cache sans faire face aux inconvénients et à la complexité de la gestion des E / S directs. Voir l’article LWN pour plus de détails.
  • Petit changement pour activer la clé Microsoft Copilot sur certains nouveaux ordinateurs portables de Lenovo, HP et Dell

Mises à jour des bras dans Linux 6.14

Comme d’habitude, il y a eu beaucoup de changements pour l’architecture du bras:

  • Allwinner
    • Allwinner F1C100S – Ajout du support DMA, pilote ASOC
    • ASOC – Ajoutez un support 24 bits à S / PDIF. Testé sur H3, A64, H6 et H313 SoCs jusqu’à 192 kHz.
    • DTS change
      • Activer le codec audio sur lichee pi nano
      • Ajouter des nœuds syscon et sram pour A100
      • Activer les DVF CPU pour Tanix TX1
      • Configurez explicitement le parent de l’horloge TCON0 Pixel en fonction de la sortie de l’affichage utilisé
    • Nouveaux appareils – N / A
  • Tamip
    • Phy Driver
      • Ajout de Rockchip RK3576 COMBO PHY Prise en charge
      • Rockchip PCIe Phy Mutex et Regmap Update
    • Pilote de contrôleur PCIE
      • Simplifiez l’horloge et réinitialisez la manipulation en utilisant des interfaces en vrac
      • Passer le pointeur de rockchip_pcie (non void) Tyt to rockchip_pcie_disable_clocks ()
      • Return -enomem, pas de succès, lorsque PCI_EPC_MEM_ALLOC_ADDR () échoue
    • Rockchip Designware PCIe Controller Driver
      • Utilisez DLL_LINK_UP IRQ pour détecter les appareils de liaison et d’énumération afin que les utilisateurs n’aient pas à sauver manuellement
      • Dites à DWC Core de ne pas attendre le lien, car l’interruption «sys» est requise et détecte les événements de liaison
    • Pinctrl – Nouveau sous-pilote pour le Rockchip RK3562 Soc
    • IOMMU – Ajouter des liaisons DT pour Rockchip RK3576
    • SPI – Prise en charge ACPI et gestion de l’alimentation améliorée pour les contrôleurs SFC Rockchip
    • Nouveaux appareils
  • Amlogique
    • Changement des conducteurs – Documentez les registres de contrôle du système trouvés sur les premiers Meson Soc
    • Bonneaux DT – Convertissez les liaisons Amlogic Meson6, Meson8 et Meson8b SDIO / MMC à DT-Schema.
    • ARM64 DT Modifications pour Linux 6.14 – Retirez Broadcom WiFi compatible des tableaux de référence GX
    • Nouveaux appareils – N / A
  • Samsung
    • Ajout de Samsung Exynos 9810
    • Pilote Pinctrl – Deux corrects pour des problèmes très anciens concernant la gestion des erreurs et également un nettoyage.
    • Horloge – Samsung Exynos 990 SOC CLK Driver
    • Conducteurs de SOC
      • Ajoutez de nouvelles liaisons pour Sysreg dans Exynos 8895.
      • Améliorations mineures dans les liaisons Exynos USI.
      • Correction d’un avertissement de smatch dans Exynos PMU Syscon Driver.
    • Samsung DTS ARM64 Modifications
      • Exynos 8895 – Ajoutez des nœuds UART, PMU (performances) pour le cluster M2 et les contrôleurs I2C dans le bloc de caméra (HSI2C dans CAM0-3).
      • Exynos 990 – Ajouter une unité de gestion de l’alimentation (bloc Samsung), PMU (performance) pour le cluster M5 et deux contrôleurs d’horloge.
      • Exynos Auto V920 – Ajoutez des contrôleurs de garde de garde et de DMA.
      • Google GS101 – correctifs mineurs pour Phy et USB. Ajouter USB Type-C.
      • EXynos850-E850-96 Board: Drop Gap in Memory Disposition.
    • Modifications du bras DTS – Peu de correctifs et d’améliorations pour le son sur Galaxy Tab3 (Exynos 4212)
    • Defconfig change – n / a
    • Nouveaux appareils (tous les smartphones)
      • Exynos 9810 – Samsung Galaxy S9 (SM-G960F)
      • Exynos 990
        • Samsung Galaxy S20 Fe (SM-G780F)
        • Samsung Galaxy S20 5G (SM-G980F)
  • Qualcomm
    • Nouveaux Socs
      • Qualcomm Snapdragon 8 Elite (SM8750) pour les smartphones premium
      • Qualcomm Snapdragon AR2 (SAR2130P) pour les lunettes de réalité augmentées.
      • Qualcomm IQ6 (QCS610) et IQ8 (QCS8300) Plateformes IoT «Dragonwing» industrielles.
      • Snapdragon 425 (MSM8917) Mobile Phone SoC (lancé en 2016)
      • Qualcomm IPQ5424 Chip de mise en réseau Wi-Fi 7 (certains pilotes ont déjà été ajoutés dans Linux 6.3)
    • Horloge
      • Contrôleurs Qualcomm CLK: IPQ CMN PLL, SM6115 LPASS, SM750 Global, TCSR, RPMH et Affichage. X plus GPU et Global. QCS615 RPMH et MSM8937 et RPM MSM8940.
      • Qualcomm Pongo et Taycan Alpha PLLS
      • Qualcomm IPQ5424 CLKS d’interconnexion liées à la NOC
    • PHY – Ajout de Qualcomm SAR2130P QMP USB, SAR2130P QMP PCIe, QCS615 QUSB2 et PCIE, IPQ5424 QMP PCIe, IPQ5424 QUSB2 et USB3 Ph.
    • DMA – Ajout de Qualcomm QCS615, QCS8300, SM8750, SA8775P GPI DMA Controller
    • Pilote de contrôleur PCIE
      • Ajouter DT SM8550 et SM8650 Interruption «globale» en option pour les événements de liaison
      • Ajouter des chaînes DT «compatibles» pour le contrôleur PCIE IPQ5424
      • Si «global» IRQ est pris en charge pour la détection des événements de liaison, dites à DWC Core de ne pas attendre Link Up
    • Pictrl
      • Nouveau sous-pilote pour le Qualcomm MSM8917 SOC TLMM
      • Correction de quelques épingles manquantes dans le Qualcomm IPQ5424 TLMM
    • IOMMU – SMMUV2:
      • Implémentez la configuration du préfecteur par client sur Qualcomm SOCS
      • Prise en charge du SMMU Adreno sur SDM670 SOC de Qualcomm
    • Wifi
      • ATH10K – Prise en charge du noyau IP QCA6698AQ
      • ATH12K – Activer le MLO pour QCN9274
    • Mises à jour du pilote
      • Pilotes SCM – Nombre de correctifs et d’améliorations liées aux conditions de course lors de l’initialisation. QSEEOM et le service variable EFI qui y sont activés pour quelques cartes Elite 8CX Gen 3 et X.
      • Pilote LLCC – Configuration pour IPQ5424 et WRCache est activée sur X Elite.
      • La macro BCM_TCS_CMD () est corrigée et nettoyée.
      • La prise en charge de SM7225 et X 1 Plus est ajoutée au PD-Mapper.
      • PMIC_GLINK et le pilote AltMode associé sont simplifiés à l’aide de gardes.
      • SOCINFO est ajouté pour QCS9075 et la lecture du numéro de série sur les appareils MSM8916 est corrigée.
    • Mises à jour ARM32 DTS
      • Décrivez les chemins d’interconnexion pour les contrôleurs PCIe EP sur SDX55 et SDX65.
      • Désactivez l’entrée USB U1 / U2 pour améliorer la stabilité USB.
    • Mises à jour ARM64 DTS pour Linux 6.14
      • IPQ9574 – GAINT PCIE ET ​​TRNG, ainsi que quelques autres améliorations plus petites.
      • IPQ5332 – TRNG est activé
      • MSM8994 – Huawei Nexus 6P gagne en charge les clés de puissance et de volume. Les interruptions USB sont corrigées.
      • QCM6490 – Le Fairphone 5 gagne la caméra EEPROM et le kit de développement RB3 Gen2 gagne une description des LED embarqués.
      • QRB4210 RB2 – La prise en charge de la lecture audio HDMI est ajoutée.
      • SA8775P – GAINS CONTRÔLEURS D’HORCE MANQUE, Les CPU sont liés aux domaines d’alimentation PSCI, DisplayPort est introduit et activé sur la carte de conduite.
      • SDM670 – Les composants GPU sont décrits et activés pour Google Pixel 3A, ainsi que le contrôleur d’horloge de caméra et la LED Flash.
      • SM8250 – Xiaomi Mi Pad 5 Pro obtient le WiFi et Bluetooth activé.
      • SM8550 et SM8650, – IRQ «globale» pour les contrôleurs PCIe RC est décrit pour permettre des événements hotplug.
      • Snapdragon X Elite – Gain Qup Power Domains and OPPS, un autre contrôleur PCIE, un autre UART et ses contrôleurs SDHCI. L’ASUS Vivobook S 15 obtient un interrupteur GPU et un interrupteur de couvercle. Microsoft Surface ordinateur portable 7 gagne la configuration audio, la prise en charge du lecteur de carte SD et les récidivants USB. Le Lenovo Yoga Slim 7X fait décrire son interrupteur de couvercle. Dell XPS 13 Gains Retirimers décrit. Le Lenovo ThinkPad T14S a des ports USB supplémentaires activés, ainsi que le capteur de son et d’empreintes digitales.
      • Un support CoreSight est ajouté pour SM8450, SM8650, X 1 Elite, QCS615 et QCS8300.
      • L’entrée USB U1 / U2 est désactivée sur une variété de plates-formes, pour améliorer la stabilité de l’USB.
      • Les fréquences d’horloge de sommeil sont examinées et corrigées pour diverses plates-formes, tout comme diverses plages d’adresses RemoteProc MMIO.
    • ARM64 MISES À JOUR DE DEFCONFIG pour Linux 6.14
      • Activez les conducteurs de base pour SM8750, QCS8300, SA8775P et QCS615.
      • Activez le pilote IPQ CMD PLL. Déposez l’option 8650 Display Clock, maintenant que le pilote a été consolidé avec 8550.
    • Nouveaux appareils
      • Cartes MTP et QRD pour la plate-forme Elite Snapdragon 8
      • Planche de conduite pour la plate-forme QCS615
      • Board de conduite pour la plate-forme QCS8300
      • Carte RDP466 (IPQ5424),
      • Xiaomi Redmi 5A (MSM8917)
      • Kit de développement Snapdragon AR2 Gen1 Smart Viewer
      • HP Omnibook X ordinateur portable et Snapdragon Devkit (Snapdragon x Elite)
      • Huawei MateBook E Go et Microsoft Windows Dev Kit 2023 (Snapdragon 8cx Gen 3)
  • Médiatiser
    • Pinctrl – Nouveau sous-pilote pour le Mediatek MT7988 Soc
    • Pilote de contrôleur PCIe Gen3
      • Utilisez clk_bulk_prepare_enable () au lieu de séparer clk_bulk_prepare () et clk_bulk_enable ()
      • Réorganiser la réinitialisation Assert / DeAssert afin qu’ils soient tous les deux faits dans les rappels * _power_up ()
      • Document qu’Airoha EN7581 nécessite un Phy init et une puissance avant la réinitialisation du désersert, contrairement à d’autres contrôleurs MediaTek Gen3
      • Déplacer le retard Airoha EN7581 Post-Resset de la méthode EN7581 Clock .enable () à mtk_pcie_en7581_power_up ()
      • Dormir au lieu de retard pendant la mise sous tension d’Airoha EN7581, car il s’agit d’un contexte non atomique
      • Ignorez Perst # Assertion sur Airoha EN7581 pendant la sonde et suspendre / reprendre pour éviter un défaut matériel
      • Activer la sonde asynchrone pour réduire le temps de démarrage du système
    • Mises à jour du pilote pour Linux 6.14 – Correction de l’évitement des fuites IOMAP sur les chemins d’erreur dans le pilote MediaTek DevAPC.
    • MediaTek WiFi (MT76)
      • Support multibande unique en wiphy (préparation pour le MLO)
      • Prise en charge de l’appareil P2P
      • Ajouter la prise en charge de l’adaptateur USB TP-Link TXE50UH
    • Mises à jour defconfig
      • Activer les modules de construction pour les contrôleurs Ethernet intégrés (MediaTek Star et MediaTek DWMAC Glue Coseer) trouvés sur divers SoC MediaTek
      • Activer les modules de construction de la carte son sur MT8188 et DSP sur MT8186.
    • Mises à jour DTS ARM32 – N / A
    • Mises à jour de DeviceTree ARM64
      • Correction et améliorations:
        • MT8516 obtient quelques correctifs pour GICV2, Watchdog et I2C, et la prise en charge du contrôleur de clavier;
        • Le tableau MT8390 Genio 700 obtient un support audio de base;
        • MT8365 obtient un alias pour son contrôleur Ethernet intégré;
        • Le MT8195 obtient une solution importante pour la suspension du système: toutes les machines basées sur ce SOC et sa variante IoT peuvent désormais effectuer correctement PM Suspende à RAM;
        • MT8188 obtient une prise en charge de son GPU Mali avec DVFS et une correction pour le matériel OVL trouvé dans le contrôleur d’affichage en utilisant les bonnes chaînes compatibles;
        • Les Chromebooks MT8186 peuvent désormais se suspendre correctement grâce à un correctif en déplaçant les réveils USB de XHCI au contrôleur MTU3 (USB);
        • Les Chromebooks MT8183 obtiennent une solution pour leur microphone DMIC et leur support approprié pour leur écran tactile de deuxième source;
        • MT7988 SOC et la carte Bananapi R4 obtient la prise en charge de Pinctrl, EMMC / SD, Thermal, CPU DVFS, PCI-Express et périphériques comme le RT5190A PMIC, PCA9545 I2C MUX, et autres;
        • MT7986 BANANAPI R3 Board obtient une prise en charge de SATA Power Socket;
      • Nettoyage:
        • Propriété compatible avec le régulateur abandonné de MediaTek DTS;
        • Noms de nœuds thermiques alignés sur les liaisons sur MT8183 Kukui;
        • MT6397 PMIC Obtenez les noms de sous-nœuds appropriés, fixant la validation DT;
        • La propriété permettant la fonction Wake-on-LAN a changé dans toutes les cartes et le pilote pour correspondre à la signification réelle de celui-ci (MediaTek, Mac-Wol permet désormais WOL sur Mac au lieu de Phy);
        • Des compatibles pour le clavier MediaTek PMIC sont ajoutées aux liaisons et peuvent désormais passer la validation DTS;
    • Nouveaux appareils
      • Duo de Lenovo Chromebook basé sur MT8188 (CIRI)
      • ASUS Chromebook Enterprise CM30 basé sur MT8186 (Starmie)
      • ASUS Chromebook CZ12 et CZ12 Flip basé sur MT8186 (Chinchou)
  • Autres nouvelles plates-formes et SOC du matériel ARM
    • Aspeed
      • IBM SPB1 AST2600 BMC Machine (serveur Sapphire Rapids X86)
      • Ampère Mt Jefferson AST2600 BMC
    • Blaize – Blaize BlZP1600 AI Chip à l’aide de cœurs GSP (processeur de streaming graphique) personnalisés pour le calcul et deux petits noyaux Cortex-A53 qui exécutent le système d’exploitation.
    • Microchip – SAMA7D65 Chip intégré 32 bits avec un seul noyau Cortex-A7
    • Renesas
      • R-CAR V4H ES3.0 (R8A779G3), une version mise à jour du SoC automobile V4H (R8A779G0)
      • RZ / G3E (R0A09G047) CHIPS ENCHÉDÉS UTILISÉS Utilisation de cœurs Cortex-A55
  • Modifications liées à la Raspberry Pi PI
    • Ajout de nœuds DT de pipeline d’affichage sur BCM2712 (Raspberry Pi 5)
    • Activer la bizarrerie TRB Overfetch sur VL805
    • Active le pilote I2C MUX basé sur Pintrl qui est utilisé sur les systèmes basés sur Raspberry PI 4 depuis le passage aux fichiers d’arborescence de périphérique pour utiliser la représentation MUX I2C
    • BCM2835-UNICAM: Désactiver le fonctionnement du mode de déclenchement – Cela élimine la corruption (ligne manquante ou échantillons non valides dans la ligne) sur les capteurs IMX219 / IMX708 au début du capteur. Cela n’a qu’un impact sur le pilote du noyau Unicam en amont.

RISC-V change

L’architecture RISC-V a eu quelques changements dans Linux 6.14:

  • Une barrière AQRL redondante a été supprimée de l’implémentation Futex CMPXCHG
  • Quelques informations supplémentaires sur la table de pages sont maintenant imprimées sur Die () et les systèmes qui provoquent des débordements PA
  • Alibaba t-head
    • Les pilotes TH1520 Pinctrl et DWMAC sont activés dans Defconfig
    • Prise en charge des extensions vectorielles en T-thead, qui comprend l’exposition de ces extensions à l’espace utilisateur sur des systèmes qui les implémentent
    • Ajouter le nœud de boîte aux lettres pour le T-Head Th1520 dans l’arborescence de l’appareil
  • Puce
    • PCIe – Autoriser le DMA-non cohérent. Polarfire SOC peut être configuré d’une manière qui nécessite une manipulation DMA non cohérente. Sur RISC-V, les bus sont cohérents par défaut et la propriété DMA-non cohérente est nécessaire pour désigner des bus ou des dispositifs non cohérents.
  • Spacemit
    • Ajout de Spacemit K1
    • Pinctrl – Activez le contrôleur de broches Spacemit par défaut dans la configuration SOC. Le SOC ne démarre pas sans lui, donc celui-ci est à peu près requis
  • StarFive – Arbre de périphérique: Milk-V Mars et Pine64 Star64 Boards Faire déplacer leurs interfaces USB0 du mode périphérique au mode hôte.
  • Nouveau conseil – banane PI BPI-F3

Architecture MIPS

Pour Linux 6.14, le résumé des modifications n’est que des «nettoyages et correctifs». Voici la liste complète pour référence:

  • MIPS: PCI-LEGACY: remplacer PCI_ADDRESS_TO_PIO
  • MIPS: LOONGSON64: Env: Utilisez Str_on_off () Helper dans Prom_lefi_init_env ()
  • MIPS: Migrez vers la règle générique pour les DTB intégrés
  • MIPS: Correction de SHMCTL / SEMCTL / MSGCTL SYSCALL pour O32
  • MIPS / MATH-EMU: fixer l’émulation de l’instruction préfx
  • MIPS: Loongson: Ajouter des commentaires pour interface_info
  • MIPS: Loongson64: Retirez l’unité de taille de la ROM dans BoardInfo
  • MIPS: Traps: utilisez str_enabled_disabled () dans parity_protection_init ()
  • MIPS: FTRACE: DÉCLARE
  • REVERT «MIPS: CSRC-R4K: Sélectionnez Have_unstable_Sched_clock si SMP && 64bit»
  • MIPS: Correction du mauvais spécificateur de format
  • MIPS: Ajoutez une ligne vide après __head
  • MIPS: noyau: renommer la lecture / écriture_c0_ecc pour lire / writec0_errrctl

J’ai également généré le Linux 6.14 Changelog complet avec des messages de validation uniquement en utilisant la commande git log v6.13..v6.14-rc7 --stat. Vous pouvez également consulter un Linux 6.14 Changelog détaillé sur KernelNewBies.

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

YouTube video