18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#define MAXPACK 50 38c2ecf20Sopenharmony_ci#define MAXBUFFERMS 100 48c2ecf20Sopenharmony_ci#define MAXSTRIDE 3 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#define SSS (((MAXPACK*MAXBUFFERMS*MAXSTRIDE + 4096) / 4096) * 4096) 78c2ecf20Sopenharmony_cistruct snd_usx2y_hwdep_pcm_shm { 88c2ecf20Sopenharmony_ci char playback[SSS]; 98c2ecf20Sopenharmony_ci char capture0x8[SSS]; 108c2ecf20Sopenharmony_ci char capture0xA[SSS]; 118c2ecf20Sopenharmony_ci volatile int playback_iso_head; 128c2ecf20Sopenharmony_ci int playback_iso_start; 138c2ecf20Sopenharmony_ci struct { 148c2ecf20Sopenharmony_ci int frame, 158c2ecf20Sopenharmony_ci offset, 168c2ecf20Sopenharmony_ci length; 178c2ecf20Sopenharmony_ci } captured_iso[128]; 188c2ecf20Sopenharmony_ci volatile int captured_iso_head; 198c2ecf20Sopenharmony_ci volatile unsigned captured_iso_frames; 208c2ecf20Sopenharmony_ci int capture_iso_start; 218c2ecf20Sopenharmony_ci}; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciint usx2y_hwdep_pcm_new(struct snd_card *card); 24