A documentação do kernel descreve bdl_pos_adj
como segue (veja ALSA- Configuração.txt e HD-Audio.txt ):
bdl_pos_adj
- Specifies the DMA IRQ timing delay in samples. Passing -1 will make the driver to choose the appropriate value based on the controller chip.
(sic) Nos controladores Intel, o padrão é 1 (que é o que você pode ver no seu próprio /sys/module/snd_hda_intel/parameters/bdl_pos_adj
). Os vários números estão lá porque o módulo suporta vários dispositivos HDA (oito por padrão, é SNDRV_CARDS
em a fonte do kernel ). Não sei bem qual é a correspondência; Eu teria esperado que correspondesse ao número do cartão, mas você está recebendo o erro para o cartão # 0 enquanto o bdl_pos_adj
sugere que ele está tirando seu valor na segunda posição ...
No que diz respeito à correção do problema, não há muita documentação e o código também não diz muito. A única sugestão que tenho é seguir as instruções e tentar aumentar o valor até obter algo que funcione:
options snd-hda-intel enable_msi=1 bdl_pos_adj=2,2
(Estou usando 2,2
aqui porque não sei qual dos dois primeiros será usado para o seu dispositivo.)