Home | History | Annotate | Download | only in obio
History log of /src/sys/arch/mac68k/obio/sbc_obio.c
RevisionDateAuthorComments
 1.29  24-May-2025  nat Default to sbc drq_intr on the PowerBook 1xx.

I was faced with two options:

1) Downgrade pdma with PDMA_NOWRITE for the PowerBook 1xx. (much slower)

2) Use sbc drq intr (much faster and well tested).

I chose the later...much faster and compatible with more scsi peripherals.
 1.28  02-Apr-2025  nat Fallback to the faster option.

Tested thouroughly on my PowerBook 520c for many months.
 1.27  02-Apr-2025  nat We have many locks? Choose the right one.
(It was meant to be a spinlock as it can run in an interrupt context).
 1.26  22-Nov-2024  nat Serialize drq interrupt.

This results in error free transfers between disks.

Part of PR kern/58452.
 1.25  23-Nov-2009  rmind branches: 1.25.100;
Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.24  16-Dec-2008  christos replace bitmask_snprintf(9) with snprintb(3)
 1.23  04-Apr-2008  tsutsui branches: 1.23.4; 1.23.12;
Split devict_t/softc for ncr5380sbc SCSI, and misc cosmetic changes.
 1.22  29-Mar-2006  thorpej branches: 1.22.62;
Use device_cfdata().
 1.21  11-Dec-2005  christos branches: 1.21.4; 1.21.6; 1.21.8; 1.21.10; 1.21.12;
merge ktrace-lwp.
 1.20  05-Mar-2005  chs branches: 1.20.4;
use attach args instead of dv_unit, just like cf_unit.
 1.19  19-Jan-2005  chs branches: 1.19.2;
only one of the obio locators was actually used, so get rid of the others
and collapse the two variations of obio into one. use the remaining locator
("addr") to differentiate the two possible esp and sbc devices (instead of
using the unit number).
 1.18  15-Jan-2005  chs branches: 1.18.2;
de-__P, remove register, ansify, b* -> mem*.
 1.17  15-Jul-2003  lukem __KERNEL_RCSID()
 1.16  02-Oct-2002  thorpej branches: 1.16.6;
Use CFATTACH_DECL().
 1.15  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.14  25-Apr-2001  bouyer branches: 1.14.2; 1.14.8;
Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
(no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
 1.13  25-Mar-2000  tsutsui branches: 1.13.6;
Add a "sc_rev" member to ncr5380_softc and handle CXD1180 quirk
in MI ncr5380sbc.
 1.12  18-Mar-2000  mycroft Fix pasto in previous.
 1.11  18-Mar-2000  mycroft Add a ncr5380_attach() routine which does part of the initialization, attaches
the scsibus, and does the addref/delref dance.
 1.10  22-Dec-1998  scottr branches: 1.10.10;
vm_offset_t -> {paddr_t, vaddr_t}
 1.9  19-Nov-1998  thorpej Adapt to the new scsipi_adapter interface.
 1.8  02-May-1998  scottr Move on-board I/O and NuBus drivers to their own directories
via repository copy, and make the necessary adjustments to reflect
the moved files.
 1.7  16-Dec-1997  scottr Don't enable interrupts unless we are using reselect or interrupt-
driven PDMA modes.
 1.6  10-Oct-1997  scottr branches: 1.6.2;
Remove advertising clause.
 1.5  27-Aug-1997  bouyer 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.
 1.4  11-Aug-1997  scottr Make #include directives consistent. All MD headers are of the form:

#include <mac68k/{dev,mac68k}/foo.h>
 1.3  07-Apr-1997  scottr branches: 1.3.2; 1.3.4;
Always enable SCSI IRQ interrupt; the SBC_INTR flag now controls only
the SCSI DRQ interrupt, for "blind" transfers.
 1.2  15-Mar-1997  is 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.
 1.1  01-Mar-1997  scottr branches: 1.1.2;
Split bus-dependent autoconfig code from the driver. This allows for
the future addition of a Duo Dock front end.
 1.1.2.1  12-Mar-1997  is Merge in changes from The Trunk, partially just reimplementing newarp.
 1.3.4.3  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.3.4.2  27-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.3.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.3.2.2  14-Aug-1997  bouyer Sync with trunk.
 1.3.2.1  01-Jul-1997  bouyer Updates for new scsipi subsystem. Actally known to work on i386 and sparc.
 1.6.2.1  17-Dec-1997  mellon Pull rev 1.7 up from trunk (scottr)
 1.10.10.2  27-Mar-2001  bouyer Convert to thorpej_scsipi (untested).
 1.10.10.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.13.6.1  21-Jun-2001  nathanw Catch up to -current.
 1.14.8.2  18-Oct-2002  nathanw Catch up to -current.
 1.14.8.1  25-Apr-2001  nathanw file sbc_obio.c was added on branch nathanw_sa on 2002-10-18 02:38:31 +0000
 1.14.2.1  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.16.6.6  08-Mar-2005  skrll Sync with HEAD.
 1.16.6.5  24-Jan-2005  skrll Sync with HEAD.
 1.16.6.4  17-Jan-2005  skrll Sync with HEAD.
 1.16.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.16.6.1  03-Aug-2004  skrll Sync with HEAD
 1.18.2.1  29-Apr-2005  kent sync with -current
 1.19.2.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.20.4.1  21-Jun-2006  yamt sync with head.
 1.21.12.1  31-Mar-2006  tron Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
 1.21.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.21.8.1  01-Apr-2006  yamt sync with head.
 1.21.6.1  22-Apr-2006  simonb Sync with head.
 1.21.4.1  09-Sep-2006  rpaulo sync with head
 1.22.62.2  17-Jan-2009  mjf Sync with HEAD.
 1.22.62.1  02-Jun-2008  mjf Sync with HEAD.
 1.23.12.1  19-Jan-2009  skrll Sync with HEAD.
 1.23.4.2  11-Mar-2010  yamt sync with head
 1.23.4.1  04-May-2009  yamt sync with head.
 1.25.100.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed