Commit Graph

373 Commits

Author SHA1 Message Date
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
jonathan
046c2a56df Clone Alpha ``cpu-independent'' clock API headers into sys/dev/tc/,
to share them with pmax.
1997-06-22 08:02:18 +00:00
jonathan
1f44934407 * Change Sprite MACH_xxx prefix to MIPS_xxx.
* Use standard mips terminology (xxx_KSEG0, xxx_KSEG1) instead of the
  (more meaningful) Sprite names (xxx_CACHED, xxx_UNCACHED).
1997-06-22 07:42:25 +00:00
mhitch
70590de547 Changes for merged mips1/mips3.
Replace MachHitFlushDCache with mips3_HitFlushDCache.
1997-06-21 04:06:11 +00:00
jonathan
0bca2bff6d include <machine/bus.h>. 1997-06-16 03:46:29 +00:00
mhitch
ef2beab3d7 More merged MIPS1/MIPS3 support. 1997-06-15 18:24:05 +00:00
mhitch
0bf6ea4387 DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 18:23:02 +00:00
mhitch
c108a0ce0b Fix another weird driver state. After sending the SCSI command to the target
after synch negotation during device probes, the 53C94 stops with the target
reqesting more command data.  The fifo appears to still contain a couple of
bytes, so transfer them.  If the target still wants command data after that,
do a transfer pad.  The target seems to function normally after this.  A
much better solution thant simply rebooting!
Also fix a problem when compiling with DIAGNOSTIC - a mismatch between using
DIAGNOSTIC and MACH_DIAGNOSTIC caused the compile to fail.
Try to start another target and a device disconnects.
1997-06-07 05:10:42 +00:00
jonathan
84f22cdf55 lint: delete unused variables. 1997-05-25 05:48:14 +00:00
jonathan
3bdc896e84 lint: fix %x vs pointer and tyops in error-logging printfs. 1997-05-24 09:48:53 +00:00
jonathan
7fcfe9e0f5 Print explanatory message before each panic, or "goto abort" (which panics). 1997-04-07 03:21:14 +00:00
cgd
2677cb7ed8 clean up NetBSD RCS ID strings 1997-04-07 00:18:51 +00:00
jonathan
2f1aae7d37 Commit message for previous revision (lost due to Ultrix-compat bug):
* Don't print DMA_OUT message in the `normal' case of a 16-byte residual.
* ioasic-connected 53c94 devices are always clocked  at 25MHz even on
  machines with 12.5MHz TurboChannel.
1997-04-06 10:07:54 +00:00
jonathan
055fff0581 *** empty log message *** 1997-04-06 09:58:30 +00:00
mhitch
cb3b852a7f A couple of missed boot() -> cpu_reboot() changes. 1997-03-29 05:03:01 +00:00
thorpej
4c03c2945d Resolve conflicts from merge. 1997-03-24 00:35:02 +00:00
thorpej
1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +00:00
cgd
d611773458 fix botches in is's new ARP changes 1997-03-15 21:06:09 +00:00
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
cgd
711939bcf4 add a bunch of commented-out, unconfirmed entries, based on data from
a "Smart Frame Buffer TURBOchannel Module" user's manual(?), and from
some "DECstation 5000 Model 240 Options and Upgrades" guides found
while cleaning out my office.
1997-02-05 22:14:18 +00:00
thorpej
55acc3ffb3 Fill in sc_link.max_target 1996-12-10 21:57:17 +00:00
cgd
197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
cgd
2f614ee518 update for new bus.h 1996-10-22 21:34:19 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
mhitch
184eb4a5e9 Remove extraneous output - ascattach() already did it. 1996-10-12 16:15:34 +00:00
christos
b5c4f2fc49 printf -> kprintf, sprintf -> ksprintf 1996-10-10 20:25:34 +00:00
jonathan
9b84ee7f35 Fix data-corruption bug on async targets:
*  When we are transferring in DATA (in asc_dma_in) and the target
  is an async device, there is sometimes an extra byte in the FIFO.
  If so, we need to drain that byte out of the fifo, but if and only
  if the target is async.  See also the comments in asc_dma_in()
  in the related Mach mk84 asc driver (scsi_53C94_hdw.c), which
  has an identical fix but applied in more restrictive conditions
  than we need, with async *disk* targets, as well as async tapes.

* Add a watchdog and timeout active SCSI requests, to eliminate any
  potential for deadlock due to applying the fix above on newer
  silicon versions of the 53c94 which may not have the above problem.
  Should use the MI scsi per-target timeout instead, when available.
1996-09-29 03:02:19 +00:00
jonathan
8eca2b2bb4 * Rewrite asc driver with ``mi'' backend and parent-specific front-end
cfattach code for TC SCSI option cards  and ioasic 53c94 baseboard SCSI.
    ascvar.h:  shared softc  declarations
    asc_ioasic.c: ioasic front-end code.
    asc_tc.c: Turbochannel option (and 5000/200 basebard) front-end code.
* ioasic_attach meeds more work to eliminate pmax_type dependency
   and to verify the clocks speed passed to 53c94.
* Add prototypes for asc script entry points; should compile with
  -Wstrict-prototypes -Wmissing-prototypes.
* Use tcvar.h interface.  The usage of tc_syncbus() and tc_mb() may
  not be quite stylistically on an Alhpa, but it apparently makes no
  difference on the eerly-generation Alpha CPUs in TC Alphas.
1996-09-25 21:07:46 +00:00
cgd
6891e01ba2 add missing underscore to __alpha_, to map interrupt names properly.
It worked right before because of happy coincidence.
1996-09-09 16:39:44 +00:00
cgd
71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
cgd
d32f475ed4 regen for new tcdevs 1996-08-26 23:41:46 +00:00
cgd
3076d34c84 add entries for DGLTA-FA and OTTO ATM boards, alphabetize and clean up
other entries.
1996-08-26 23:39:34 +00:00
mrg
5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
mhitch
ebe82deed0 Remove the "goto abort" (which currently reboots the machine) when the
FIFO is non-empty when the message-in phase occurs before the DMA output
starts.  This showed up on a Micropolis drive.
1996-07-30 06:18:40 +00:00
mhitch
e4de48ff39 Don't flush the 53C94 fifo when starting dma_in. The fifo data is valid
at that point, and flushing the fifo will hang the system.
1996-07-16 15:20:38 +00:00
mhitch
cc47447cfc Try to avoid collisions with reselection when starting a new selection.
Enable reselections as soon as possible after a disconnect - prevents
losing a reselecting device.
Check for and ignore a spurious interrupt during a DMA input (from the
Mach driver).
1996-06-11 05:15:32 +00:00
cgd
825e13fec1 fix bogus comment pointed out by Mike Grupenhoff <kashmir@umiacs.UMD.EDU>.
C-style comments aren't legal in awk (except in gawk, apparently).
1996-06-05 18:32:19 +00:00
mhitch
3a8d18d828 Fix the oversight that the ASC SCSI adapter can also be on the
Turbochannel as well as the IOASIC.  It should now work on the 5000/200.
Removed the "aborts" which could leave the disk trashed when the abort
rebooted the system.  Fix the data corruption problem by clearing the
FIFO before starting a data transfer.
1996-06-04 21:08:24 +00:00
mhitch
40b6370ffb Fix the DECstation ASC SCSI driver autoconfiguration to more closely
match the alpha.  The DS3100 will now configure properly.  Also fix
the name in the cfdriver structure - somewhere it got changed from
"asc" to "as".
1996-05-29 06:32:38 +00:00
jonathan
b314e27cfa Add #include of pmax/kn01var.h, remove unused variables, and close
hanging block comment in copyright to satisfy -Wall.
1996-05-20 23:19:16 +00:00
thorpej
bc16409b49 Remove some extra printfs, now that Matt has lessened my confusion. 1996-05-20 15:52:32 +00:00
jonathan
d1e0e11f70 * Fix formatstr/argument mismatches in diagnostic printf()s.
* Change MachEmptyWriteBuffer() to wbflush(). Should  use TC mi names tc_mb(),
  tc_wmb, tc_syncbus() but I'm not sure which each wbflush() should be.
* Add prototyped forward decl for asc_Dumplog() and add an explicit void
  return type.
* Remove unused variables.
1996-05-20 09:46:21 +00:00
jonathan
4e27f8ef06 Fix braino in initialization of confargs pointer in le_pmax_attach(). 1996-05-20 03:43:15 +00:00
jonathan
b3c6ba5b5d Decstation 3100/2100 baseboard configuration stub for the LANCE driver
for DEC  TURBOchannel and IOCTL ASIC machines.
1996-05-20 02:25:08 +00:00
cgd
6793f08d00 regen for new tcdevs file 1996-05-20 01:34:50 +00:00
cgd
014cc0e804 add entry for DEFTA FDDI, clean up entry for DEFZA FDDI. 1996-05-20 01:33:45 +00:00
cgd
ac61f1ad21 fix first argument to tc_intr_establish()... it's still the pointer
to the parent device.
1996-05-20 01:31:07 +00:00
thorpej
37b3b8a758 Add the DEFTA FDDI controller. 1996-05-20 00:45:02 +00:00
thorpej
38db93c012 Display model string during attach. 1996-05-20 00:35:16 +00:00
thorpej
e5106dfb88 Update to the Digital Equipment PDQ-based FDDI controllers, from
Matt Thomas.  Now includes support for EISA (DEFEA) and first-cut of
support for TurboChannel (DEFTA) cards.
1996-05-20 00:20:39 +00:00
cgd
2872eeccac (on the alpha) pass the bus_chipset_tag_t given to the bus down to the
devices.
1996-05-17 23:39:19 +00:00
cgd
af446a907a Update for new includes (<machine/bus.h> & <machine/intr.h>) on the
alpha.  At some point in the future, those headers should be provided
on the pmax, but until then, things are #ifdef'd so that the old
headers and definitions are still used.  Pass a bus_chipset_tag_t
to the TC bus attach code and to devices, on the alpha.
1996-05-17 23:38:16 +00:00
cgd
d06c5d12db regen for new tcdevs 1996-05-09 21:44:24 +00:00
cgd
8824617eb3 add some entries for the sfb+ 1996-05-09 21:35:27 +00:00
thorpej
13e808bbd8 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 02:24:54 +00:00
cgd
48fca88c3a fix printf bogon (need : and space) 1996-04-29 16:06:38 +00:00
christos
b57c554d06 Add a hardware dependent initialization function lehwinit() 1996-04-22 02:53:28 +00:00
cgd
720c148692 remove unnecessary header inclusion (machine/autoconf.h) and now-bogus comment.
also, trim spaces at ends of lines, etc.
1996-04-18 01:12:41 +00:00
cgd
f8073d3675 restructure to take advantage of config's (relatively) new 'attach'
specifiers.  Many #ifdefs and much other nastiness removed.
1996-04-18 00:50:11 +00:00
cgd
d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
cgd
17731baa0d fix copyrights 1996-04-17 22:22:32 +00:00
cgd
71c7924099 clean up clock handling: clock drivers are now seperate from the
chip-independent clock code.  'clock' has been renamed 'mcclock'  'clock'
has been renamed 'mcclock' (since it's a driver for that particular
clock, and since eventually there may be another clock chip driver),
and now attaches via seperate match/attach functions to both TC and ISA.
This removes a whole lot of #ifdefs...
1996-04-17 22:01:16 +00:00
jonathan
57fd0e266b Fixes for -Wall -Wmissing-prototypes:
include <sys/systm.h> to get a prototyped declaration of printf().
	include <machine/autoconf.h> for port-specific typedefs.
	Remove unused variables.
1996-04-09 20:50:06 +00:00
jonathan
45b229da22 fixes for -Wall -Wmissing-prototypes:
prototype the forward declaration of lewritereg().
1996-04-08 20:09:56 +00:00
jonathan
2bd6015194 Fixup after the "New device attachment scheme": change {mainbus,tc,ioasic}cd
to {mainbus,tc,ioasic}_cd.

Change ioasic config name from "lance   " to "lance". Correct for
pmaxes, perhaps not for Alphas.

Boots and runs under load on a 5000/200. Hangs during boot on an ioasic
decstation; pmax  autoconfig needs fixing.

Add Decstation-3100 baseboard support (untested).
1996-03-26 13:44:07 +00:00
jonathan
5bccfd6764 Additional fixes to complete the NetBSD/1.1B config changes:
Add new device-attach struct cfattach asc_ca and struct cfdriver asc_cd.
Change cfdriver references from "XXXcd"  to "XXX_cd".
1996-03-18 01:39:47 +00:00
jonathan
3175cdba0b Additional fixes to complete the NetBSD/1.1B config changes:
change tc_submatch() to compile with the new device-attach scheme:
the TC bus uses a 'submatch' function which checks device locators
and then calls a match function.
Instead of calling cf->cf_driver->cd_match(), we now need to call
cf->cf_attach->ca_match().
1996-03-17 22:09:17 +00:00
jonathan
d1c70894b8 Additional fixes to complete the NetBSD/1.1B config changes:
Rename the extern declaration of `tccd' and `ioasiccd' in
src/sys/dev/tc/{tvar.h,ioasicvar.h", respectively, to be
`tc_cd' and `ioasic_cd', to match the 1.1B-style definitions.
1996-03-17 21:37:45 +00:00
thorpej
532e997971 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:57:14 +00:00
cgd
1b4f4ed21d regen 1996-03-05 23:16:20 +00:00
cgd
c5830eb792 add a bunch of device IDs & driver names & descriptions, thanks to
Jonathan Stone.
1996-03-05 23:15:59 +00:00
cgd
d43ef3b959 split device info into driver name and human readable description. 1996-03-05 23:15:05 +00:00
cgd
7c61fe7779 change printing of unknown device names when not (BUS)VERBOSE slightly 1996-03-02 02:44:25 +00:00
cgd
25d3eceab3 regen for changed tcdevs 1996-03-02 01:21:20 +00:00
cgd
305d9a88f6 typo in KZTSA-AA 1996-03-02 01:20:58 +00:00
cgd
9f36679a47 generated files 1996-03-02 01:17:58 +00:00
cgd
c1c41f6bfc add ability to define TCVERBOSE, and get "human names" about "known"
but unconfigured (or unsupported) devices printed at boot time.
The device list is woefully incomplete, because i didn't put much time
in it, and because i don't know good "human names" for many TC devices.
1996-03-02 01:16:47 +00:00
cgd
cb8f484a57 tcbus attribute moved to conf/files 1996-02-27 22:00:04 +00:00
cgd
a21351b381 use config_found_sm(), rather than config_search+config_attach()+glue, to
attach subdevices.
1996-02-27 21:48:52 +00:00
cgd
3f2d99e7a2 fix first args in tcprint() invocations. Fix for this (and several previous
commits) from Jonathan.  This is why one (I) shouldn't commit code w/o
having any sane way to test it.
1996-02-27 07:07:26 +00:00
cgd
8c79f5dd54 one more minor oops; print our name, not parent's, when doing unconfigured dev 1996-02-27 03:22:44 +00:00
cgd
09c7841a66 fix bug in previous commits. also, do submatch checking for all devices,
not just option slot devices.
1996-02-27 03:19:43 +00:00
cgd
ecc22fbecd use #defines for bus speed constants, print speed on attach 1996-02-27 01:37:32 +00:00
cgd
c0251e2a9d (1) rename some structures & structure members, for consistency with
planned changes in other sections of code.
(2) expands the use of config_found() in tcattach() in-line, so that
    tcsubmatch can be invoked there, rather than being invoked by
    individual drivers.
(3) tcbus_attach_args now includes a turbochannel speed flag.
(4) compare a string in tcbus_attach_args against tc bus driver name,
    to better allow attachment of multiple busses to the same parent.
1996-02-26 23:38:38 +00:00