Activation du réveil

Avant de mettre hors tension un codec, le pilote de fonction codec permet généralement au codec de réveiller le système si un événement de changement d’état se produit pendant que le codec est à l’état sous tension. Pour un codec audio, un tel événement peut être déclenché lorsque l’utilisateur insère un plug-in dans une prise d’entrée ou supprime un plug-in d’une prise. Pour un codec modem, un événement de changement d’état peut se produire lorsque le téléphone sonne pour indiquer un appel entrant. Pour plus d’informations sur les événements de changement d’état, consultez la spécification audio Intel High Definition sur le site web Intel HD Audio .

Pour préparer la mise hors tension, le pilote de fonction configure d’abord le codec pour signaler le contrôleur de bus AUDIO HD lorsqu’un événement de changement d’état se produit. Ensuite, le pilote de fonction envoie un IRP de gestion de l’alimentation IRP_MN_WAIT_WAKE au pilote de bus AUDIO HD pour lui indiquer d’activer le signal de mise en éveil à partir du codec. Plus tard, si le signal de mise en éveil est activé et que le codec transmet un événement de changement d’état sur la ligne SDI du codec, le contrôleur génère un signal de mise en éveil au système et le pilote de bus avertit le pilote de fonction en effectuant le IRP_MN_WAIT_WAKE IRP.

À la suite d'un événement de réveil, le pilote de bus détermine quel codec a généré le signal de réveil et complète les IRP_MN_WAIT_WAKE IRPs en attente sur ce codec. Toutefois, si le codec contient à la fois des groupes de fonctions audio et modem, par exemple, le pilote de bus n’a aucun moyen de déterminer quel groupe de fonctions est la source du signal de mise en éveil. Dans ce cas, le pilote de fonction doit envoyer ses propres requêtes au codec pour vérifier la source du signal de mise en éveil.