History log of /freebsd-current/sys/dev/sound/pci/csamidi.c
Revision Date Author Comments
# 923e0040 06-May-2024 Christos Margiolis <christos@FreeBSD.org>

sound: Move chip.h contents to pcm/sound.h

Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D44997


# 5aacf339 18-Aug-2023 John Baldwin <jhb@FreeBSD.org>

sys: Remove SND_DECLARE_FILE

Reviewed by: kbowling, imp, emaste
Differential Revision: https://reviews.freebsd.org/D41499


# 82a265ad 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: sound driver version

Remove /SND_DECLARE_FILE\("\$FreeBSD\$"\);/


# 4d846d26 10-May-2023 Warner Losh <imp@FreeBSD.org>

spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD

The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with: pfg
MFC After: 3 days
Sponsored by: Netflix


# 3390adfe 06-May-2022 John Baldwin <jhb@FreeBSD.org>

sound: Remove unused devclass arguments to DRIVER_MODULE.


# 3e423419 04-Apr-2022 Warner Losh <imp@FreeBSD.org>

midicsa_attach: eliminate write only variable func

Sponsored by: Netflix


# bf466ddc 01-Sep-2018 Glen Barber <gjb@FreeBSD.org>

Revert r338423, reapplying r338422, which did get approval but
communication lines got crossed.

Apologies to avatar@ for the confusion.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# b5a3b728 01-Sep-2018 Glen Barber <gjb@FreeBSD.org>

Revert r338422, which was did not get official approval from re@.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 8578932d 01-Sep-2018 Tai-hwa Liang <avatar@FreeBSD.org>

Adding support for CS46xx MIDI output. With this patch, users can
play the MIDI files through /dev/sequencer device with tools like
playmidi. The audio output will go through the external MIDI device
such like wavetable synthesis card.

Reviewed by: matk (a long time ago), kib
Approved by: re (kib)
Tested with: Terratec SiXPack 5.1+ + Yamaha DB50XG
MFC after: 4 weeks


# a5dc42de 01-Jun-2004 Seigo Tanimura <tanimura@FreeBSD.org>

Axe the old midi drivers and framework. matk has developed a new
module-friendly midi subsystem to be merged soon.


# 5f96beb9 17-Mar-2004 Nate Lawson <njl@FreeBSD.org>

Convert callers to the new bus_alloc_resource_any(9) API.

Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde


# e27951b2 02-Sep-2003 John Baldwin <jhb@FreeBSD.org>

Use PCIR_BAR(x) instead of PCIR_MAPS.

Glanced over by: imp, gibbs
Tested by: i386 LINT


# 90cf0136 22-Aug-2003 Warner Losh <imp@FreeBSD.org>

Prefer new location of pci include files (which have only been in the
tree for two or more years now), except in a few places where there's
code to be compatible with older versions of FreeBSD.


# 6008862b 04-Apr-2002 John Baldwin <jhb@FreeBSD.org>

Change callers of mtx_init() to pass in an appropriate lock type name. In
most cases NULL is passed, but in some cases such as network driver locks
(which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.

Tested on: i386, alpha, sparc64


# 99523130 03-Jan-2002 Seigo Tanimura <tanimura@FreeBSD.org>

- Provide toggles to show debug messages. Set new sysctl variables
hw.midi.debug and hw.midi.seq.debug to 1 to enable debug log.

- Make debug messages human-frendly.

- Implement /dev/music.

- Add a timer engine required by /dev/music.

- Fix nonblocking I/O.

- Fix the numbering of midi and synth devices.


# 05331bc6 01-Jan-2002 Seigo Tanimura <tanimura@FreeBSD.org>

- Do not uiomove with a mutex locked.

- Move from msleep/wakeup to condvar.

- Return either zero or a positive errno value from a function.
Return additional result via references.

- Unify the typedef of callback functions.


# 4ce6a64b 15-Sep-2001 Seigo Tanimura <tanimura@FreeBSD.org>

Catch up to the last commit of KSE.


# 46700f12 16-Jun-2001 Peter Wemm <peter@FreeBSD.org>

Use INTR_TYPE_AV for the interrupt handlers because:
1: most drivers are sensitive to timing, and
2: the handlers are MPSAFE and need a chance to get into the kernel
before some other non-mpsafe handler blocks the ithread on Giant in
shared irq cases.

Reviewed by: cg (in principle)


# e6577f69 08-Jun-2001 Seigo Tanimura <tanimura@FreeBSD.org>

Catch up to csareg.h rev 1.3.

Forgotten by: cg


# 5ddde3e6 14-Mar-2001 Seigo Tanimura <tanimura@FreeBSD.org>

- Do not touch the Giant.

Requested by: jhb

- Initialize a mutex prior to locking it.

Spotted by: dcs


# 87a636cc 26-Feb-2001 Seigo Tanimura <tanimura@FreeBSD.org>

- Mutexify midi(4). The driver runs under the giant lock by default.
If you ever want to run midi(4) out of the giant lock, uncomment
MIDI_OUTOFGIANT in midi.h. Confirmed to work for csamidi with WITNESS
and INVARIANTS.

- midi_info, midi_open and seq_info are now tailqs, allowing arbitrary
numbers of devices to be configured.

- Do not send an active sensing message to reset midi modules.

- Clone /dev/sequencer*. /dev/sequencer0 and /dev/sequencer are generated
upon initialization.


# 941afeb2 18-Feb-2001 Seigo Tanimura <tanimura@FreeBSD.org>

Encapselate midi_info, nmidi and nsynth into midi.c.


# db901281 02-Sep-2000 Poul-Henning Kamp <phk@FreeBSD.org>

Avoid the modules madness I inadvertently introduced by making the
cloning infrastructure standard in kern_conf. Modules are now
the same with or without devfs support.

If you need to detect if devfs is present, in modules or elsewhere,
check the integer variable "devfs_present".

This happily removes an ugly hack from kern/vfs_conf.c.

This forces a rename of the eventhandler and the standard clone
helper function.

Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include
like <sys/queue.h>

Remove all #includes of opt_devfs.h they no longer matter.


# fb0ef528 11-Jul-2000 Seigo Tanimura <tanimura@FreeBSD.org>

Finally merge newmidi.
(I had been busy for my own research activity until the last weekend)

Supported devices:

SB Midi Port (sbc + midi)
SB OPL3 (sbc + midi)
16550 UART (midi, needs a trick in your hint)
CS461x Midi Port (csa + midi)

OSS-compatible sequencer (seq)

Supported playing software:

playmidi (We definitely need more)

Notes:

/dev/midistat now reports installed midi drivers. /dev/sndstat reports
only pcm drivers. We need the new name(pcmstat?).

EMU8000(SB AWE) does not sound yet but does get probed so that the OPL3
synth on an AWE card works.

TODO:

MSS/PCI bridge drivers
Midi-tty interface to support general serial devices
Modules