Commit Graph

1464 Commits

Author SHA1 Message Date
thorpej
49aea111fb If the platform specified a powerdown hook, and howto has RB_POWERDOWN,
call the hook.  If the hook fails, print a warning, and just halt (RB_HALT
is implied by RB_POWERDOWN).
1998-06-06 20:39:04 +00:00
thorpej
1733ad8dc5 Clean up a little, and add a `powerdown' hook in the platform structure. 1998-06-06 20:18:50 +00:00
thorpej
d08070a693 Add a comment describing the locking needs of the alpha_sgmap. 1998-06-06 20:12:28 +00:00
thorpej
85d08836f1 - Don't call *_dma_init() twice; there's no need to. Just do it in *attach().
- Display Pyxis revision properly.
1998-06-06 01:33:44 +00:00
thorpej
c0fa3c6ac4 Don't call *_dma_init() twice; there's no need to. Just do it in *attach(). 1998-06-06 01:33:23 +00:00
thorpej
59d76407b4 Display information about which sgmap we're attempting to initialize
if we die in alpha_sgmap_init().
1998-06-06 01:31:46 +00:00
thorpej
9331237596 Oops, turn off some debugging printfs. 1998-06-05 21:47:14 +00:00
thorpej
bf8523f4e4 - Egads! There are Pyxis "Pass 1" chips that do not have the DMA bug!
Use the check recommended by the Digital Workstation engineers; look
  for Miata 1 systems (i.e. with Intel SIO).  From Andrew Gallatin.
- Update copyright (Pyxis and BWX).
1998-06-05 19:25:19 +00:00
thorpej
f251e3372d Don't attempt to map the PCI IDE interrupt at bus 0 device 11 on the
AlphaPC 164 and AlphaPC 164LX - these are wired to compatibility mode.
1998-06-05 19:15:41 +00:00
thorpej
1aa688234e Miata 1 has an Intel SIO at bus 0 device 7 and a CMD PCI IDE at bus 0
device 4.  Miata 1.5 and Miata 2 have a Cypress at device 7 and PCI IDE
at functions 1 and 2 of the Cypress (like the PC164SX).  These on-board
PCI IDE controllers are wired to compatibility mode, so don't bother
trying to map the interrupt.
1998-06-05 19:04:51 +00:00
thorpej
a1c151d56b Add system variation for Miata 1.5. 1998-06-05 18:18:37 +00:00
thorpej
c072110af0 Actually, I did use a few of them on this file (I wasn't clear enough
in my mail to Ross, I guess...)
1998-06-05 17:42:53 +00:00
thorpej
bb362059ac On Pass 1 Pyxis, disable PCI Read Prefetching, and warn the user about
the DMA bug that exists on this Pyxis revision.
1998-06-05 17:24:11 +00:00
thorpej
29977868a7 What was called CNFG in ALCOR and ALCOR2 is actually called PYXIS_CTRL1
in Pyxis.  Add a comment to this fact.
1998-06-05 17:22:34 +00:00
thorpej
73e5032ac9 Define the Pyxis-specific bits in the CIA_CSR_REV register (ID mask, and
the ID for the 21174).
1998-06-05 17:16:31 +00:00
thorpej
2701ea3ef3 Add DEC_550 (Miata). 1998-06-05 17:03:07 +00:00
ross
5790ee09ee Revert...Jason didn't use Andrew's diffs. 1998-06-05 15:28:40 +00:00
ross
8f455480ef Tweak the copyrights a little bit. pci_550.h gets a TNF copyright, not
CMU, and pci_550.c keeps TNF but gets "Andrew Gallatin and Jason R. Thorpe".
1998-06-05 03:34:27 +00:00
thorpej
cf914cac00 oops, read CNFG on all Pyxis revs. 1998-06-05 02:15:38 +00:00
thorpej
cbaedc8675 Support for the Digital Personal Workstation [456]xx, a.k.a. Miata (systype
DEC_550).  Mostly cloned from the EB164 systype, with some modifications
from myself, and a few more from Andrew Gellatin.
1998-06-05 02:13:41 +00:00
thorpej
3cfb38c5d1 Define the Pyxis interrupt request register. 1998-06-05 00:53:02 +00:00
thorpej
3249813e11 For whatever reason, the firmware seems to enable PCI loopback mode if it
also enables BWX.  Make sure it's enabled if we have an old, buggy firmware
rev.
1998-06-04 22:58:33 +00:00
thorpej
d4d49905dd Add support for using BWX for PCI config space and PCI i/o and mem space
on the ALCOR2 and Pyxis.  BWX is enabled iff:
- It hasn't been disabled by the user (patch `cia_use_bwx' or build cia.o
  with the option "CIA_USE_BWX=0"),
- it's enabled in CIA_CSR_CNFG,
- we are running on an EV5-family processor,
- BWX is in the processor's capabilities mask.
1998-06-04 21:34:45 +00:00
thorpej
616125f8d1 Deal with a hardware bug in Pass 1 and Pass 2 Pyxis chips. Basically,
the scatter/gather TLB cannot be invalidated on these chips.  So, to
work around this, we configure the otherwise unsed DMA Window 2 as a
2M SGMAP window at 128M, point all of its page table entries at the
DMA spill page, and, when the TLB is to be invalidated, put the PCI bus
into loopback mode, and create a target hit on Window 2 every 64k for
the number of TLB entries (plus a few ... it seems to not work unless
we read a few extra times), forcing out old TLB entries to make room for
the new, dummy target hits.
1998-06-04 18:11:23 +00:00
thorpej
a51d42503c Export the spill page PTE, and provide a hook to initialize it early. 1998-06-04 01:22:52 +00:00
thorpej
6dc28f5445 CIA and Pyxis have 8 scatter/gather TLB entries. 1998-06-04 01:18:22 +00:00
thorpej
32fef69ef7 Define the CIA control register. 1998-06-04 01:04:11 +00:00
thorpej
d94f02f9fd Ok, now we _REALLY_ have Pyxis recognition correct. There are two systypes
that can have Pyxis: EB164 (AlphaPC164LX and AlphaPC164SX) and DEC_550 (Miata),
and these systypes/variations _always_ have Pyxis.
1998-06-03 23:16:55 +00:00
thorpej
44605ba506 Define a bunch more system variations. 1998-06-03 23:07:38 +00:00
thorpej
15c52040a5 Define the ALT_MEM big in the CIA revision register. 1998-06-03 22:19:08 +00:00
mjacob
9f5797ac1d turn on Essential HIPPI for these configurations 1998-06-03 21:16:28 +00:00
thorpej
d6041754c2 Allow the DMA tag to specify a boundary contraint. If the device has a
more strict boundary, the map will use it, otherwise the map will inherit
the tag's, unless the tag's constraint is 0 (no boundary constraint).
1998-06-03 18:25:53 +00:00
thorpej
50be447da3 Sync the bus_dmamap_load back-end functions between alpha and i386. (only
slight, unnecessary differences)
1998-06-03 04:15:05 +00:00
thorpej
7022024d4a Add epic* at pci? 1998-06-02 01:43:33 +00:00
thorpej
a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
matt
5d6bc16daa more optimizations 1998-05-29 15:55:34 +00:00
matt
164da176e8 Add boundary checks to _bus_dma_load... 1998-05-29 15:25:07 +00:00
drochner
0c05b92da1 pull in new PC display headers 1998-05-28 16:59:31 +00:00
thorpej
c59c1eae2a Define ioasic device offsets in terms of standard ioasic "slot" offsets. 1998-05-27 00:18:13 +00:00
thorpej
1ef3ca572e - Additional rearrangement for the sake of running on the DECstation some
day.
- Convert to use bus_dma.
- Fix cleaning up unaligned start address.
- Correctly determine if the device supports Fast SCSI, and adjust the
  minimum sync period accordingly.
- Compute minimum sync period correctly on the 25MHz devices.
- Use GPI2 to determine if we're a 25MHz or 40MHz device.
- Currectly determine SCSI ID and "fast mode enabled" for the built-in
  TCDS on DEC 3000 models, using cached information from the PROM environment.
1998-05-26 23:43:05 +00:00
thorpej
ab087002d1 Make this into a proper attachment (i.e. use asc_tcds) and clean up
the namespace accordingly.
1998-05-26 23:37:44 +00:00
thorpej
3aa84f9e26 - Make this into a proper attachment (i.e. use asc_tcds) and clean up
the namespace accordingly.
- Set FCLK in the CFG3 register if we have a > 25MHz clock.
- Indicate that we support Fast mode to the back-end if we're told we're
  fast by the TCDS layer.
- Correctly compute the minimum sync period.
1998-05-26 23:37:27 +00:00
thorpej
3ce836df8d Make the TCDS attachment of the ASC driver a proper attachment (i.e.
attach it with asc_tcds).
1998-05-26 23:34:23 +00:00
thorpej
2d384ae1a1 GPI2 in the CIR register indicates our clock speed: 1 = 25MHz, 0 = 40MHz. 1998-05-26 22:48:01 +00:00
kleink
a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
thorpej
e569598438 On DEC 3000s, ask the prom for the SCSI ID and "fast mode enabled" of
the built-in TCDS, while we can still access the prom.
1998-05-25 05:16:42 +00:00
thorpej
085b73d2db Add "SCSIID" and "SCSIFAST" environment variables present on the
DEC 3000 systems.
1998-05-25 04:01:10 +00:00
thorpej
57c68363d6 Add support for reading the SCSI ID and "fast mode enabled" from the
PMAZB-AA and PMAZC-AA EEPROM.
1998-05-25 01:14:38 +00:00
thorpej
3b9e9634fb - Change the tcds child locator from "slot" to "chip", making it look less
like a TurboChannel locator, and more like what is actually going on.
- Allow tcds and asc children of tcds to be cloned.
1998-05-24 23:45:29 +00:00
thorpej
d3ead78027 Several changes to the TurboChannel Dual SCSI driver:
- Fix the autoconfiguration model; the TCDS children don't attach to
  TurboChannel, so don't make it look like they do.
- Make the driver use bus_space (not bus_dma yet; soon)
- Recognize the PMAZ-FS (baseboard fast SCSI on DEC 3000s) and the
  PMAZB-AA (TCDS option card) and PMAZC-AA (TCDS fast SCSI option card).
- Rearrange it a bit, so that it can eventually be made into an "MI"
  TurboChannel driver (i.e. work on DECstations).
1998-05-24 23:41:42 +00:00