According to some tests on the Cubox (Marvell Armada 510 + TDA19988),
the S/PDIF input asks for a greater audio clock divider.

Signed-off-by: Jean-Francois Moine <moin...@free.fr>
---
 drivers/gpu/drm/i2c/tda998x_drv.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c 
b/drivers/gpu/drm/i2c/tda998x_drv.c
index 4f1a047..2f97290 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -680,10 +680,14 @@ tda998x_configure_audio(struct tda998x_priv *priv,
         * There is no detailed info in the datasheet, so we just
         * assume 100MHz requires larger divider.
         */
+       adiv = AUDIO_DIV_SERCLK_8;
        if (mode->clock > 100000)
-               adiv = AUDIO_DIV_SERCLK_16;
-       else
-               adiv = AUDIO_DIV_SERCLK_8;
+               adiv++;                 /* AUDIO_DIV_SERCLK_16 */
+
+       /* S/PDIF asks for a larger divider */
+       if (p->audio_format == AFMT_SPDIF)
+               adiv++;                 /* AUDIO_DIV_SERCLK_16 or _32 */
+
        reg_write(priv, REG_AUDIO_DIV, adiv);
 
        /*
-- 
1.9.rc1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to