Поделиться через


Включение пробуждения

Перед выключением кодека драйвер функции кодека обычно позволяет кодеку разбудить систему при возникновении события изменения состояния, когда кодек находится в выключенном состоянии. Для звукового кодека такое событие может быть активировано, когда пользователь вставляет вилку во входной разъем или удаляет вилку из разъема. Для кодека модема событие изменения состояния может возникать, когда телефон звонит, чтобы указать входящий звонок. Дополнительные сведения о событиях изменения состояния см. в спецификации Intel High Definition Audio на веб-сайте Intel HD Audio .

Чтобы подготовиться к отключению питания, драйвер функции сначала настраивает кодек, чтобы сигнализировать контроллеру шины HD Audio при возникновении события изменения состояния. Затем драйвер функции отправляет IRP_MN_WAIT_WAKE IRP управления питанием драйверу шины HD Audio, чтобы сообщить ему, чтобы включить сигнал пробуждения от кодека. Позже, если сигнал пробуждения будет включен и кодек передает событие изменения состояния через линию SDI кодека, контроллер создает сигнал пробуждения в систему, а драйвер шины уведомляет драйвер функции, завершив IRP_MN_WAIT_WAKE IRP.

После события пробуждения драйвер шины определяет, какой кодек создал сигнал пробуждения, и завершает все ожидающие IRP_MN_WAIT_WAKE IRP для этого кодека. Однако, например, если кодек содержит как звуковые, так и модемные группы функций, водитель автобуса не может определить, какая группа функций является источником сигнала пробуждения. В этом случае драйвер функции должен отправить собственные запросы кодеку для проверки источника сигнала пробуждения.