summaryrefslogtreecommitdiff
path: root/sys/dev/pci/envy.c
AgeCommit message (Collapse)Author
2012-03-30If the MIDI UART is not ready for output, don't spin at IPL_CLOCK;Alexandre Ratchov
just return and make the midi(4) driver retry later. UART buffers are large enough for this, except eap(4) which uses interrupts for output. help from and ok jsg@
2011-04-27fix the interrupt handler in the case when the interrupt is sharedAlexandre Ratchov
with other pci devices. Ignore the interrupt (and return 0) if neither of the events that make the handler do actual work are set. hints from jakemsr and dlg, explained by deraadt
2010-12-22* recognize/support the Dynex DX-SC51 in envy(4)Jacob Meuser
* allow ac97(4) flags to be set in envy(4), if there is an ac97 codec * configure the vt1616 codec on the Dynex DX-SC51 for multi-channel operation ok ratchov
2010-10-30tweak gpio pins of julia cards to select the correct multiplier forAlexandre Ratchov
the ADC frequency. Fixes high frequencies being removed (probably ADC running at half the frequency and samples being duplicated).
2010-10-08Call bus_space_barrier() after each read and write, since thisAlexandre Ratchov
driver was developed with the assumption that all operations are ordered.
2010-10-08encoding of envy is little endian, not native endian, probably fixes envyAlexandre Ratchov
on big endian archs
2010-10-08put all calls bus_space_xxx() into functions, makes the code smallerAlexandre Ratchov
2010-10-07If the card model is not ``HT/PT'', then check that the DMA physicalAlexandre Ratchov
address is 28-bit.
2010-10-06Give the device the physical address obtained from the DMA mappingAlexandre Ratchov
instead of the actual physical address of the DMA-safe memory. On i386 the driver used to work because both addresses are the same. spotted by damien@
2010-10-04add support for midi(4) ports to envy(4)Alexandre Ratchov
2010-09-08Add support for Terratec EWX 24/96 based on initial diff from ratchov@.Stefan Sperling
ok ratchov@
2010-07-31add support for M-audio Audiophile 192kAlexandre Ratchov
2010-07-21remove duplicate AP192K_GPIO_XXX macros,Alexandre Ratchov
from Alexandr Shadchin, thanks!
2010-07-21make ENVY_GPIO_XXX macros card specific, add stub for audiophile 192kAlexandre Ratchov
2010-07-15add two new members to structs audio_encoding and audio_prinfo.Jacob Meuser
for both structs, the new members are 'bps' and 'msb', which describe the number of bytes per sample and data alignment in the sample, respectively. drivers must properly set these fields in the 'query_encoding', 'set_parameters' and 'get_default_params' hardware interface methods. discussed with ratchov, deraadt
2010-04-08these files don't need to include proc.h anymore. ok oga for agpTed Unangst
2010-03-07Don't stop DMA in envy_halt_intput() and/or envy_halt_output().Alexandre Ratchov
Instead wait for the next interrupt and stop DMA in the interrupt handler. This prevents the chip from entering a unstable state in which DMA doesn't start cleanly.
2010-02-25Fix up some of the comments to use the correctAlexandre Ratchov
capitilization for names. from brad, thanks!
2010-02-25Remove trailing spaces,Alexandre Ratchov
from Alexandr Shadchin <alexandr.shadchin at gmail.com>, thanks!
2010-02-20Add necessary bits to support AC97 codecs in envy and add supportAlexandre Ratchov
for the VIA Tremor 5.1 card. From Alexandr Shadchin <alexandr.shadchin at gmail.com>, thanks! help from oga@
2009-11-02Add support for ``M-Audio Revolution 5.1'' cards, based on envy24HT.Alexandre Ratchov
From Alexandr Shadchin <ShadchinAV _at_ mail.ru> Thanks!
2009-10-24add the subvendor ID of ``M-Audio Audiophile 2496'' and add it toAlexandre Ratchov
the list of supported cards
2009-10-11At initialization of HT chips, write configuration on the correspondingAlexandre Ratchov
control registers rather than on the PCI configuration space (which is ok for non-HT chips only). Also fix the offset GPIO mask/dir are read from EEPROM, old ones are working by accident. both fixes are from Alexandr Shadchin <ShadchinAV _at_ mail.ru> Thanks!
2009-05-18the block size must be multiple of the pci burst size (overwiseAlexandre Ratchov
dma pointers can overrun)
2009-05-08add support HT mixer knobs (ie routing control). Allow monitoringAlexandre Ratchov
analog inputs
2009-05-08add support for the ak4358 DAC used in ESI Julia cards. There areAlexandre Ratchov
two mono line0 and line1 knobs rather than a single stereo knob because that's how the routing control (not exposed for ht chips yet) works.
2009-05-08print card model, the number of inputs and the number of outputsAlexandre Ratchov
when the device attaches
2009-05-08add support for m-audio delta 1010, delta 66 and delta 44 sinceAlexandre Ratchov
they are the same as the delta 1010lt card, only the number of implemented codecs change
2009-05-08rename few functions and macros, fix styleAlexandre Ratchov
2009-05-08expose HT mixer; since neither the digital mixer nor codecAlexandre Ratchov
sub-mixers are implemented, it's empty.
2009-05-08use the number of channels rather than the number of stereo dacs/adcs,Alexandre Ratchov
because there will support for non-stereo dacs/adcs soon.
2009-05-08hide controls corresponding to missing dacs, adcs or spdifs.Alexandre Ratchov
2009-05-04put codec-specific mixer bits in their own routines andAlexandre Ratchov
reference the code in global envy_card structures. Allows the same mixer code to be shared across differents cards. Will ease adding codec-specific knobs when adding support for new cards.
2009-05-03reorganize mixer bits to allow, supporting codec-dependent mixerAlexandre Ratchov
controls later. Also stop using ``next'' and ``prev'' pointers, since they make impossible exposing ``source'' knobs for streams that do not have ``gain'' knobs. This implies renaming ``xxx.source'' knobs to ``xxx_source''. Besides that, no behaviour change.
2009-04-25add basic support for Envy24HT chips and for ``ESI Juli@''Alexandre Ratchov
cards using it. No mixer yet. ok jakemsr@
2009-04-25start splitting the driver in two parts: one specific to theAlexandre Ratchov
generic Envy24 chip common to all cards and another part specific to the cards. This will ease adding support for other card models. ok jakemsr@
2009-03-29make various strings ("can't map mem space" and similar) more consistentStuart Henderson
between instances, saving space in the kernel. feedback from many (some incorporated, some left for future work). ok deraadt, kettenis, "why not" miod.
2009-03-04don't bus_space_unmap() sc->mt_ioh with the wrong bus tagAlexandre Ratchov
from Alexandr Shadchin <ShadchinAV(at)mail.ru>, Thanks!
2009-01-17use 24-bit precision (encoded in 32-bit words) rather thanAlexandre Ratchov
fake 32-bit precision. Allowed by recent audio(4) changes.
2008-12-09Non soundblaster-like devices must set AUDIO_PROP_INDEPENDENTAlexandre Ratchov
flag even if playback and record are not independent; otherwise AUDIO_GETINFO ioctl may return false parameters on devices like envy(4) that don't use the same number of channels for playback and recording.
2008-11-29use the the correct register mask. Fixes certain mixer settingsAlexandre Ratchov
being unreachable.
2008-10-25audio(9) says low level drivers are allowed to change the requestedJacob Meuser
values of the audio_params structure during AUDIO_SETINFO if the hardware cannot be set to exactly the requested mode. some drivers do this sometimes. others always return EINVAL if there isn't an exact match. be more consistent. only return EINVAL if an absurd parameter was requested, otherwise return a supported set of parameters, as close as possible to what was requested. with/ok ratchov@
2008-04-30don't stop both play and record in envy_halt_input() ad envy_halt_output()Alexandre Ratchov
ok jakemsr@
2008-04-21allow low level audio drivers to specify a default sample format,Jacob Meuser
instead of 8-bit mono mulaw @ 8kHz. this is just the infrastructure; no drivers are specifying a default yet. ok ratchov@, deanna@
2008-02-21since now we have volume knobs, use next/prev pointers to attachAlexandre Ratchov
outputs.lineN.source to them. Rename various labels to use "standard" names, ie AudioNxxx macros. ok jakemsr@
2008-02-21implement AK4524 input and output volume knobs and output mute switches.Alexandre Ratchov
There are 8 gain knobs but only 4 mute switches because each codec has two channels but only one mute switch. ok jakemsr@
2008-01-14protect against an invalid device index possibly leading to kernelJacob Meuser
crash. inspired by deanna's similar bug fix in ac97. ok ratchov
2007-12-08there should be 10 stereo or 20 mono knobs (but not 20 stereo!).Alexandre Ratchov
Fix this by changing monitor knobs to be mono (as all other knobs are).
2007-12-08mixer_devinfo->type is uninitialized for classesAlexandre Ratchov
2007-10-28id tags.Federico G. Schwindt