summaryrefslogtreecommitdiffstats
path: root/sys/arch/sgi/gio (follow)
Commit message (Collapse)AuthorAgeFilesLines
* spellingjsg2021-03-111-2/+2
|
* change wsdisplay attribute type from long to uint32_tjsg2020-05-253-33/+33
| | | | | | | | miod explained it was initially a long as it was thought drivers may need to allocate storage but in practice they don't need more than 32 bits for an attribute. suggested and reviewed by miod@
* rename wsdisplay alloc_attr() to pack_attr()jsg2020-05-253-9/+9
| | | | | | | | Suggested by John Carmack. miod agrees a rename would make sense and explained it was initially thought drivers may need to allocate storage but in practice they don't need more than 32 bits for an attribute. ok mpi@
* If you use sys/param.h, you don't need sys/types.hderaadt2017-09-081-2/+1
|
* Harmonize the way frame buffer drivers display resolution and colorfcambus2017-01-153-6/+6
| | | | | | depth when attaching. OK visa@, deraadt@
* sizes for free(); ok semariederaadt2015-09-082-5/+5
|
* Replace some malloc(n*size,...) calls with mallocarray().doug2014-12-091-2/+2
| | | | ok tedu@ deraadt@
* Add missing load_font and list_font accessops, as well as crude screen burnermiod2014-12-071-8/+45
| | | | support.
* Remove wrong comment.miod2014-12-071-3/+2
|
* Pass the right bus_dmatag_t to the children.miod2014-10-021-2/+2
|
* Set Eng. GFE has a 32-bit ID register, so put it in the 32-bit section.miod2014-08-191-2/+2
| | | | | No change but ordering in the generated files, so I won't even bother to regen them - this is only a `documentation' change.
* add a size argument to free. will be used soon, but for now default to 0.tedu2014-07-122-5/+5
| | | | after discussions with beck deraadt kettenis.
* On IP28, ignore (as in, do not report) GIO bus errors where the address isn'tmiod2014-07-021-1/+3
| | | | | | actually part of the GIO address range; these obviously come from speculative R10000 execution and are completely harmless (except for the need to acknowledge them, which we have to do anyway).
* Format string fixes and removal of -Wno-format for sgi. Based upon anmiod2014-05-192-6/+6
| | | | initial diff from jasper@
* Do not play with the xmapmode register, for its layout seems to differ betweenmiod2014-03-291-31/+42
| | | | | | | | | | board revisions < 4 (found on Indigo) and >= 4 (found on Indy and Indigo2). Paint the cursor as an inverted glyph, instead of exchanging bg and fg colours (matching the current practice on other frame buffers). Speed-up overlapping copy operations by attempting to perform them in larger chunks whenever possible; this speeds up console jump scrolling.
* {fix,add} comments.miod2014-03-271-3/+4
|
* Program the colormap correctly; gives us proper shade of blue and highlighting.miod2014-03-272-38/+101
| | | | Add a simple screen burner accessop.
* - Fix clipping bounds in fill and blt operations; the lower-right corner ismiod2014-03-182-69/+194
| | | | | | | supposed to be outside the clipping region, not inside (i.e. there was an off-by-one everywhere). - Add colormap support, by programming the RAMDAC palette registers at init time, and also implement the colormap ioctls.
* Add load_font and list_font accessops to all rasops-based wsdisplay drivers.miod2013-10-212-3/+47
| | | | | Trivial except for tga(4) and gpx(4/vax) which need a bit more care setting up a new font.
* Use C99 named initializers for struct wsdisplay_accessops fields.miod2013-10-201-11/+6
| | | | No functional change.
* Refine the frame buffer probe again, to correctly detect a newport frame buffermiod2013-09-281-2/+30
| | | | | | | | | | on Indy if an HPC SCSI board is plugged in either expansion slots, as this somehow affects pipelined reads of the newport space. The framebuffer detection is slowly becoming an ISA-like mess... Thanks to Alain Tauch for giving me an HPC SCSI board (wrapped in yet another Indy)
* Replace all ovbcopy with memmove; swap the src and dst arguments tooderaadt2013-06-111-5/+5
| | | | ok otto
* Well, it turns out the assumption that boards with a 32-bit ID registermiod2013-04-211-6/+9
| | | | | | | | | | | | will not accept smaller-than-32-bit accesses to the ID register is wrong with some boards (such as the Set Eng. fast Ethernet). Rework the logic introduced in 1.10 to allow matching a board with a 32-bit ID register and consistent reads at smaller sizes. Tested to not cause false positive or disappearing devices against newport, grtwo, impact, Phobos G130/G160, Fore ATM, Cyclone Colorbus, and of course Set Eng.
* Do not wait too long for the chip to unbusy, and return EAGAIN to the uppermiod2013-04-202-43/+77
| | | | | layers when the chip can't process commands fast enough; wscons knows how to cope.
* Previous revision would prevent grtwo(4) boards from being recognized.miod2012-10-261-2/+2
| | | | | | Make sure that what seems to be a 8-bit ID register of value zero does not match as an expansion board, which it can't be, and continue with the specific frame buffer test logic.
* Don't include <mips64/archtype.h> unless you really need it.miod2012-10-033-6/+3
|
* Attach non-frame buffer GIO devices with ga_product being the id gathered bymiod2012-07-181-3/+4
| | | | | gio_id(), not the whole 32 bit first word. Some boards with a 8-bit only ID register use the other 24 bits, sadly.
* Hopefully correctly recognize GIO boards with a 8-bit only ID register, whichmiod2012-07-181-4/+13
| | | | are not frame buffers. Thanks to Martin Boehme for donating such boards!
* regenmiod2012-07-182-8/+12
|
* A couple more device IDs, thanks to Martin Boehme for donating boards!miod2012-07-181-4/+6
|
* Support for the POWER Indigo2 R10000 systems (IP28). Currently running withmiod2012-05-251-5/+31
| | | | | ECC checking disabled, which allows the existing Indigo2 drivers to run unmodified.
* Port NetBSD's pci@gio driver for fast Ethernet expansion boards for themiod2012-05-181-0/+497
| | | | | | IP22 family. This is just the bridge so far, as the underlying pci drivers will need some changes to work (dc(4) does not work correctly yet, and tl(4) needs to be bus_dma'ified).
* Yet another rework of the crucial gio_id() function responsible for correctlymiod2012-05-172-65/+33
| | | | | | | | | | | | | | | | | recognizing a GIO device or an id-less frame buffer in a GIO slot. Turns out that GIO32 devices (at least those with a 32-bit ID register, but likely all of them) do NOT like accesses to the minimal GIO register area NOT done on 32-bit boundaries. While frame buffers won't mind, especially if their slots are pipelined. This makes it a lot easier to tell them apart. While there, split gio_intr_establish() into gio_intr_map(), which will return a logical interrupt number out of a GIO slot number, and gio_intr_establish(), which will now expect a logical interrupt number, instead of a logical slot number. These two functions are still unused, but upcoming changes depend on this work. (Yes, I'm too lazy to make two commits for this tonite)
* Don't forget to print the frame buffer name obtained from ARCS, as all othermiod2012-05-121-2/+6
| | | | GIO frame buffer drivers do.
* GIO devices with a 32-bit device identifier actually do not like halfword andmiod2012-05-102-24/+48
| | | | | | | | | | | | | | byte accesses to the ID register; instead of interpreting this is as a lack of hardware, reconize this as a valid GIO device (if the `has a 32-bit ID' bit is set, that is). This allows GIO Impact boards, which use a 32-bit ID, to be recognized correctly, and to work as a console device. Commited from an Indigo2 with glass console on the single-board Impact (MG10) board which arrived in the mail today. Would have been done even earlier, had I not forgotten to connect the extra power supply cable to the Impact GIO backplane...
* regenmiod2012-05-102-8/+9
|
* Do not keep the `32-bit device ID' bit indicator in the device IDs, formiod2012-05-101-6/+9
| | | | consistency. Will be necessary shortly.
* Fix a few macros to operate on the right bit.miod2012-05-101-3/+3
|
* Fix impact(4) header file generation to correctly output NIMPACT_GIO onmiod2012-05-101-3/+2
| | | | IP22 kernels. Oops.
* Be more strict in the `are we the console device' logic at device attachmentmiod2012-05-104-8/+25
| | | | | time; not only do we need to match the graphics console address, but cn_tab needs to point to wsdisplay, too.
* Correctly read board version information.miod2012-04-302-9/+10
|
* Only trust giofb_consid if non-zero.miod2012-04-281-2/+2
|
* The new probe logic would pretend light(4) devices always exist on Indigo;miod2012-04-271-3/+9
| | | | | | fix this by reinstating the actual probe which got removed by mistake in the recent gio probe and console code rework. Found the hard way by sebastia@
* Minor tweaks:miod2012-04-241-36/+35
| | | | | | | | | | | | - correctly gather version information. When reading device registers is a two step process (write address, read data), it is a very bad idea to call a wrapper around these two operations (to read register B) between the two operations inline (to read register A). Unless you want to know the version information for your garbage latches, that is. Now Indy 8-bit devices no longer get reported as 24-bit devices, and Indy 24-bit devices no longer get reported as 8-bit devices. (not that it mattered much anyway) - define and use symbolic constants when parsing the video mode settings to figure out the display resolution. This code still itches, but much less now.
* Pour even more smarts into the GIO device identification code, to the pointmiod2012-04-246-168/+149
| | | | | | | | that it can now tell ID-less framebuffers apart correctly. Therefore, we can use direct configuration instead of ugly games. Frame buffer drivers match routines now only need to check for the fake ID they receive. Tested on various newport and grtwo setups (including multihead configurations)
* Split the existing impact@xbow attachment into generic impact routines, andmiod2012-04-183-47/+202
| | | | | | | | | | | | | | | | | | bus-specific attachment; impactreg.h and impactvar.h move from sgi/xbow/ to sgi/dev/. Teach the generic impact code how to code with pre-ImpactSR boards, which have a slightly different register layout (information obtained from Peter Fuerst's Linux IP28 patches). Add an impact@gio attachment (unfortunately untested, no Impact GIO boards here). All Indigo 2 graphics options should be supported now (assuming the Extreme/Ultra will actually work with grtwo(4) out of the box). Tested not to disturb operation on IP30. ** ATTENTION! If you are building IP27 or IP30 kernels, be sure to rm impact.d ** before building a new kernel.
* Don't attach a wsdisplay if not the console device, for part of the devicemiod2012-04-181-1/+14
| | | | | is disabled, and nothing shows up on the monitor in this case. To be investigated later.
* regenmiod2012-04-182-38/+40
|
* Apparently, the Indigo 2 Impact GIO boards finally provide a real GIO IDmiod2012-04-181-1/+2
| | | | register.
* Put decent prefixes in the symbolic constants for GIO IDs in the generatedmiod2012-04-181-4/+5
| | | | files, for them to become useful.