Home | History | Annotate | Download | only in xscale
History log of /src/sys/arch/arm/xscale/pxa2x0_dmac.c
RevisionDateAuthorComments
 1.14  03-Sep-2018  riastradh Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int. The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER! Some subsystems have

#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX. Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate. But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all. (Who knows, maybe in some cases integer
truncation is actually intended!)
 1.13  05-Feb-2015  nonaka branches: 1.13.16; 1.13.18;
Don't write DMAC_DINT register on PXA270, because read-only register.
 1.12  12-Nov-2012  skrll branches: 1.12.14;
C99 types
 1.11  07-Sep-2012  matt branches: 1.11.2;
Forgot to commit this.
 1.10  29-Jan-2012  tsutsui Handle PXA25x specific DMAC constraints. From kiyohara@.
 1.9  23-Nov-2011  jmcneill branches: 1.9.2;
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.8  01-Jul-2011  dyoung branches: 1.8.2; 1.8.4;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.7  09-Jun-2011  nonaka - device_t/softc split.
- use aprint_* function.
 1.6  16-Mar-2009  nonaka branches: 1.6.4; 1.6.10;
set DALGN register when address is misaligned (PXA27x only).
 1.5  04-Mar-2007  christos branches: 1.5.46; 1.5.54; 1.5.60;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.4  22-Feb-2007  thorpej 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_dmac.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_dmac.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.5.60.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.54.1  28-Apr-2009  skrll Sync with HEAD.
 1.5.46.1  04-May-2009  yamt sync with head.
 1.6.10.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.6.4.1  12-Jun-2011  rmind sync with head
 1.8.4.1  20-Nov-2011  jmcneill port zaudio to audiomp api changes for real this time
 1.8.2.3  16-Jan-2013  yamt sync with (a bit old) head
 1.8.2.2  30-Oct-2012  yamt sync with head
 1.8.2.1  17-Apr-2012  yamt sync with head
 1.9.2.1  18-Feb-2012  mrg merge to -current.
 1.11.2.2  03-Dec-2017  jdolecek update from HEAD
 1.11.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.12.14.1  06-Apr-2015  skrll Sync with HEAD
 1.13.18.1  10-Jun-2019  christos Sync with HEAD
 1.13.16.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

RSS XML Feed