Home | History | Annotate | Download | only in marvell
History log of /src/sys/dev/marvell/gtmpsc.c
RevisionDateAuthorComments
 1.50  10-Sep-2024  andvar Fix wrong KGDB condition and remove unused gtmpsc_kgdb_addr variable.
 1.49  12-Jun-2024  andvar Make gtmpsc_intr_rx/tx always static __inline to fix DEBUG enabled build.
Currently code depends on STATIC macro which is defined as empty with DEBUG
option, thus build fails since tx method uses static inline gt_sdma_imask().

Also add missing __inline for gtmpsc_intr_rx() definition.

Fix EV64260 kernel config when DEBUG is enabled.
Fix discussed with mrg@ in irc.
 1.48  02-Nov-2022  andvar fix various typos in comments and messages.
 1.47  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.46  15-Nov-2014  christos branches: 1.46.18; 1.46.20;
centralize the dialout/call unit macros.
 1.45  25-Jul-2014  dholland Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.44  16-Mar-2014  dholland branches: 1.44.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.43  24-Apr-2011  rmind branches: 1.43.4; 1.43.14; 1.43.18;
Rename ttymalloc() to tty_alloc(), and ttyfree() to tty_free() for
consistency. Remove some unnecessary malloc.h inclusions as well.
 1.42  14-Nov-2010  uebayasi branches: 1.42.2;
Include uvm/uvm_extern.h to access uvmexp. gtmpsc.c doesn't need
uvm(9) API at all.
 1.41  13-Nov-2010  uebayasi Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants. These are provided by sys/param.h now.
 1.40  01-Aug-2010  kiyohara Cleanup foo_match().
+ Remove check for model.
+ Remove unnecessary null line.
 1.39  11-Jul-2010  kiyohara Add macro MVA_{UNIT,OFFSET,IRQ}_DEFAULT.
 1.38  28-Apr-2010  kiyohara Clean up gt and peripherals.
This change tested compile only.
 1.37  12-May-2009  cegger branches: 1.37.2; 1.37.4;
struct device * -> device_t, no functional changes intended.
 1.36  12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.35  18-Apr-2009  tsutsui Remove extra whitespace added by a stupid tool.
XXX: more in src/sys/arch
 1.34  18-Mar-2009  cegger bcopy -> memcpy
 1.33  18-Mar-2009  cegger bzero -> memset
 1.32  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.31  08-Sep-2008  gmcgarry branches: 1.31.2; 1.31.8;
Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h
preprocessor macros.
 1.30  12-Jun-2008  cegger branches: 1.30.2;
use device_lookup_private to get softc
 1.29  11-Jun-2008  cegger use device_lookup_private to get softc
 1.28  08-Apr-2008  cegger branches: 1.28.2; 1.28.4; 1.28.6; 1.28.8;
use aprint_*_dev and device_xname
 1.27  19-Nov-2007  ad branches: 1.27.14;
- Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
 1.26  19-Oct-2007  ad branches: 1.26.2;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.25  17-Oct-2007  garbled branches: 1.25.2;
Fix a missing include noted by Gerald Lee on tech-kern
 1.24  08-Oct-2007  ad Use the softint API.
 1.23  04-Mar-2007  christos branches: 1.23.2; 1.23.14; 1.23.16; 1.23.18;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.22  29-Jan-2007  hubertf branches: 1.22.2;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.21  01-Oct-2006  elad Adapt MD code to KAUTH_DEVICE_TTY_OPEN, batch #2 from Matt Fleming, thanks!

Also, add forgotten splx() calls in some places.
 1.20  21-Jul-2006  ad branches: 1.20.4; 1.20.6;
- Use the LWP cached credentials where sane.
- Minor cosmetic changes.
 1.19  24-May-2006  mrg 'volatile' is not a valid return type qualifier - remove it.
 1.18  16-May-2006  he branches: 1.18.2;
Include now needed <sys/kauth.h>, and fold a long line.
 1.17  14-May-2006  elad integrate kauth.
 1.16  29-Mar-2006  thorpej Use device_private().
 1.15  28-Mar-2006  thorpej Use device_unit().
 1.14  24-Dec-2005  perry branches: 1.14.4; 1.14.6; 1.14.8; 1.14.10; 1.14.12;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.13  11-Dec-2005  christos merge ktrace-lwp.
 1.12  06-Sep-2005  kleink Change the driver open function's conditional for overriding exclusive tty
use from checking the proc's uid to suser(9), and account for the use of
privileges. Noted by David Holland in PR kern/31126.
 1.11  03-Jun-2005  scw branches: 1.11.2;
Use underscores to prefix local variables in macros.
 1.10  27-Feb-2005  perry nuke trailing whitespace
 1.9  14-Jul-2003  lukem branches: 1.9.8; 1.9.10;
add missing __KERNEL_RCSID()
 1.8  12-Jun-2003  scw branches: 1.8.2;
Tickle the watchdog while doing polled console i/o.
This is especially important if we spend any time in ddb. :)
 1.7  01-May-2003  scw In gtmpscinit_stop(), don't wait for abort completion status if the
receiver is disabled. It'll never complete in this case.
 1.6  08-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.5  24-Mar-2003  matt Make reset delay depend on the baud rate.
 1.4  24-Mar-2003  matt Make gtmpsc configurable via config file. (baud rate source, frequency).
 1.3  17-Mar-2003  matt Use generic softintr. switch from consinit to explicit cnattach
framework. Use bus_space for access register access.
 1.2  16-Mar-2003  matt Cleanup. Move much of the code to bus_space instead of using
private mechanisms.
 1.1  05-Mar-2003  matt Add preliminary support Marvell (Galileo) Discovery System Controllers.
This code was contributed by Allegro Networks.
 1.8.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.5  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.8.2.4  17-Jan-2005  skrll Adapt to branch.
 1.8.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.8.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.8.2.1  03-Aug-2004  skrll Sync with HEAD
 1.9.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.9.8.1  29-Apr-2005  kent sync with -current
 1.11.2.6  07-Dec-2007  yamt sync with head
 1.11.2.5  27-Oct-2007  yamt sync with head.
 1.11.2.4  03-Sep-2007  yamt sync with head.
 1.11.2.3  26-Feb-2007  yamt sync with head.
 1.11.2.2  30-Dec-2006  yamt sync with head.
 1.11.2.1  21-Jun-2006  yamt sync with head.
 1.14.12.2  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.14.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.14.10.3  19-Apr-2006  elad sync with head.
 1.14.10.2  10-Mar-2006  elad generic_authorize() -> kauth_authorize_generic().
 1.14.10.1  08-Mar-2006  elad Adapt to kernel authorization KPI.
 1.14.8.4  11-Aug-2006  yamt sync with head
 1.14.8.3  26-Jun-2006  yamt sync with head.
 1.14.8.2  24-May-2006  yamt sync with head.
 1.14.8.1  01-Apr-2006  yamt sync with head.
 1.14.6.2  01-Jun-2006  kardel Sync with head.
 1.14.6.1  22-Apr-2006  simonb Sync with head.
 1.14.4.1  09-Sep-2006  rpaulo sync with head
 1.18.2.1  19-Jun-2006  chap Sync with head.
 1.20.6.1  22-Oct-2006  yamt sync with head
 1.20.4.2  01-Feb-2007  ad Sync with head.
 1.20.4.1  18-Nov-2006  ad Sync with head.
 1.22.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.23.18.2  18-Oct-2007  yamt sync with head.
 1.23.18.1  14-Oct-2007  yamt sync with head.
 1.23.16.2  09-Jan-2008  matt sync with HEAD
 1.23.16.1  06-Nov-2007  matt sync with HEAD
 1.23.14.2  21-Nov-2007  joerg Sync with HEAD.
 1.23.14.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.23.2.2  23-Oct-2007  ad Sync with head.
 1.23.2.1  17-Jun-2007  ad - Increase the number of thread priorities from 128 to 256. How the space
is set up is to be revisited.
- Implement soft interrupts as kernel threads. A generic implementation
is provided, with hooks for fast-path MD code that can run the interrupt
threads over the top of other threads executing in the kernel.
- Split vnode::v_flag into three fields, depending on how the flag is
locked (by the interlock, by the vnode lock, by the file system).
- Miscellaneous locking fixes and improvements.
 1.25.2.2  21-Nov-2007  bouyer Sync with HEAD
 1.25.2.1  25-Oct-2007  bouyer Sync with HEAD.
 1.26.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.27.14.3  28-Sep-2008  mjf Sync with HEAD.
 1.27.14.2  29-Jun-2008  mjf Sync with HEAD.
 1.27.14.1  02-Jun-2008  mjf Sync with HEAD.
 1.28.8.1  18-Jun-2008  simonb Sync with head.
 1.28.6.2  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.28.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.28.4.3  11-Aug-2010  yamt sync with head.
 1.28.4.2  16-May-2009  yamt sync with head
 1.28.4.1  04-May-2009  yamt sync with head.
 1.28.2.1  17-Jun-2008  yamt sync with head.
 1.30.2.1  19-Oct-2008  haad Sync with HEAD.
 1.31.8.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.31.2.1  28-Apr-2009  skrll Sync with HEAD.
 1.37.4.3  31-May-2011  rmind sync with head
 1.37.4.2  05-Mar-2011  rmind sync with head
 1.37.4.1  30-May-2010  rmind sync with head
 1.37.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.37.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.42.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.43.18.1  18-May-2014  rmind sync with head
 1.43.14.2  03-Dec-2017  jdolecek update from HEAD
 1.43.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.43.4.1  22-May-2014  yamt 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")
 1.44.2.1  10-Aug-2014  tls Rebase.
 1.46.20.1  10-Jun-2019  christos Sync with HEAD
 1.46.18.1  06-Sep-2018  pgoyette Sync with HEAD

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

RSS XML Feed