Commit Graph

397 Commits

Author SHA1 Message Date
simonb 240c203d16 s/asc_pmaz/asc_tc/g 2001-10-01 10:19:09 +00:00
simonb f976a7141c Move MI PMAZ-A SCSI attachment to sys/dev/tc. 2001-10-01 10:17:25 +00:00
ad 21787ea4c6 Get/set keyclick volume. 2001-09-18 23:25:25 +00:00
ad 4824a8d9d9 Beef up the stic X interface, and tighten a few screws here and there. 2001-09-18 19:51:23 +00:00
wiz 9fa0b17629 Give initiali[sz]e all the "i"s it deserves. 2001-09-18 18:15:49 +00:00
simonb 2d06de8eb9 General cleanup: ANSIfy, white-space, remove unused #includes.
XXX: should be moved to arch/pmax/ibus - this is pmax specific.
2001-09-18 12:46:33 +00:00
ad 6e9cae3be0 Zero out uninitalized fields in the freshly allocated zs_chanstate. 2001-09-14 11:58:39 +00:00
simonb cddf6cf55b Switch to MI SCSI and drop old pmax MD SCSI support completely. 2001-08-26 11:47:18 +00:00
nisimura bd799bf74f Use ri->ri_hw field for TC module base address. 2001-08-22 05:15:58 +00:00
nisimura 1df3ced126 Move small storage for ev_name string into tcds_softc. 2001-08-22 05:00:27 +00:00
nisimura b7f1b6d54b Nuke fb_devconfig data structure which was found unnecessary to have. 2001-08-22 02:24:29 +00:00
nisimura a6f7e30eec Nuke fb_devconfig data structure which was found unnecessary to have.
224 byte saving in text+bss, and runtime.
2001-08-20 08:34:39 +00:00
jdolecek 74954dadf9 use unsigned variable types as appropriate 2001-08-05 18:07:51 +00:00
thorpej 44e529fecc Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places. 2001-07-19 16:36:14 +00:00
ad 86e7fe72a4 Don't print the module description, since it doesn't mean much. 2001-07-04 14:17:58 +00:00
tron 29dc8fc7e3 Install "dev/tc/sfbreg.h" which is required for building the Alpha X11
server.
2001-06-30 21:16:52 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg c13e3a6693 use _KERNEL_OPT 2001-05-30 11:40:35 +00:00
ad c6da2452c0 Put back /usr/include/dev/tc/sticreg.h. 2001-05-16 13:48:52 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
thorpej 27253eea15 Use uvm_pageboot_alloc() rather than pmap_steal_memory(). 2001-04-22 16:44:41 +00:00
reinoud 1351706593 Fix a few race conditions ... the VSYNC update flag could be cleared
resulting in a blank screen when f.e. a setcursor ioctl was called
after the screenblanker had enabled the screen again ... the actual
switching on was then never performed at VSYNC.

A simple |= instead of = does the trick ... just leave the other bits
on please :)
2001-04-20 11:53:06 +00:00
jdolecek 745ab257dc Put back all header files defining ioctls 2001-04-11 19:07:36 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
nathanw a8c1e6280a Fix spelling errors in comments. 2001-04-09 16:10:06 +00:00
ad 571ef6d823 Make this work on alpha, and fix some other bogons. 2001-03-04 13:32:25 +00:00
nisimura 8e3f2f7c65 Change to exclude TC identification string PMAGD-AA because 8bpp can not
be handled with current implementation.  sfbplus.c should be capable of
doing the right things for multiple depths by ultilizing SFB+ design.
2001-02-27 02:11:36 +00:00
nisimura ab8c4071cc Void-filling to honour SVIDEO ioctl call. 2001-02-19 09:11:11 +00:00
nisimura b4ef15f3bc - paint underline on text honouring WSSCREEN_UNDERLINE.
- use accellerated painting for text cursor, should improve speed.
2001-01-19 05:43:43 +00:00
nisimura 1d8bb9f134 managed to make this useful enough for screen editor.
- video base register value brings different scanline starting address
  of framebuffer depending on VRAM chip column size.
many other issues left unsolved.
- text rendered in incorrect colours.
- acceleration codes should be reimplemented from scratch.
2001-01-17 06:48:09 +00:00
nisimura f20b78bb5d Add a definition for PMAGD which should cover all (three?) variations of
it.  Left commented out until DECstation switchs to WSCONS.
2001-01-16 05:49:41 +00:00
nisimura bd7039cbdb - relocate the code to place sprite cursor inside interrupt handlers
called on every virtical replace.
- efforts to make the code strucutures similar across TC framebuffers.
2001-01-16 05:32:16 +00:00
nisimura f493d886c1 - make this more senseful 32bpp TC framebuffer. This is far less broken
than the preivous code.  It can show readable characters on screen.
  Tested only with 32bpp model of PMAGD opion card.  Need more work for 8bpp.
- 2D accelleration will be revamped to ultilize SFBplus features.
- there seems much mulfunctionness in 32bpp codes of /sys/dev/rasops/.
  Need to rectify every corners.
2001-01-16 05:06:02 +00:00
nisimura 9b47b68152 abandon an attempt to have 8bpp textop and 32bpp textop parallelly.
Pursuade a unified logic effective for both depths.
2001-01-15 09:45:30 +00:00
nisimura 452e3d1a2f fix a typo and rearrange a comment about SFB register aliasing effect. 2001-01-15 09:41:57 +00:00
nisimura 3a6d3e0771 use ri_devcmap[] values directly, instead of calling rasops_unpack_attr().
-
2001-01-15 09:37:42 +00:00
ad 1b4eef2721 - Make VDAC state per-board.
- Add an ioctl to reset the STIC.
- Add an ioctl to restore the screen contents from backing.
- Other tweaks.
2001-01-09 16:04:03 +00:00
mrg d9a9b8d6d5 the tcds cards work in pmaxen. move tcds attachment to files.tc. leave asc
at tcds in files.alpha for now, and add a new `xasc at tcds' to files.pmax.
after pmax has moved fully to MI scsi (and `asc' is MI scsi), we should move
the device asc, etc., lines to files.tc.
2001-01-01 23:43:05 +00:00
ad 024d36d353 - Fix bugs, make this useful.
- Add ioctls to start and stop the co-processor (if present).
2000-12-22 13:30:32 +00:00
perseant 3475e639f3 Add register #defines similar to those in <dev/pci/tgareg.h>, referring to
a 32-bit sfb_reg_t, for easy comparison between tga and sfb Xservers.
2000-12-19 01:25:46 +00:00
ad b5aee7bd4c Thinko. 2000-12-17 14:46:43 +00:00
ad 3b02b279aa Regen. 2000-12-17 13:56:19 +00:00
ad d092cb0d0a Sync with PixelStamp drivers. 2000-12-17 13:56:05 +00:00
ad 553c5108d4 Add wscons drivers for the DEC PixelStamp graphics accelerators. 2000-12-17 13:52:03 +00:00
nisimura 2e93099aff Replace sfb_copycols() which can run better job in some degree.
It still fails on certain conditions, thus is left commented out.
copycols() is done by a generic routine which works correctly.
2000-11-25 11:43:42 +00:00
nisimura b974ee7790 Add TC option card descriptions, which are commented out before NetBSD/pmax
yields local implementations to them.
2000-11-24 05:02:26 +00:00
nisimura 0661e6718b - fix an error in uninitialized variable reference.
- add a missing function argument declaration.
- minor comment adjustments.
2000-11-22 06:59:08 +00:00
nisimura ce10334de9 Fix errors in color lookup table initialization. Glyph is rendered
in visible color now.
2000-11-21 07:42:02 +00:00
mhitch d458239a94 When doing the cacheflush for MIPS1, adjust the length to account for
an unaligned buffer.  The last word of the buffer was not getting flushed
if the buffer was unaligned and fit in a single DMA segment.  Now dump(8)
works on both MIPS1 and MIPS3 DECstations.
2000-11-05 21:02:13 +00:00
mhitch f5f7066fc8 When a read DMA transfer is interrupted by a disconnect on the IOASIC SCSI
and the buffer is not 8-byte aligned, it leaves a partial transfer in the
SDRx registers.  This could cause data corruption in dump(8) because the
read-ahead buffers are allocated on a non-aligned address.  When the read
DMA transfer is interrupted and the current DMA position is not aligned,
call the dma_end() routine to flush the SDRx register contents to the
buffer.
2000-11-02 21:00:04 +00:00
simonb 97e5badeae Line up columns in #define list. 2000-10-31 15:16:26 +00:00
nisimura 8a54846748 Fix errors in initializing the software copy of 256 entry colormap
stored in device softc.  rasops_cmap[] array is orginazed in 256
iteration of 3 byte long RBG triplet, which does not match with
struct wsdisplay_cmap design.
2000-10-27 07:24:04 +00:00
nisimura ad74c7dbd6 - Put comment about wsevent structure counts 0 for the left most mouse
button with a bit coding improvement.
- signed char -> int to hold integer values.  Contributed 16 insn savings.
2000-10-19 10:27:04 +00:00
nisimura 8a526d9513 Remove sc_lance_dmam field from ioasic_softc structure. It was obsoluted
by the removal of ioasic_lance_dma_setup() made in if_le_ioasic.c 1.15.
2000-10-17 09:45:49 +00:00
nisimura f3d4ccd750 Have consistent #if's for machine dependent clauses. 2000-10-17 09:27:22 +00:00
nisimura 1fd2521475 - efforts to merge TC Alpha and IOASIC DECstation, derived from Mattias
Drochner's work made in nisimura-pmax-wscons branch.  Still a little
  to do before useful for DECstation.  MI softintr required.
- allow wildcard matchs to have zstty/zskbd/zsms in default hardware
  configuration.
- abandon to check zs_ioasic_cnattach() return value; it doesn't fail.
- have zs_ioasic_cnattach() serial line parameters hardcoded inside, in
  symmetry with zs_ioasic_lk201_cnattach().
2000-10-17 08:55:43 +00:00
nisimura ca7bd5f302 Make sure wsmouseopen() returns ENXIO when no VSXXX mouse is attached. 2000-10-14 08:51:51 +00:00
mhitch af7ddd3659 Set up the physical addresses for DMAPTR/NEXTPTR before adjusting for
unaligned transfers and adjust the physical address to align the transfer.
If the buffer end just crossed the page boundary, the computation of the
NEXTPTR physical address resulted in using -1.  The cleanup at the end of
the DMA transfer would try to copy the residual data to physical address
0x1ffffffc.  This would silently corrupt data on the R3000 and usually
would hang the R4000.
2000-09-28 03:11:29 +00:00
nisimura bf7a6e6857 Found glyph pixel order inverted on screen. 2000-09-13 02:11:14 +00:00
nisimura c8321c45a7 Found glyph pixel order inverted on screen. 2000-09-12 09:45:48 +00:00
nisimura 59178ec7b4 Use dev/{rasops,wsfont} instead of awesome dev/rcons. Still much to do
before being useful.
2000-09-09 06:15:17 +00:00
nisimura 48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
tsutsui 83f94dc417 Regen. 2000-07-20 07:11:28 +00:00
tsutsui 4af0fbdb1a Add PMAG-JA framebuffer. 2000-07-20 06:38:39 +00:00
thorpej 693ff4c94d PAGE_SIZE -> IOASIC_DMA_BLOCKSIZE in one last place. From Izumi Tsutsui. 2000-07-18 06:14:05 +00:00
thorpej b91d520dc9 Back out previous. It is no longer needed, as both the Alpha
and DECstation IOASIC drivers clear the appropriate interrupts
in the dispatch routine.
2000-07-18 06:12:33 +00:00
thorpej 5e275d7012 Clear the DMA pointer reload interrupt bits in the IOASIC_INTR
register to prevent interrups from looping on the Alpha.

From Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>.
2000-07-17 17:43:16 +00:00
thorpej 8746b7c870 - Write the registers 7930 registers properly on the Alpha (it's
different than on the DECstation).
- Use IOASIC_DMA_BLOCKSIZE instead of PAGE_SIZE.

Should make this work on the Alpha.  From discussion with
Izumi Tsutsui, Gregory McGarry, and Chris Demetriou, and
much reading of EK-D3SYS-PM.
2000-07-17 04:37:27 +00:00
thorpej 887bebaa71 Define IOASIC_DMA_BLOCKSIZE (4096 bytes). 2000-07-17 02:18:17 +00:00
thorpej 8623daff6d G/c some unused (and incorrect, for our usage) definitions. 2000-07-17 02:17:13 +00:00
thorpej 95f72dd4aa Use the IOASIC_DMA_ADDR() macro now that it is fixed. 2000-07-17 01:29:02 +00:00
thorpej cd6fa19644 Make sure to get the upper 5 bits of the page address mixed in
in IOASIC_DMA_ADDR(), as the le_ioasic attachment does.  Noted
by Gregory McGarry.
2000-07-17 01:28:16 +00:00
nisimura 4f051180a0 - Use PMAD-BA name for device match logic. It's not a real TURBOchannel
device and the id string is not found in option ROM string, but
  ULTRIX/OSF1 call it so anyway.
- Squash IOASIC DMA buffer allocation into device attach() sequence.
2000-07-11 04:10:25 +00:00
nisimura 30c1d4ba1c - Withdraw ZS_IOASIC_DMA conditional which has never been useful.
- Sanitize ZS register access.
2000-07-05 07:50:57 +00:00
nisimura 728e424e54 Repopulate 4 files, zs_ioasic.c and zs_ioasicvar.h from arch/alpha/tc,
zskbd.c and zsms.c from dev/dec/, respectively.  No functionality
change this time.
2000-07-05 02:48:50 +00:00
nisimura 87eac96162 Make sure to settle tcdsreg.h and tcdsvar.h in /usr/include/dev/tc/. 2000-07-04 02:31:21 +00:00
nisimura 1de4ec68b4 Repopulate TCDS dual channel SCSI adapter to MI dev/tc, squashing
internals for better layering between TCDS DMA ASIC and ASC SCSI
controller.
2000-07-04 02:22:08 +00:00
mrg a14baa8257 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 17:05:20 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
gmcgarry 6ab5c3364c - add mmap support
- correct bug which wouldn't free allocated DMA segments
2000-06-12 22:40:20 +00:00
gmcgarry c2a8e26e11 - remove conditional compilation on NAUDIO
- use preprocessor for constants
2000-06-05 23:02:04 +00:00
gmcgarry a5156a5c97 Cleanup #if 0 cruft. 2000-06-04 22:21:09 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
gmcgarry 9ee45aaf3a Remove wbflush(). These are not necessary with the new IOASIC bus_space
framework.  From Tohru Nishimura.
2000-06-01 21:46:17 +00:00
cgd e4c35df1c9 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:22:52 +00:00
gmcgarry 57e5e86ed1 Merge pmax and alpha ISDN register definitions. 2000-05-28 06:13:40 +00:00
augustss 621ef4d785 Add am7930 audio driver. 2000-05-02 06:43:05 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
nisimura f52c9620bc Place 34 by 80 console at the center of screen. 2000-03-16 05:50:57 +00:00
nisimura 0b765ee6f8 Retain rendering performance lossage by rasops, but suffering
flexibility in turn; this renderer is 2B stroke (less than 16 pixel
width) font only.  If 1B stroke (less than 8 pixel width) font is
ever supported, the font data should be converted into 2B stroke
during font initialization process.  'wsfont_realize()' is to be
proposed in order to have 'CPU and/or accelerator hardware friendly'
format to squeeze maxinum performance.
2000-03-16 05:48:28 +00:00
nisimura 220005d941 Eliminate unused sc_cookie field of struct ioasic_softc. 2000-03-15 03:07:44 +00:00
nisimura 65da099cb1 Unnecessary to enclose device driver body with #if NASC > 0. 2000-03-14 08:23:29 +00:00
nisimura 2eb68c00d2 Respect video console colour designation by configration file. 2000-03-14 08:04:06 +00:00
nisimura 80c0893a8b Switch to improved flexible video console text rasterizer provided by
rasops and wsfont.
2000-03-14 06:25:21 +00:00
mhitch e65044e30d Get rid of hook for dk_establish() - pmax will now use device_register(). 2000-03-06 03:08:32 +00:00
mhitch 3b06f6f887 Fix boot device detection. Device probes are not done when adapters are
configured, but after all adapters have been configured.  When multiple
adapters are present, only the last configured adapter could be matched
to the boot device slot.  The adapter attach routines now check if that
adapter slot matches the boot device slot and saves the softc pointer
for that controller.  Then when the disks are configured, dk_establish()
matches the appropriate controller.
2000-03-04 05:43:51 +00:00
nisimura 3e02ded337 Improvement on SFB enabled copycol(); still yet under development,
it miserably fails on corner cases.
2000-02-18 06:51:51 +00:00