@@ -83,9 +83,20 @@ static int acp3x_i2s_hwparams(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) {
- u32 val = 0;
- u32 val;
- u32 reg_val;
nit-pick: xmas-tree style, move the declarations below
@@ -104,24 +115,46 @@ static int acp3x_i2s_hwparams(struct snd_pcm_substream *substream, return -EINVAL; } if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_ITER);
val = val | (rtd->xfer_resolution << 3);
rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_ITER);
switch (rtd->i2s_instance) {
case I2S_BT_INSTANCE:
reg_val = mmACP_BTTDM_ITER;
break;
case I2S_SP_INSTANCE:
default:
reg_val = mmACP_I2STDM_ITER;
} else {}
val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_IRER);
val = val | (rtd->xfer_resolution << 3);
rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_IRER);
switch (rtd->i2s_instance) {
case I2S_BT_INSTANCE:
reg_val = mmACP_BTTDM_IRER;
break;
case I2S_SP_INSTANCE:
default:
reg_val = mmACP_I2STDM_IRER;
}}
- val = rv_readl(rtd->acp3x_base + reg_val);
- val = val | (rtd->xfer_resolution << 3);
- rv_writel(val, rtd->acp3x_base + reg_val); return 0; }
nice cleanup, much better than previous versions!
static int acp3x_i2s_trigger(struct snd_pcm_substream *substream, int cmd, struct snd_soc_dai *dai) {
- int ret = 0;
- int ret;
move 2 lines below.
struct i2s_stream_instance *rtd = substream->runtime->private_data;
- u32 val, period_bytes;
- u32 val, period_bytes, reg_val, ier_val, water_val;
- struct snd_soc_pcm_runtime *prtd = substream->private_data;
- struct snd_soc_card *card = prtd->card;
- struct acp3x_platform_info *pinfo = snd_soc_card_get_drvdata(card);
static void config_acp3x_dma(struct i2s_stream_instance *rtd, int direction) { u16 page_idx;
- u32 low, high, val, acp_fifo_addr;
- dma_addr_t addr = rtd->dma_addr;
- uint64_t low, high, val, acp_fifo_addr;
- uint64_t reg_ringbuf_size, reg_dma_size, reg_fifo_size, reg_fifo_addr;
- dma_addr_t addr;
nit-pick: xmas-tree style
@@ -303,13 +346,24 @@ static int acp3x_dma_hw_params(struct snd_soc_component *component, struct snd_pcm_hw_params *params) { int status;
- u64 size;
- struct snd_pcm_runtime *runtime = substream->runtime;
- struct i2s_stream_instance *rtd = runtime->private_data;
uint64_t size;
struct snd_soc_pcm_runtime *prtd = substream->private_data;
struct snd_soc_card *card = prtd->card;
struct acp3x_platform_info *pinfo = snd_soc_card_get_drvdata(card);
struct i2s_stream_instance *rtd = substream->runtime->private_data;
nit pick: xmas-tree style and newlines