#ifndef USBUSX2Y_H #define USBUSX2Y_H #include "../usbaudio.h" #include "../midi.h" #include "usbus428ctldefs.h" #define NRURBS 2 #define URBS_AsyncSeq 10 #define URB_DataLen_AsyncSeq 32 struct snd_usX2Y_AsyncSeq { struct urb *urb[URBS_AsyncSeq]; char *buffer; }; struct snd_usX2Y_urbSeq { int submitted; int len; struct urb *urb[0]; }; #include "usx2yhwdeppcm.h" struct usX2Ydev { struct usb_device *dev; int card_index; int stride; struct urb *In04urb; void *In04Buf; char In04Last[24]; unsigned In04IntCalls; struct snd_usX2Y_urbSeq *US04; wait_queue_head_t In04WaitQueue; struct snd_usX2Y_AsyncSeq AS04; unsigned int rate, format; int chip_status; struct mutex pcm_mutex; struct us428ctls_sharedmem *us428ctls_sharedmem; int wait_iso_frame; wait_queue_head_t us428ctls_wait_queue_head; struct snd_usX2Y_hwdep_pcm_shm *hwdep_pcm_shm; struct snd_usX2Y_substream *subs[4]; struct snd_usX2Y_substream * volatile prepare_subs; wait_queue_head_t prepare_wait_queue; struct list_head midi_list; struct list_head pcm_list; int pcm_devs; }; struct snd_usX2Y_substream { struct usX2Ydev *usX2Y; struct snd_pcm_substream *pcm_substream; int endpoint; unsigned int maxpacksize; /* max packet size in bytes */ atomic_t state; #define state_STOPPED 0 #define state_STARTING1 1 #define state_STARTING2 2 #define state_STARTING3 3 #define state_PREPARED 4 #define state_PRERUNNING 6 #define state_RUNNING 8 int hwptr; /* free frame position in the buffer (only for playback) */ int hwptr_done; /* processed frame position in the buffer */ int transfer_done; /* processed frames since last period update */ struct urb *urb[NRURBS]; /* data urb table */ struct urb *completed_urb; char *tmpbuf; /* temporary buffer for playback */ }; #define usX2Y(c) ((struct usX2Ydev *)(c)->private_data) int usX2Y_audio_create(struct snd_card *card); int usX2Y_AsyncSeq04_init(struct usX2Ydev *usX2Y); int usX2Y_In04_init(struct usX2Ydev *usX2Y); #define NAME_ALLCAPS "US-X2Y" #endif nux/net-next.git/commit/drivers/usb/misc/usblcd.c?h=nds-private-remove&id=f7d6040aa45df6ffd9e891114125dc919f18b96b'>commitdiff
path: root/drivers/usb/misc/usblcd.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-02-06 15:11:04 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-06 15:11:04 -0800
commitf7d6040aa45df6ffd9e891114125dc919f18b96b (patch)
treeb20fed8e63bf327d6521923851a96ba080c48ce5 /drivers/usb/misc/usblcd.c
parent50dcb6cdb70281d76b28d1564f8e076bb08f2c60 (diff)
parentcbf304e420da96992eae50bb6d51035681340ab8 (diff)
Merge tag 'pm-4.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management fixes from Rafael Wysocki: "These add a quirk to intel_pstate to work around a firmware setting that leads to frequency scaling issues (discovered recently) on some Intel Kaby Lake processors, fix up the recently added brcmstb-avs cpufreq driver and avoid false-positive warnings from the runtime PM framework triggered by recent changes in i915. Specifics: - Add an intel_pstate driver quirk to work around a firmware setting that leads to frequency scaling issues on desktop Intel Kaby Lake processors in some configurations if the hardware-managed P-states (HWP) feature is in use (Srinivas Pandruvada) - Fix up the recently added brcmstb-avs cpufreq driver: fix a bug related to system suspend and change the sysfs interface to match the user space expectations (Markus Mayer) - Modify the runtime PM framework to avoid false-positive warnings from the might_sleep_if() assertions in it (Rafael Wysocki)" * tag 'pm-4.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PM / runtime: Avoid false-positive warnings from might_sleep_if() cpufreq: intel_pstate: Disable energy efficiency optimization cpufreq: brcmstb-avs-cpufreq: properly retrieve P-state upon suspend cpufreq: brcmstb-avs-cpufreq: extend sysfs entry brcm_avs_pmap
Diffstat (limited to 'drivers/usb/misc/usblcd.c')