Commit Graph

64 Commits

Author SHA1 Message Date
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
thorpej f6d76ae22a TRUE -> true, FALSE -> false 2007-02-22 16:45:48 +00:00
thorpej 712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
rumble 2c7e45820a Support the sq(4) interface on the Challenge S's IOPLUS mezzanine. This
requires us to configure the IOPLUS to use the appropriate DMA channel,
depending on what other expansion cards may be installed. Further, we need
to do a bit more configuration of the sq(4) DMA engine, which apparently
was formerly being configured properly by the PROM. Use the same values,
which appear to work fine.

Also, extend the gio_arb_config interface as needed.

NB: We're currently setting the IOPLUS board to long burst, but it may be
better to use realtime. This will require some experimentation.
2007-02-19 20:14:30 +00:00
rumble ba3f4cc332 Update a comment: G100 has now been tested. 2007-02-19 04:48:37 +00:00
rumble acd87b911b regen. 2007-02-19 04:47:06 +00:00
rumble 4468ccf7ad PHOBOS_G100 is 100Mbit only - don't lie. Also, make it clear that
SETENG_GFE is 10/100.
2007-02-19 04:46:33 +00:00
rumble 1426ceeded IP12 (and perhaps other systems) appear to be buggy and incapable of
reliably supporting badaddr(). False negatives appear to occur
approximately 1.8 percent of the time, although neither false positives
nor consecutive false negatives occur. We take advantage of the latter
property and always use a wrapper that makes multiple checks.

My IP12 no longer sees occasional ghost devices and related panics during
boot.
2006-12-29 05:26:30 +00:00
rumble eb755ecb24 Enable light(4). 2006-12-29 00:42:01 +00:00
rumble 163b9bb1ca Rework GIO probing a bit.
Devices present on the GIO bus needn't always provide a Product
Indentification Word, even if their address space is the same as the
address space of a slot. Separate the handling of probing for slot-based
devices and graphics devices, matching the latter first, and precluding
addresses probed for the former when a graphics device is known to exist
in a slot's space.
2006-12-29 00:41:11 +00:00
rumble 627a4f61bc Actually probe for the device when matching. 2006-12-29 00:31:48 +00:00
rumble b8c7e16b6c Update a comment and note the SetEng workaround. 2006-12-29 00:04:20 +00:00
rumble 860011e433 Only probe on known supported base addresses. 2006-12-28 22:10:05 +00:00
rumble 210fcff558 Do not rely on the Product ID Word to be 0x04 since there is no such
thing for graphics options. Since we're removing this, ensure that we can
read the probe registers before proceeding.
2006-12-28 22:08:04 +00:00
rumble d7e1303681 Permit mmap, improve register definitions, disable the hardware cursor, and
other minor nits.
2006-12-28 16:33:49 +00:00
rumble 78f4031e6d Bring in support for the SGI Light/Entry/Starter LG1/LG2 framebuffers
found in Indigo systems.
2006-12-26 04:28:16 +00:00
rumble 905fd33243 s/Challenge-S/Challenge S/ and fix an incorrect comment. 2006-12-22 22:42:47 +00:00
rumble 79cd03d3ea Indigo and Indigo2 machines have only one shared interrupt for the two
GIO slots. This differs from Indy, which has an interrupt per slot, neither
of which is the same as on the other two machines.

This lets my Phobos G160 run in both slots in my Indigo2 and my E++ adapter
works in both slots in my Indigo.
2006-12-22 20:29:18 +00:00
rumble 561c032f4c Do not permit accesses to unmapped pci registers. 2006-09-07 18:24:05 +00:00
rumble 8b5466f087 Describe the GIO Product Identification Word and add a few macros to
extract other fields.
2006-08-31 00:01:10 +00:00
rumble ba52409a2e Provide a pseudo-pci bus for the following PCI ethernet boards, which live
behind custom PCI<->GIO bridges:
	- Set Engineering GIO Fast Ethernet (TI ThunderLAN)
	- Phobos G100 (DEC 21140?)
	- Phobos G130 (DEC 21143)
	- Phobos G160 (DEC 21143)

All boards present the chipsets' pci configuration registers at some
defined offset in their slots' address space as well as device registers.
We simply allow the MI pci subsystem to attach the devices.

This has been tested with a G130 board (DEC 21143) and works well on IP20
and IP24. The Set Engineering board attaches, works fine when receiving and
lightly transmitting, but chokes for unknown reasons on heavy transmits.
The tl(4) driver may need some fixing.
2006-08-30 23:58:13 +00:00
rumble 2d1cbf7222 Implement the gio_arb_config() interface for changing the machine-specific
gio bus arbiter parameters via imc(4) or pic(4).

Slots are identified by name: GIO_SLOT_GFX, GIO_SLOT_EXP1, GIO_SLOT_EXP2.

Provide some helper functions for establishing interrupts associated with
each slot and obtaining product descriptions.
2006-08-30 23:48:55 +00:00
rumble ec5b122721 Regen. 2006-07-20 13:12:32 +00:00
rumble 4d3ba0cd44 Beautify. 2006-07-20 13:12:01 +00:00
rumble db767e167c Add entries for the Phobos G100, G130 and Set Engineering GIO Fast Ethernet
cards.
2006-07-20 13:11:27 +00:00
jmmv 7a51d4dddc Add an extra cookie to the ioctl and mmap wsdisplay accessops that points
to the screen on which they are being called.  The driver cannot guess
this by itself but it is needed to implement, at least, the getwschar and
putwschar functions in the correct place.  There are no functional changes
yet.

Tested on i386 (vga, vga_raster, machfb, vesafb), macppc and sparc64.
Suggested and reviewed by macallan@.
2006-04-12 19:38:22 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
drochner 44bf0a7ee2 s/locdesc_t/int/g 2005-08-26 13:19:34 +00:00
drochner 996c273eda adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes 2005-06-30 17:03:51 +00:00
drochner b081eee072 convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
2005-06-28 18:29:58 +00:00
martin 9359910b36 Regen (with proper consts) 2005-06-03 19:04:10 +00:00
martin 424bc46318 Make the output proper constified. 2005-06-03 19:03:46 +00:00
rumble 17a32ff3f7 regen 2005-04-17 04:07:11 +00:00
rumble 8e4666bb70 Add the $NetBSD$ tag and some whitespace. When we previously
started the device list on the first line the awk script would
skip the first entry.
2005-04-17 04:06:38 +00:00
sekiya faa2f31603 Abbreviate identification message to fit in 80 columns. 2004-09-29 05:13:39 +00:00
sekiya 551d2b9aa9 Use ANSI function declarations. 2004-09-29 04:06:51 +00:00
sekiya 9c289db87a Remove unnecessary variables from grtwo_cnattach(). 2004-07-08 10:02:10 +00:00
sekiya c279001857 Oops. Remove reference to phantom variable. 2004-07-07 00:11:11 +00:00
sekiya 9c873da232 Many fixes to the grtwo wscons driver:
* fills seem to be broken.  Avoid filling large vertical regions; instead,
  attempt to break it up into managable chunks.  This doesn't work perfectly
  either, so clear the screen row-by-row (which does work).
* Characters are now right-side-up
* the driver now uses screen coordinates properly.

With the exception of column erases (which fall prey to the fill issue), the
driver is now usable.
2004-07-06 23:51:40 +00:00
sekiya 27be14d39c Checkpoint the GR2 wscons driver. Heavily derived from lonewolf@'s newport
driver.  Still some issues:

* framebuffer setup seems incomplete.  Some drawing primitives work 100%
  of the time, while others fail one in ten tries.  Perhaps my board is
  slightly broken, as the exact model as probed by ARCS seems to shift
  between Elan and XS24 from time to time.
* characters are drawn bottom-up rather than top-down (as the wsfont
  definitions expect).
2004-03-18 08:52:04 +00:00
sekiya 0ee588cc1c Add GR2. 2004-03-18 08:40:46 +00:00
sekiya bf7ef66f3b Add console attach glue for GR2. 2004-03-18 08:40:24 +00:00
sekiya a924cfbf24 Add register definitions and console prototype header for the SGI GR2 family
of framebuffers.
2004-03-18 08:39:17 +00:00
sekiya e03691c03d More newport driver tweaks:
* detect and store vc2 revision.  This is (likely) the important factor in
  determining the proper cursor offset, so add a bit of logic that does the
  right thing on my revision 0 vc2.  This will have to be determined
  empirically, revision by revision.
* take a stab at detecting framebuffer depth.  SGI does it quite differently,
  but their algorithm doesn't work, so we'll do it along the same lines as
  linux.
* implement newport_mmap() for use by X.  The necessary xsrc commits have been
  made (with the notable exception of the config/cf changes, which probably
  shouldn't go in until 4.4.0 has been imported).
2004-02-07 04:34:34 +00:00
lonewolf 8ecc24789a Remove unused dc_screens from the softc, the driver does not support multiple
screens.
2004-01-26 11:00:47 +00:00
sekiya 6595b5b178 Slight modifications to newport driver:
* Add resolution and depth variables to softc (for use in X driver, although
  depth detection is currently problematic),
* Store more information about various chip revisions,
* Implement ioctls to help the X driver detect device presence and geometry.
2004-01-26 07:12:33 +00:00
lonewolf 20f66016c1 Correctly read the board revision. 2004-01-22 14:15:51 +00:00
sekiya 69911c67f2 Reinstate symbolic device names -- I completely forgot about their use.
Reminder courtesy soren@
2004-01-11 01:48:46 +00:00
sekiya c370623a7a Add framework for gio card identification based on product ID. devlist2h.awk
was borrowed from sys/dev/pcmcia.
2004-01-10 02:26:44 +00:00
lonewolf 613491354d Implement direct configuration for GIO devices.
XXX Still needs a way to handle Indigo2 spurious "productid 0x04 revision 0x00"
XXX phantom devices.
2003-12-15 05:26:56 +00:00