Home | History | Annotate | Download | only in nubus
History log of /src/sys/arch/mac68k/nubus/grf_nubus.c
RevisionDateAuthorComments
 1.79  20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h> include.
 1.78  28-Feb-2016  rjs Set sc_dev field of softc.

Should pullup to 7.
 1.77  25-Oct-2013  martin branches: 1.77.4; 1.77.6;
Simplify
 1.76  27-Oct-2012  chs branches: 1.76.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.75  17-Oct-2007  garbled branches: 1.75.54; 1.75.64;
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.74  30-Aug-2007  jmmv Fix typo in comment.
 1.73  05-Mar-2007  he branches: 1.73.2; 1.73.10; 1.73.14; 1.73.18; 1.73.20;
Use a char* helper variable for pointer arithmetic.
 1.72  04-Mar-2007  christos Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.71  06-Dec-2006  hauke branches: 1.71.2;
Support for four nubus video cards:

Formac ProNitron 80.IVb (1024x768/8)
Relax 19" Model 200 (1024x768/8)
Apple Monochrome Video Card (640x480/1)
VillageTronic Mac Picasso 320 (up to 1920x1080/up to 24)

Nubus identifiers for Creative Solutions parallel & serial cards,
and a Becton Dickinson data acquisition card.
 1.70  24-Dec-2005  perry branches: 1.70.20; 1.70.22;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.69  11-Dec-2005  christos merge ktrace-lwp.
 1.68  15-Jan-2005  chs branches: 1.68.10;
de-__P, remove register, ansify, b* -> mem*.
 1.67  15-Jul-2003  lukem __KERNEL_RCSID()
 1.66  02-Oct-2002  thorpej branches: 1.66.6;
Use CFATTACH_DECL().
 1.65  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.64  30-May-2002  thorpej Don't use multi-line string literals.
 1.63  20-Nov-2001  chs branches: 1.63.8;
prepare for ELF:
- add "%" prefix to register names in assembly code.
- use _C_LABEL() where necessary.
- use packed structures where necessary to match the old ABI.
 1.62  22-Jan-2001  briggs branches: 1.62.4; 1.62.8;
Clear interrupts on the RasterOps PaintBoard Prism GT 1.0. From
Alastair Bridgewater <nyef@softhome.net>.
 1.61  22-Jan-2001  briggs Handle interrupts on the Radius DirectColor/GX (id 0x27c). From
Alastair Bridgewater <nyef@softhome.net>.
 1.60  09-Dec-2000  briggs Clear interrupts on the Apple "Boogie" card. Information grovelling
and testing by Lucas Lay.
 1.59  30-Jul-2000  briggs Update hack to point to bus_space_handle base address.
 1.58  26-Jul-2000  briggs Remove advertising clause with my name.
 1.57  18-Mar-2000  scottr branches: 1.57.4;
Add the RasterOps 24MxTV; this card operates in the same manner as two
other RasterOps boards we already handle. Information provided by
Greg Kerr.
 1.56  14-Feb-2000  scottr Merge wscons work onto the main development branch.
 1.55  14-Jun-1999  briggs branches: 1.55.2;
Clear interrupts on a Radius GS/C card. Thanks go to Yasufumi Suzuki
<yattin@sco.bekkoame.ne.jp> for doing the MacsBug "leg"work for me.
 1.54  10-Jun-1999  briggs Use information from Kensuke Ogawa <kenogawa@festa.or.jp> to disable
interrupts on a Micron Exceed color video card.
 1.53  30-May-1999  briggs PR 7021 from Yoshihisa Sugimoto <sugimoto@sums.shiga-med.ac.jp>:
Clear interrupt properly on the RasterOps 24XLTV. Same as the 24LX.
 1.52  20-Sep-1998  scottr branches: 1.52.6; 1.52.8; 1.52.10; 1.52.12;
Make this compile again, as pointed out by Paul Goyette.
 1.51  18-Sep-1998  scottr Interrupt handling for the MicroConversions 2124NB II, from Paul Goyette.
 1.50  17-Aug-1998  briggs Update comment after cut and paste.
 1.49  12-Aug-1998  scottr New and improved console framebuffer initialization and autoconfig. This
resolves a great many issues, including Performa 58x interrupt handling
and offset displays on some models.

Programs that depend on the old (pre-NetBSD 1.1) grf interface may break.
That's actually a separate issue uncovered by this code, not caused by it.
 1.48  09-Aug-1998  briggs Support video interrupt for GrandVimage 17iL video card.
 1.47  01-Jul-1998  scottr Add a GRF_COMPAT option so that old-style grf ioctl() code can be
removed from the kernel.
 1.46  02-Jun-1998  scottr Store the PA of the framebuffer in the softc. This eliminates the need
for the sc_phys callback; we can just store the PA in the grfbus attach
args, rather than a function pointer, which simplifies the code nicely.
 1.45  23-May-1998  briggs Handle video interrupts for the Radius PrecisionColor 24X card. Thanks for
sleuthing and testing go to Robert Oelkers <windcatcher@earthlink.net>.
 1.44  07-May-1998  briggs Handle the interrupt for the Vimage graphics adapter. Thanks to
Sadamu Gohyakuda <joyhiro@joyful.gr.jp> for remote testing.
 1.43  02-May-1998  scottr Move on-board I/O and NuBus drivers to their own directories
via repository copy, and make the necessary adjustments to reflect
the moved files.
 1.42  26-Apr-1998  briggs Deal with the video interrupt for the RasterOps 8/24XLi. Thanks for the
information go to Tadashi Ueda <ng6t-ued@asahi-net.or.jp>.
 1.41  25-Apr-1998  scottr Garbage collect the second (slot number) parameter to NuBus interrupt
handlers. (Only slot_ignore() and slot_noint() need this, and we already
have a place to put this information.) Adjust add_nubus_intr() so that if
the client_data arg is specified as NULL, pass the slot number as
client_data to the interrupt handler.
 1.40  24-Apr-1998  briggs Add interrupt support for two more video cards: the Formac color card II
and the Radius PrecisionColor 24Xp. Thanks to <falk.stern@luene.net> and
<Mario_Magliocco@broder.com> for their remote sleuthing and testing.
 1.39  12-Jan-1998  thorpej Update for changes to config.
 1.38  03-Dec-1997  briggs Thanks to Paul Goyette <paul@whooppee.com> for a patch to clear the
interrupt properly on a SuperMac Spectrum/8 Series III, and thanks
to Dan McMahill for loaning the card to Paul.
I modified Paul's patch somewhat to change grfmv_intr_generic_{1,4}
to grfmv_intr_generic_write{1,4} and added grfmv_intr_generic_or4 to
handle this card.
 1.37  01-Dec-1997  scottr Correct a comment from previous commit.
 1.36  30-Nov-1997  briggs Support for the Lapis ProColorServer 8 PDS on the SE/30. This prevents
hangs when trying to use this video card in conjunction with an ethernet
card. Thanks to David Condon <david@apk.net> for information and testing.
 1.35  25-Oct-1997  briggs Handle interrupts on E-Machines Futura-SX. From Paul Goyette, PR 4348.
 1.34  09-Oct-1997  briggs branches: 1.34.2;
Clear interrupts properly on the Radius PrecisionColor 8.
Thanks for the info go to Andrew MacGibbon <andrew-m@cs.auckland.ac.nz>
 1.33  15-Aug-1997  briggs Add interrupt handler for SuperMac GFX.
Tested by Kai-Yew Lum <kaiyewl@engin.umich.edu> back in May.
 1.32  14-Aug-1997  scottr Recognize the Sigma Designs ColorMax card, and handle the interrupt. Code
provided by Brian Foley <bfoley@gpo.iol.ie> via Allen Briggs, updated for
bus.h by me.
 1.31  11-Aug-1997  scottr Make #include directives consistent. All MD headers are of the form:

#include <mac68k/{dev,mac68k}/foo.h>
 1.30  03-Aug-1997  scottr Fix grf{i,m}v_phys() prototypes.
 1.29  03-Aug-1997  scottr Overhaul grf drivers to correct recent problems with X and dt
(address error faults), as well as other reported problems:

- Simplify grfmv_phys() to work like grfiv_phys(), and eliminate the
second argument to both, as we don't use it anyway.
- Handle fbbase and fboff consistently throughout. Closes PR 3862.
- Eliminate grfaddr() by pulling it into grfmmap(), which is the
only place it was used, previously.
- grfmap() now gets the physical address of the framebuffer from
the appropriate driver, rather than try to compute it by itself.
Be careful with aligning the base to a page address and increase
the length of the mapped region appropriately. Closes PR 2867.
 1.28  26-Jul-1997  scottr branches: 1.28.2;
Add support for Macintosh Display Card, using information provided
by Taras Ivanenko <ivanenko@ctpa03.mit.edu> in PR 3862. (The PR
is still open, due to an unresolved issue regarding the fbbase
field.)
 1.27  01-Jul-1997  scottr Add support for Portrait Video Card. From SUNAGAWA Keiki
<kei_sun@ba2.so-net.or.jp> in PR 3821.
 1.26  12-May-1997  scottr Convert several interrupt handlers to bus space model, removing some
XXX's. Also, fix a bug in grfmv_intr_generic() that I found and
confirmed with Allen.
 1.25  11-May-1997  scottr Implement new NuBus slot space mapping/probing code, utilizing bus.h (and
our MD bus_space_probe() extension). This has several side effects:

- NuBus drivers must map and unmap slot space, rather than relying
on this happening before they are attached.
- Functions exported to NuBus drivers from nubus.c now need to be
supplied with a bus space tag/handle pair.
- Old bus map/peek functions can be garbage collected, as can pmap
support for the same.

Because of some current limitations of the bus space specification, we
are violating the abstraction in grf_mv (NuBus grf driver). All such
violations are clearly marked /* XXX */, and must be addressed when
the specification is updated.
 1.24  03-May-1997  briggs Support for clearing interrupts on a Rasterops Colorboard 364.
Thanks go to Michel Chalufour <michelc@tiac.net> for grovelling around for
me.
 1.23  02-May-1997  briggs Thanks to Tobias Beal <tbeal41@maine.maine.edu>, we can clear interrupts
on at least one Radius Precisioncolor 8 board.
 1.22  01-May-1997  briggs Clear the interrupts properly on an E-Machines Futura II LX and make a wild
guess at clearing them on a Futura II SX/DSP and RasterOps ColorBoard 364.
Thanks to Michel Chalufour <michelc@tiac.net> for loaning me the II LX.
 1.21  14-Apr-1997  scottr Purely cosmetic cleanup:

- Remove unused `register' modifier on declarations
- Reverse the sense of some tests to make the code more clear
- Type casts per KNF
- Move a static variable into the only function that uses it (perhaps
we can eliminate it entirely, someday?)
 1.20  10-Apr-1997  briggs Ignore SE/30 faux-video card.
 1.19  01-Apr-1997  briggs Add DrHW for RasterOps CB264--From Scott Reynolds--and link it in to the
proper interrupt routine.
 1.18  01-Apr-1997  briggs - Support DAFB machines mo' better. Actually detect if a monitor is
present and initialize a few things. No color support, yet.
- Properly disable interrupts for DAFB.
- Rearrange for better nubus display card interrupt support. Only register
an interrupt if we know how to clear it.
- Complain if we don't know about a given display card and can not install
an interrupt handler.
- Change MYSTERY stuff to cb264--still need to get the DrSW so we can
actually call the routine to clear an interrupt from this card.
 1.17  24-Feb-1997  scottr NUBUS_SLOT_TO_PADDR -> NUBUS_SLOT2PA
 1.16  20-Feb-1997  scottr We need bus.h now, due to recent nubus_attach_args change.
 1.15  16-Dec-1996  scottr branches: 1.15.6;
Convert all foo_match() functions to use a `struct cfdata *' for their
second argument. The NuBus autoconfig code had to be reorganized as a
result of this, and looks much more like a directly-attached bus now.
These changes eliminate __BROKEN_INDIRECT_CONFIG.
 1.14  13-Oct-1996  christos backout previous kprintf change
 1.13  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.12  04-Aug-1996  scottr Add a way to tell grf_establish() that internal video doesn't actually
occupy a slot. This is necessary so that GRFIOCMAP can find the correct
physical address of the framebuffer. Fixes P550, some LC models, and
perhaps the PB520.
 1.11  19-May-1996  scottr branches: 1.11.4;
New grf attachment code, mostly by Jason Thorpe with some cleanup by me.
This will allow dt and X to work with a generic kernel, rather than
compiling different kernels that attach grf0 to a NuBus adapter or
internal video.
 1.10  06-May-1996  briggs Set sc_slot--we need it later.
 1.9  06-May-1996  briggs Do not depend on the nubus being mapped in one huge segment.
 1.8  05-May-1996  briggs Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized
Also change the device probing scheme to use something a bit more rational.
A current side-effect is that nubus cards are double-mapped. I expect
to fix that shortly.
Also change splclock() to block everything but serial hardware interrupts.
 1.7  24-Aug-1995  briggs Some code to support a vector passed in from booter 1.8.
 1.6  06-Jul-1995  briggs Add another routine for the grf display-specific drivers to return a physical
address.
 1.5  02-Jul-1995  briggs Set and use new fboff element from grfmode structure.
 1.4  30-Jun-1995  briggs Fix oversight.
 1.3  21-Jun-1995  briggs Make no assumptions about the absolute address of nubus cards.
 1.2  06-May-1995  briggs Get rid of a printf() that got left behind in the probe.
 1.1  29-Apr-1995  briggs Add new nubus handling that's much more robust.
Update via, if_ae, and grf accordingly.
Revamp grf.
 1.11.4.1  05-Aug-1996  jtc Pulled up from rev 1.12 by request from Scott Reynolds
 1.15.6.1  12-Mar-1997  is Merge in changes from The Trunk, partially just reimplementing newarp.
 1.28.2.2  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.28.2.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.34.2.2  01-Dec-1997  mellon Pull rev 1.36 and 1.37 up from trunk (briggs) (reviewed by mellon)
 1.34.2.1  26-Oct-1997  mellon Pull rev 1.35 up from trunk (briggs)
 1.52.12.1  30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.52.10.1  21-Jun-1999  thorpej Sync w/ -current.
 1.52.8.2  14-Dec-2000  he Pull up revision 1.60 (requested by briggs):
Clear interrupts on the Apple "Boogie" card.
 1.52.8.1  21-Jun-1999  perry pullup 1.52->1.53 (briggs)
 1.52.6.2  15-Jun-1999  scottr Sync with main branch.
 1.52.6.1  11-Mar-1999  scottr First cut at grf emulation. Neither GRFIOCMAP nor mmap'ing a wsdisplay device
work, though several other grf ioctls are properly emulated.
 1.55.2.3  11-Feb-2001  bouyer Sync with HEAD.
 1.55.2.2  13-Dec-2000  bouyer Sync with HEAD (for UBC fixes).
 1.55.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.57.4.2  14-Dec-2000  he Pull up revision 1.60 (requested by briggs):
Clear interrupts on the Apple "Boogie" card.
 1.57.4.1  06-Aug-2000  briggs Pullups approved by thorpej --
Add byte-swap and stride options to bus_space. Allocate as normal, then
call mac68k_bus_space_handle_swapped() or mac68k_bus_space_handle_set_stride().
Stride is untested. Swapped code works for SMC ethernet.

Add bus_space_*_stream_N functions to bus_space.

Add a DIAGNOSTIC panic if (count-using) bus_space macros are called with
a count of zero. Some drivers do this accidentally and some bus_space
implementations will fail if count is passed as zero (they are set up in
a do-{}-while structure).

There were some bogus assumptions about bus_space_handle_t and some
function calls that didn't match prototypes--fix those here, too.
 1.62.8.3  18-Oct-2002  nathanw Catch up to -current.
 1.62.8.2  20-Jun-2002  nathanw Catch up to -current.
 1.62.8.1  08-Jan-2002  nathanw Catch up to -current.
 1.62.4.3  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.62.4.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.62.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.63.8.1  14-Jul-2002  gehenna catch up with -current.
 1.66.6.4  17-Jan-2005  skrll Sync with HEAD.
 1.66.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.66.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.66.6.1  03-Aug-2004  skrll Sync with HEAD
 1.68.10.3  03-Sep-2007  yamt sync with head.
 1.68.10.2  30-Dec-2006  yamt sync with head.
 1.68.10.1  21-Jun-2006  yamt sync with head.
 1.70.22.1  10-Dec-2006  yamt sync with head.
 1.70.20.1  12-Jan-2007  ad Sync with head.
 1.71.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.73.20.1  06-Nov-2007  matt sync with HEAD
 1.73.18.1  03-Sep-2007  jmcneill Sync with HEAD.
 1.73.14.1  03-Sep-2007  skrll Sync with HEAD.
 1.73.10.1  03-Oct-2007  garbled Sync with HEAD
 1.73.2.1  09-Oct-2007  ad Sync with head.
 1.75.64.3  03-Dec-2017  jdolecek update from HEAD
 1.75.64.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.75.64.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.75.54.2  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.75.54.1  30-Oct-2012  yamt sync with head
 1.76.2.1  18-May-2014  rmind sync with head
 1.77.6.1  19-Mar-2016  skrll Sync with HEAD
 1.77.4.1  12-Feb-2020  martin Pull up following revision(s) (requested by tsutsui in ticket #1721):

sys/arch/mac68k/nubus/grf_nubus.c: revision 1.78

Set sc_dev field of softc.
Should pullup to 7.

RSS XML Feed