xref: /openbmc/linux/sound/usb/line6/playback.h (revision e195a331)
161864d84STakashi Iwai /*
2c078a4aaSChris Rorvick  * Line 6 Linux USB driver
361864d84STakashi Iwai  *
461864d84STakashi Iwai  * Copyright (C) 2004-2010 Markus Grabner (grabner@icg.tugraz.at)
561864d84STakashi Iwai  *
661864d84STakashi Iwai  *	This program is free software; you can redistribute it and/or
761864d84STakashi Iwai  *	modify it under the terms of the GNU General Public License as
861864d84STakashi Iwai  *	published by the Free Software Foundation, version 2.
961864d84STakashi Iwai  *
1061864d84STakashi Iwai  */
1161864d84STakashi Iwai 
1261864d84STakashi Iwai #ifndef PLAYBACK_H
1361864d84STakashi Iwai #define PLAYBACK_H
1461864d84STakashi Iwai 
1561864d84STakashi Iwai #include <sound/pcm.h>
1661864d84STakashi Iwai 
1761864d84STakashi Iwai #include "driver.h"
1861864d84STakashi Iwai 
1961864d84STakashi Iwai /*
2061864d84STakashi Iwai  * When the TonePort is used with jack in full duplex mode and the outputs are
2161864d84STakashi Iwai  * not connected, the software monitor produces an ugly noise since everything
2261864d84STakashi Iwai  * written to the output buffer (i.e., the input signal) will be repeated in
2361864d84STakashi Iwai  * the next period (sounds like a delay effect). As a workaround, the output
2461864d84STakashi Iwai  * buffer is cleared after the data have been read, but there must be a better
2561864d84STakashi Iwai  * solution. Until one is found, this workaround can be used to fix the
2661864d84STakashi Iwai  * problem.
2761864d84STakashi Iwai  */
2861864d84STakashi Iwai #define USE_CLEAR_BUFFER_WORKAROUND 1
2961864d84STakashi Iwai 
30e195a331SBhumika Goyal extern const struct snd_pcm_ops snd_line6_playback_ops;
3161864d84STakashi Iwai 
3261864d84STakashi Iwai extern int line6_create_audio_out_urbs(struct snd_line6_pcm *line6pcm);
3361864d84STakashi Iwai extern int line6_submit_audio_out_all_urbs(struct snd_line6_pcm *line6pcm);
3461864d84STakashi Iwai 
3561864d84STakashi Iwai #endif
36