HID sobre o gerenciamento de energia spi
Este artigo identifica os detalhes sobre o gerenciamento de energia do host e do dispositivo via SPI.
Otimizações de energia iniciadas pelo dispositivo
O dispositivo é responsável por otimizar sua utilização de energia na ausência de qualquer configuração de energia do host. Isso permite que o dispositivo insira seu estado de energia mais baixo sem intervenção do host, garantindo que o dispositivo possa continuar a se comunicar com o host em tempo hábil.
Para cumprir corretamente as otimizações de energia iniciadas pelo dispositivo:
- O dispositivo é responsável por preservar seu estado em seus modos de baixa potência.
- Todas as otimizações de energia do dispositivo devem ser transparentes para os usuários finais e host.
- O dispositivo deve responder a todas as solicitações do host em tempo hábil. O dispositivo é responsável por se colocar em modos de energia mais altos em interações de usuário ou sistema em tempo hábil.
- O dispositivo deve notificar o host sobre as alterações de relatório de entrada de maneira sem perdas. Nenhum evento deve ser perdido ou excluído pelo dispositivo.
- Os estados de energia descritos em Otimizações de energia iniciadas pelo host não se aplicam a otimizações de energia iniciadas pelo dispositivo.
Os cenários em que as otimizações de energia iniciadas pelo dispositivo geralmente são implantadas incluem o seguinte:
- O dispositivo fica ocioso por um curto intervalo de tempo. O dispositivo determina que ele está ocioso e se coloca em seu estado de energia mais baixo, onde reduz sua frequência de detecção interna até que o movimento seja reiniciado. Assim que o movimento é iniciado, os dados são imediatamente enviados para o host.
- O dispositivo reduz sua frequência de detecção. O dispositivo reduz a frequência em que verifica dados.
Otimizações de energia iniciadas pelo host
O host é responsável por otimizar a potência do sistema geral e do dispositivo. Esse método de otimização de energia deve ser usado quando o host deseja fornecer notificações de otimização de energia aos dispositivos.
Os estados de energia a seguir são definidos para otimizações de energia iniciadas pelo host e não devem ser confundidos com os estados de otimizações de energia iniciados pelo dispositivo específico do fornecedor.
- ATIVADO
- SLEEP (O dispositivo pode ativar o sistema)
- OFF (o dispositivo não pode ativar o sistema, a energia pode ser removida do dispositivo)
No estado ON, o dispositivo se comporta normalmente e pode usar otimizações de energia iniciadas pelo dispositivo para reduzir o consumo de energia. O dispositivo é responsável por estar no estado ON quando as comunicações HIDSPI são iniciadas, após a redefinição iniciada por um host.
O host instrui o dispositivo a inserir um estado de baixa potência do estado ON emitindo o comando definido Set Power
. O host optará por fazer isso com base na política de energia do sistema operacional para o dispositivo.
O host coloca o dispositivo no estado SLEEP quando a política de energia da plataforma permite que o dispositivo ative a si mesmo ou ao sistema. O suporte para SLEEP é opcional e é indicado para o sistema operacional host por meio do ACPI ou de maneira apropriada ao barramento para um controlador específico da plataforma. Ao receber um SET POWER SLEEP
comando, o dispositivo deve inserir imediatamente um estado de menor potência, em que aguardará a interação do usuário e não deverá declarar interrupções, exceto para iniciar uma ativação. Se o dispositivo detectar a entrada, ele declarará uma interrupção e aguardará o host enviar um SET POWER ON
comando. O dispositivo responde ao comando e retoma o SET POWER ON
envio de entrada para o host.
O host coloca o dispositivo no estado OFF quando a comunicação com o dispositivo não é mais necessária. O ACPI (ou controlador específico da plataforma) deve ser configurado para fornecer um estado OFF frio. Ao receber um SET POWER OFF
comando, o dispositivo entra imediatamente em seu estado de menor potência e interrompe a comunicação com o host. Para trazer o dispositivo para o estado ON, o host inicia uma redefinição, momento em que o processo de inicialização começa.
Para dispositivos enumerados de ACPI, os seguintes estados de energia precisam ser implementados:
- D0 – Estado de trabalho normal
- D2 – usado para o estado SLEEP se houver suporte. O dispositivo deve indicar o suporte de ativação desse estado de energia.
- D3 – isso deve ser usado para o estado OFF. O dispositivo não deve indicar o suporte de ativação desse estado de energia.
Para controladores específicos da plataforma, mapeamentos de estado D alternativos podem ser usados para considerar os requisitos de energia do hardware do controlador.
Os mapeamentos de estado D no nível da plataforma não são visíveis ou comunicados ao dispositivo.
Responsabilidades do estado de energia do host e do dispositivo
A tabela a seguir identifica as propriedades que um dispositivo e um host devem seguir:
Estado de energia | Responsabilidade do host | Responsabilidade do dispositivo |
---|---|---|
ON | – Resolva interrupções e problemas de E/S para o dispositivo, conforme necessário. | – Estar no estado de energia ATIVADO após uma redefinição – Processar, mas não fornecer uma resposta a um SET POWER SLEEP comando ou SET POWER OFF do host. |
DORMIR | – Instruindo o dispositivo a inserir o estado SLEEP. – Definir o dispositivo no estado ON se o dispositivo alertar por meio da linha de interrupção. - Se um host precisar se comunicar com o dispositivo, ele emitirá um SET POWER comando (para ON) antes de qualquer outro comando. |
- Desafirme a linha de interrupção, se declarada, antes que o host inicie as otimizações de energia. - Envie uma interrupção para o host para solicitar a manutenção. Em seguida, o dispositivo não deve reasserir a interrupção até que o host envie um SET POWER comando para inserir o estado ON, ao qual o dispositivo respondeu, momento em que o dispositivo deve declarar a interrupção novamente para notificar o host de qualquer relatório de entrada pendente. - Reduza o desenho de energia para um mínimo absoluto para manter o estado e, opcionalmente, dar suporte à ativação remota. – Responder a um SET POWER ON comando do host. |
OFF | – Instruindo o dispositivo a inserir o estado OFF. – Direcione a plataforma para colocar o dispositivo no estado OFF. - Coloque o dispositivo nesse estado quando ele não deve ser capaz de acordar sozinho. |
- Desafirme a linha de interrupção, se declarada, antes que o host inicie as otimizações de energia. – O dispositivo não poderá iniciar a ativação ou fornecer interrupções nesse estado. - Reduza o desenho de energia para um mínimo absoluto. Não é necessário manter o estado. - Tratar uma transição OFF -> ON como seria uma ativação regular. |