Commit Graph

331 Commits

Author SHA1 Message Date
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