History log of /src/sys/arch/mac68k/dev/grf_subr.c |
Revision | | Date | Author | Comments |
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().
|