Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/grf_rh.c
RevisionDateAuthorComments
 1.62  03-May-2022  andvar fix various typos, mainly s/trasfering/transferring/ and s/theese/these/.
 1.61  28-Mar-2022  riastradh sys: Split struct device into a private device_impl.h.

Include this only inside autoconf itself, and a few files that abuse
autoconf in ways I can't confidently make easy fixes for.

XXX kernel ABI change requires bump -- no more use of struct device
internals allowed, previously done by some drivers
 1.60  09-Aug-2021  andvar s/definitons/definitions/
 1.59  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.58  27-Apr-2021  thorpej branches: 1.58.6;
The Amiga and Atari ports abuse some autoconfiguration internals as part
of their early console bring-up, so we need to expose some of the new
internals to them and adapt the call sites.
 1.57  22-Jan-2014  christos branches: 1.57.46;
gcc-4.8.x unused variable fixes
 1.56  08-Nov-2012  rkujawa branches: 1.56.2;
Make Amiga video drivers work again after device/softc changes.
Patch from chs@.
 1.55  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.54  15-Dec-2011  phx branches: 1.54.6;
Amiga wscons/Xorg support, first phase.
Implemented wscons for CV64 and CV64/3D. Other graphics cards drivers are
prepared for it, but will not be attempted before Xorg is not running.
The wscons support is disabled by default. A GENERIC kernel should behave
like always. Use WSCONS to try out a kernel with wscons support.
Done by rkujawa@ and phx@.
 1.53  26-Oct-2009  cegger branches: 1.53.12; 1.53.16;
kill extra whitespaces
reviewed by tsutsui@
 1.52  18-Mar-2009  cegger bcopy -> memcpy
 1.51  14-Mar-2009  dsl ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
 1.50  17-Oct-2007  garbled branches: 1.50.20; 1.50.28; 1.50.34;
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.49  20-Aug-2007  is branches: 1.49.2;
First part of amigappc support patches by Frank Wille.
 1.48  05-Mar-2007  he branches: 1.48.2; 1.48.10; 1.48.14; 1.48.18;
Make the various graphics card drivers compile again.
Use casts to char* before pointer arithmetic.
Try to preserve `volatile' qualification where possible, though
uses of kvtop(), strcpy(), copyin() and copyout() gain an unfortunate
but probably unavoidable __UNVOLATILE().
Correct various instances of "void *ba, fb" to have * in front of fb as well.
Remove some redundant parenthesis pairs in some of the vga* macros.
 1.47  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.46  24-Nov-2006  wiz branches: 1.46.4;
s/independant/independent/, from Zafer.
 1.45  24-Dec-2005  perry branches: 1.45.20; 1.45.22;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.44  11-Dec-2005  christos merge ktrace-lwp.
 1.43  13-Jun-2005  jmc branches: 1.43.2;
Fix a ton of const/volatile issues shown with new warning flags
 1.42  31-May-2003  kristerw branches: 1.42.2;
Use __asm instead of asm, to keep lint happy.
 1.41  20-Jan-2003  simonb The Double-Semi-Colon Police.
 1.40  01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.39  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.38  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.37  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.36  03-Aug-2002  itojun correct range check, have overflow check, fix type mismatches,
for cmap args and some other calls. from openbsd
 1.35  17-Mar-2002  atatat branches: 1.35.4; 1.35.6;
Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command". ERESTART is -1, which can lead to
confusion. ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4. No ioctl code should now return -1 anywhere. The
ioctl() system call is now properly restartable.
 1.34  28-Jan-2002  aymeric add __KERNEL_RCSID as suggested by Luke Mewburn
 1.33  27-Jan-2002  is Add some video modes which are displayable on my LCD.
 1.32  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.31  20-Aug-2001  wiz branches: 1.31.6;
"wierd" is weird.
 1.30  26-Jul-2001  wiz Various typos in comments (neccessary, sceme, choise, ...).
 1.29  25-Mar-1999  is branches: 1.29.22;
defopt Amiga graphics console options
 1.28  12-Jan-1998  thorpej Adjust for changes to config.
 1.27  29-Jul-1997  veego - Change the check in r[ht]_getvmode for md->DEP == 4 to md->DEP != 4.
This fixes a wrong output from grfconfig /dev/grf[23]
- changes for the grfconfig interface:
- Remove gv->hblank_stop and gv->vblank_stop.
- Only print doublescan and interlace flags. Horizontal/vertical sync
polarities are not yet supported and sync-on-green will never be
supported.
 1.26  31-Dec-1996  is First part of making hardware cursor actually work.
For some reason it wouldn't get positioned right when mapped in through the
blitter memory mapped location, so switched to the register mapping, which
works.
XXX colormap handling for the cursor is still broken.
 1.25  23-Dec-1996  veego Get rid of __BROKEN_INDIRECT_CONFIG.
 1.24  13-Oct-1996  christos backout previous kprintf change
 1.23  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.22  27-Aug-1996  cgd change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
 1.21  11-Aug-1996  veego Disable the Hardwarecursor on the RetinaZ3 to solve the problems with
wrong mouse jumps under X11.
Remove the not working options KGDB from DRACO and GENERIC and added
an option to enable the HWC for the RetinaZ3
 1.20  03-Jun-1996  is #define GRFIOCBLANK_LIVE and GRFIOCBLANK_DARK in grfioctl.h to make absolutely
clear which switches the video signal on and which off.
Make all grf_??.c (which supported it) use the same polarity of the test.
While being here, use a > test instead of implicit != to make it extensible
to darker than dark values for power managment systems.
 1.19  24-May-1996  is Delete some occurences of kernel startup debug code, move others inside
#ifdef DEBUG_KERNEL_START.
 1.18  24-May-1996  is Make the GRFIOCBLANK ioctl set the right timing divisor when switching the
screen back on.
 1.17  19-May-1996  veego branches: 1.17.4;
- grf_cl.c, grf_clreg.h: added support for Piccolo SD64
- grf_cv.c, grf_cvreg.h, ite_cv.c: some cleanups
- grf_rh.c, grf_rhreg.h, grf_rt.c: new blank ioctl and some KNF
- grf_et.c, grf_etreg.h, ite_et.c: new graphics driver for et4000 based board
(oMniBus, Domino and Merlin)
- grfabs_cc: fix PR#2034
- grfvar.h: new grfunit for GRF_ET4000_UNIT
- scsidefs.h: no longer useful
- zbus.c: new entries for: Piccolo SD64, oMniBus, Domino and Merlin
 1.16  09-May-1996  is First part of M68060 and DraCo support.

* for the M68060 part: store buffer and branch target cache aren't
enabled yet (this needs cleanup of lots of locore.s code which is a
maze of little passages, all a little different) (and it wasn't yet
tested in an accellerated Amiga, only in the DraCo).

I've included a workaround for 2 of the CPU bugs in chips with Masks
1F43G and earlier, but didn't bother to deal with the can of worms
in the [0-3]D11W chips. Be sure to get "68060 rev. 1" or more
reported at kernel startup time, or at least mention it (or the mask
revision, if available) when reporting problems.

* for the DraCo: only machines with a CIA timer.

I assigned machine id 32000+nn (0x7Dnn), where n is the machine
readable Quicklogic custom chip revision (also printed at boot
time). "Guaranteed to work" up to rev. 3, newer DraCo's aren't
guaranteed to have any CIA (we don't have a driver for the new timer
yet).

Supported are:

- MF-II keyboards on the native interface and A3000 keyboards via
the CIA.
- builtin SCSI interface (yet another instance of siop)
- CIA timer.
- Zorro II devices which don't do DMA (don't get mapped to Zorro II
address space in the DraCo)
- "local bus" devices which are autoconfigured by the boot rom
(should be all); only an Altais driver is there (looks like a Retina Z3)

Not yet supported are:

- native timer of newer machines.
- Real Time Clock.
- serial, parallel + floppy on the SuperIO chip (that is also: no mouse)

XXX You need an enhanced boot loader, which will committed in a few days.

XXX std.draco should and will go away.
 1.15  01-May-1996  veego Cleanup for -Wall if CV64CONSOLE, ULOWELLCONSOLE or RETINACONSOLE is not
defined.
 1.14  21-Apr-1996  veego - Cleanup for -Wall and -Wstrict-prototypes
- Added support for multiple floppy drives
- CyberVision64:
- has now a real console mode
- another bugfix for boards with the new S3 chip
- Ariadne:
- fixed crashes with aeput (mbuf failure)
 1.13  17-Mar-1996  mhitch Clean up typos and other errors from new device attachment changes.
 1.12  17-Mar-1996  thorpej New device attachment scheme:

- split softc size and match/attach out from cfdriver into
a new struct cfattach.

- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
 1.11  06-Mar-1996  is Altais graphics board support, and some nicer formatting of preconftab.
Closes PR #1812 by myself.
 1.10  28-Jan-1996  chopps applied patch from 1811 which unifies mode support across gfx boards.
 1.9  20-Aug-1995  chopps rename RZ3_64BIT_SPRITE to RH_64BIT_SPRITE
 1.8  20-Aug-1995  chopps make defaults more accessable.
 1.7  20-Aug-1995  chopps fix grf_rh problem with sprite and allow mode changing.
from mw@eunet.ch (Markus Wild)
 1.6  16-Feb-1995  chopps cleanup copyright stuff
 1.5  28-Dec-1994  chopps consolidate the zbusses. le support for multiple tx buffs and full use of 32k
RAM. AGA dbl PAL mode added for console. Many changes to siop--most not
yet done. All from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.4  01-Dec-1994  chopps bring up to current. change sun to sunos. handle changes in device
open params and autoconf match function params.
 1.3  26-Oct-1994  cgd new RCS ID format.
 1.2  15-Jun-1994  chopps clock now uses passed in frequency if present protect dma cache
flush calls from non 040. don't compile ite_xx if not used.
 1.1  05-Jun-1994  chopps add grfrh (retina ziii) from Donn Cave <donn@u.washington.edu>
light cleanup from me.
 1.17.4.3  06-Sep-1996  jtc Pulled up rev 1.21 by request from Bernd Ernesti
 1.17.4.2  11-Jun-1996  is from trunk: leave room for darkerthan dark, which is now possible to add in the future in a compatible way; with jtc's permission
 1.17.4.1  26-May-1996  is Pull up of bug fixes for Retina screenblank ioctl and an unused variable
warning from if_ae when building INSTALL (that is, without bpfilter) kernels.
 1.29.22.6  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.29.22.5  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.29.22.4  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.29.22.3  11-Feb-2002  jdolecek Sync w/ -current.
 1.29.22.2  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.29.22.1  03-Aug-2001  lukem update to -current
 1.31.6.7  03-Jan-2003  thorpej Sync with HEAD.
 1.31.6.6  18-Oct-2002  nathanw Catch up to -current.
 1.31.6.5  17-Sep-2002  nathanw Catch up to -current.
 1.31.6.4  13-Aug-2002  nathanw Catch up to -current.
 1.31.6.3  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.31.6.2  28-Feb-2002  nathanw Catch up to -current.
 1.31.6.1  20-Aug-2001  nathanw file grf_rh.c was added on branch nathanw_sa on 2002-02-28 04:06:40 +0000
 1.35.6.1  07-Aug-2002  lukem Pull up revision 1.36 (requested by itojun in ticket #616):
correct range check, have overflow check, fix type mismatches,
for cmap args and some other calls. from openbsd
 1.35.4.2  30-Aug-2002  gehenna catch up with -current.
 1.35.4.1  16-May-2002  gehenna Remove BANKEDDEVPAGER stuff.
 1.42.2.1  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.43.2.3  03-Sep-2007  yamt sync with head.
 1.43.2.2  30-Dec-2006  yamt sync with head.
 1.43.2.1  21-Jun-2006  yamt sync with head.
 1.45.22.1  10-Dec-2006  yamt sync with head.
 1.45.20.1  12-Jan-2007  ad Sync with head.
 1.46.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.48.18.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.48.14.1  03-Sep-2007  skrll Sync with HEAD.
 1.48.10.1  03-Oct-2007  garbled Sync with HEAD
 1.48.2.1  09-Oct-2007  ad Sync with head.
 1.49.2.1  06-Nov-2007  matt sync with HEAD
 1.50.34.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.50.28.1  28-Apr-2009  skrll Sync with HEAD.
 1.50.20.2  11-Mar-2010  yamt sync with head
 1.50.20.1  04-May-2009  yamt sync with head.
 1.53.16.1  18-Feb-2012  mrg merge to -current.
 1.53.12.4  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.53.12.3  16-Jan-2013  yamt sync with (a bit old) head
 1.53.12.2  30-Oct-2012  yamt sync with head
 1.53.12.1  17-Apr-2012  yamt sync with head
 1.54.6.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.54.6.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.56.2.1  18-May-2014  rmind sync with head
 1.57.46.1  13-May-2021  thorpej Sync with HEAD.
 1.58.6.1  03-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed