|
@@ -1049,7 +1049,7 @@ static u32 fsl_spdif_txclk_caldiv(struct fsl_spdif_priv *spdif_priv,
|
|
|
enum spdif_txrate index, bool round)
|
|
|
{
|
|
|
const u32 rate[] = { 32000, 44100, 48000, 96000, 192000 };
|
|
|
- bool is_sysclk = clk == spdif_priv->sysclk;
|
|
|
+ bool is_sysclk = clk_is_match(clk, spdif_priv->sysclk);
|
|
|
u64 rate_ideal, rate_actual, sub;
|
|
|
u32 sysclk_dfmin, sysclk_dfmax;
|
|
|
u32 txclk_df, sysclk_df, arate;
|
|
@@ -1143,7 +1143,7 @@ static int fsl_spdif_probe_txclk(struct fsl_spdif_priv *spdif_priv,
|
|
|
spdif_priv->txclk_src[index], rate[index]);
|
|
|
dev_dbg(&pdev->dev, "use txclk df %d for %dHz sample rate\n",
|
|
|
spdif_priv->txclk_df[index], rate[index]);
|
|
|
- if (spdif_priv->txclk[index] == spdif_priv->sysclk)
|
|
|
+ if (clk_is_match(spdif_priv->txclk[index], spdif_priv->sysclk))
|
|
|
dev_dbg(&pdev->dev, "use sysclk df %d for %dHz sample rate\n",
|
|
|
spdif_priv->sysclk_df[index], rate[index]);
|
|
|
dev_dbg(&pdev->dev, "the best rate for %dHz sample rate is %dHz\n",
|