summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/dev
AgeCommit message (Collapse)Author
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.
2009-04-20Some recent IOC3 do not have Dallas timekeepers, so perform a few more testsMiod Vallat
before deciding to attach dsrtc.
2009-04-19Parse and display the part number and the serial number, instead of falselyMiod Vallat
printing the part number as the serial number.
2009-04-13The start of Origin 200 support. Based on some code contributed by pefo@Miod Vallat
some years ago for KL enumeration, building on the existing XBow support to limit ourselves to a single node for now. This is a work-in-progress; it currently lacks complete interrupt code, as well as PCI resource management. And there are likely bugs creeping inside.
2009-04-13Also match on Uniqueware family 0x91, and correctly report the third byteMiod Vallat
of the Ethernet address.
2009-04-12Interrupt support for IOC3 and its subdevices (currently limited to theMiod Vallat
SuperIO part, the Ethernet part needs a whole driver); kernel now boot single user (or bsd.rd). Joint work with jsing@
2009-02-24Add support for hardware acceleration to gbe(4). This provides an acceleratedJoel Sing
framebuffer for the console on SGI O2 workstations. X is still supported via wsfb(4) by switching back to the unaccelerated linear framebuffer mode. Some hardware details and magic numbers from NetBSD's crmfb(4) driver. ok miod@ jasper@ "Sure, go for it" deraadt@
2008-11-28Eliminate the redundant bits of code for MTU and multicast handlingBrad Smith
from the individual drivers now that ether_ioctl() handles this. Shrinks the i386 kernels by.. RAMDISK - 2176 bytes RAMDISKB - 1504 bytes RAMDISKC - 736 bytes Tested by naddy@/okan@/sthen@/brad@/todd@/jmc@ and lots of users. Build tested on almost all archs by todd@/brad@ ok naddy@
2008-10-15Second pass of simple timeout_add -> timeout_add_sec conversionsBret Lambert
This should take care of the simpler ones (i.e., timeout values of integer multiples of hz). ok krw@, art@
2008-10-02First step towards cleaning up the Ethernet driver ioctl handling.Brad Smith
Move calling ether_ioctl() from the top of the ioctl function, which at the moment does absolutely nothing, to the default switch case. Thus allowing drivers to define their own ioctl handlers and then falling back on ether_ioctl(). The only functional change this results in at the moment is having all Ethernet drivers returning the proper errno of ENOTTY instead of EINVAL/ENXIO when encountering unknown ioctl's. Shrinks the i386 kernels by.. RAMDISK - 1024 bytes RAMDISKB - 1120 bytes RAMDISKC - 832 bytes Tested by martin@/jsing@/todd@/brad@ Build tested on almost all archs by todd@/brad@ ok jsing@
2008-09-17Unbreak com@ioc probing.Joel Sing
ok miod@
2008-09-16- remove some unneeded headersJasper Lievisse Adriaanse
with and ok jsing@
2008-06-14Mask the upper 56 bits of the rx ports when reading them, pckbd_input() willMiod Vallat
rely on this very soon.
2008-05-01Don't forget to bus_space_unmap() after probing for a com chip.Miod Vallat