O mantenedor do subsistema de som do Linux, Takashi Iwai, enviou na ultima quarta-feira todas as atualizações do driver de som para o Linux 6.1. Há muito suporte de hardware de som novo com o Linux 6.1, inclusive para dispositivos AMD, suporte de som inicial para Apple Silicon com o M1 e M2, melhorias no suporte de hardware Intel existente e muito trabalho de hardware móvel.
Linux 6.1 traz novos drivers de som para AMD e Apple
Os destaques para as mudanças de som no Linux 6.1 incluem:
- Suporte para AMD Rembrandt com o código Sound Open Firmware, complementando o suporte existente da plataforma AMD Cezanne em SOF. É ótimo ver a AMD continuando a adotar o SOF, presumivelmente como parte de seu jogo no Chromebook.
- O coprocessador de áudio Pink Sardine 6.2 da AMD (ACP 6.2) agora é suportado. Este driver de áudio Pink Sardine apareceu em agosto e agora está sendo mainlined. Não está claro com o que o Pink Sardine se correlaciona no roteiro da AMD, mas pode ser para as APUs móveis “Phoenix” ou talvez as APUs de orçamento de Mendocino.
- O novo driver “SOC_APPLE_MCA” para habilitar o driver da plataforma ASoC para periféricos MCA encontrados com Apple Silicon SoCs. Este driver de som Apple Silicon foi iniciado pelos desenvolvedores do Asahi Linux e testado com sucesso com o hardware Apple M1 e M2.
- Melhorias no código IPC4 Sound Open Firmware (SOF).
- Suporte de áudio Mediatek MT8186.- Suporte para os DSPs NXP i.MX8ULP.- Suporte Qualcomm SC8280XP, SM8250, SM8450. Mais detalhes sobre essas mudanças de som, que já foram mescladas, por meio do pull request.
Linux 6.1 limpa mais código para PREEMPT_RT
O esforço de mainlining “RT” em tempo real para o kernel Linux continua em andamento. Enquanto a linha de chegada está se aproximando, o suporte PREEMPT_RT para a linha principal ainda não superou o último obstáculo – aparentemente o principal bloqueador pelo qual ainda é mantido são as mudanças printk com a impressão do console encadeado.
Mas para a janela de mesclagem do Linux 6.1, há pelo menos mais limpezas de código do kernel. Thomas Gleixner da Linutronix, que é propriedade da Intel desde o início deste ano, enviou um conjunto de patches sched/rt esta manhã para o Linux 6.1.
Para este ciclo, há mais limpezas de código PREEMPT_RT: Introduza preempt_[dis|enable_nested() e use-o para limpar vários locais que têm condicionais PREEMPT_RT de código aberto.
Em kernels habilitados para PREEMPT_RT, spinlocks e rwlocks não desabilitam a preempção nem as interrupções. Embora existam alguns lugares que dependem da desativação implícita de preempção/interrupção desses bloqueios, por exemplo, seções de gravação de seqcount, atualizações por estatísticas de CPUetc.
Isso é difícil de ler e realmente não explica por que isso é necessário.Linus sugeriu usar funções auxiliares (preempt_disable_nested() e preempt_enable_nested()) e usá-las nos locais afetados.
Em kernels habilitados para !RT, essas funções são NOPs, mas contêm uma declaração lockdep para validar que a preempção está realmente desabilitada para capturar sites de chamadas que não têm preempção desabilitada.Limpe os caminhos de código afetados em mm, dentry e lib.
Veja este pull request para obter a lista completa de patches RT para Linux 6.1.