summaryrefslogtreecommitdiffstats
path: root/sys/arch/sgi/dev (follow)
Commit message (Collapse)AuthorAgeFilesLines
* simplify pckbc_xt_translation()shadchin2012-08-102-6/+6
| | | | | | | | * call only for set translation on (once in /sys/dev/pckbd.c) therefore we can delete unused code. * change behavior (more standard) - return zero on success ok miod@
* Make it possible to disable the Sync-on-Green signal by setting themikeb2012-05-292-3/+11
| | | | | | | | ARCBios environment variable OSLoadOptions to "nosog". Now everyone can enjoy running O2 without an SGI monitor and don't turn vegetarian afterwards. All the essential bits come from NetBSD's crmfb driver except they've chosen to use a "SyncOnGreen" variable not saved by the ARCS. Pointers and corrections from and ok miod, jsing
* When setting up the multicast filter, use the ac_multicnt field of the arpcommiod2012-05-222-7/+7
| | | | | struct to know if there are multicast entries, instead of counting the number of entries in the list. No functional change. From brad.
* Slightly tweak the emulation mode colormap to have fit in 4:8:4 instead ofmiod2012-04-191-111/+78
| | | | | | | 8:8:8, and use the fast putchar code unconditionally: it turns out it expects the background color as 4:8:4. This fixes the `character background is too green and too light' effect that caused this code path to only be used for black background, and the slower code for the rest.
* Split the existing impact@xbow attachment into generic impact routines, andmiod2012-04-183-0/+942
| | | | | | | | | | | | | | | | | | 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.
* Move OpenGL {logic,raster}ops defines to a separate file, to avoid duplicatingmiod2012-04-163-6/+43
| | | | these among frame buffer drivers. No functional change.
* Work in progress support for the SGI Indigo, Indigo 2 and Indy systemsmiod2012-03-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | (IP20, IP22, IP24) in 64-bit mode, adapated from NetBSD. Currently limited to headless operation, input and video drivers will get ported soon. Should work on all R4000, R4440 and R5000 based systems. L2 cache on R5000SC Indy not supported yet (coming soon), R4600 not supported yet either (coming soon as well). Tested to boot multiuser on: Indigo2 R4000SC, Indy R4000PC, Indy R4000SC, Indy R5000SC, Indigo2 R4400SC. There are still glitches in the Ethernet driver which are being looked at. Expansion support is limited to the GIO E++ board; GIO boards with PCI-GIO bridges not ported yet due to the lack of hardware, and this kind of driver does not port blindly. Most of this work comes from NetBSD, polishing and integration work, as well as putting as many ``R4x00 in 64-bit mode'' erratas as necessary, by yours truly. More work is coming, as well as trying to get some easy way to boot install kernels (as older PROM can only boot ECOFF binaries, which won't do for the kernel).
* uncached_base was introduced early in IP27 support, since these designs usemiod2012-03-151-9/+9
| | | | | | | | | | | subspaces in the CCA_NC uncached memory space. However, being coherent, there was never a need for bus_dma to use uncached addresses. This means that, on the only systems where uncached_base was not set to PHYS_TO_XKPHYS(0, CCA_NC), it was never used. Remove the variable, and replace PHYS_TO_UNCACHED() with PHYS_TO_XKPHYS(, CCA_NC). No functional change.
* machdep.kbdreset enables a shutdown by Ctrl-Alt-Del on amd64 andnaddy2011-06-241-4/+4
| | | | | | | | | | | | | | | i386. Stop abusing it on other archs for controling a shutdown by pressing the soft power button: * Add a MI sysctl hw.allowpowerdown; if set to 1 (the default) it allows a power button shutdown. * Make acpi(4)/acpibtn(4) honor hw.allowpowerdown. * Switch the various power button intercepts on landisk, sgi, sparc64 and zaurus over to hw.allowpowerdown. * Garbage collect the machdep.kbdreset sysctl on all archs other than amd64 and i386. ok miod@
* Do not use NULL in integer comparisons. No functional change.miod2011-04-071-3/+3
| | | | ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
* Kill pmap_phys_address(), and force every driver's mmap() routine to returnmiod2010-12-261-2/+2
| | | | | | | a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument]. This allows MI drivers to implement mmap() routines without having to know about the pmap_phys_address() implementation and #ifdef obfuscation.
* Make sgi port compile again.jsing2010-12-041-2/+2
|
* removed slot argument of function pckbd_cnattachshadchin2010-12-034-17/+16
| | | | | | because it is always PCKBC_KBD_SLOT ok miod@, krw@
* add two new members to structs audio_encoding and audio_prinfo.jakemsr2010-07-151-1/+11
| | | | | | | | | | for both structs, the new members are 'bps' and 'msb', which describe the number of bytes per sample and data alignment in the sample, respectively. drivers must properly set these fields in the 'query_encoding', 'set_parameters' and 'get_default_params' hardware interface methods. discussed with ratchov, deraadt
* timeout_add -> timeout_add_msecblambert2010-07-021-5/+5
| | | | ok miod@ some time ago
* Obtain struct sgi_device_location for the console input and output devices,miod2010-04-062-36/+17
| | | | | and compare against them when attaching potential console drivers, to figure out whether they indeed are acting are console devices or not.
* On SGI IP35 systems, get SPD memory records from L1 and attach spdmem tomiod2010-03-221-0/+107
| | | | decode them when available; tested on Fuel and Origin 350.
* Do not leak mbuf in the TX path when a TX error occurs; found the hard waymiod2010-03-152-27/+25
| | | | by syuu@; ok kettenis@
* Correctly initialize all members of struct wsemuldisplaydev_attach_argsmiod2010-03-081-1/+3
| | | | | | before attaching wsdisplay; it was turning out harmless but using more cpu time for nothing than necessary. ok deraadt@
* Allow iockbc(4) and odysseey(4) to act as console devices and attach early;miod2010-03-074-86/+275
| | | | | | this gives us working glass console on Fuel, as well as on Octane systems with Odyssey graphics. Joint work with jsing@
* Allow xbow_intr_establish() callers to provide optional storage for themiod2009-11-251-2/+2
| | | | struct intrhand, instead of having it malloc()'ed.
* * always move the same amount of data (256 frames) in the interrupt handlerjakemsr2009-11-181-68/+271
| | | | | | | | | * round blocksizes to multiples of 256 frames * fix display of record.source.volume and add record.mic.preamp mixer controls * add recording support ok kettenis@. ok ratchov@ on a slightly different version.
* Add glue to attach iockbc(4) to iof(4) as well. Tested by deraadt@miod2009-11-182-52/+155
|
* Let ioc(4) pass the information whether it is an onboard device or not, to itsmiod2009-11-111-4/+4
| | | | | subdevices; use this on iockbc to only perform the fuel workaround on the onboard ioc.
* Perform a bit more kbc initialization, instead of relying upon the prom tomiod2009-11-111-1/+20
| | | | | | do this for us; PS/2 ports on CADduo boards attach keyboard and mouse now. ok jsing@
* Add iockbc(4), a driver for the PS/2 keyboard and mouse interface found onjsing2009-11-101-0/+834
| | | | | | ioc(4) devices. Joint work with miod@. Committed from the glass console on an SGI Fuel.
* Figure out the size of the SSRAM used as internal memory by the chip onmiod2009-11-081-29/+74
| | | | attach, print it, and decide how many RX descriptors to use accordingly.
* Change sgi system identification from a single system type list, to a smallermiod2009-11-071-3/+3
| | | | | | system type list (which really is the system family) and a subsystem type. No functional change yet.
* Align each RX descriptor to a 4KB boundary; fixes poor RX performance (chipmiod2009-11-032-6/+6
| | | | would stop RX operation if it had to cross a 4KB boundary during receive).
* A few cleanups and also reflect duplex state in mcr in addition to tcsr.miod2009-11-031-11/+19
|
* Offset the start of the RX buffers by two bytes, so that the ethernetmiod2009-11-031-2/+2
| | | | header is properly aligned; speeds up RX buffer -> mbuf copies.
* Got the RX threshold interrupt working, does not help RX performance though;miod2009-11-021-6/+10
| | | | | while there, silence overzealous messages when the TX empty interrupt fires before we disable it.
* A few fixes and improvements:miod2009-11-021-27/+29
| | | | | | | | - double the number of rx buffers. - copy packets of 104 bytes or less entirely in the tx descriptor, instead of only doing this for packets smaller than an Ethernet header. - correctly disable the rx threshold interrupt. Otherwise, one received frame every 64 would not be handled because we are not using this interrupt.
* Looks like I forgot to add files again. These are the most important filesmiod2009-11-012-0/+1467
| | | | for the new iec(4) driver. Reminded by brad@
* Rename struct confargs to struct mainbus_attach_args for consistency and alsomiod2009-10-263-9/+14
| | | | to prevent further abuse of it.
* Remove DS1687 vs DS742 runtime detection code; we only attach dsrtc on themiod2009-10-261-50/+13
| | | | | | onboard ioc(4) devices, and on Octane this is always a DS1687 wired to IOC3 bytebus #1 and #2, while on Origin this is always a DS1742 wired to IOC3 bytebus #0.
* Add support for the Octane power button to power(4). Took me a while tomiod2009-10-261-31/+75
| | | | | figure out how the interrupt was routed from xbridge to xheart... (it bypasses the regular `have xbridge send a xio interrupt packet' mechanism)
* Better crime/mace interrupt handling; interrupt information is no longermiod2009-10-266-55/+42
| | | | | | | | specified in the kernel configuration file, but is provided by macebus(4) as part of the child device attachment args, and provide both crime and mace interrupt bitmasks; this allows us to only really enable interrupt sources we care about, and to avoid invoking interrupt handler we don't need to for the few mace interrupts multiplexed at the crime level.
* Get serial console speed from prom, and use it instead of hardcoding 9600 bps,miod2009-10-162-5/+4
| | | | | | on all systems but O2 (to catch up soon). Also use the IOC4 MCR register to figure out the IOC4 clock, instead of checking the widget control register, to be consistent with iof(4).
* Make iof(4) pass its bus speed to children, this in turn allows com(4) tomiod2009-10-131-5/+2
| | | | pick the right clock if the PCI bus the I/O board is on degrades to 33MHz.
* Make sure com@io[cf] attachment stanzas with locators win over generic com*miod2009-10-112-2/+12
| | | | lines. (This is done only to make dmesg look nice)
* Attach DS1742 style dsrtc to iof (IOC4) too.miod2009-10-071-1/+47
|
* Small steps towards getting the serial clock correct on IOC4 serial ports.miod2009-10-071-2/+6
|
* Change the wsdisplay_emulops return types from void to int; emulops will nowmiod2009-09-051-13/+25
| | | | | | return zero on success and nonzero on failure. This commit only performs mechanical changes for the existing emulops to always return zero.
* Blind partial support for IOC4 chip, found on IO8 and IO9 base I/O boards onmiod2009-08-181-0/+123
| | | | | | Origin 350 and Tezro systems. While this chip provides serial ports, an ATAPI interface and a PS/2 keyboard and mouse interface, this code currently only attempts to support the serial ports.
* The shutdown hook is no longer required now that we shutdown all interfacesjsing2009-08-101-14/+1
| | | | | | when rebooting. ok deraadt@ jasper@
* Rework ioc children attachment: instead of having ioc build a semi-bogusmiod2009-07-262-23/+37
| | | | | bus_space_handle_t, pass them ioc's own bus_space_handle and bus_space_tag, and have the children use bus_space_subregion() on it.
* The MAC multicast filter is set in mec_iff() hence there is need to do thisjsing2009-06-111-5/+4
| | | | | | when resetting the chip. From Brad.
* Cleanup the ioctl and receive filter code for mec(4). This alsojsing2009-05-181-55/+37
| | | | | | significantly reduces the number of times the chip gets wacked at boot. From brad, tested by me.
* need that include file...deraadt2009-05-161-1/+2
|