• Maxime Ripard's avatar
    ASoC: sun8i-codec: Set the BCLK divider · 316b7758
    Maxime Ripard authored
    While the current code was reporting to be able to work in master mode, it
    failed to do so because the BCLK divider wasn't programmed, meaning that
    the BCLK would run at the PLL's frequency no matter the sample rate.
    
    It was obviously a bit too fast.
    
    Add support to retrieve the divider to use, and set it. Since our PLL is
    not always able to generate a perfect multiple of the sample rate, we'll
    have to choose the closest divider that matches our setup.
    
    Fixes: 36c68493 ("ASoC: Add sun8i digital audio codec")
    Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
    Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Cc: <stable@vger.kernel.org>
    316b7758
sun8i-codec.c 15 KB