audio_dev_suspend, audio_dev_resume - suspend or resume an audio device
#include <sys/audio/audio_driver.h> void audio_dev_suspend(audio_dev_t *adev);
void audio_dev_resume(audio_dev_t *adev);
pointer to an audio device allocated with audio_dev_alloc(9F)
Solaris DDI specific (Solaris DDI)
The audio_dev_suspend() function suspends all functions associated with an audio device. The intention is for the audio driver to call this as the first part of its handling for DDI_SUSPEND in detach(9E).
The audio_dev_resume() function resumes functionality associated with the audio device. This function will generally be the last thing executed during the handling for DDI_RESUME in attach(9E).
The framework ensures no entry points associated with the audio device are executing while the device is suspended. Furthermore, the framework guarantees that any engines that may have been running are stopped with audio_engine_stop(9E) before returning from audio_dev_suspend(). Those engines will be restarted using audio_engine_start(9E) by audio_dev_resume().
Any control settings are retrieved during suspend and restored as during resume.
The driver must not hold any locks while calling either of these functions.
These functions may be called from user or kernel context only.
See attributes(7) for descriptions of the following attributes: