summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/dev
AgeCommit message (Collapse)Author
2012-04-19Slightly tweak the emulation mode colormap to have fit in 4:8:4 instead ofMiod Vallat
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.
2012-04-18Split the existing impact@xbow attachment into generic impact routines, andMiod Vallat
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.
2012-04-16Move OpenGL {logic,raster}ops defines to a separate file, to avoid duplicatingMiod Vallat
these among frame buffer drivers. No functional change.
2012-03-28Work in progress support for the SGI Indigo, Indigo 2 and Indy systemsMiod Vallat
(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).
2012-03-15uncached_base was introduced early in IP27 support, since these designs useMiod Vallat
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.
2011-06-24machdep.kbdreset enables a shutdown by Ctrl-Alt-Del on amd64 andChristian Weisgerber
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@
2011-04-07Do not use NULL in integer comparisons. No functional change.Miod Vallat
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
2010-12-26Kill pmap_phys_address(), and force every driver's mmap() routine to returnMiod Vallat
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.
2010-12-04Make sgi port compile again.Joel Sing
2010-12-03removed slot argument of function pckbd_cnattachAlexandr Shadchin
because it is always PCKBC_KBD_SLOT ok miod@, krw@
2010-07-15add two new members to structs audio_encoding and audio_prinfo.Jacob Meuser
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
2010-07-02timeout_add -> timeout_add_msecBret Lambert
ok miod@ some time ago
2010-04-06Obtain struct sgi_device_location for the console input and output devices,Miod Vallat
and compare against them when attaching potential console drivers, to figure out whether they indeed are acting are console devices or not.
2010-03-22On SGI IP35 systems, get SPD memory records from L1 and attach spdmem toMiod Vallat
decode them when available; tested on Fuel and Origin 350.
2010-03-15Do not leak mbuf in the TX path when a TX error occurs; found the hard wayMiod Vallat
by syuu@; ok kettenis@
2010-03-08Correctly initialize all members of struct wsemuldisplaydev_attach_argsMiod Vallat
before attaching wsdisplay; it was turning out harmless but using more cpu time for nothing than necessary. ok deraadt@
2010-03-07Allow iockbc(4) and odysseey(4) to act as console devices and attach early;Miod Vallat
this gives us working glass console on Fuel, as well as on Octane systems with Odyssey graphics. Joint work with jsing@
2009-11-25Allow xbow_intr_establish() callers to provide optional storage for theMiod Vallat
struct intrhand, instead of having it malloc()'ed.
2009-11-18* always move the same amount of data (256 frames) in the interrupt handlerJacob Meuser
* 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.
2009-11-18Add glue to attach iockbc(4) to iof(4) as well. Tested by deraadt@Miod Vallat
2009-11-11Let ioc(4) pass the information whether it is an onboard device or not, to itsMiod Vallat
subdevices; use this on iockbc to only perform the fuel workaround on the onboard ioc.
2009-11-11Perform a bit more kbc initialization, instead of relying upon the prom toMiod Vallat
do this for us; PS/2 ports on CADduo boards attach keyboard and mouse now. ok jsing@
2009-11-10Add iockbc(4), a driver for the PS/2 keyboard and mouse interface found onJoel Sing
ioc(4) devices. Joint work with miod@. Committed from the glass console on an SGI Fuel.
2009-11-08Figure out the size of the SSRAM used as internal memory by the chip onMiod Vallat
attach, print it, and decide how many RX descriptors to use accordingly.
2009-11-07Change sgi system identification from a single system type list, to a smallerMiod Vallat
system type list (which really is the system family) and a subsystem type. No functional change yet.
2009-11-03Align each RX descriptor to a 4KB boundary; fixes poor RX performance (chipMiod Vallat
would stop RX operation if it had to cross a 4KB boundary during receive).
2009-11-03A few cleanups and also reflect duplex state in mcr in addition to tcsr.Miod Vallat
2009-11-03Offset the start of the RX buffers by two bytes, so that the ethernetMiod Vallat
header is properly aligned; speeds up RX buffer -> mbuf copies.
2009-11-02Got the RX threshold interrupt working, does not help RX performance though;Miod Vallat
while there, silence overzealous messages when the TX empty interrupt fires before we disable it.
2009-11-02A few fixes and improvements:Miod Vallat
- 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.
2009-11-01Looks like I forgot to add files again. These are the most important filesMiod Vallat
for the new iec(4) driver. Reminded by brad@
2009-10-26Rename struct confargs to struct mainbus_attach_args for consistency and alsoMiod Vallat
to prevent further abuse of it.
2009-10-26Remove DS1687 vs DS742 runtime detection code; we only attach dsrtc on theMiod Vallat
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.
2009-10-26Add support for the Octane power button to power(4). Took me a while toMiod Vallat
figure out how the interrupt was routed from xbridge to xheart... (it bypasses the regular `have xbridge send a xio interrupt packet' mechanism)
2009-10-26Better crime/mace interrupt handling; interrupt information is no longerMiod Vallat
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.
2009-10-16Get serial console speed from prom, and use it instead of hardcoding 9600 bps,Miod Vallat
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).
2009-10-13Make iof(4) pass its bus speed to children, this in turn allows com(4) toMiod Vallat
pick the right clock if the PCI bus the I/O board is on degrades to 33MHz.
2009-10-11Make sure com@io[cf] attachment stanzas with locators win over generic com*Miod Vallat
lines. (This is done only to make dmesg look nice)
2009-10-07Attach DS1742 style dsrtc to iof (IOC4) too.Miod Vallat
2009-10-07Small steps towards getting the serial clock correct on IOC4 serial ports.Miod Vallat
2009-09-05Change the wsdisplay_emulops return types from void to int; emulops will nowMiod Vallat
return zero on success and nonzero on failure. This commit only performs mechanical changes for the existing emulops to always return zero.
2009-08-18Blind partial support for IOC4 chip, found on IO8 and IO9 base I/O boards onMiod Vallat
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.
2009-08-10The shutdown hook is no longer required now that we shutdown all interfacesJoel Sing
when rebooting. ok deraadt@ jasper@
2009-07-26Rework ioc children attachment: instead of having ioc build a semi-bogusMiod Vallat
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.
2009-06-11The MAC multicast filter is set in mec_iff() hence there is need to do thisJoel Sing
when resetting the chip. From Brad.
2009-05-18Cleanup the ioctl and receive filter code for mec(4). This alsoJoel Sing
significantly reduces the number of times the chip gets wacked at boot. From brad, tested by me.
2009-05-16need that include file...Theo de Raadt
2009-05-15Oops, forgot to add this file, part of the dsrtc DS174x changes.Miod Vallat
2009-05-15TOD clock support for IOC3 flavours with DS174x chips (which are rebadgedMiod Vallat
MK48Txx). Entangled with preliminary changes which will hopefully eventually lead to power(4) attaching on IP30 (but not finished yet).
2009-05-08IP30 Dallas clock runs in non-BCD mode, so make sure to check which modeMiod Vallat
the chip is in, and honour it.