|
@@ -220,8 +220,7 @@ static int tegra_i2s_hw_params(struct snd_pcm_substream *substream,
|
|
|
if (i2sclock % (2 * srate))
|
|
|
reg |= TEGRA_I2S_TIMING_NON_SYM_ENABLE;
|
|
|
|
|
|
- if (!i2s->clk_refs)
|
|
|
- clk_enable(i2s->clk_i2s);
|
|
|
+ clk_enable(i2s->clk_i2s);
|
|
|
|
|
|
tegra_i2s_write(i2s, TEGRA_I2S_TIMING, reg);
|
|
|
|
|
@@ -229,8 +228,7 @@ static int tegra_i2s_hw_params(struct snd_pcm_substream *substream,
|
|
|
TEGRA_I2S_FIFO_SCR_FIFO2_ATN_LVL_FOUR_SLOTS |
|
|
|
TEGRA_I2S_FIFO_SCR_FIFO1_ATN_LVL_FOUR_SLOTS);
|
|
|
|
|
|
- if (!i2s->clk_refs)
|
|
|
- clk_disable(i2s->clk_i2s);
|
|
|
+ clk_disable(i2s->clk_i2s);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -268,9 +266,7 @@ static int tegra_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
|
|
|
case SNDRV_PCM_TRIGGER_START:
|
|
|
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
|
|
|
case SNDRV_PCM_TRIGGER_RESUME:
|
|
|
- if (!i2s->clk_refs)
|
|
|
- clk_enable(i2s->clk_i2s);
|
|
|
- i2s->clk_refs++;
|
|
|
+ clk_enable(i2s->clk_i2s);
|
|
|
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
|
|
|
tegra_i2s_start_playback(i2s);
|
|
|
else
|
|
@@ -283,9 +279,7 @@ static int tegra_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
|
|
|
tegra_i2s_stop_playback(i2s);
|
|
|
else
|
|
|
tegra_i2s_stop_capture(i2s);
|
|
|
- i2s->clk_refs--;
|
|
|
- if (!i2s->clk_refs)
|
|
|
- clk_disable(i2s->clk_i2s);
|
|
|
+ clk_disable(i2s->clk_i2s);
|
|
|
break;
|
|
|
default:
|
|
|
return -EINVAL;
|