History log of /src/sys/dev/isa/ym.c |
Revision | | Date | Author | Comments |
1.50 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.49 |
| 26-Apr-2021 |
thorpej | branches: 1.49.6; Be explicit about using the "ym" interface attribute when attaching the "opl" and "mpu" instances.
|
1.48 |
| 24-Apr-2021 |
thorpej | branches: 1.48.2; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.47 |
| 29-Feb-2020 |
isaki | branches: 1.47.8; Remove rounding by 4 bytes on round_blocksize(). For drivers which supports only 16bit * 2channels sampling, rounding by 4 bytes no longer meaningful.
|
1.46 |
| 08-May-2019 |
isaki | branches: 1.46.4; Merge isaki-audio2 branch, the overhaul of audio subsystem. - Interrupt-oriented system rather than thread-oriented. - Improve stability, quality and performance. - Split playback and record cleanly. Improve halfduplex support. - Many bugs are fixed including deadlocks, resource leaks, abuses, etc. - Simplify audio filter mechanism. The encoding/channels/frequency conversions are completely handled in the upper layer. So the hard- ware driver only converts its hardware encoding (if necessary). - audio_hw_if changes: - Obsoletes query_encoding and add query_format instead. - Obsoletes set_params and add set_format instead. - Remove drain, setfd, mappage. - The call sequences are changed. - ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted. - ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced. - cleanup config attributes: au*conv and mulaw. - All hardware drivers should follow it (I've done as much as possible).
Some file paths are changed: - dev/audio.c -> dev/audio/audio.c (rewritten) - dev/audiovar.h -> dev/audio/audiovar.h - dev/audio_dai.h -> dev/audio/audio_dai.h - dev/audio_if.h -> dev/audio/audio_if.h - dev/audiobell.c -> dev/audio/audiobell.c - dev/audiobellvar.h -> dev/audio/audiobellvar.h - dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c
|
1.45 |
| 16-Mar-2019 |
isaki | branches: 1.45.2; Use C99 style struct initializer to audio_hw_if.
|
1.44 |
| 08-Nov-2013 |
christos | branches: 1.44.30; fix unused variable warnings
|
1.43 |
| 24-Nov-2011 |
mrg | branches: 1.43.8; 1.43.12; put back IPL_AUDIO and splaudio(), at the request of rmind. they are aliases and now we can easily revert audio to IPL_VM if necessary, without having to revert the whole branch.
|
1.42 |
| 23-Nov-2011 |
jmcneill | Merge jmcneill-audiomp3 branch, which is derived from ad-audiomp2. From the original ad-audiomp branch notes:
Add MP locking to the audio drivers.
Making the audio drivers MP safe is necessary before efforts can be made to make the VM system MP safe.
The are two locks per device instance, an ISR lock and a character device lock. The ISR lock replaces calls to splaudio()/splx(), and will be held across calls to device methods which were called at splaudio() before (e.g. trigger_output). The character device lock is held across calls to nearly all of the methods, excluding some only used for initialization, e.g. get_locks.
Welcome to 5.99.57.
|
1.41 |
| 02-Jun-2011 |
tsutsui | branches: 1.41.2; 1.41.4; Split device_t/softc of all ad1848 variants properly. Compile test only.
Please check all attribute users in all files.* on device_t/softc split.
XXX: not sure if gus(4) needs device_t in ad1848_isa_softc
|
1.40 |
| 02-Jun-2011 |
nonaka | fix compile failure.
|
1.39 |
| 24-Feb-2010 |
dyoung | branches: 1.39.2; 1.39.4; 1.39.8; A pointer typedef entails trading too much flexibility to declare const and non-const types, and the kernel uses both const and non-const PMF qualifiers and device suspensors, so change the pmf_qual_t and device_suspensor_t typedefs from "pointers to const" to non-pointer, non-const types.
|
1.38 |
| 08-Jan-2010 |
dyoung | branches: 1.38.2; Expand PMF_FN_* macros.
|
1.37 |
| 02-Jan-2010 |
christos | make rhis compile.
|
1.36 |
| 02-Jan-2010 |
christos | convert to pmf
|
1.35 |
| 28-Apr-2008 |
martin | branches: 1.35.12; Remove clause 3 and 4 from TNF licenses
|
1.34 |
| 08-Apr-2008 |
cegger | branches: 1.34.2; 1.34.4; use aprint_*_dev and device_xname
|
1.33 |
| 01-Apr-2008 |
xtraeme | Fix fallout from device_t/softc split to mpu(4): always pass the mpu_softc to mpu_intr(). Found by Takeshi Nakayama.
|
1.32 |
| 19-Oct-2007 |
ad | branches: 1.32.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.31 |
| 09-Jul-2007 |
ad | branches: 1.31.6; 1.31.8; 1.31.12; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.30 |
| 16-Feb-2007 |
ad | branches: 1.30.4; 1.30.6; 1.30.8; Fix spllowersoftclock() fallout.
|
1.29 |
| 24-Sep-2006 |
jmcneill | Add "name" parameter to powerhook_establish, to aid debugging. No objections on tech-kern@
|
1.28 |
| 03-Sep-2006 |
christos | branches: 1.28.2; 1.28.4; add missing initializer.
|
1.27 |
| 24-Dec-2005 |
perry | branches: 1.27.4; 1.27.8; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.26 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.25 |
| 30-May-2005 |
christos | branches: 1.25.2; - add const - avoid variable shadowing.
|
1.24 |
| 14-Jan-2005 |
kent | ansify and KNF
|
1.23 |
| 29-Oct-2004 |
yamt | constify audio_hw_if, midi_hw_if, and radio_hw_if.
|
1.22 |
| 22-Apr-2004 |
itojun | sprintf -> snprintf
|
1.21 |
| 10-Mar-2002 |
itohy | branches: 1.21.12; Add explicit support of OPL3-SA2 (YMF711). Not well tested....
|
1.20 |
| 26-Feb-2002 |
itohy | 1. Change equalizer (treble, bass) to be ``flat'' if the values set at the center position (128), so as to be compatible with other drivers. The equalizer is enhancement only, and the values < 128 don't take any effect.
Yeah, this causes spec change.... For equalization.treble and equalization.bass, the relation between old and new value is
new_value = (old_value / 2) + 128.
(Note this does not apply to equalization.surround.)
2. Support ++ and -- of mixerctl(1) for stepping volume variables.
3. Fix problem where the chip is not powered up when the mic input is unmuted.
|
1.19 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.18 |
| 03-Oct-2001 |
augustss | Add a new optional method, dev_ioctl, to the audio hardware driver interface. It is called when an unrecognized ioctl() is performed on a device, thus allowing ioctl()s that frob the hardware driver (like loading microcode).
|
1.17 |
| 26-Nov-2000 |
takemura | branches: 1.17.2; 1.17.4; 1.17.6; Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt priority level while others are protected with splhigh().
|
1.16 |
| 04-Sep-2000 |
itohy | Move ym_mixer_set_port() (if used) during attach AFTER initialization of power ctl stuff, or it makes unwanted changes to the CODEC settings.
|
1.15 |
| 04-Jul-2000 |
augustss | MAke sure bass&treble start in their mid position.
|
1.14 |
| 23-Mar-2000 |
thorpej | branches: 1.14.4; New callout mechanism with two major improvements over the old timeout()/untimeout() API: - Clients supply callout handle storage, thus eliminating problems of resource allocation. - Insertion and removal of callouts is constant time, important as this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
|
1.13 |
| 27-Dec-1999 |
itohy | - Unmuting an external input source (CD playback, line input, and speaker) now prevents power down/save the device. The external input sources are muted by default at initialization. - Change "power.power.*" to "power.save.*". Sorry, spec change.... - Shorten tsleep(9) ident string for "ps l".
|
1.12 |
| 07-Oct-1999 |
itohy | branches: 1.12.2; Oops! Make it compile again.
|
1.11 |
| 07-Oct-1999 |
itohy | Fix power-related init code. Change the default mixer setting to make wave and OPL3 volume even. Mute the chip during attach not to make noise.
|
1.10 |
| 05-Oct-1999 |
itohy | branches: 1.10.2; New ym driver. 1. Add power control to reduce power consumption. The behavior can be controlled by mixerctl(1). 2. Add suspend/resume hook to keep the parameters. Currently this includes CODEC and control registers but does not include the DMA state. FIXME. 3. Support "opl at ym" and "mpu at ym" attachment. Actually, this is required for power control. 4. Add support for the on-chip 3D enhancement hardware. This includes bass/treble enhancement, wide stereo, and the equalization mode. This can be controlled by mixerctl(1). 5. Make "audioctl -w play.gain=xxx" work like as "mixerctl -w inputs.dac=xxx" and now it changes the wave output volume correctly. 6. Support hardware master volume switches. 7. Change formula of calculating gain so that all the levels should be used equally. 8. Change "audioctl name" to "OPL3-SA3" and "audioctl version" to the version of the chip.
|
1.9 |
| 18-Feb-1999 |
mycroft | Add separate halt_input and halt_output methods in ad1848_isa, which disable the DMA channel.
|
1.8 |
| 17-Feb-1999 |
mycroft | Use the trigger interface, and clean up a pile of cruft.
|
1.7 |
| 17-Feb-1999 |
mycroft | Pass the direction to the allocm and round_buffersize methods. Some drivers need this to properly allocate DMAable memory.
|
1.6 |
| 11-Oct-1998 |
augustss | Call correct ad1848 attach routine. Fixes PR 6269.
|
1.5 |
| 25-Aug-1998 |
pk | Split the AD1848 driver into MI (dev/ic/ad1848.c) and ISA parts.
|
1.4 |
| 17-Aug-1998 |
augustss | * Redo the way the way the MIDI driver attaches to audio devices. * Improve the midisyn layer a little. * Add a driver for the Yamaha OPL[23] FM synths. The opl driver is not finished yet; it sounds pretty awful.
For some strange reason I cannot get any FM sound from my SB64 cards, but a regular SB16 works fine.
|
1.3 |
| 17-Jun-1998 |
augustss | Remove a bunch of totally unnecessary #include <machine/pio.h> left over from the olden days.
|
1.2 |
| 21-May-1998 |
augustss | Add a newline. KNF.
|
1.1 |
| 20-May-1998 |
augustss | Add a Yamaha OPL3-SA3 driver and clean up all AD1848 drivers. Submitted by Constantine Sapuntzakis <csapuntz@reeducation-labor.lcs.mit.edu> and originally written for OpenBSD.
|
1.10.2.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.12.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.12.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.14.4.4 |
| 27-Mar-2002 |
he | Pull up revisions 1.19-1.21 (via patch, requested by itohy): Several changes to wss-compatible audio devices: o Fix ADPCM playback/recording o Add explicit support for OPL3-SA2 (YMF711), fixes PR#14819 o Add AD1845 support o other minor bugfixes and cleanups
|
1.14.4.3 |
| 06-May-2001 |
he | Pull up revision 1.17 (requested by he): Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt priority level while others are protected with splhigh().
|
1.14.4.2 |
| 04-Sep-2000 |
itohy | Pull up revision 1.16 (requested by itohy, approved by jhawk): Move ym_mixer_set_port() (if used) during attach AFTER initialization of power ctl stuff, or it makes unwanted changes to the CODEC settings. Split YM_VOL_EQUAL macro into YM_ENHANCE_TREBLE and YM_ENHANCE_BASS.
|
1.14.4.1 |
| 07-Aug-2000 |
augustss | Pull up 1.14-1.15. Start tone controls in middle position. Approved by thorpej.
|
1.17.6.1 |
| 11-Oct-2001 |
fvdl | Catch up with -current. Fix some bogons in the sparc64 kbd/ms attach code. cd18xx conversion provided by mrg.
|
1.17.4.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.17.4.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.17.2.6 |
| 10-Jul-2002 |
nathanw | Don't need curlwp here.
|
1.17.2.5 |
| 24-Jun-2002 |
nathanw | Curproc->curlwp renaming.
Change uses of "curproc->l_proc" back to "curproc", which is more like the original use. Bare uses of "curproc" are now "curlwp".
"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL) so that it is always safe to reference curproc (*de*referencing curproc is another story, but that's always been true).
|
1.17.2.4 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.17.2.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.17.2.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.17.2.1 |
| 08-Oct-2001 |
nathanw | Catch up to -current.
|
1.21.12.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.21.12.5 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.21.12.4 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.21.12.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.21.12.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.21.12.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.25.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.25.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.25.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.25.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.25.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.27.8.1 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.27.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.28.4.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.28.2.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.30.8.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.30.6.2 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.30.6.1 |
| 01-Jul-2007 |
ad | Adapt to callout API change.
|
1.30.4.1 |
| 27-Feb-2007 |
ad | Add MP locking for audio drivers.
|
1.31.12.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.31.8.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.31.6.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.32.16.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.32.16.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.34.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.34.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.34.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.35.12.2 |
| 12-Dec-2008 |
ad | Checkpoint work in progress.
|
1.35.12.1 |
| 11-Dec-2008 |
ad | Checkpoint work in progress.
|
1.38.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.39.8.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.39.4.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.39.2.1 |
| 12-Jun-2011 |
rmind | sync with head
|
1.41.4.2 |
| 22-Nov-2011 |
jmcneill | get rid of unused 'powerstate' callback in audio_hw_if
|
1.41.4.1 |
| 19-Nov-2011 |
jmcneill | port ad-audiomp2 branch changes to 5.99.56 todo: - port ad-audiomp2 pcppi changes - these drivers need to be fixed: - emuxki - gcscaudio - hdafg - uaudio - umidi - MD audio drivers
|
1.41.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.41.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.43.12.1 |
| 18-May-2014 |
rmind | sync with head
|
1.43.8.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.44.30.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.44.30.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.45.2.3 |
| 04-May-2019 |
isaki | Move dev/audio_if.h -> dev/audio/audio_if.h
|
1.45.2.2 |
| 04-May-2019 |
isaki | Remove obsoleted methods in audio_hw_if. - drain: is handled in audio upper layer now. - mappage: is handled in audio upper layer now. - setfd: no one uses and it's meaningless now.
|
1.45.2.1 |
| 21-Apr-2019 |
isaki | Adapt ad1848/cs4231 families to audio2.
|
1.46.4.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.47.8.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.48.2.1 |
| 13-May-2021 |
thorpej | Sync with HEAD.
|
1.49.6.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|