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

Eficiência energética: suporte ao SoC Qualcomm Eliza chega ao kernel Linux!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...
  • Energia sob controle: O novo patch permite que o kernel gerencie dinamicamente a tensão e a energia de componentes críticos do chip Eliza, como CPU e GPU, através do controlador RPMh.
  • Mapa da casa: A atualização define os "cômodos" de energia (power domains) do processador, incluindo trilhas para modem (MSS), memória (MX) e gráficos (GFX).
  • Debate técnico: A revisão do código trouxe à tona discussões importantes sobre a hierarquia de dependência entre o domínio multimídia (MMCX) e o núcleo do sistema (CX) para evitar instabilidade.
  • Economia de bateria: Com a integração ao driver rpmhpd, dispositivos baseados no Eliza poderão entrar em estados de baixo consumo de forma eficiente, prolongando a vida útil da bateria.
  • Pronto para o merge: Os patches já foram revisados e aprovados pelos mantenedores do subsistema, pavimentando o caminho para a inclusão nas próximas versões estáveis do Linux.

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.
Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.