Dynamic Audio Codec Enumeration via Graphics Driver Backdoor

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current power management techniques for audio codecs result in loss of register values during low power states, leading to suboptimal power savings and user experience issues when devices transition between power states.

Innovation Solution

Implementing a dynamic enumeration mechanism using audio codec hardware backdoors, allowing graphics drivers to access and save verb registers as memory-mapped IO registers, enabling restoration upon power-up without re-enumeration by the audio driver.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the audio codec is allowed to power off during low power states, then power savings are achieved, but register values are lost and audio functionality is lost upon wake-up

Engineering Contradiction:
Improvepower consumptionVSAvoidaudio codec functionality
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The graphics driver performs preliminary actions by saving the audio codec register values to a buffer in system memory before the audio codec enters low power state. When the audio codec wakes up, the graphics driver restores the register values from the buffer, preventing loss of functionality while allowing power savings during low power states.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the audio codec is kept powered-on to maintain register values, then audio functionality is preserved, but power savings are reduced

Engineering Contradiction:
Improveaudio codec functionalityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary saving of register values to memory before power state transition, and preliminary restoration after wake-up, enabling the audio codec to fully power off while maintaining functionality through the save/restore mechanism managed by the graphics driver.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the audio driver re-programs enumeration registers upon wake-up, then audio functionality is restored, but system complexity and processing time increase

Engineering Contradiction:
Improveaudio codec functionalityVSAvoidenumeration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of re-enumerating the audio codec registers upon wake-up, the system uses a copy of the original register values stored in a buffer. The graphics driver restores this copy to the audio codec registers, avoiding time-consuming re-enumeration while restoring full functionality.

Inventive Principle:
Principle #26Copying

4Loss of energy

If a backdoor mechanism is implemented for graphics driver access to audio codec registers, then power management is improved, but device complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoiddriver communication mechanism
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system introduces an intermediary mechanism (backdoor access path) that allows the graphics driver to communicate with and access audio codec registers that would normally be inaccessible. This intermediary enables the graphics driver to save and restore register values, facilitating power management without requiring audio driver involvement during wake-up.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10168985B2Dynamic audio codec enumeration
Publication Date: 2019.01.01 INTEL CORP
  • US10168985B2 patent drawing
  • US10168985B2 patent drawing
  • US10168985B2 patent drawing

AI summary

Techniques related to dynamic audio codec enumeration and dynamically providing communication between drivers are discussed. Such techniques may include providing back door communication between the drivers via mailbox registers in audio codec hardware.