[PATCH 03/13] drm/i2c: tda998x: improve programming of audio divisor

Sven Van Asbroeck thesven73 at gmail.com
Wed Jun 12 15:25:59 UTC 2019


On Tue, Jun 11, 2019 at 7:02 AM Russell King <rmk+kernel at armlinux.org.uk> wrote:
>
> Improve the selection of the audio clock divisor so that more modes
> and sample rates work.
>
> Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
> ---

+static u8 tda998x_get_adiv(struct tda998x_priv *priv, unsigned int fs)
+{
+       unsigned long min_audio_clk = fs * 128;
+       unsigned long ser_clk = priv->tmds_clock * 1000;
+       u8 adiv;
+
+       for (adiv = AUDIO_DIV_SERCLK_32; adiv != AUDIO_DIV_SERCLK_1; adiv--)
+               if (ser_clk > min_audio_clk << adiv)
+                       break;
+
+       dev_dbg(&priv->hdmi->dev,
+               "ser_clk=%luHz fs=%uHz min_aclk=%luHz adiv=%d\n",
+               ser_clk, fs, min_audio_clk, adiv);
+
+       return adiv;

Doesn't this function need an error return in case min_audio_clk > ser_clk ?
Or is that a situation that can never arise?


More information about the dri-devel mailing list