Intel® ICH5 AC ’97 Controller Theory of Operation
R
36 AC ’97 Programmer’s Reference Manual
3.6.5.1 Primary Audio Requested to D3
The audio power management procedure attempting to get the audio codec to D3 state.
If MD3 == true // (sleeping?)
{
Audio_Power_Manage_Reg = D3 + PR4 + PR5;
// yes, sleep plus AC Link down
}
Else
{
Audio_Power_Manage_Reg = D3; // No, sleep keeping link up
}
AD3 = true; // set to "audio sleeping"
// setting the flag last avoids race condition during
// D0->D3 transition.
3.6.5.2 Secondary Modem Requested to D3
The modem power management procedure will try to get the modem codec to D3 state.
Secondary_codec = D3 + MLNK // yes, sleep plus SDATA_IN1 low
MD3 = true
// setting the flag last avoids race condition during D0->D3
// transition.
// MLNK corresponds to register Reg. 56h bit 12 (D12)
3.6.5.3 Secondary Modem Requested to D0
The modem power management procedure will try to get the modem codec to D0 state.
MD3 = false // set to "modem awake"
// Setting the flag first avoid race condition during D3->D0
// transition
If Modem_ready == True
{
Modem_Power_Manage_Reg = D0 // Bring back to fully awake,
}
If AD3 == true // (audio sleeping?)
{
Link_reset() // cause a warm or cold reset
While (!Modem_ready) // wait for modem ready
{
read modem codec ready bit every 400 ms
}
Modem_Power_Manage_Reg = D0 // Bring back to awake,
}