cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

usb_stream.h (1093B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __USB_STREAM_H
      3#define __USB_STREAM_H
      4
      5#include <uapi/sound/usb_stream.h>
      6
      7#define USB_STREAM_NURBS 4
      8#define USB_STREAM_URBDEPTH 4
      9
     10struct usb_stream_kernel {
     11	struct usb_stream *s;
     12
     13	void *write_page;
     14
     15	unsigned int n_o_ps;
     16
     17	struct urb *inurb[USB_STREAM_NURBS];
     18	struct urb *idle_inurb;
     19	struct urb *completed_inurb;
     20	struct urb *outurb[USB_STREAM_NURBS];
     21	struct urb *idle_outurb;
     22	struct urb *completed_outurb;
     23	struct urb *i_urb;
     24
     25	int iso_frame_balance;
     26
     27	wait_queue_head_t sleep;
     28
     29	unsigned int out_phase;
     30	unsigned int out_phase_peeked;
     31	unsigned int freqn;
     32};
     33
     34struct usb_stream *usb_stream_new(struct usb_stream_kernel *sk,
     35				  struct usb_device *dev,
     36				  unsigned int in_endpoint,
     37				  unsigned int out_endpoint,
     38				  unsigned int sample_rate,
     39				  unsigned int use_packsize,
     40				  unsigned int period_frames,
     41				  unsigned int frame_size);
     42void usb_stream_free(struct usb_stream_kernel *sk);
     43int usb_stream_start(struct usb_stream_kernel *sk);
     44void usb_stream_stop(struct usb_stream_kernel *sk);
     45
     46#endif /* __USB_STREAM_H */