Commit Graph

457 Commits

Author SHA1 Message Date
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
thorpej 29ae6dbe05 We're given a K1SEG address already. 2000-02-11 01:32:42 +00:00
nisimura 42e4e9fd0c Add the missing piece of previous mod. 2000-02-08 04:35:03 +00:00
nisimura c6641d91a8 Merge IOASIC register definitions. 2000-02-03 08:13:44 +00:00
nisimura 8e27abd255 Use bus_space_{write,read} for IOASIC register access. 2000-02-03 05:16:30 +00:00
simonb a5f53c3682 Don't use magic number for lance buffer address. 2000-01-10 13:32:02 +00:00
ad d1a62749c4 s/NVRCSR/NVR_CSR/ 2000-01-07 10:43:13 +00:00
enami cadfd97e07 Replace WSFONT_L2R/R2L with WSDISPLAY_FONTORDER_L2R/R2L. 2000-01-07 02:57:17 +00:00
drochner f6ee10996d regen 2000-01-05 12:15:00 +00:00
drochner 28828c88e8 add Kubota Denali 2000-01-05 12:14:33 +00:00
ad ea17a0d147 Remove part of a bogus comment and put it in a more appropiate spot. 1999-12-16 15:07:00 +00:00
ad f607dfe4dd - Change prefix for Bt459 register defs to BT459_IREG to indicate that
these are indirectly accessed registers.
- Add defs for directly accessed registers to bt459reg.h.
1999-12-15 15:09:36 +00:00
nisimura fa5e192541 One small mod. escaped from the last commit. 1999-12-08 09:41:24 +00:00
drochner 0893832078 update for changed struct wsdisplay_accessops:show_screen signature.
no functional changes
1999-12-06 19:25:56 +00:00
drochner c3026431e3 some cleanup:
-don't set capabilities at compile time
-since our accelerated putchar() doesn't underline, don't claim so
-remove bogus character range check - fonts are not limited to ASCII
-use rasops_unpack_attr() instead of relying on rasops internals
1999-12-04 14:01:56 +00:00
nisimura 54c58da2e5 The first order approximation of PMAGD SFB+ framebuffer. Proven not
working with 32bit PMAGD TURBOchannel option card (I got rainbow
colour virtical stripes on screen).
1999-12-03 09:50:53 +00:00
mhitch 901e4b0219 Fix IOASIC DMA alignment problems. Buffers not aligned on doubleword (8
byte) boundaries don't work correctly.  Make use of the SDR0/SDR1 registers
to adjust the buffer alignment when starting the DMA transfer.  Block device
I/O done by the filesystems will usually be aligned correctly, but character
device I/O may not be aligned correctly.  This should fix the problems with
dump(8) failing randomly on DECstations.
1999-12-03 04:26:17 +00:00
drochner a00a9ff012 Convert to use rasops/wsfont, enabling colors.
For now, only the "putchar" and "copyrows" accelerations are used.
1999-12-02 23:04:44 +00:00
ad 744ded4890 Register definitions for the PrestoServe option board (I've had this for
months and if it doesn't go here it'll die).
1999-11-29 15:06:28 +00:00
nisimura 558c978dea Const poisoning. 1999-11-29 07:50:54 +00:00
nisimura cc2e1c302a - Reflect changes in ibus_intr_establish() definition.
- More concise way to initialize TC framebuffer device for console.
1999-11-15 09:54:41 +00:00
nisimura b06e451c53 - No need to include '<machine/autoconf.h>'.
- Nuke tc_badaddr() check from asc_tc because the existency check is already
  done for real TC devices.
- Nuke tc_badaddr() check from asc_ioasic because it is a builtin device
  found in all of IOASIC DECstations.
1999-11-15 05:25:57 +00:00
nisimura 8e061f4876 Make sure TC_IPL_xxx synonymous with IPL_xxx. 1999-11-15 03:45:50 +00:00
nisimura 9c3842f41b Relocate 'struct tc_softc' and several function declarations useful
to outsides of 'tc.c' into 'tcvar.h'.
1999-11-15 03:41:49 +00:00
nisimura 2924b6835a Fix errors in sfb_copycols() of the forward (left-to-right) case. 1999-11-09 08:25:31 +00:00
nisimura 392a4acdd7 - Remove temporary hack to recognize PMAGD since SFB+ rendering function
is found not fully upward compatible to its predecessor.  sfbp.c is now
  under development.
- Reduce copycols() malfunction, but has still lot of troubles.
1999-11-05 03:28:40 +00:00
nisimura 5cf97491d8 Add a temporary kludge to recognize PMAGD (HX+) as 'sfb' hoping 8bpp
configration of it is compatible enough with PMAGB-BA.
1999-10-27 04:32:35 +00:00
drochner 0247fe44f6 regen 1999-10-26 12:35:14 +00:00
drochner 7254017312 remove duplicate entry 1999-10-26 12:34:41 +00:00
drochner 9eed0f5d8a change PMAF-F to PMAF-FA for consistency, add some more stuff 1999-10-26 12:23:13 +00:00
nisimura 95c618a810 - Fix bogus cursor drawn by sfb_cursor(). From eye-opening input from R.C.
Dowdeswell.
- Remove write memory barriers in sfb_copyrows() as dst. is always distant
  enough from src. for copying rows.
1999-10-26 10:57:04 +00:00
nisimura 21636a326b Fill always erased regions with bg color. Fix an issue revealed by
"print -n '\033[7m'; ls".
1999-10-22 07:42:05 +00:00
nisimura e470fe0db1 Remove Bt459 register layout exposure. XXX Needs consideration about
possible merger of SFB+ ASIC and TGA(2)/PCI register definitions.
1999-10-20 02:44:48 +00:00
nisimura fd3561cc02 Preliminary import of 'SFB enhanced' text renderer with many caveats
to be corrected.  Text drawing is now improved significantly, but;
cursor is drawn incorrectly, copycols() trashes a screen, 'standout
(\033[7m)' results in lines reversed entirely until '\033[0m', and
possibly more issues.  Not multi-colour, 8bpp only this moment.  Costly
write memory barrier instrunctions should be eliminated using framebuffer
address aliasing technique for NetBSD/alpha.
1999-10-19 09:51:17 +00:00
nisimura 7b3b03bea6 Enable 'WSSCREEN_REVERSE' scr-capability. 1999-10-19 00:49:33 +00:00
nisimura 72de8abb0c Arrange loop invariants and fix comment description error. 1999-10-08 02:08:15 +00:00
nisimura 9c2fdffad2 SFB video base register is assigned with an inialial value before use;
according to ULTRIX/OSF1 code.
1999-10-05 09:13:30 +00:00
nisimura 7fbac8b3cc - Remove defunct codes and arrange consistency between pmax and alpha.
- Reduce 'ioasic_base' expose.
1999-10-01 09:19:42 +00:00
mrg 5bffe1b3b5 regen 1999-09-26 09:20:04 +00:00
mrg f4efaa9db4 add AV300-AA video capture card & PNTNV-AA NV-RAM card. 1999-09-26 09:18:53 +00:00
nisimura ffe9ca742d Add 'sfbreg.h' to the list of files installed in /usr/include/dev/tc/. 1999-09-24 01:01:23 +00:00
nisimura 1f50d00cc1 Add one new dispaly type for DEC TC TX 8/24bpp framebuffer. Currently acts
as an 8bpp pseudo color device.
1999-09-20 06:29:06 +00:00
ad 91723eaf32 Regen. 1999-09-18 01:46:25 +00:00
ad 697eb331c5 Ammend some entries. 1999-09-18 01:46:01 +00:00
nisimura 633408472b Use bus_dmamap_load() to obtain 128KB chunk for LANCE merging codes from
NetBSD/alpha.  Tested ok with DEC3000 and DECstation.
1999-09-09 06:33:38 +00:00
nisimura de9efb01d3 - Fix an error in cursor image manipulation. I learned a pair of Bt431
were populated in reverse order from PMAG-A MX ...
1999-08-25 07:56:22 +00:00
nisimura 0bdb76e5cf - 24bit per pixel TX framebuffer occupies 0x600000. 1999-08-25 02:02:22 +00:00
nisimura 9ab80b75b8 - Fix MX framebuffer size which should occupy 2MB in address range.
- Restore 72Hz interrupt service mistakenly ruined in the previous commit.
1999-08-02 06:00:40 +00:00
nisimura e78e58a7b8 - Fix TX 8bpp framebuffer size, which occupies 2MB.
- Rework CX RAMDAC register access like as other TC framebuffers.
1999-08-02 04:19:03 +00:00
nisimura c03616646c - Fix TX 66Hz interrupt handling. Verified ok with PMAG-JA as an 8bpp
console.  XXX troubles in cursor color.
- Typo in comments of MX.
1999-07-30 16:23:43 +00:00
nisimura 09a2fed6f9 - Show 1bpp for MX during configuration stage.
- Replace memory layout 'struct' with array/pointer access.
1999-06-25 03:33:20 +00:00
nisimura 8dd0e06ba1 - Hide memory mapped VDAC hardware register layouts using the array
element access instead of C bitfield (hello, BCPL).
- XXX Some TURBOchannel framebuffers might need shutdownhooks().  It
seems not necessarily hardware sprite cursor images are re-initialized
by DECstation PROMs upon exits from kernel.
- XXX It'd be an arguable point to allow user programs to change the
shade of gray freely for pixel value 0 and 1.
1999-06-24 03:51:14 +00:00
nisimura 463e258cdb - Allow to choose the 'color' of sprite cursor. Only red cmap makes sense.
- Drop TC Alpha support (OSF/1 and Digital UNIX never supports PMAG-AA).
1999-06-23 23:48:28 +00:00
nisimura 839bcbbe9f - Fix an error in the depth of PMAG-AA MX. This driver can take 72Hz
virtical video retrace interrupt and was verified ok on Nanao grayscale
monitor.  XXX seems still confusion/mistake on Bt431 cursor image
manipulation.
1999-06-23 01:58:22 +00:00
mhitch 3adf25374a The extraneous interrupt that seems to occur after a reconnect and a DMA transfer
starts running can occur on both DMA in and DMA out.  I missed the little comment
in the Mach driver for the DMA out case.  Also, only ignore the interrupt if the
TC is non-zero (to match the Mach driver).
1999-06-18 05:30:53 +00:00
mhitch cff0f6b1e4 Don't pre-load the identify message into the fifo just just before the command register
is written.  This significantly reduces, if not eliminates, the problem reported in
PR#5510.  It stops the problem on my 5000/200, and two other people have verified that
it fixes the problem on their 5000/200s.  I'm waiting for confirmation from the PR
originator before closing the PR.
1999-06-13 17:21:29 +00:00
nisimura e3b1b88d76 - Errors in case analysis... 1999-06-11 01:44:47 +00:00
nisimura f4be9af151 - Rework copycols() with SFB ASIC calls. 1999-06-11 00:56:09 +00:00
nisimura 1d082ddc15 - Sweep abit preparing for code merge to have common 'vdacops' across
various graphics cards.
1999-05-07 08:00:30 +00:00
nisimura b2c6b9a41d - Nuke debugging aids mistakenly committed. 1999-04-30 09:43:23 +00:00
nisimura b14028acc2 - I finally learned CSR_A register of IMS G332 VDAC must be treated as
write only. Read-motify-write operation breaks its video mode.
- VDAC regiters are now initialized as ULTRIX does.
1999-04-30 00:44:11 +00:00
simonb 6aaa1ee1b7 Shut 'gcc -Wuninitialized' up. 1999-04-25 03:02:05 +00:00
mrg 713d4e0462 KNF nits. 1999-04-20 06:48:58 +00:00
ad 1c9990c901 Removed pending write of fully-functional MI driver. 1999-04-13 19:06:54 +00:00
ad ce7a13c654 Remove px driver pending write of fully-functional MI driver. 1999-04-13 19:06:53 +00:00
pk b13e5d1469 Quote "AS IS" as in the majority of Carnegy Mellon notices. 1999-04-12 20:38:17 +00:00
pk c40eb1cd97 Fix a pasto in copyright text which has been procreating like rabbits.. 1999-04-06 20:09:18 +00:00
nisimura ed7699b360 - Unnecessary to have '#include <machine/autoconf.h>' for those. 1999-03-29 07:22:02 +00:00
drochner 4f36436461 add fields for bus_apace tag and handle to ioasic_softc 1999-03-28 17:47:28 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
cgd 49f4da1c43 pull tc_machdep.h in from machine/ 1999-03-19 03:13:21 +00:00
ross 4ca95ee66e prototype ioasicprint
XXX pmax XXX I think someone is using the MD proto and the MI func on pmax
1999-03-17 18:24:57 +00:00
simonb 16cc2ad23b Uncomment ioasic_subr.c. 1999-03-16 14:07:22 +00:00
simonb 79f173e5f3 Add NetBSD RCS id on first line. 1999-03-16 13:53:39 +00:00
jonathan ef79649fc1 MI ioasic softc and child-device structs, gc duplicate struct definitions.
Add MI ioasic functions, but dont enable on alpha until tested.
1999-03-15 01:25:26 +00:00
nisimura 439c3fc0cb - Nuke "PMAD-BA " match string because it is an internal name of IOASIC
assisted LANCE circuit found only in IOASIC DECstations.  This file is
for 3MAX builtin and PMAD-AA TURBOchannel option card.
1999-03-04 01:39:04 +00:00
nisimura e19cedee17 - Make sfb_emulops standard feature of sfb wscons. Scrolling is now
acceptable.  Still lacks of horizontal copy and glyph rendering with
SFB ASIC assistance.  TGA could be benefitted in the similiar way.
1999-03-02 00:22:42 +00:00
nisimura f85c9832ac - Fix cursor image validity check error in set_cursor(). 1999-03-01 02:45:04 +00:00
nisimura d6715660b7 - Introduce the first cut of faster wsdisplay_emulops exploiting SFB
accelerator potential.  Need more work to finish replacing rcons.
Premilinary tests were done with DECstation and TC Alpha.
1999-02-23 06:34:49 +00:00
nisimura c07be2882b - Make sure SFB ROP register initialized with value 3.
- Turn off video signal during hardware initialization.
1999-02-19 03:42:42 +00:00
nisimura e02862b167 - Don't use void pointer for arithmetic. 1999-01-16 06:36:42 +00:00
thorpej 8ce7166aa3 __pmax__ -> pmax, like other ports. 1999-01-15 23:29:55 +00:00
drochner 1eba733d91 remove dummy "load_font" entries 1999-01-11 21:35:54 +00:00
nisimura 8bb7627336 - Fix typos in commentary description. 1998-12-14 02:45:51 +00:00
mjacob 74bc9f26d5 Update HBAs to incorporate the new max_lun property. 1998-12-05 19:43:33 +00:00
thorpej 3b068a6c78 Adapt to the new scsipi_adapter interface. 1998-11-19 21:53:32 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
nisimura fec5fef8a5 - Fix an error in cursor color manipulation. 24bit RGB value was mistakenly
assigned to unsigned short variable.
- XXX PMAG-DV is supposed to emit virtical retrace interrupt, which can be
used for colormap/cursor update just like other TURBOchannel framebuffers.
1998-11-19 06:52:49 +00:00
nisimura 4184d87669 - Fix cursor image handling bugs escaped in last commit. 1998-11-18 12:26:31 +00:00
drochner 047a7756d8 use mi register definitions 1998-11-14 16:31:34 +00:00
nisimura 9d716ec821 - Fix many errors in cursor image manipulation. Hardware expect 2
bit/pixel format, not planer format.  Assign MSB for cursor mask and
LSB for cursor image, where 10 means mask color and 11 for image color.
Image bit order of Bt431 and Bt459 are opposite to MIPS/Alpha processors
while IMS G332 and DC503 (PCC) are indentical.
- Assume that cursor images are 32 pixel padded as ULTRIX/DU ws interface
do.  It's natural to X server.
- XXX Vast majority of codes are duplicated between mfb<->tfb and cfb<->sfb.
Code sharing might be achieved in the context of TGA/SFB+ merge.
1998-11-09 03:58:05 +00:00
nisimura 6020153959 - Assign copyright terms. 1998-10-30 00:53:12 +00:00
nisimura e29350c92c - Introduce MI NWSCONS drivers for TURBOchannel framebuffer option cards.
N.B., Digital UNIX never supports neither PMAG-AA (mfb) nor PMAG-BA (cfb)
for TC Alphas.  PMAG-DV (xcfb) is Personal DECstation built in.  All should
be good for console, but need much works for cursor/colormap completeness.
1998-10-29 12:24:24 +00:00
thorpej 29d472f53d Garbage-collect the open_target_lu and close_target_lu entry points from
struct scsipi_adapter; they were not used.

Add a scsipi_ioctl entry point to struct scsipi_adapter.  This will be
used to issue ioctl commands to the host adapters.

Inspired by PR #6090, from Matt Jacob.
1998-10-10 00:28:28 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 56fac275e8 Regen from sys/dev/tc/tcdevs rev 1.10. 1998-06-18 23:29:46 +00:00
jonathan 5f61eedd21 Add entry for DecAudio LoFi (AV01B-AA) product.
NB: prototype boards  have  "Lofi      " ROM ident.
1998-06-18 23:28:12 +00:00
cgd e2578025b3 Point people to the correct Makefiles to build generated headers.
(Suggested by Manuel Bouyer.)
1998-06-16 18:36:03 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej 0979dbf3fd Add a placeholder file to be used until the Alpha and DECstation ioasic
register descriptions can be sanely merged.
1998-05-27 05:30:13 +00:00
thorpej f4703e1783 We're the only driver that currently needs direct access to ioasic registers. 1998-05-27 04:30:07 +00:00
matt bd9e1be560 Add DETRA (Token Ring) Controller 1998-05-27 02:51:02 +00:00
thorpej 86f256633d DECstation now provides bus_space and bus_dma data structures to us. 1998-05-22 21:15:48 +00:00
matt cfbb5f3f21 Add bus_dma(9) support for the DEFxA FDDI driver 1998-05-21 20:44:02 +00:00
mhitch b3f9a74326 Fix a problem that will reboot the system with no message as to what the
problem was.  A collision between a select and reselect would leave TC
non-zero from the command-out DMA count, which could later be considered
a fatal condition, causing a reboot.  The message for that error was
only displayed with DEBUG.  Fixed by clearing TC on a reselect.  The
non-zero TC detection won't occur in this case, so unconditionally
display the message if it occurs.

Workaround for another problem that resulted from an "Illegal Command"
status from the 53c94 which would get ignored and result in a timeout
(which also reboots the system).  Added the missing check for the
illegal command status, and add the workaround of resending the "accept
message" command to the 53c94.  Correct fix will be to determine why the
message wasn't sent in the first place.  Abort if the resending the
command doesn't work.

Correctly detect a spurious interrupt and ignore it.  This was taken
from a newer Mach driver, but did not get the check converted for the
design difference between the current NetBSD driver and the Mach driver.
1998-05-08 15:39:01 +00:00
jonathan b4d3bac06e pmax has IPL_ constants; Define TC_IPL_ using them until all tc
drivers are converted to use IPL_.

Commit changes to if_le_ibus.c as a child of ibus.
1998-04-19 13:04:24 +00:00
jonathan 558e40fb86 Remove duplicate of sys/dev/dec/clockvar.h. 1998-04-19 06:11:55 +00:00
thorpej b9db388b0f don't use variables declared _inside_ DEBUG in code _outside_ DEBUG 1998-03-26 00:49:03 +00:00
mhitch 8adf8abfea Enable another error message before the driver reboots the machine. It was
not being printed if not compiled with DEBUG.  Now all situtiations where
the driver gives up should display a message before the reboot.
1998-03-24 20:49:22 +00:00
thorpej 8354e68508 Remove "class" declarations, and add "devclass" declarations where
appropriate.  Fix several inconsistencies between device class and
attributes.  Mostly from Chris Demetriou.
1998-02-16 22:12:45 +00:00
thorpej cec1781573 Regen. 1998-01-30 02:25:28 +00:00
thorpej 8b75f90a86 Add entries for the PMAZ-DS and PMAZ-FS (Flamingo Turbochannel Dual SCSI
baseboard devices, normal and fast), and the PMAZB-AA and PMAZC-AA
(Turbochannel Dual SCSI option cards, normal and fast).
1998-01-30 02:24:58 +00:00
thorpej 8454673f87 Add "get this slot's DMA tag" function pointer on the Alpha. 1998-01-19 02:51:40 +00:00
thorpej b5d3e43553 On the Alpha, pass down per-slot DMA tags to children. 1998-01-19 02:50:58 +00:00
thorpej 0546538aa8 Don't prototype ioasic_lance_dma_setup() on the Alpha. 1998-01-19 02:50:19 +00:00
thorpej e1fed5afa0 Make sure the LANCE DMA area has been allocated, and don't call
ioasic_lance_dma_setup() on the Alpha; the DMA area is allocated differently
on that platform now.
1998-01-19 02:49:48 +00:00
thorpej 19feaef2b4 Adjust for changes in config. 1998-01-12 09:51:28 +00:00
thorpej 884cc096ca Regen. 1998-01-09 06:56:47 +00:00
thorpej 8735ce36ca Put RCS IDs into generated files, in the correct place. 1998-01-09 06:56:23 +00:00
thorpej 22aef93dcd Regen: back out RCS ID related changes. 1998-01-08 00:36:12 +00:00
thorpej b0a69d357f Back out RCS ID related changes. 1998-01-08 00:35:35 +00:00
perry 736c62507d regened with RCSIDs in place 1998-01-05 19:38:41 +00:00
perry e6fe83471e make script insert RCS ids into generated files 1998-01-05 19:37:08 +00:00
mhitch f018043286 Fix driver bug when using an RZ23 (and very likely any other drive that
does a "restore data pointers" when reselected after disconnecting in
the middle of a DMA transfer).  The driver needs a different way to know
which script to continue the DMA transfer.  The message-in for the "restore
data pointers" loses the original "resume" script, and the driver would
attempt to continue the DMA transfer at the beginning of the current DMA
chunk, rather than at the point the disconnect occured.  The result was a
spurious console message, and a trashed filesystem.
1997-11-28 18:23:38 +00:00
jonathan b8636b832f chipset driver for DEC pixelstamp and STIC (stamp Interface chip). 1997-11-11 04:47:57 +00:00
jonathan 0bdc6f10b9 Commit `pacifier' driver for turbochannel PMAG-C option card:n
just acknowledge interrupts from the PMAG-C.
1997-11-08 07:27:49 +00:00
jonathan 7fb01f01ae Print TC bus speed properly when attaching device, since the SCSI
clock is taken (and computed) from the TC bus clock.  See PR 4380.
1997-10-31 06:29:59 +00:00
enami 0f0563f57f Declare TCVERBOSE by defopt in files.tc. Include opt_tcverbose.h in tc.c. 1997-09-13 08:52:23 +00:00
jonathan f6914cd0c8 Remove '#ifdef alpha' around bus_space_tag_t uses and includes. 1997-09-01 08:09:28 +00:00
bouyer 6f3bab1f59 Merge scsipi branch in the mainline. This add support for ATAPI devices
(currently only CD-ROM drives on i386). The sys/dev/scsipi system provides 2
busses to which devices can attach (scsibus and atapibus). This needed to
change some include files and structure names in the low level scsi drivers.
1997-08-27 11:22:52 +00:00
jonathan 752582ba69 Set KERNEL_RCSID to identify previous change. 1997-08-26 02:38:47 +00:00
jonathan 6cd95f2a55 rewrite and hand-tune copy_gap16 loops:
* hoist code to deal with  fragments of a 16-byte chunk outside
    main copy loop.
  * over 98% of dynamic calls are 2-byte-algnied but not 4-byte-aligned
   (due to 14-byte Ether headers).  kernel bcopy is poorly tune for this.
   Replace bcopy() with  inline code tuned to  minimize accesses
   to DMA buffers, which aren't uncached on mips.

Tested on 5000/240 (3MAXPLUS) and 3000/700 (sandpiper) (mjacob@feral.com)
1997-08-26 01:27:12 +00:00
mhitch 0ae3de1a27 Use direct DMA with the IOASIC ASC SCSI interface. DMA buffering can be
re-enabled with ASC_IOASIC_BOUNCE.
All DMA buffered processing is now done in the bus-specific DMA routines
in asc_ioasic.c and asc_tc.c.
Disable several informational messages dealing with non-empty FIFO conditions,
but allow enabling with ASC_DIAGNOSTIC for troubleshooting.
1997-07-28 19:39:22 +00:00
jonathan 787738a4f7 Move sys/dev/tc/mcclockvar.h -> sys/dev/dec/mcclockvar.h.
Update pmax clock code.
1997-07-22 07:51:33 +00:00
jonathan 064c4e515c Create sys/dev/dec and cleanup sys/dev/tc:
* Move clockvar.h (header file for generic clock code) to sys/dev/dec.
* Move if_le_dec.c with DEC padded LANCE-dma (pmax/pmax, ioasic, vax 3400)
  to sys/dev/dec.  Remove from sys/dev/tc.
* Declare attribute le_dec_subr in /sys/dev/dec/files.dec,
  use if_le_dec.c when it's defined.
* Move  IOCTL asic declaration from pmax and Alpha MD machine
  files to sys/dev/tc/files.tc.
* move TurboChannel and ioasic if_le attachments from pmax and Alpha machine
  config files to /sys/dev/tc/files.tc.  Add le_dec_subr attribute.
* Add if_le_dec attribute to if_le_ibus (pmax ds3100 pmax) LANCE attachment.
1997-07-22 04:32:13 +00:00
jonathan 38e9259a81 Garbage-collect __BROKEN_INDIRECT_CONFIG from /sys/dev/tc 1997-07-22 03:44:29 +00:00
jonathan 4631885e91 Kill __BROKEN_INDIRECT_CONFIG on pmax.
Based on a patch from Chris G. Demetriou, December 1996.
1997-07-21 05:39:02 +00:00
pk 7d0e8e2116 config.new => config 1997-07-20 20:32:14 +00:00
jtk a541bca95a use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all
TCCF_*_UNKNOWN uses in tc code with the native names from locators.h
1997-07-17 01:12:41 +00:00