Re: [PATCH v2 06/25] ALSA: emu8000: Convert to generic PCM copy ops

From: Al Viro
Date: Sat Sep 02 2023 - 01:36:55 EST


On Tue, Aug 15, 2023 at 09:01:17PM +0200, Takashi Iwai wrote:
> + else if (copy_from_iter(&sval, 2, iter) != 2) \
> + return -EFAULT; \

copy_from_iter_full()?

> -static int emu8k_pcm_copy_kernel(struct snd_pcm_substream *subs,
> - int voice, unsigned long pos,
> - void *src, unsigned long count)
> -{
> - struct snd_emu8k_pcm *rec = subs->runtime->private_data;
> -
> - /* convert to word unit */
> - pos = (pos << 1) + rec->loop_start[voice];
> - count <<= 1;
> - LOOP_WRITE(rec, pos, src, count, COPY_KERNEL);
> + LOOP_WRITE(rec, pos, src, count);
> return 0;
> }
>
> @@ -483,16 +456,15 @@ static int emu8k_pcm_silence(struct snd_pcm_substream *subs,
> /* convert to word unit */
> pos = (pos << 1) + rec->loop_start[voice];
> count <<= 1;
> - LOOP_WRITE(rec, pos, NULL, count, FILL_SILENCE);
> + LOOP_WRITE(rec, pos, USER_SOCKPTR(NULL), count);

USER_SOCKPTR?