]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: ti: davinci-mcasp: extract mcasp_is_auxclk_enabled() helper
authorSen Wang <sen@ti.com>
Thu, 5 Mar 2026 19:58:24 +0000 (13:58 -0600)
committerMark Brown <broonie@kernel.org>
Mon, 9 Mar 2026 00:17:28 +0000 (00:17 +0000)
Move the AUXCLK-enabled check out of davinci_mcasp_calc_clk_div() into
a reusable helper.  No functional change.

Signed-off-by: Sen Wang <sen@ti.com>
Link: https://patch.msgid.link/20260305195825.9998-2-sen@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/ti/davinci-mcasp.c

index 2d260fbc9b8351c9f25f0794670d528fdc9716a2..6d0310f09b129827bb20f1b79e2f62d1b80293da 100644 (file)
@@ -274,6 +274,14 @@ static inline unsigned int mcasp_get_auxclk_fs_ratio(struct davinci_mcasp *mcasp
               mcasp->auxclk_fs_ratio_tx : mcasp->auxclk_fs_ratio_rx;
 }
 
+static inline bool mcasp_is_auxclk_enabled(struct davinci_mcasp *mcasp, int stream)
+{
+       if (mcasp->async_mode && stream == SNDRV_PCM_STREAM_CAPTURE)
+               return mcasp_get_reg(mcasp, DAVINCI_MCASP_AHCLKRCTL_REG) & AHCLKRE;
+
+       return mcasp_get_reg(mcasp, DAVINCI_MCASP_AHCLKXCTL_REG) & AHCLKXE;
+}
+
 static void mcasp_start_rx(struct davinci_mcasp *mcasp)
 {
        if (mcasp->rxnumevt) {  /* enable FIFO */
@@ -1337,16 +1345,15 @@ static int davinci_mcasp_calc_clk_div(struct davinci_mcasp *mcasp,
        int bclk_div_id, auxclk_div_id;
        bool auxclk_enabled;
 
+       auxclk_enabled = mcasp_is_auxclk_enabled(mcasp, stream);
+
        if (mcasp->async_mode && stream == SNDRV_PCM_STREAM_CAPTURE) {
-               auxclk_enabled = mcasp_get_reg(mcasp, DAVINCI_MCASP_AHCLKRCTL_REG) & AHCLKRE;
                bclk_div_id = MCASP_CLKDIV_BCLK_RXONLY;
                auxclk_div_id = MCASP_CLKDIV_AUXCLK_RXONLY;
        } else if (mcasp->async_mode && stream == SNDRV_PCM_STREAM_PLAYBACK) {
-               auxclk_enabled = mcasp_get_reg(mcasp, DAVINCI_MCASP_AHCLKXCTL_REG) & AHCLKXE;
                bclk_div_id = MCASP_CLKDIV_BCLK_TXONLY;
                auxclk_div_id = MCASP_CLKDIV_AUXCLK_TXONLY;
        } else {
-               auxclk_enabled = mcasp_get_reg(mcasp, DAVINCI_MCASP_AHCLKXCTL_REG) & AHCLKXE;
                bclk_div_id = MCASP_CLKDIV_BCLK;
                auxclk_div_id = MCASP_CLKDIV_AUXCLK;
        }