• Takashi Iwai's avatar
    ALSA: hda - Add bdl_pos_adj option · 675f25d4
    Takashi Iwai authored
    Added a new option, bdl_pos_adj, to adjust the delay of IRQ-wakeup
    timing.
    
    Most HD-audio hardwares have a problem that a BDL IRQ is issued before
    actually the data and the DMA pointer are updated.
    We have already a mechanism to force to delay snd_pcm_period_elapsed()
    calls via workq, but this costs much CPU, and typically the delay is
    within one sample.  Thus, it's more clever to adjust the BDL entries
    instead.
    
    The new option adds the size of the delay in frames.  As default,
    it's set to 1 -- that is, one sample delay.  Even the hardware is
    really correct, one sample delay is relatively harmless in comparison
    with reporting wrong positions.
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
    675f25d4
hda_intel.c 60.5 KB