ALSA: hda/tegra: workaround playback failure on Tegra194
authorSameer Pujar <spujar@nvidia.com>
Mon, 4 May 2020 08:16:16 +0000 (13:46 +0530)
committerTakashi Iwai <tiwai@suse.de>
Mon, 4 May 2020 09:51:32 +0000 (11:51 +0200)
commit60019d8c650d20a7363285f88f4177dd48d029a7
tree48025539033d8f9ada48238adf337e1c9dcd445c
parent67ae482a59e951c346b5a55a756504bc58ce7cfa
ALSA: hda/tegra: workaround playback failure on Tegra194

Tegra194 has 4 SDO lines and with this configuration playback fails
for 44.1K/48K, 2-channel and 16-bps. It results in below print,
  "aplay: pcm_write:2011: write error: Input/output error"

Below relation is used to derive stripe control and is referenced
from HD Audio Specification: Revision 1.0a.
  { ((num_channels * bits_per_sample) / number of SDOs) >= 8 }

Due to a legacy HW design problem, playback issue is hit while using
a stripe value resulting from above formula when ratio is '8'. Thus
it is recommended that the ratio must be greater than '8'. Since the
number of SDO lines is in powers of 2, next available ratio '16' is
used as a limiting factor on Tegra194 to workaround the problem.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Link: https://lore.kernel.org/r/1588580176-2801-4-git-send-email-spujar@nvidia.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_tegra.c