Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/mac68k/dev/grf_subr.c
RevisionDateAuthorComments
 1.25  09-Aug-2022  rin Switch from ``(1 << depth) color'' to ``(depth)-bpp color'' in
attach message.

For depth == 32, fix ``0 color'', and prevent ambiguous ``16Mi color''.

I don't know whether there is 24-bpp graphic card for mac68k or not,
although.
 1.24  07-Aug-2021  thorpej Merge thorpej-cfargs2.
 1.23  24-Apr-2021  thorpej branches: 1.23.8;
Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.22  26-Jul-2019  rin branches: 1.22.12;
Add genfb(4) driver for mac68k grfbus.
1, 2, 4, 8, 15, and 32 color-depths are supported.

ANSI colors on console are functional for depth >= 4.

Graphic applications based on wsfb API should work, provided
they can correctly handle fbi_fboffset and your color depth.

wsfb driver of Xorg 1.20 and mlterm-fb (framebuffer version of
x11/mlterm) work fine for depth == 1 || depth >= 8.

For depth == 8 (256 colors), graphic applications require
colormap callback, which is currently supported for some
internal graphic adapters, and only Civic (found on Quadra
AV series) was tested. Register definition and its usage are
taken from Linux. You can easily support other adapters if
Linux supports that.

Have fun, and any problem reports are welcomed!
 1.21  27-Oct-2012  chs branches: 1.21.38;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.20  28-Apr-2008  martin branches: 1.20.34; 1.20.44;
Remove clause 3 and 4 from TNF licenses
 1.19  11-Dec-2005  christos branches: 1.19.74; 1.19.76; 1.19.78;
merge ktrace-lwp.
 1.18  15-Jan-2005  chs de-__P, remove register, ansify, b* -> mem*.
 1.17  15-Jul-2003  lukem __KERNEL_RCSID()
 1.16  01-Jan-2003  thorpej branches: 1.16.2;
Use aprint_normal() for cfprint routines.
 1.15  14-Feb-2000  scottr branches: 1.15.12;
Merge wscons work onto the main development branch.
 1.14  12-Aug-1998  scottr branches: 1.14.6; 1.14.14;
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.13  01-Jul-1998  scottr Add a GRF_COMPAT option so that old-style grf ioctl() code can be
removed from the kernel.
 1.12  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.11  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.10  09-Oct-1997  jtc Fix tipo inherited from old version of TNF copyright template.
 1.9  03-Aug-1997  scottr Fix typo found by Colin Wood, PR 3934: ga_handle should get the value of
the handle, not the tag.
 1.8  03-Aug-1997  scottr Adjust grf_establish() prototype.
 1.7  11-May-1997  scottr branches: 1.7.4;
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.6  20-Feb-1997  scottr We need bus.h now, due to recent nubus_attach_args change.
 1.5  13-Oct-1996  christos branches: 1.5.6;
backout previous kprintf change
 1.4  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.3  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.2  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.1  19-May-1996  scottr branches: 1.1.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.1.4.1  05-Aug-1996  jtc Pulled up from rev 1.2 by request from Scott Reynolds
 1.5.6.1  12-Mar-1997  is Merge in changes from The Trunk, partially just reimplementing newarp.
 1.7.4.2  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.7.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.14.14.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.14.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.15.12.1  03-Jan-2003  thorpej Sync with HEAD.
 1.16.2.4  17-Jan-2005  skrll Sync with HEAD.
 1.16.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.16.2.1  03-Aug-2004  skrll Sync with HEAD
 1.19.78.1  16-May-2008  yamt sync with head.
 1.19.76.1  18-May-2008  yamt sync with head.
 1.19.74.1  02-Jun-2008  mjf Sync with HEAD.
 1.20.44.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.20.34.1  30-Oct-2012  yamt sync with head
 1.21.38.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.22.12.1  21-Mar-2021  thorpej Give config_found() the same variadic arguments treatment as
config_search(). This commit only adds the CFARG_EOL sentinel
to the existing config_found() calls. Conversion of config_found_sm_loc()
and config_found_ia() call sites will be in subsequent commits.
 1.23.8.1  04-Aug-2021  thorpej Adapt to CFARGS().

RSS XML Feed