On Thu, 27 May 2021 14:32:53 +0200, Takashi Sakamoto wrote: > > Drivers of ALSA firewire stack can process packets for IT/IR context in > process context when the process operates ALSA PCM character device by > calling ioctl(2) with some requests. The ioctl requests are: > > * SNDRV_PCM_IOCTL_HWSYNC > * SNDRV_PCM_IOCTL_SYNC_PTR > * SNDRV_PCM_IOCTL_REWIND > * SNDRV_PCM_IOCTL_FORWARD > * SNDRV_PCM_IOCTL_WRITEI_FRAMES > * SNDRV_PCM_IOCTL_READI_FRAMES > * SNDRV_PCM_IOCTL_WRITEN_FRAMES > * SNDRV_PCM_IOCTL_READN_FRAMES > > This means that general application can process PCM frames apart from > hardware IRQ invocation, even if they are programmed by either IRQ-based > scheduling model or Timer-based scheduling model. > > This commit add support for Timer-based scheduling model by allowing > PCM runtime to suppress both process wakeup per period and scheduling > hardware IRQ. > > SNDRV_PCM_INFO_BATCH is obsoleted since ALSA IEC 61883-1/6 packet streaming > engine can report the number of transferred PCM frames within PCM period > boundary. The granularity equals to SYT_INTERVAL in blocking transmission. > In non-blocking transmission, it doesn't equal to SYT_INTERVAL but doesn't > exceed. > > This patch is tested with PulseAudio, and --sched-model option of axfer > with fix against the issue reported at: > > * https://lore.kernel.org/alsa-devel/687f9871-7484-1370-04d1-9c968e86f72b@xxxxxxxxxxxxxxx/#r > > Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Thanks, applied. Takashi