Home | History | Annotate | Download | only in xscale
History log of /src/sys/arch/arm/xscale/pxa2x0_ac97.c
RevisionDateAuthorComments
 1.21  27-Sep-2022  skrll Remove unnecessary sys/malloc.h include
 1.20  06-Feb-2021  isaki Fix "locking against myself".
halt_{input,output} will be called with sc_intr_lock held.
 1.19  06-Feb-2021  isaki Calling halt_{input,output} is done by the MI audio layer if necessary.
 1.18  19-Apr-2020  isaki branches: 1.18.2;
Fix round_blocksize not to return 0.
 1.17  08-Jun-2019  isaki branches: 1.17.8;
Clean get_props().
- Make get_props() return AUDIO_PROP_{PLAYBACK,CAPTURE} properly.
This eliminates need for audio.c to take care of such (old)
drivers which don't return both of PLAYBACK and CAPTURE.
- All get_props() doesn't need to return AUDIO_PROP_MMAP.
It is handled in the audio layer now.
 1.16  08-May-2019  isaki 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.15  16-Mar-2019  isaki branches: 1.15.2;
Use C99 style struct initializer to audio_hw_if.
 1.14  01-Jun-2017  chs branches: 1.14.10;
remove checks for failure after memory allocation calls that cannot fail:

kmem_alloc() with KM_SLEEP
kmem_zalloc() with KM_SLEEP
percpu_alloc()
pserialize_create()
psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.
 1.13  12-Nov-2012  skrll branches: 1.13.14;
C99 types
 1.12  27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.11  24-Nov-2011  mrg branches: 1.11.8;
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.10  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.9  01-Jul-2011  dyoung branches: 1.9.2; 1.9.4;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.8  09-Jun-2011  nonaka - device_t/softc split.
- use aprint_* function.
 1.7  17-Oct-2007  garbled branches: 1.7.42; 1.7.52;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.6  21-Aug-2007  kiyohara branches: 1.6.2;
The initarm() should initialize GPIO. We must not initialize GPIO in
foo_attach() of the each drivers. And, it is necessary to confirm whether
to be initialized in foo_match(). To avoid a dangerous configuring on the
evaluation boards.
 1.5  04-Mar-2007  christos branches: 1.5.2; 1.5.10; 1.5.14; 1.5.16; 1.5.18; 1.5.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4  22-Feb-2007  thorpej branches: 1.4.2;
TRUE -> true, FALSE -> false
 1.3  24-Dec-2005  perry branches: 1.3.26;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.2  11-Dec-2005  christos merge ktrace-lwp.
 1.1  13-Apr-2005  scw branches: 1.1.2; 1.1.4; 1.1.10;
Add support for the DMA and AC97 controllers on PXA2x0, and enable them
on the Lubbock evaluation board.

Many thanks to Hiroyuki Bessho for testing this driver with the new
aurateconv interface, as I no longer have access to the hardware.

Contributed by Wasabi Systems, Inc.
 1.1.10.2  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.10.1  13-Apr-2005  skrll file pxa2x0_ac97.c was added on branch ktrace-lwp on 2005-11-10 13:55:27 +0000
 1.1.4.3  03-Sep-2007  yamt sync with head.
 1.1.4.2  26-Feb-2007  yamt sync with head.
 1.1.4.1  21-Jun-2006  yamt sync with head.
 1.1.2.2  29-Apr-2005  kent sync with -current
 1.1.2.1  13-Apr-2005  kent file pxa2x0_ac97.c was added on branch kent-audio2 on 2005-04-29 11:28:05 +0000
 1.3.26.2  12-Mar-2007  rmind Sync with HEAD.
 1.3.26.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.4.2.1  27-Feb-2007  ad Add MP locking for audio drivers.
 1.5.20.1  01-Jan-2008  chris Sync with HEAD.
 1.5.18.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.5.16.1  01-Nov-2007  rjs Sync with HEAD.
 1.5.14.1  03-Sep-2007  skrll Sync with HEAD.
 1.5.10.1  03-Oct-2007  garbled Sync with HEAD
 1.5.2.1  09-Oct-2007  ad Sync with head.
 1.6.2.1  06-Nov-2007  matt sync with HEAD
 1.7.52.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.7.42.1  12-Jun-2011  rmind sync with head
 1.9.4.3  22-Nov-2011  jmcneill get rid of unused 'powerstate' callback in audio_hw_if
 1.9.4.2  20-Nov-2011  jmcneill port zaudio to audiomp api changes for real this time
 1.9.4.1  20-Nov-2011  mrg port to audiomp: alloc/free changes, get_locks support, no more IPL_AUDIO,
convert splaudio() -> sc_intr_lock usage, take sc_intr_lock in acu_intr().
 1.9.2.3  16-Jan-2013  yamt sync with (a bit old) head
 1.9.2.2  30-Oct-2012  yamt sync with head
 1.9.2.1  17-Apr-2012  yamt sync with head
 1.11.8.2  03-Dec-2017  jdolecek update from HEAD
 1.11.8.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.13.14.1  28-Aug-2017  skrll Sync with HEAD
 1.14.10.2  21-Apr-2020  martin Sync with HEAD
 1.14.10.1  10-Jun-2019  christos Sync with HEAD
 1.15.2.4  04-May-2019  isaki Move dev/audio_if.h -> dev/audio/audio_if.h
 1.15.2.3  03-May-2019  isaki Remove unnecessary header file.
 1.15.2.2  23-Apr-2019  isaki Adapt to audio2.
- XXX Need an accurate list of supported frequencies.
 1.15.2.1  21-Apr-2019  isaki Use C99 style struct initializer to audio_format.
 1.17.8.1  20-Apr-2020  bouyer Sync with HEAD
 1.18.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed