Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/amiga/dev/grf_cv.c
RevisionDateAuthorComments
 1.64  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.63  01-Jan-2022  msaitoh s/frambuffer/framebuffer/ in comment.
 1.62  26-Dec-2021  andvar fix various typos, mainly in comments.
 1.61  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.60  27-Apr-2021  thorpej branches: 1.60.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.59  16-Nov-2015  phx branches: 1.59.34;
Fixed bug in wsdisplay copyrows textop.
Fixed WSDISPLAYIO_SVIDEO, which had inverted functionality.
Improved FBINFO setup. 15 and 16 bits depth both have 16bpp now.
 1.58  12-Nov-2015  phx Xorg for amiga via wsfb. Currently available on CV64 and CV64/3D. More
graphics cards will follow, when adding wscons support to them.

I didn't manage to make the "wskbd" protocol the default in the X server,
so you have to provide a small xorg.conf with Option "Protocol" "wskbd".
The standard protocol will not work as the Amiga wskbd cannot be switched
into raw mode and has no AT-scancode translation in the kernel.

On the positive side, wskbd also works with national keymaps under X.

The graphics modes can still be defined via grfconfig(8). Xorg's wsfb
driver uses the current grf video mode, which is usually mode #1.
All resolutions and depths seem to work (tested on CV64).
 1.57  07-Nov-2015  phx Improved wscons support. Virtual screens are now working.
 1.56  22-Jan-2014  christos branches: 1.56.6;
gcc-4.8.x unused variable fixes
 1.55  08-Nov-2012  rkujawa branches: 1.55.2;
Make Amiga video drivers work again after device/softc changes.
Patch from chs@.
 1.54  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.53  15-Dec-2011  phx branches: 1.53.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.52  30-Jun-2011  wiz branches: 1.52.2; 1.52.6;
dependant -> dependent
 1.51  05-Feb-2010  phx Added two new macros to device.h:
amiga_membarrier() enforces a reorder protection on memory read/writes.
amiga_cpu_sync() makes sure the instruction pipelines are flushed.
Both macros may be used in all amiga device drivers for compatibility with
amigappc. For the start I fixed some SCSI drivers.
cbiiisc and ahsc were tested and seem to work really fast with DMA now.
Some stability problems with amigappc remain nevertheless (spontaneous
kernel DSI traps with high CPU/SCSI load).
 1.50  31-Jan-2010  phx Fixed for amigappc by executing eieio after writing to a vga register.
 1.49  30-Jan-2010  phx Fixed compiler warnings when CV_INT_NUM == 2 or CV64CONSOLE is not defined.
 1.48  26-Oct-2009  cegger kill extra whitespaces
reviewed by tsutsui@
 1.47  18-Mar-2009  cegger bcopy -> memcpy
 1.46  17-Oct-2007  garbled branches: 1.46.20; 1.46.28; 1.46.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.45  20-Aug-2007  is branches: 1.45.2;
First part of amigappc support patches by Frank Wille.
 1.44  05-Mar-2007  he branches: 1.44.2; 1.44.10; 1.44.14; 1.44.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.43  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.42  24-Nov-2006  wiz branches: 1.42.4;
s/independant/independent/, from Zafer.
 1.41  03-Aug-2006  mhitch branches: 1.41.4; 1.41.6;
gcc4 checks for and warns about specifying a general register constraint
for operands that won't accept an address register. Change constraint
to specify only a data register.
 1.40  24-Dec-2005  perry branches: 1.40.4; 1.40.8;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.39  11-Dec-2005  christos merge ktrace-lwp.
 1.38  13-Jun-2005  jmc branches: 1.38.2;
Fix a ton of const/volatile issues shown with new warning flags
 1.37  13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.36  10-Nov-2003  wiz Spell address with two d's. Inspired by similar changes in OpenBSD,
originating from Jonathon Gray and forwarded by jmc@openbsd.
 1.35  31-May-2003  kristerw branches: 1.35.2;
Use __asm instead of asm, to keep lint happy.
 1.34  01-Jan-2003  thorpej Use aprint_normal() for cfprint routines.
 1.33  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.32  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.31  03-Aug-2002  itojun correct range check, have overflow check, fix type mismatches,
for cmap args and some other calls. from openbsd
 1.30  17-Mar-2002  atatat branches: 1.30.4; 1.30.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.29  28-Jan-2002  aymeric add __KERNEL_RCSID as suggested by Luke Mewburn
 1.28  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.27  25-Mar-1999  is branches: 1.27.22; 1.27.26;
defopt Amiga graphics console options
 1.26  06-Oct-1998  tron Add a few "nop" instructions to make the memory size probe more reliable.
 1.25  12-Jan-1998  thorpej Adjust for changes to config.
 1.24  30-Jul-1997  veego branches: 1.24.4;
Fix the doublescan mode which was broken in the last commit.
 1.23  29-Jul-1997  veego branches: 1.23.2;
- s/inline/__inline/
- Use interrrupt #6 instead of #2. #6 is the default interrupt and there
seems to be a problem with Cyberstorm 060 and #2.
- Set the interrupt register before enabling the interrupt.
- GC M2INS
- minor cleanup
- Switch from +hsync/+vsync to -hsync/-vsync.
- changes for the grfconfig interface:
- Remove gv->{hblank_stop,vblank_stop} and calculate HBE and VBE from
gv->{htotal,vtotal}.
- Add support for gv->disp_flags to select interlace, doublescan and
horizontal/vertical sync polarity.
- Return EINVAL for gv->disp_flags and sync-on-green.
This makes it possible to use xfree values for grfconfig.
 1.22  15-Jun-1997  veego Add a missing ; if CV64CONSOLE is undefined.
 1.21  25-May-1997  veego New Hardware Cursor support from Michael Teske.
 1.20  23-Dec-1996  veego Get rid of __BROKEN_INDIRECT_CONFIG.
 1.19  22-Oct-1996  veego Fix GRFTOGGLE.
The old version only toggles to the amiga signal and do not go back to
the CyberVision signal.
 1.18  13-Oct-1996  christos backout previous kprintf change
 1.17  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.16  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.15  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.14  19-May-1996  veego branches: 1.14.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.13  01-May-1996  veego Cleanup for -Wall if CV64CONSOLE, ULOWELLCONSOLE or RETINACONSOLE is not
defined.
 1.12  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.11  17-Mar-1996  mhitch Clean up typos and other errors from new device attachment changes.
 1.10  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.9  06-Mar-1996  is Back out change intended for netbsd-1-1 and accidentally committed here
 1.8  04-Mar-1996  is Fix for newer S3 chipsets by Matthias Scheler (from -current).
 1.7  02-Mar-1996  veego Updated for the new CyberVision64 console
gen_cvtab.c is no longer needed
 1.6  24-Feb-1996  chopps remove floating point expressions. gen_cvtab.c generates a conversion
table to replace a specific floating point expression in grf_cv.c
 1.5  27-Dec-1995  chopps fix for newer boards (pr#1829) from Matthias Scheler
 1.4  30-Nov-1995  jtc merge in changes from 1.1 release branch
 1.3  09-Oct-1995  chopps branches: 1.3.2;
fix use of uninit vars from Bernd Ernesti <bernd@arresum.inka.de>
 1.2  09-Oct-1995  chopps make work with newer grfconfig now in /usr/sbin. from
Bernd Ernesti <bernd@arresum.inka.de>
 1.1  09-Oct-1995  chopps new cybervision 64 from Bernd Ernesti <bernd@arresum.inka.de> (and others)
 1.3.2.4  06-Mar-1996  is Really commit Monday's fix to netbsd-1-1, where it was intended.
 1.3.2.3  10-Nov-1995  chopps final update to grf_cv device
 1.3.2.2  21-Oct-1995  chopps add rcsids
 1.3.2.1  20-Oct-1995  chopps some bug fixes from Bernd Ernesti <bernd@arresum.inka.de>
 1.14.4.1  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.23.2.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.24.4.1  22-Nov-1998  cgd pull up rev 1.26 from trunk (veego)
 1.27.26.5  03-Jan-2003  thorpej Sync with HEAD.
 1.27.26.4  18-Oct-2002  nathanw Catch up to -current.
 1.27.26.3  13-Aug-2002  nathanw Catch up to -current.
 1.27.26.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.27.26.1  28-Feb-2002  nathanw Catch up to -current.
 1.27.22.4  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.27.22.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.27.22.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.27.22.1  11-Feb-2002  jdolecek Sync w/ -current.
 1.30.6.1  07-Aug-2002  lukem Pull up revision 1.31 (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.30.4.1  30-Aug-2002  gehenna catch up with -current.
 1.35.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.35.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.35.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.35.2.1  03-Aug-2004  skrll Sync with HEAD
 1.38.2.3  03-Sep-2007  yamt sync with head.
 1.38.2.2  30-Dec-2006  yamt sync with head.
 1.38.2.1  21-Jun-2006  yamt sync with head.
 1.40.8.1  11-Aug-2006  yamt sync with head
 1.40.4.1  09-Sep-2006  rpaulo sync with head
 1.41.6.1  10-Dec-2006  yamt sync with head.
 1.41.4.1  12-Jan-2007  ad Sync with head.
 1.42.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.44.18.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.44.14.1  03-Sep-2007  skrll Sync with HEAD.
 1.44.10.1  03-Oct-2007  garbled Sync with HEAD
 1.44.2.1  09-Oct-2007  ad Sync with head.
 1.45.2.1  06-Nov-2007  matt sync with HEAD
 1.46.34.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.46.28.1  28-Apr-2009  skrll Sync with HEAD.
 1.46.20.2  11-Mar-2010  yamt sync with head
 1.46.20.1  04-May-2009  yamt sync with head.
 1.52.6.1  18-Feb-2012  mrg merge to -current.
 1.52.2.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.52.2.3  16-Jan-2013  yamt sync with (a bit old) head
 1.52.2.2  30-Oct-2012  yamt sync with head
 1.52.2.1  17-Apr-2012  yamt sync with head
 1.53.6.3  03-Dec-2017  jdolecek update from HEAD
 1.53.6.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.53.6.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.55.2.1  18-May-2014  rmind sync with head
 1.56.6.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.59.34.1  13-May-2021  thorpej Sync with HEAD.
 1.60.6.1  03-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed