summaryrefslogtreecommitdiff
path: root/sys/dev/usb
AgeCommit message (Collapse)Author
2010-08-31uhci is apparently is unaware that it could be on a shared interruptTheo de Raadt
It is OK to return 0 in that case, but it is not OK to print a diagnostic.
2010-08-30Change powerhooks into activate functions, and provide stub powerhookTheo de Raadt
functions ok kettenis
2010-08-29regenMiod Vallat
2010-08-29Translation code for Fn-key sequences on the Gdium Liberty internal keyboard,Miod Vallat
which reports Fn as a regular key.
2010-08-28regenMiod Vallat
2010-08-27remove the unused if_init callback in struct ifnetJonathan Gray
ok deraadt@ henning@ claudio@
2010-08-27Delete comments about these drivers needing powerhook support; they don't.Theo de Raadt
2010-08-27kill PWR_STANDBY (apm can use PWR_SUSPEND instead). While here, renumberTheo de Raadt
PWR_{SUSPEND,RESUME} so that they match the values of DAVCT_{SUSPEND,RESUME} so that we can eventually (many more steps...) kill the powerhook garbage and use the activate mechanism. no objections
2010-08-21Match the Huawei E1820, from David Zeillinger.Jonathan Gray
2010-08-21regenJonathan Gray
2010-08-21Huawei E1820, from David Zeillinger.Jonathan Gray
2010-08-21- add a quirk for the apple clear orb usb speakersJasper Lievisse Adriaanse
2010-08-20regenDamien Bergamini
2010-08-20The Hercules HWNUP-150 is a urtwn (Realtek RTL8192SU).Damien Bergamini
It makes even the smallest run(4) devices look ridiculously huge.
2010-08-18* indentation fixJacob Meuser
* use the correct variable in a DPRINTF
2010-08-18* the detach and drain functions do the same waiting for channels toJacob Meuser
complete outstanding requests, so use uaudio_drain in uaudio_detach. * the channel alt index can still be -1 at detach. check for this.
2010-08-17regenJasper Lievisse Adriaanse
2010-08-17- TI doesn't mean Texas IntelJasper Lievisse Adriaanse
2010-08-07No "\n" needed at the end of panic() strings.Kenneth R Westerback
Bogus chunks pointed out by matthew@ and miod@. No cookies for marco@ and jasper@. ok deraadt@ miod@ matthew@ jasper@ macro@
2010-08-02Handle USB_GET_REPORT, USB_GET_REPORT_DESC, USB_GET_REPORT_ID andMiod Vallat
USB_SET_REPORT ioctls in ukbd and ums. This allows usbhidctl to be used on these devices e.g. to dump the report descriptor of troublesome models. ok deraadt@
2010-08-02Quirk for USB_PRODUCT_MICROSOFT_WLINTELLIMOUSE turns out not to beMiod Vallat
required; PR 6436 ok deraadt@
2010-08-01Be more generous when parsing the report descriptor:Miod Vallat
- parts of the report descriptor not in a format we expect are now ignored, instead of preventing attachment (e.g. hypothetical multi-bit modifiers). - modifiers beyond MAXMOD are ignored. - keycode arrays larger than MAXKEYCODE are clamped to MAXKEYCODE instead of being rejected. - multiple keycode arrays are ignored. This should allow rogue keyboards to attach and be usable up to a certain extent. Adapted from a diff sent by Loganaden Velvindron (first name at gmail), who has a keyboard which keycode array is larger than MAXKEYCODE (but, like most if not all USB keyboards out there, can only report up to three simultaneous keypresses anyway).
2010-07-31regenMiod Vallat
2010-07-31Support extra F-keys (up to F24) on HID keyboards.Miod Vallat
2010-07-31Factorization of the bluetooth and usb hid input driver logic, to reduce codeMiod Vallat
duplication and divergence. Thanks to mlarkin@ for bluetooth devices tests.
2010-07-31The code referencing urndis_watchdog() is #if 0'd out, but the actualMichael Knudsen
function is not. This change #if 0's urndis_watchdog() and some functions that are only called from here. At some point we probably want to use the watchdog functionality but the current code is completely untested so disable it entirely rather than enabling it this close to release.
2010-07-31Break some really long lines.Michael Knudsen
2010-07-31check for audio stream and control interface descriptors in theJacob Meuser
device configuration descriptor in the match() function. stops midi devices from attaching as uaudio then bailing out, leaving a phantom uaudio.
2010-07-29Add some more devices. -mojMats O Jansson
2010-07-29syncMats O Jansson
2010-07-29Add some more displaylink devices. -mojMats O Jansson
2010-07-26Microsoft LifeCam needs the framesize quirk as well.Michael Knudsen
ok mglocker
2010-07-26syncMichael Knudsen
2010-07-26Add Microsoft LifeCam.Michael Knudsen
2010-07-26Fix some spacing / comment.Marcus Glocker
2010-07-26Make one more Sonix chipset cam work with 640x480 by a) adding it to theMarcus Glocker
UVIDEO_FLAG_FIX_MAX_VIDEO_FRAME_SIZE quirk list and b) cranking the manually calculated frame size by pixels * 4 bytes (discussed with jakemsr@).
2010-07-26Correct the links between threads, processes, pgrps, and sessions,Philip Guenthe
so that the process-level stuff is to/from struct process and not struct proc. This fixes a bunch of problem cases in rthreads. Based on earlier work by blambert and myself, but mostly written at c2k10. Tested by many: deraadt, sthen, krw, ray, and in snapshots
2010-07-25syncMarcus Glocker
2010-07-25Add another uvideo(4) device which needs theMarcus Glocker
UVIDEO_FLAG_FIX_MAX_VIDEO_FRAME_SIZE quirk.
2010-07-23bring back changes in uaudio.c r1.83, this time remembering to commitJacob Meuser
uaudioreg.h. sorry about that. sync endpoints allow for the sample clock on USB audio devices to not be synchronized to the USB clock. the sync endpoint gives information on how much data to send to the data endpoint. although devices that require sync endpoints will "work" when the sync endpoint inormation is ignored, there is a possibility of static, echoing, or any other type of clock desync error. requires some small changes to existing code: * tighten up checks for whether a setting needs/supplies a sync endpoint. ignore settings that need a sync endpoint but don't supply one. previously all settings that require a sync endpoint were ignored. * if a sync endpoint is being used, use the same denominator for fractional samples as the sync endpoint uses (2**16). this only implements playback sync endpoints. recording sync endpoints are an odd concept: the driver would control the clock rate of the device. there may be such devices, but I can't even imagine how that could be reliably implemented. I guess you would sync to the USB clock or the system clock ... but then, what's the point?
2010-07-23revert last commit, unbreaking the tree; was missing a macro definitionStuart Henderson
presumably from a missing commit to a header file. go ahead kettenis@ todd@
2010-07-23support for playback sync endpointsJacob Meuser
sync endpoints allow for the sample clock on USB audio devices to not be synchronized to the USB clock. the sync endpoint gives information on how much data to send to the data endpoint. although devices that require sync endpoints will "work" when the sync endpoint inormation is ignored, there is a possibility of static, echoing, or any other type of clock desync error. requires some small changes to existing code: * tighten up checks for whether a setting needs/supplies a sync endpoint. ignore settings that need a sync endpoint but don't supply one. previously all settings that require a sync endpoint were ignored. * if a sync endpoint is being used, use the same denominator for fractional samples as the sync endpoint uses (2**16). this only implements playback sync endpoints. recording sync endpoints are an odd concept: the driver would control the clock rate of the device. there may be such devices, but I can't even imagine how that could be reliably implemented. I guess you would sync to the USB clock or the system clock ... but then, what's the point?
2010-07-21add a couple quirks for the E-MU 0202Jacob Meuser
* the clock rate is configured through the audio interface, instead of on the endpoint. * since the clock rate is set on the interface, both play and record must use the same sample rate. this means the playback and recording parameters are not independent, which is what uaudio assumes.
2010-07-21* check that the bytes per frame the device is reporting isn't aJacob Meuser
ridiculous value. * encoding expansion factor is always 1.
2010-07-21move use_maxpkt out of struct chan, use a local variable in theJacob Meuser
only function that was using it.
2010-07-21some bits for USB 2.0 playback support. I'm not 100% sure aboutJacob Meuser
scaling the frame rate to the polling interval, but it works on the E-MU 0202 and it generally makes a lot of sense, especially considering that this often brings the frames rate back to 1 kHz, which is the frame rate of USB 1.x, which was the most current USB spec when USB audio 1.0 spec was written.
2010-07-21currently we use the endpoint's maximum packet size for recording,Jacob Meuser
and for playback, we use a packet size that is at least one audio frame smaller. in most usb audio devices, the sample clock is synced to the usb clock. this means that for sample rates that aren't multiples of 1000, we'll occasionally need to add a frame to adjust the overall rate. that's why we use the smaller packet size. also, the usb audio spec defines a way for devices to request to always use the maximum packet size. so, * add a max_bytes_per_frame, which is the largest packet size the channel will use. use that instead of calculating what the maximum we will use is in a couple places. generally makes things easier to understand. * respect a device's request to always use maximum packet size.
2010-07-20support 24-bit encodings. simplify the way supported encodings areJacob Meuser
handled by storing an array of supported encodings. NOTE: this also removes all conversions from this driver. in particular, uaudio no longer supports 16-bit big endian encodings, because the USB audio specification only supports little endian encodings. ok ratchov
2010-07-19Lilliput UM-70 uses the newer DL1x5 chipset. -mojMats O Jansson
2010-07-19* don't round blocksize to multiples of 16; can cause problems whenJacob Meuser
sample size or number of channels is not a power of 2. * use 'param->bps' instead of 'param->precision / NBBY' for the number of bytes per sample. ok ratchov