|
@@ -118,9 +118,6 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram
|
|
|
frames_to_bytes(runtime, ofs),
|
|
|
frames_to_bytes(runtime, transfer));
|
|
|
snd_BUG_ON(err < 0);
|
|
|
- } else if (substream->ops->silence) {
|
|
|
- err = substream->ops->silence(substream, -1, ofs, transfer);
|
|
|
- snd_BUG_ON(err < 0);
|
|
|
} else {
|
|
|
hwbuf = runtime->dma_area + frames_to_bytes(runtime, ofs);
|
|
|
snd_pcm_format_set_silence(runtime->format, hwbuf, transfer * runtime->channels);
|
|
@@ -135,11 +132,6 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram
|
|
|
samples_to_bytes(runtime, transfer));
|
|
|
snd_BUG_ON(err < 0);
|
|
|
}
|
|
|
- } else if (substream->ops->silence) {
|
|
|
- for (c = 0; c < channels; ++c) {
|
|
|
- err = substream->ops->silence(substream, c, ofs, transfer);
|
|
|
- snd_BUG_ON(err < 0);
|
|
|
- }
|
|
|
} else {
|
|
|
size_t dma_csize = runtime->dma_bytes / channels;
|
|
|
for (c = 0; c < channels; ++c) {
|
|
@@ -2015,9 +2007,6 @@ static int snd_pcm_lib_write_transfer(struct snd_pcm_substream *substream,
|
|
|
err = substream->ops->copy_user(substream, 0, hwoff, buf, frames);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
- } else if (substream->ops->copy) {
|
|
|
- if ((err = substream->ops->copy(substream, -1, hwoff, buf, frames)) < 0)
|
|
|
- return err;
|
|
|
} else {
|
|
|
char *hwbuf = runtime->dma_area + frames_to_bytes(runtime, hwoff);
|
|
|
if (copy_from_user(hwbuf, buf, frames_to_bytes(runtime, frames)))
|
|
@@ -2139,8 +2128,7 @@ static int pcm_sanity_check(struct snd_pcm_substream *substream)
|
|
|
if (PCM_RUNTIME_CHECK(substream))
|
|
|
return -ENXIO;
|
|
|
runtime = substream->runtime;
|
|
|
- if (snd_BUG_ON(!substream->ops->copy_user && !substream->ops->copy
|
|
|
- && !runtime->dma_area))
|
|
|
+ if (snd_BUG_ON(!substream->ops->copy_user && !runtime->dma_area))
|
|
|
return -EINVAL;
|
|
|
if (runtime->status->state == SNDRV_PCM_STATE_OPEN)
|
|
|
return -EBADFD;
|
|
@@ -2200,19 +2188,6 @@ static int snd_pcm_lib_writev_transfer(struct snd_pcm_substream *substream,
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
}
|
|
|
- } else if (substream->ops->copy) {
|
|
|
- if (snd_BUG_ON(!substream->ops->silence))
|
|
|
- return -EINVAL;
|
|
|
- for (c = 0; c < channels; ++c, ++bufs) {
|
|
|
- if (*bufs == NULL) {
|
|
|
- if ((err = substream->ops->silence(substream, c, hwoff, frames)) < 0)
|
|
|
- return err;
|
|
|
- } else {
|
|
|
- buf = *bufs + samples_to_bytes(runtime, off);
|
|
|
- if ((err = substream->ops->copy(substream, c, hwoff, buf, frames)) < 0)
|
|
|
- return err;
|
|
|
- }
|
|
|
- }
|
|
|
} else {
|
|
|
/* default transfer behaviour */
|
|
|
size_t dma_csize = runtime->dma_bytes / channels;
|
|
@@ -2266,9 +2241,6 @@ static int snd_pcm_lib_read_transfer(struct snd_pcm_substream *substream,
|
|
|
err = substream->ops->copy_user(substream, 0, hwoff, buf, frames);
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
- } else if (substream->ops->copy) {
|
|
|
- if ((err = substream->ops->copy(substream, -1, hwoff, buf, frames)) < 0)
|
|
|
- return err;
|
|
|
} else {
|
|
|
char *hwbuf = runtime->dma_area + frames_to_bytes(runtime, hwoff);
|
|
|
if (copy_to_user(buf, hwbuf, frames_to_bytes(runtime, frames)))
|
|
@@ -2430,14 +2402,6 @@ static int snd_pcm_lib_readv_transfer(struct snd_pcm_substream *substream,
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
}
|
|
|
- } else if (substream->ops->copy) {
|
|
|
- for (c = 0; c < channels; ++c, ++bufs) {
|
|
|
- if (*bufs == NULL)
|
|
|
- continue;
|
|
|
- buf = *bufs + samples_to_bytes(runtime, off);
|
|
|
- if ((err = substream->ops->copy(substream, c, hwoff, buf, frames)) < 0)
|
|
|
- return err;
|
|
|
- }
|
|
|
} else {
|
|
|
snd_pcm_uframes_t dma_csize = runtime->dma_bytes / channels;
|
|
|
for (c = 0; c < channels; ++c, ++bufs) {
|