Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 206529
b: refs/heads/master
c: 3f02403
h: refs/heads/master
i:
  206527: 96a08ff
v: v3
  • Loading branch information
Peter Ujfalusi authored and Liam Girdwood committed Jun 3, 2010
1 parent 0367b65 commit 1a932ea
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f10b8ad15f9531b6d58edabccf05e9eb738c4409
refs/heads/master: 3f024039e08598521a2c4c3eaedf8de2119797f4
14 changes: 9 additions & 5 deletions trunk/sound/soc/omap/omap-mcbsp.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ struct omap_mcbsp_data {
int configured;
unsigned int in_freq;
int clk_div;
int wlen;
};

#define to_mcbsp(priv) container_of((priv), struct omap_mcbsp_data, bus_id)
Expand Down Expand Up @@ -155,19 +156,21 @@ static void omap_mcbsp_set_threshold(struct snd_pcm_substream *substream)
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data);
int dma_op_mode = omap_mcbsp_get_dma_op_mode(mcbsp_data->bus_id);
int samples;
int words;

/* TODO: Currently, MODE_ELEMENT == MODE_FRAME */
if (dma_op_mode == MCBSP_DMA_MODE_THRESHOLD)
samples = snd_pcm_lib_period_bytes(substream) >> 1;
/* The FIFO size depends on the McBSP word configuration */
words = snd_pcm_lib_period_bytes(substream) /
(mcbsp_data->wlen / 8);
else
samples = 1;
words = 1;

/* Configure McBSP internal buffer usage */
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
omap_mcbsp_set_tx_threshold(mcbsp_data->bus_id, samples - 1);
omap_mcbsp_set_tx_threshold(mcbsp_data->bus_id, words);
else
omap_mcbsp_set_rx_threshold(mcbsp_data->bus_id, samples - 1);
omap_mcbsp_set_rx_threshold(mcbsp_data->bus_id, words);
}

static int omap_mcbsp_dai_startup(struct snd_pcm_substream *substream,
Expand Down Expand Up @@ -409,6 +412,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
}

omap_mcbsp_config(bus_id, &mcbsp_data->regs);
mcbsp_data->wlen = wlen;
mcbsp_data->configured = 1;

return 0;
Expand Down

0 comments on commit 1a932ea

Please sign in to comment.