• Takashi Iwai's avatar
    ALSA: pcm: Add copy ops with iov_iter · cf393bab
    Takashi Iwai authored
    iov_iter is a universal interface to copy the data chunk from/to
    user-space and kernel in a unified manner.  This API can fit for ALSA
    PCM copy ops, too; we had to split to copy_user and copy_kernel in the
    past, and those can be unified to a single ops with iov_iter.
    
    This patch adds a new PCM copy ops that passes iov_iter for copying
    both kernel and user-space in the same way.  This patch touches only
    the ALSA PCM core part, and the actual users will be replaced in the
    following patches.
    
    The expansion of iov_iter is done in the PCM core right before calling
    each copy callback.  It's a bit suboptimal, but I took this now as
    it's the most straightforward replacement.  The more conversion to
    iov_iter in the caller side is a TODO for future.
    
    As of now, the old copy_user and copy_kernel ops are still kept.
    Once after all users are converted, we'll drop the old copy_user and
    copy_kernel ops, too.
    
    Link: https://lore.kernel.org/r/20230815190136.8987-3-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    cf393bab
pcm_native.c 114 KB