xref: /openbmc/linux/sound/usb/line6/playback.h (revision a10e763b)
1a10e763bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
261864d84STakashi Iwai /*
3c078a4aaSChris Rorvick  * Line 6 Linux USB driver
461864d84STakashi Iwai  *
561864d84STakashi Iwai  * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
661864d84STakashi Iwai  */
761864d84STakashi Iwai 
861864d84STakashi Iwai #ifndef PLAYBACK_H
961864d84STakashi Iwai #define PLAYBACK_H
1061864d84STakashi Iwai 
1161864d84STakashi Iwai #include <sound/pcm.h>
1261864d84STakashi Iwai 
1361864d84STakashi Iwai #include "driver.h"
1461864d84STakashi Iwai 
1561864d84STakashi Iwai /*
1661864d84STakashi Iwai  * When the TonePort is used with jack in full duplex mode and the outputs are
1761864d84STakashi Iwai  * not connected, the software monitor produces an ugly noise since everything
1861864d84STakashi Iwai  * written to the output buffer (i.e., the input signal) will be repeated in
1961864d84STakashi Iwai  * the next period (sounds like a delay effect). As a workaround, the output
2061864d84STakashi Iwai  * buffer is cleared after the data have been read, but there must be a better
2161864d84STakashi Iwai  * solution. Until one is found, this workaround can be used to fix the
2261864d84STakashi Iwai  * problem.
2361864d84STakashi Iwai  */
2461864d84STakashi Iwai #define USE_CLEAR_BUFFER_WORKAROUND 1
2561864d84STakashi Iwai 
26e195a331SBhumika Goyal extern const struct snd_pcm_ops snd_line6_playback_ops;
2761864d84STakashi Iwai 
2861864d84STakashi Iwai extern int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm);
2961864d84STakashi Iwai extern int line6_submit_audio_out_all_urbs(struct snd_line6_pcm *line6pcm);
3061864d84STakashi Iwai 
3161864d84STakashi Iwai #endif
32