Suporte ao SoC Qualcomm Eliza chega aos domínios de energia RPMh

Suporte ao SoC Qualcomm Eliza chega aos domínios de energia RPMh

Abel Vesa, da Qualcomm, enviou uma série de patches para habilitar o controle de domínios de energia no SoC Eliza. A atualização foca na integração com o subsistema rpmhpd, que gerencia a energia de diversos componentes críticos do chip através do processador auxiliar RPMh (Resource Power Manager hard).

A série inclui a documentação das vinculações de árvore de dispositivos (Device Tree bindings) e a implementação do driver, permitindo que o kernel Linux ajuste dinamicamente a tensão e o estado de energia de blocos como CPU, GPU e modem.

O que são domínios de energia RPMh?

Em SoCs modernos da Qualcomm, o gerenciamento de energia é centralizado em um microcontrolador dedicado chamado RPMh. Ele controla trilhas de energia (rails) que alimentam diferentes partes do chip. O driver rpmhpd no Linux atua como um cliente, solicitando níveis de desempenho (voltage levels) ao RPMh conforme a demanda do sistema operacional.

A adição do suporte ao Eliza introduz uma lista extensa de domínios de energia gerenciáveis:

  • CX / CX_AO: Domínio central (Core) e sua versão “Always On”.
  • GFX: Domínio gráfico (GPU).
  • MX / MX_AO: Domínio de memória.
  • MMCX / MMCX_AO: Domínio multimídia (provavelmente display e vídeo).
  • MSS: Subsistema de Modem.
  • EBI: Interface de barramento externo (memória DDR).
  • LCX, LMX, NSP, GMXC: Outros domínios específicos de subsistemas e rede neural.

Para o iniciante: o que é RPMh e por que ele importa?

Imagine que um processador moderno (SoC) é como uma casa inteligente cheia de cômodos diferentes: um para jogos (GPU), um para cálculos (CPU), um para internet (Modem), etc.

Se você deixasse todas as luzes e ar-condicionados dessa casa ligados no máximo o tempo todo, a conta de luz seria astronômica e a casa superaqueceria. É aqui que entra o RPMh. Ele funciona como um mordomo super rápido que gerencia a energia.

  • Sem o driver: O Linux não sabe onde estão os interruptores dessa casa nova (o chip “Eliza”). Ele pode acabar deixando tudo ligado ou não fornecer energia suficiente quando necessário.
  • Com o driver (este patch): O Linux ganha o “mapa da fiação”. Ele pode pedir ao mordomo (RPMh): “Vou rodar um jogo pesado, aumente a energia na sala da GPU” ou “O celular está no bolso, desligue quase tudo para economizar bateria”.

Basicamente, esses códigos garantem que o seu dispositivo não gaste bateria à toa e não esquente sem necessidade.

Detalhes técnicos e discussão

Durante a revisão dos patches, Dmitry Baryshkov levantou uma questão técnica importante sobre a hierarquia de domínios. Ele questionou se o domínio MMCX (Multimídia) deveria ser definido como um domínio independente ou como um filho do domínio CX (mmcx_w_cx_parent).

Em muitas plataformas Qualcomm, o domínio multimídia depende da tensão do domínio central (CX) para funcionar corretamente. Se essa dependência não for declarada, o kernel pode tentar reduzir a tensão do CX enquanto o MMCX ainda precisa de alta performance, causando instabilidade ou travamentos. A escolha da estrutura correta (mmcx vs mmcx_w_cx_parent) define como o kernel gerencia essas restrições de voto de tensão.

Status e disponibilidade

Os patches foram enviados em 16 de fevereiro de 2026 e já receberam as etiquetas de revisão (Reviewed-by) de mantenedores chave como Konrad Dybcio, Krzysztof Kozlowski e Taniya Das.

  • Status atual: Aprovado pelos revisores.
  • Próximos passos: Integração na árvore linux-next e posterior fusão no kernel mainline (provavelmente Linux 7.0 ou superior).
  • Impacto: Essencial para o funcionamento correto e eficiência energética de dispositivos baseados no chip Eliza.