On Fri, 19 Aug 2016 00:20:31 +0200, Andrej Krutak wrote: > > The main reasons are different settings for USB low/high speed and possible > different channel counts for in/out; required by POD X3. > > This consists of two related parts: > > Support for high-speed USB: > * USB_INTERVALS_PER_SECOND -> LOW/HIGH settings > (high needs 8000, instead of 1000) > * LINE6_ISO_BUFFERS -> iso_buffers (count of iso buffers depends on > USB speed, 2 is not enough for high speed) > > Support for assymetrical in/out configurations: > * bytes_per_frame -> bytes_per_channel > * max_packet_size -> max_packet_size_in/out It'd be better to split into a few more patches. The changes about making iso_buffers dynamic and others are basically independent. So, as the first patch, just convert to the dynamic urbs allocation and adding line6->iso_buffers field, as a preliminary change. Then introduce the two speed modes and align iso_buffers in the next patch. And at last, convert bytes_per_frame and max_packet_size. They can be either one or two individual patches, too. Also, just a nitpick: > + index = find_first_zero_bit( > + &line6pcm->in.active_urbs, line6pcm->line6->iso_buffers); This style (leaving the open parenthesis) isn't common in the kernel code. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel