History log of /netbsd-src/sys/arch/sparc/dev/audioamd.c (Results 1 – 25 of 30)
Revision Date Author Comments
# 08004a7e 12-Sep-2020 isaki <isaki@NetBSD.org>

Improve am7930 family drivers to share more code.
audioamd(4) on sparc, vsaudio(4) on vax, and bba(4) are.
- Remove complex and useless callbacks: onopen, onclose, and
indirect_{read,write}. This

Improve am7930 family drivers to share more code.
audioamd(4) on sparc, vsaudio(4) on vax, and bba(4) are.
- Remove complex and useless callbacks: onopen, onclose, and
indirect_{read,write}. This makes audioamd and vsaudio almost the same.
- Remove (already disabled) assembly fast interrupt path from audioamd(4).
cf. http://mail-index.netbsd.org/source-changes/2009/12/19/msg004585.html
- Use trigger_* method rather than start_* method. It's more suitable.
vsaudio(4) was tested by naru@, bba(4) was tested by tsutsui@.

show more ...


# e622eac4 08-May-2019 isaki <isaki@NetBSD.org>

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.

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

show more ...


# 6291b134 16-Mar-2019 isaki <isaki@NetBSD.org>

Use C99 style struct initializer to audio_hw_if.


# 8a962f23 23-Nov-2011 jmcneill <jmcneill@NetBSD.org>

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

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.

show more ...


# 595cbc6a 04-Jun-2011 tsutsui <tsutsui@NetBSD.org>

Split device_t/softc of am7930. No crash on TME and GXemul.


# 72c76c73 19-Dec-2009 tsutsui <tsutsui@NetBSD.org>

Disable "fast trap" handlers which invoke software interrupts
in sparc/amd7930intr.s and sparc/bsd_fdintr.s until they are
rewritten to adapt new MI softint(9) API.

No particular comments on PR port

Disable "fast trap" handlers which invoke software interrupts
in sparc/amd7930intr.s and sparc/bsd_fdintr.s until they are
rewritten to adapt new MI softint(9) API.

No particular comments on PR port-sparc/42192, but
this fixes timeout problem on floppy access on my SPARCstation 1+.

XXX: floppy support on sun4m seems to have another problem (data overrun).

show more ...


# 41559777 17-Sep-2009 tsutsui <tsutsui@NetBSD.org>

Use device_t, cfdriver_t, device_private(), device_xname(),
and appropriate types and variables for device_t/softc.


# 4b293a84 03-Dec-2007 ad <ad@NetBSD.org>

Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implemen

Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.

show more ...


# 99801e92 27-Nov-2007 ad <ad@NetBSD.org>

Use the softint API.


# 95e1ffb1 11-Dec-2005 christos <christos@NetBSD.org>

merge ktrace-lwp.


# 93293b9e 15-Jan-2005 kent <kent@NetBSD.org>

ansify and KNF


# 18f717bb 29-Oct-2004 yamt <yamt@NetBSD.org>

constify audio_hw_if, midi_hw_if, and radio_hw_if.


# 09e877af 11-Jul-2004 mycroft <mycroft@NetBSD.org>

Make this build again.


# a4183603 15-Jul-2003 lukem <lukem@NetBSD.org>

__KERNEL_RCSID()


# 725a6aeb 10-Dec-2002 pk <pk@NetBSD.org>

Remove the `flags' argument from bus_intr_establish().


# fe233fdc 10-Dec-2002 pk <pk@NetBSD.org>

The `fast trap' handlers are now pssed as an optional argument to
bus_intr_establish(). Allow fall-back on a regular interrupt handler if
the interrupt level must be shared with another device.


# c822c6bd 09-Dec-2002 pk <pk@NetBSD.org>

Finish the switch to the softintr(9) framework.

To make this work, we now have to use separate handler lists for hardware
and software interrupts as the soft interrupt handlers do not return
an `int

Finish the switch to the softintr(9) framework.

To make this work, we now have to use separate handler lists for hardware
and software interrupts as the soft interrupt handlers do not return
an `interrupt handled' status.

Thanks to Matt Fredette for providing an initial set of patches on port-sparc.

show more ...


# d1f466e6 15-Oct-2002 jdc <jdc@NetBSD.org>

Add audioamd at obio attachment. Now we have working audio on 4/600's :

audioamd0 at obio0 slot 0 offset 0x500000 level 13 softpri 4
audio0 at audioamd0: full duplex


# 4bf871a7 02-Oct-2002 thorpej <thorpej@NetBSD.org>

Add trailing ; to CFATTACH_DECL.


# c1077f22 01-Oct-2002 thorpej <thorpej@NetBSD.org>

Use CFATTACH_DECL().


# f818766a 27-Sep-2002 thorpej <thorpej@NetBSD.org>

Declare all cfattach structures const.


# 6c672d01 13-Jun-2002 gmcgarry <gmcgarry@NetBSD.org>

Make this work with AUDIO_C_HANDLER.


# 7e8becd6 11-Mar-2002 pk <pk@NetBSD.org>

* `bus_type_t' is gone.
* Use BUS_ADDR() where appropriate to encode I/O space and physical
address offset into a `bus_addr_t' value.
* Drop obio_bus_map() since it's now completely equivalent to b

* `bus_type_t' is gone.
* Use BUS_ADDR() where appropriate to encode I/O space and physical
address offset into a `bus_addr_t' value.
* Drop obio_bus_map() since it's now completely equivalent to bus_space_map()
* Use bus_space_map2() to map device space at a fixed virtual address.
* Remove the virtual address argument from sbus_sbus_addr()

show more ...


# 1339e88a 03-Oct-2001 augustss <augustss@NetBSD.org>

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

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

show more ...


# 406e0f77 09-Jul-2000 pk <pk@NetBSD.org>

Add a `device class' interrupt level argument (from machine/intr.h)
to bus_interrupt_establish().

It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI s

Add a `device class' interrupt level argument (from machine/intr.h)
to bus_interrupt_establish().

It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI slots.

show more ...


12