Commit Graph

84 Commits

Author SHA1 Message Date
scottr 4c69a8b2ea Update for bus.h changes. 1998-01-13 19:15:32 +00:00
thorpej 36760d9d94 Update for changes to config. 1998-01-12 18:59:04 +00:00
scottr 24d2f8120e Don't enable interrupts unless we are using reselect or interrupt-
driven PDMA modes.
1997-12-16 19:44:19 +00:00
briggs 2412580d6a Forgot a declaration in last change to esp.c. 1997-11-25 03:54:56 +00:00
briggs 1adbb93466 * Disable parity checking on all devices until we find a better way to
deal with cheap CD-ROMs and other devices that do not appear to have
  any way to enable parity generation.  In the future, it might be nice
  to have this configurable on a per-device basis with back-to-back
  parity errors automatically disabling parity for the device.  That
  would require some MI changes.
* Handle unaligned and odd-length transfers.
  This could probably be handled better in the future.
1997-11-19 13:01:32 +00:00
scottr 60dd653baa KNF: Fix some whitespace inconsistencies. 1997-11-08 23:22:38 +00:00
briggs 527e5cbc44 Force the probe to find the internal video for the 63x/575 models. 1997-11-08 04:12:52 +00:00
briggs c1ed70f0d8 NetBSD RCSIds. 1997-11-07 13:31:15 +00:00
briggs fde9e5e6c3 A first cut at faster SCSI for non-AV quadras. Could probably perform better,
but is a marked improvement.  This takes advantage of a pseudo-DMA hardware
hack of Apple's that exposes a 16-bit register that the Apple-designed
memory controller acts like a DMA controller and handshakes into or out
of the FIFO.  Wierd.
1997-11-05 03:33:35 +00:00
briggs 6683847f3b For the LC575/Q630 (comm-slot machines), try to derive the card settings.
Unfortunately, there does not seem to be a good way to determine what
variety of comm-slot card is present in a machine.  There is still an
interrupt issue preventing these cards from working--hopefully that will
be ironed out shortly.
1997-11-05 03:27:29 +00:00
briggs 9daaf978aa Check for machine class, not for PSCBase as initial check in mc_obio_match(). 1997-11-05 01:56:27 +00:00
briggs e658b8b476 Add in the if_mc ethernet driver for the AMD "MACE" part. This is the
internal ethernet on the Quadra/Centris 660av/840av.
Add initial support for the PSC (DMA controller) to support the above
(DMA SCSI remains unsupported).  This involved also changing the way
that several interrupts are handled.
Above from David Huang <khym@bga.com>
Since the interrupts changed somewhat, we must also make the ipls
dynamic, defaulting to their prior levels and adjusted for the AVs.
I modelled this on the hp300.
1997-11-04 03:44:42 +00:00
scottr a7515413d8 Remove advertising clause. 1997-10-10 05:54:48 +00:00
jtc 4229acf79d Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:37:20 +00:00
briggs 4220edeca5 Probe for the SONIC before saying that we found it. Some early Centris
models (low-end) shipped without ethernet installed.
1997-10-09 00:08:00 +00:00
briggs 9c8e4f24b0 Disable video interrupts on the AV machines. Thanks to Michael R. Zucca
(mrz5149@cs.rit.edu) for the addresses and hints as to how the interrupts
might be disabled, and thanks to Henry Hotz (h.b.hotz@jpl.nasa.gov) for
testing on the 840AV.
Unmap the DAFB regs on the other Quadras after attachment.  They're not
used.
1997-10-08 19:54:04 +00:00
scottr 83bd421ad4 Set up base address of ASC for IIfx, per GtMFH. 1997-09-16 16:28:07 +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
scottr c988c6f85f Make #include directives consistent. All MD headers are of the form:
#include <mac68k/{dev,mac68k}/foo.h>
1997-08-11 22:53:26 +00:00
scottr f4ef74ae32 Fix grf{i,m}v_phys() prototypes. 1997-08-03 06:42:29 +00:00
scottr dfa83e4861 Overhaul grf drivers to correct recent problems with X and dt
(address error faults), as well as other reported problems:

 - Simplify grfmv_phys() to work like grfiv_phys(), and eliminate the
   second argument to both, as we don't use it anyway.
 - Handle fbbase and fboff consistently throughout.  Closes PR 3862.
 - Eliminate grfaddr() by pulling it into grfmmap(), which is the
   only place it was used, previously.
 - grfmap() now gets the physical address of the framebuffer from
   the appropriate driver, rather than try to compute it by itself.
   Be careful with aligning the base to a page address and increase
   the length of the mapped region appropriately.  Closes PR 2867.
1997-08-03 06:25:56 +00:00
scottr e083a60af2 KNF 1997-07-26 18:13:30 +00:00
scottr 36b75f2735 Update from Denny Gentry <denny1@home.com>, PR 3685:
Simplify the way transmit buffers are managed, remove assumptions about
NBPG, simplify sonic_get handling, update snioctl to be more like other
current drivers, and probably a few other changes I've now forgotten about.
1997-06-15 20:20:07 +00:00
veego 61e0a78f37 s/mac68k_btop/m68k_btop/ 1997-06-10 20:29:10 +00:00
veego dd62be796a s/mac68k_trunc_page/m68k_trunc_page/ 1997-06-10 19:01:35 +00:00
scottr b09a74e8b9 If we can't map SONIC register space, just print a diagnostic message and
continue.  Make formatting consistent and KNF while here.
1997-04-22 20:56:15 +00:00
briggs fc43576e8d Take care when accessing DAFB--some quadra-class machines use other video
controllers.
1997-04-21 00:57:59 +00:00
briggs 4a3016b6b6 Some updates based on information from Bob Nestor <rnestor@metronet.com>
about his SONIC-T LC/PDS card.
1997-04-13 14:21:09 +00:00
briggs 6287b4096d Changes from Denny Gentry <denny1@home.com>:
Change in the way receive buffer areas are handled.  Before we gave
the chip 16 buffers, each 1536 bytes (big enough for one packet).
Now we're handing the chip 8 buffers, each 4 Kbytes, and letting
the chip fit as many packets as it can in each one.  This should
help keep it from running out of buffer space.  Also make some of
the performance-crucial routines inline.  It made no measurable
difference except to make me feel better

Changes from Bob Nestor <rnestor@metronet.com> to get closer to support
for his Apple SONIC-based nubus card.

Changes from me to try to get SONIC's MAC address from MacOS settings if
we can't read the PROM space.
1997-04-10 03:22:45 +00:00
scottr f65f7e9b21 Always enable SCSI IRQ interrupt; the SBC_INTR flag now controls only
the SCSI DRQ interrupt, for "blind" transfers.
1997-04-07 05:56:28 +00:00
briggs 28af7de8a4 Do not set DCR_SYNC for the C/Q[68]xx systems.
Thanks to Steve Brown <sbrown@best.com> for working with me to find this.
1997-04-04 14:54:44 +00:00
briggs 71bf5ccd79 Remove tag. 1997-04-01 13:31:03 +00:00
briggs a3d5b32614 - Support DAFB machines mo' better. Actually detect if a monitor is
present and initialize a few things.  No color support, yet.
  - Properly disable interrupts for DAFB.
  - Rearrange for better nubus display card interrupt support.  Only register
    an interrupt if we know how to clear it.
  - Complain if we don't know about a given display card and can not install
    an interrupt handler.
  - Change MYSTERY stuff to cb264--still need to get the DrSW so we can
    actually call the routine to clear an interrupt from this card.
1997-04-01 05:41:59 +00:00
briggs 2606fe6cbd Some new SONIC code from Denny Gentry <denny1@home.com> with a couple of
tweaks and bug fixes by yours truly.

Here's what Denny had to say:

nubus.h:
        - add a drsw entry for my card
	[ I also added a couple of constants for more display cards ]
if_sn.c:
        - allocate sc->space using malloc (Scott wanted this).
        - make csr accesses use NIC_PUT/GET, remove sc->sc_csr.
        - add multicast and IFF_PROMISC support. multicast isn't
                well tested, but I made sure the unicast case still
                works.
        - finish the new arp interface, remove sc->sc_enaddr
if_snreg.h:
        - remove struct sonic_reg
if_snvar.h:
        - add NIC_PUT and NIC_GET macros a la if_ae
        - remove sc_txhead, it isn't used.
if_sn_nubus.c:
        - clean up support for my SE/30 card.
        - Move add_nubus_intr from if_sn.c (to keep if_sn.c MI)
if_sn_obio.c:
        - make Q610, C610, Q650, C650, Q800 use EXBUS.
        - PB500 had a "return" where "break" was intended. PB500
                probably wasn't working.
        - move add_nubus_intr from if_sn.c.
        - add an "explanation" why Apple's ethernet addr is encoded
                in token ring format in the PROM.
1997-03-30 19:51:44 +00:00
briggs e15f7fac43 Fix bug that would have prevented PB5xx series from detecting the SONIC.
Bug noticed by Denny Gentry.
1997-03-29 02:34:40 +00:00
briggs e716e490a1 Make this compile again. XXX - save ethernet address in softc until multicast is supported. 1997-03-17 04:57:56 +00:00
is 530a88d144 On request from Allen Briggs, converted this to new ARP
system. Somebody should actually test if this compiles (and works) on
Mac68k... I only carefully checked cvs diff -u.
1997-03-16 13:41:14 +00:00
briggs 4b6b2bb9f8 SONIC driver--originally from pica. Much work done by Dennis Gentry and
Takeshi Yanagisawa to get it working.  Some minor hacking by me here and
there.
1997-03-15 20:26:35 +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
briggs a2173962b8 Copyright foo. 1997-03-05 15:19:18 +00:00
scottr 421abedbfe Split bus-dependent autoconfig code from the driver. This allows for
the future addition of a Duo Dock front end.
1997-03-01 20:18:58 +00:00
scottr 42be6ebfa7 Fix prototype for espmatch() 1997-03-01 06:38:36 +00:00
scottr 359101fb43 Convert to generalized VIA interrupt registration 1997-02-28 07:46:59 +00:00
briggs 868344972a mac68k-specific portion of m.i. ncr53c9x driver. 1997-02-27 14:06:25 +00:00
scottr 9c91a181d6 Update copyright and license. 1997-02-24 05:47:33 +00:00
scottr b1e5912330 We need bus.h now, due to recent nubus_attach_args change. 1997-02-20 00:23:25 +00:00
scottr f6f4cf1d40 Remove redundant info from bus_space_map() diagnostic in ascattach() 1997-02-13 19:55:48 +00:00
scottr 603a2bd8f4 Add hsk and drq locators, which will be used only by SCSI devices. 1997-02-13 19:01:07 +00:00
scottr f5ac9d5deb Add a bus space tag field to obio_attach args, initialize it in
obio_search(), and use it in the ASC driver.  Thanks to Jason for
pointing this out.  Minor KNFing while I'm here.
1997-02-11 22:44:25 +00:00
scottr 77e960bf17 Complete revamp of Apple Sound Chip support. The ASC can now be accessed
as a real device whose registers and buffers are available through mmap(2),
which makes further development of the driver considerably less painful.
1997-02-11 07:47:36 +00:00