ALSA: hda - Increase default bdl_pos_adj for Baytrail/Braswell
authorTakashi Iwai <tiwai@suse.de>
Thu, 10 Dec 2015 15:49:36 +0000 (16:49 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 15 Dec 2015 13:04:05 +0000 (14:04 +0100)
commit2cf721db4b78c11cb57d5a30888eb25ca04d9a29
tree989192adfc9b58456c1ffc28831a8c15f5ce2e95
parent4f0189be3d0b2ba7f23b46295e4063fa3298aa74
ALSA: hda - Increase default bdl_pos_adj for Baytrail/Braswell

Intel Atom processors seem to have a problem at recording when
bdl_pos_adj is set to an odd value.  When a value like 1 is used, it
may drop the samples unexpectedly.  Actually, for the old Atoms, we
used to set AZX_DRIVER_SCH type, and this assigns 32 as default.
Meanwhile the newer chips, Baytrail and Braswell, are set as
AZX_DRIVER_PCH, and the lower default value, 1, is assigned.

This patch changes the default values for these chipsets to a safer
default, 32, again.  Since changing the driver type (AZX_DRIVER_XXX)
leads to the rename of the driver string, it would result in a
possible regression.  So, we can't change the type.  Instead, in this
patch, manual (ugly) PCI ID checks are added on top.

A drawback by this increase is the slight increase of the latency, but
it's a sub-ms order in normal situations, so mostly negligible.

Reported-and-tested-by: Jochen Henneberg <jh@henneberg-systemdesign.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c