

For information about function groups, see the Intel High Definition Audio Specification at the Intel HD audio website. For each codec, the bus driver loads one function driver (if available) for each function group that it finds within the codec. Provides synchronized starting and stopping of groups of streams.Īn interface for programming a DSP or other registers that aren't defined in the Intel High Definition Audio Specification.ĭuring device enumeration, the HD audio bus driver detects the codecs that are attached to the HD audio controller's HD audio link. Provides access to the wall clock register and link position registers.

Manages bus bandwidth resources on the HD audio link. Sets up the DMA engines that transfer data to or from the cyclic buffers. Passes commands from its children to the codecs and retrieves responses from the codecs. Handles interrupt service routines (ISRs) for unsolicited responses and propagates the unsolicited responses to its children. Queries the codecs on the bus and creates children to manage the codecs. Function drivers allocate and free these resources through the HD audio DDI. In addition, the bus driver manages the HD audio link hardware resources, which include the DMA engines and bus bandwidth. The bus driver exposes the HD audio DDI that its children-instances of the function drivers that control the audio and modem codecs-can use to program the HD audio controller hardware. The HD audio bus driver is the only software component that directly accesses the hardware registers of the HD audio bus interface controller.
