The NetBSD Project

CVS log for src/sys/dev/sequencervar.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.14.8.3 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:58 2017 UTC (11 months, 2 weeks ago) by jdolecek
Branch: tls-maxphys
Changes since 1.14.8.2: +0 -1 lines
Diff to previous 1.14.8.2 (unified) to branchpoint 1.14 (unified) next main 1.15 (unified)

update from HEAD

Revision 1.16.12.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:08 2015 UTC (3 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (unified) next main 1.17 (unified)

Sync with HEAD

Revision 1.16.10.1 / (download) - annotate - [select for diffs], Sun Jan 11 14:13:25 2015 UTC (3 years, 10 months ago) by martin
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (unified) next main 1.17 (unified)

Pull up following revision(s) (requested by mrg in ticket #407):
	sys/dev/midivar.h: revision 1.20
	sys/dev/usb/umidivar.h: file removal
	sys/dev/midi.c: revision 1.82
	sys/dev/midi.c: revision 1.83
	sys/dev/usb/FILES: revision 1.13
	sys/dev/midi_if.h: revision 1.26
	sys/dev/sequencer.c: revision 1.60
	sys/dev/sequencer.c: revision 1.61
	sys/dev/sequencer.c: revision 1.62
	sys/dev/sequencer.c: revision 1.63
	sys/dev/usb/umidi_quirks.c: revision 1.19
	sys/dev/usb/umidi.c: revision 1.66
	sys/dev/usb/umidi.c: revision 1.67
	sys/dev/usb/umidi.c: revision 1.68
	sys/dev/usb/umidireg.h: file removal
	sys/dev/sequencervar.h: revision 1.17
fix the midi_if documentation to properly describe the locks that will
be held during various operations.
various umidi clean ups:
- move the contents of umidi{reg,var}.h into umidi.c directly as they
  are not referenced by any other file.
- remove the useless include of umidi{reg,var}.h from umidi_quirks.c.
- add reference counting and wait/broadcast support to the IO paths.
- fix the error handling in midi_attach() and midi_open().
- sprinkle KASSERT() in several places.
- drop the local interrupt lock before calling into various parts of
  the USB code.  fixes lockdebug issues, and likely hangs.
- rename "binded" member as "bound".
with these most of the panics and problems i've seen are gone.  there
is still one lockdebug panic to deal with that happens when unplugging
umidi while midiplay(1) is running.
various clean ups for midi and sequencer:
midi specific:
- add reference counting for midi operations, and ensure that
  detach waits for other threads to complete before tearing
  down the device completely.
- in detach, halt midi callouts before destroying them
- re-check sc->dying after sleeping in midiread()
- in real_writebytes(), make sure we're open and not dying
- make sure we drop the interrupt lock before calling any code
  that may want to check thread locks.  this is now safe due to
  the above changes.
sequencer specific:
- avoid caching the midi softc in the sequencer softc.  instead,
  every time we want to use it, look it up again and make sure
  it still exists.
this fixes various crashes i've seen in the usb midi code when
detaching the umidi while it is active.
use __func__ in some debug messages.
- check sc->dying after sleeping in several more places, and
  convert it into EIO error where necessary.
- remove a wrong additional mutex_exit() call.
- make sure to check sc->dying under the device lock.
- fix a confusion between midi(4) unit and connected to sequencer
  devices.
- minor comment/debug clean ups.
fixes problems attempting to read or write from the right midi(4)
device using the sequencer(4) device when one or more of the
non-final devices fails to open with midiseq_open().
fix !AUDIO_DEBUG build.
CID/1261465: Dereference after NULL check.
CID/1261467: Unreachable code
actually fix one of the previous:  don't test for NULL after deref.

Revision 1.17 / (download) - annotate - [select for diffs], Mon Dec 22 07:02:22 2014 UTC (3 years, 10 months ago) by mrg
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, netbsd-8-base, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncqfixes-base, jdolecek-ncqfixes, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, HEAD
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (unified)

various clean ups for midi and sequencer:

midi specific:
- add reference counting for midi operations, and ensure that
  detach waits for other threads to complete before tearing
  down the device completely.
- in detach, halt midi callouts before destroying them
- re-check sc->dying after sleeping in midiread()
- in real_writebytes(), make sure we're open and not dying
- make sure we drop the interrupt lock before calling any code
  that may want to check thread locks.  this is now safe due to
  the above changes.

sequencer specific:
- avoid caching the midi softc in the sequencer softc.  instead,
  every time we want to use it, look it up again and make sure
  it still exists.


this fixes various crashes i've seen in the usb midi code when
detaching the umidi while it is active.

Revision 1.13.34.3 / (download) - annotate - [select for diffs], Thu May 22 11:40:19 2014 UTC (4 years, 6 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.13.34.2: +3 -1 lines
Diff to previous 1.13.34.2 (unified) to branchpoint 1.13 (unified) next main 1.14 (unified)

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")

Revision 1.14.8.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:16 2013 UTC (5 years, 4 months ago) by tls
Branch: tls-maxphys
Changes since 1.14.8.1: +3 -1 lines
Diff to previous 1.14.8.1 (unified) to branchpoint 1.14 (unified)

resync from head

Revision 1.16 / (download) - annotate - [select for diffs], Sat Apr 27 22:12:42 2013 UTC (5 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, nick-nhusb-base, netbsd-7-base, khorben-n900
Branch point for: nick-nhusb, netbsd-7
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (unified)

allocate dynamically

Revision 1.14.8.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:58 2012 UTC (6 years ago) by tls
Branch: tls-maxphys
Changes since 1.14: +1 -3 lines
Diff to previous 1.14 (unified)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.13.34.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:49 2012 UTC (6 years ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.13.34.1: +1 -3 lines
Diff to previous 1.13.34.1 (unified) to branchpoint 1.13 (unified)

sync with head

Revision 1.15 / (download) - annotate - [select for diffs], Sat Oct 27 17:18:14 2012 UTC (6 years ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, agc-symver-base, agc-symver
Changes since 1.14: +1 -3 lines
Diff to previous 1.14 (unified)

split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.

Revision 1.13.34.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:26 2012 UTC (6 years, 7 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.13: +17 -8 lines
Diff to previous 1.13 (unified)

sync with head

Revision 1.14 / (download) - annotate - [select for diffs], Wed Nov 23 23:07:31 2011 UTC (6 years, 11 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp
Branch point for: tls-maxphys
Changes since 1.13: +17 -8 lines
Diff to previous 1.13 (unified)

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.

Revision 1.13.36.1 / (download) - annotate - [select for diffs], Sat Nov 19 21:49:36 2011 UTC (7 years ago) by jmcneill
Branch: jmcneill-audiomp3
Changes since 1.13: +17 -8 lines
Diff to previous 1.13 (unified) next main 1.14 (unified)

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

Revision 1.13.12.1 / (download) - annotate - [select for diffs], Tue Dec 9 13:09:13 2008 UTC (9 years, 11 months ago) by ad
Branch: ad-audiomp2
Changes since 1.13: +17 -8 lines
Diff to previous 1.13 (unified) next main 1.14 (unified)

Checkpoint work on MIDI.

Revision 1.12.40.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:12 2008 UTC (10 years, 5 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.12: +1 -8 lines
Diff to previous 1.12 (unified) next main 1.13 (unified)

Sync with HEAD.

Revision 1.12.42.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:30 2008 UTC (10 years, 6 months ago) by yamt
Branch: yamt-pf42
Changes since 1.12: +1 -8 lines
Diff to previous 1.12 (unified) next main 1.13 (unified)

sync with head.

Revision 1.12.44.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:49 2008 UTC (10 years, 6 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.12: +1 -8 lines
Diff to previous 1.12 (unified) next main 1.13 (unified)

sync with head.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:47 2008 UTC (10 years, 6 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base2, yamt-nfs-mp-base11, yamt-nfs-mp-base10, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, jruoho-x86intr-base, jruoho-x86intr, jmcneill-audiomp3-base, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, ad-audiomp2-base
Branch point for: yamt-pagecache, jmcneill-audiomp3, ad-audiomp2
Changes since 1.12: +1 -8 lines
Diff to previous 1.12 (unified)

Remove clause 3 and 4 from TNF licenses

Revision 1.9.2.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:09:56 2007 UTC (11 years, 8 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9.2.1: +2 -1 lines
Diff to previous 1.9.2.1 (unified) to branchpoint 1.9 (unified) next main 1.10 (unified)

sync with head.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:26 2007 UTC (11 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, yamt-idlelwp-base8, yamt-idlelwp, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, reinoud-bufcleanup, post-newlock2-merge, nick-net80211-sync-base, nick-net80211-sync, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, mjf-devfs-base, mjf-devfs, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1, ad-audiomp-base, ad-audiomp
Branch point for: yamt-pf42, yamt-nfs-mp, mjf-devfs2
Changes since 1.11: +2 -1 lines
Diff to previous 1.11 (unified)

Merge newlock2 to head.

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Sat Jan 27 00:24:53 2007 UTC (11 years, 9 months ago) by ad
Branch: newlock2
Changes since 1.11: +2 -1 lines
Diff to previous 1.11 (unified) next main 1.12 (unified)

Don't call selnotify() or psignal() while above IPL_VM: defer them to a
soft interrupt.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:50 2006 UTC (11 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.9: +10 -11 lines
Diff to previous 1.9 (unified)

sync with head.

Revision 1.10.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:49:09 2006 UTC (12 years, 2 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.10: +10 -11 lines
Diff to previous 1.10 (unified) next main 1.11 (unified)

sync with head

Revision 1.10.8.1 / (download) - annotate - [select for diffs], Fri Aug 11 15:43:52 2006 UTC (12 years, 3 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.10: +10 -11 lines
Diff to previous 1.10 (unified) next main 1.11 (unified)

sync with head

Revision 1.10.16.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:49:17 2006 UTC (12 years, 4 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.10: +10 -11 lines
Diff to previous 1.10 (unified) next main 1.11 (unified)

Merge from HEAD.

Revision 1.11 / (download) - annotate - [select for diffs], Fri Jun 30 13:56:25 2006 UTC (12 years, 4 months ago) by chap
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-base, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: newlock2
Changes since 1.10: +10 -11 lines
Diff to previous 1.10 (unified)

Ankh-Morpork, we have a MIDI driver....

Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@

Revision 1.10.14.11 / (download) - annotate - [select for diffs], Thu Jun 1 22:06:58 2006 UTC (12 years, 5 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.10: +2 -3 lines
Diff to previous 1.10.14.10 (unified) to branchpoint 1.10 (unified) next main 1.11 (unified)

Updating midiplay(1) to support the SYSEX CONTINUATION and ESCAPED events
that may appear in MIDI files revealed that the /dev/music API still needs
to expose the MIDIPUTC event from /dev/sequencer (to support ESCAPED); I
also noticed the sequencer was keeping some state globally that should be
per device.

Revision 1.10.14.10 / (download) - annotate - [select for diffs], Wed May 31 22:19:19 2006 UTC (12 years, 5 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.9: +7 -6 lines
Diff to previous 1.10.14.9 (unified) to branchpoint 1.10 (unified)

PR kern/33614.

Rework of midiplay(1) to use sequencer facilities for tempo change (rather
than setting the sequencer for one tempo and doing all its own scaling)
exposed a hitherto concealed bug in sequencer tempo change handling.

Also took the opportunity to clarify some field names and add spl calls
in the top half to avoid concurrent access with the bottom to the timer.

Revision 1.10.14.9 / (download) - annotate - [select for diffs], Thu May 25 19:31:10 2006 UTC (12 years, 5 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.8: +3 -3 lines
Diff to previous 1.10.14.8 (unified) to branchpoint 1.10 (unified)

Refactored sequencer to use the native API (now that there is one), and
updated the MIDI controller list in midiio.h.

It would be worth confirming that sequencer.c compiles on vax. It should.

Revision 1.10.14.8 / (download) - annotate - [select for diffs], Sat May 20 04:32:00 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.7: +3 -3 lines
Diff to previous 1.10.14.7 (unified) to branchpoint 1.10 (unified)

Now for Phase Two. The patched files have been rolled forward again, with
a naive mechanical resolution of conflicts. Now to compare the diffs and
make sure the resolutions made sense. Sleep first.

Revision 1.10.14.7 / (download) - annotate - [select for diffs], Sat May 20 03:43:58 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
CVS Tags: chap-midi-ph2
Changes since 1.10.14.6: +0 -0 lines
Diff to previous 1.10.14.6 (unified) to branchpoint 1.10 (unified)

Learned of two ugly corners in MIDI protocol that made the state machine
overly pedantic. Both have to do with the End SysEx byte, 0xf7. First, it
is allowed not only at the end of a SysEx message, but anywhere else any
status byte can appear (and in that case has no meaning). Second, it is
not even required at the end of a SysEx message - any subsequent status
byte implicitly ends the SysEx, and this is not considered an error.

I don't like these provisions because they make it even harder to detect
errors in a corrupted MIDI stream, but as MIDI gets sent increasingly over
error-correcting transports I suppose that is less of a concern. In any
case, though midi(4) will accept data (input from device or data from
write(2)) with stray or dropped End SysEx bytes, it will always ensure
that output to the device, and data for read(2), has End SysEx only and
always at the ends of SysEx messages.

Revision 1.10.14.6 / (download) - annotate - [select for diffs], Sat May 20 03:41:28 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.5: +0 -0 lines
Diff to previous 1.10.14.5 (unified) to branchpoint 1.10 (unified)

Spotted a bug in a buffer condition. Never saw any symptom, but it's a
bug nonetheless.

Revision 1.10.14.5 / (download) - annotate - [select for diffs], Sat May 20 03:32:45 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.4: +0 -0 lines
Diff to previous 1.10.14.4 (unified) to branchpoint 1.10 (unified)

The two choices CN_SEQ_GLOBAL and CN_SEQ_PER_EP cannot cover all devices,
some are wired arbitrarily oddly and need a CN_FIXED quirk to specify
the cable number mappings explicitly.  But then as a result of those
mappings, the automatically bound mididevice unit numbers might not match
the order of the device's physical jacks or blinkenlights, so an MD_FIXED
quirk is needed to specify that order as well.  It turns out the cn_base
field added earlier was neither necessary (at the time) nor sufficient
(to handle CN_FIXED), so it's gone now.

Q: How do you tell when you've got the cable number associations wrong on
   a Midisport 2x4?
A: Everything works right except data-rate throttling - you'll be able to
   send data to certain ports at rates far in excess of the MIDI data rate
   (and lose most of it). If you never transmit that fast, you'll never
   notice.

So testing for a sane data transfer rate (use dd to blast a stream of MIDI
data at the rmidi device, it'll report the rate on completion) is probably
a wise testing step when adding support for a new umidi device.

Revision 1.10.14.4 / (download) - annotate - [select for diffs], Sat May 20 03:31:22 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.3: +0 -0 lines
Diff to previous 1.10.14.3 (unified) to branchpoint 1.10 (unified)

Patch to account explicitly for the prior inconsistency in the treatment of
cable numbers. Also contains a (functionally insignificant) change to the
declaration of endpoint buffers introduced in kern/32441, which will be
useful in a forthcoming patch.  This patch should be fuzz-free on 2.0
source after the 32441 and 32442 patches.

Revision 1.10.14.3 / (download) - annotate - [select for diffs], Sat May 20 03:27:31 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.2: +0 -0 lines
Diff to previous 1.10.14.2 (unified) to branchpoint 1.10 (unified)

Active Sense now handled for receive as well as for transmit. Following the
spec, if no Active Sense is seen on receive, no special behavior applies,
but if an Active Sense is seen then any absence of received data exceeding
300ms thereafter will be signalled as a read EOF on the rmidi device.
Receipt of any further data will clear the EOF condition, and operation
resumes as if no Active Sense has been seen.

Also moved some selnotify's out of locks so they don't deadlock against
the corresponding kevent filters.

This concludes this round of midi hacking (except for possibly improving
the safety of how pending callouts and interrupts are canceled on device
detach. Other fixes/enhancements to the midi subsystems will get their
own patches.

Revision 1.10.14.2 / (download) - annotate - [select for diffs], Sat May 20 03:24:33 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
Changes since 1.10.14.1: +1 -2 lines
Diff to previous 1.10.14.1 (unified) to branchpoint 1.10 (unified)

The FST now handles the equivalence between NoteOn (velocity 0) and a
NoteOff with velocity 64, both for canonicalizing (always produce NoteOff)
and compressing (produce whichever allows a current running status to be
exploited). The code from sequencer that attempted to model this behavior
and running status has been superseded and removed. Also removed the
EBADF checks I added to sequencer earlier, as they're handled in a layer
above.

Revision 1.10.14.1 / (download) - annotate - [select for diffs], Sat May 20 02:15:21 2006 UTC (12 years, 6 months ago) by chap
Branch: chap-midi
CVS Tags: chap-midi-ph1
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (unified)

Now for Phase One. The patches to be applied in sequence were created
and tested against 2.0 sources. To begin, let CVS roll the affected files
back to that historic state. The reverse operation will be used (and
will involve some manual merging) after the patches have been applied.
Naturally, intermediate stages on this branch will not be directly
compilable (unless merged into a 2.0 checkout).

Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 11 12:20:53 2005 UTC (12 years, 11 months ago) by christos
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, peter-altq-base, peter-altq, gdamore-uart-base, elad-kernelauth-base, elad-kernelauth, chap-midi-nbase, chap-midi-base
Branch point for: yamt-pdpolicy, rpaulo-netinet-merge-pcb, gdamore-uart, chap-midi
Changes since 1.9: +1 -1 lines
Diff to previous 1.9 (unified)

merge ktrace-lwp.

Revision 1.6.28.5 / (download) - annotate - [select for diffs], Thu Nov 10 14:03:00 2005 UTC (13 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.28.4: +2 -2 lines
Diff to previous 1.6.28.4 (unified) to branchpoint 1.6 (unified) next main 1.7 (unified)

Sync with HEAD. Here we go again...

Revision 1.9 / (download) - annotate - [select for diffs], Sun May 29 22:18:25 2005 UTC (13 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Branch point for: yamt-lazymbuf
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (unified)

- add const
- avoid variable shadowing.

Revision 1.7.8.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:44 2005 UTC (13 years, 6 months ago) by kent
Branch: kent-audio2
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (unified) next main 1.8 (unified)

sync with -current

Revision 1.7.10.1 / (download) - annotate - [select for diffs], Sat Feb 12 18:17:42 2005 UTC (13 years, 9 months ago) by yamt
Branch: yamt-km
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (unified) next main 1.8 (unified)

sync with head.

Revision 1.6.28.4 / (download) - annotate - [select for diffs], Fri Feb 4 11:45:09 2005 UTC (13 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.28.3: +2 -2 lines
Diff to previous 1.6.28.3 (unified) to branchpoint 1.6 (unified)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Feb 4 02:10:35 2005 UTC (13 years, 9 months ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, kent-audio2-base
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (unified)

de-__P

Revision 1.6.28.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:26:26 2004 UTC (14 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.28.2: +1 -1 lines
Diff to previous 1.6.28.2 (unified) to branchpoint 1.6 (unified)

Fix the sync with head I botched.

Revision 1.6.28.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:44:28 2004 UTC (14 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6.28.1: +0 -0 lines
Diff to previous 1.6.28.1 (unified) to branchpoint 1.6 (unified)

Sync with HEAD.

Revision 1.6.28.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:44:54 2004 UTC (14 years, 3 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (unified)

Sync with HEAD

Revision 1.7 / (download) - annotate - [select for diffs], Thu Dec 4 13:57:30 2003 UTC (14 years, 11 months ago) by keihan
Branch: MAIN
CVS Tags: yamt-km-base, netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (unified)

netbsd.org -> NetBSD.org

This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean".  Thanks for the patiance, and sorry for all the commits.

Revision 1.6.10.1 / (download) - annotate - [select for diffs], Fri Sep 21 12:08:30 2001 UTC (17 years, 2 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.6: +2 -1 lines
Diff to previous 1.6 (unified) next main 1.7 (unified)

Attempt to clean up the sequencer code a bit, with only 50% success.

Revision 1.5.10.1 / (download) - annotate - [select for diffs], Mon Nov 20 11:39:48 2000 UTC (18 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.5: +4 -1 lines
Diff to previous 1.5 (unified) next main 1.6 (unified)

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.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Mar 23 07:01:27 2000 UTC (18 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, pre-chs-ubcperf, post-chs-ubcperf, newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, nathanw_sa_end, nathanw_sa_before_merge, nathanw_sa_base, nathanw_sa, minoura-xpg4dl-base, minoura-xpg4dl, kqueue-beforemerge, kqueue-base, kqueue-aftermerge, kqueue, ifpoll-base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, gehenna-devsw, fvdl_fs64_base, eeh-devprop-base, eeh-devprop
Branch point for: thorpej-devvp, ktrace-lwp
Changes since 1.5: +4 -1 lines
Diff to previous 1.5 (unified)

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.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Nov 25 22:17:07 1998 UTC (19 years, 11 months ago) by augustss
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, wrstuden-devbsize, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kenh-if-detach-base, kenh-if-detach, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-newbase, chs-ubc2-base, chs-ubc2
Branch point for: thorpej_scsipi
Changes since 1.4: +3 -2 lines
Diff to previous 1.4 (unified)

Make the copyright header conform to the NetBSD template.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Aug 13 00:13:57 1998 UTC (20 years, 3 months ago) by augustss
Branch: MAIN
CVS Tags: chs-ubc-base, chs-ubc
Changes since 1.3: +1 -10 lines
Diff to previous 1.3 (unified)

Remove some leftover fluff.
Make sure there is no outstanding timeout when the sequencer is closed.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Aug 12 21:31:28 1998 UTC (20 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.2: +4 -2 lines
Diff to previous 1.2 (unified)

Handle SYSEX messages.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Aug 8 11:00:33 1998 UTC (20 years, 3 months ago) by augustss
Branch: MAIN
Changes since 1.1: +4 -2 lines
Diff to previous 1.1 (unified)

Forgotten to commit this in last change.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Aug 7 00:00:59 1998 UTC (20 years, 3 months ago) by augustss
Branch: MAIN

Add MIDI support.  The MIDI devices can be accessed as ``raw'' through
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>