History log of /openbsd-current/sys/dev/pci/siop_pci_common.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.20 24-May-2024 jsg

remove unneeded includes; ok miod@


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE OPENBSD_7_4_BASE OPENBSD_7_5_BASE
# 1.19 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 23-Jul-2010 jsg

Manuel Bouyer rescinded clauses 3 and 4 of his license text.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.17 02-Nov-2007 fgsch

Fix ram size output botched in my last change; reported by
Pablo M�ndez Hern�ndez.


# 1.16 28-Oct-2007 fgsch

fix the panic reported in pr/5602 by correctly unmaping the space on error.
disestablish the interrupt on error as well. krw@ comments and ok
tested by reporter via mikeb@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.15 20-Apr-2006 miod

Fix various printf() issues: too many arguments, not enough arguments, argument
order reversed, wrong modifiers. ok deraadt@ marco@ mickey@


Revision tags: OPENBSD_3_9_BASE
# 1.14 08-Oct-2005 krw

ANSI function decs (thorpej via NetBSD), remove trailing whitespace
(perry via NetBSD), add SF_CHIP_AAIP flag (still unused) to 1010-66
(bouyer via NetBSD), add error handling if PCI memory type is invalid
(christos via NetBSD). Note we are now sync'd up to latest (r1.25)
NetBSD source.


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.13 21-Jul-2004 mickey

remove hppa workarounds; from jkunz@ pr3861


Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
# 1.12 09-Oct-2003 mickey

remove duplicate ifdef __hppa__ that somehow has gotten in there


# 1.11 29-Sep-2003 mickey

better dmesg output including onboard memory size when present, free resources on failures; krw@ ok


Revision tags: OPENBSD_3_4_BASE
# 1.10 06-Sep-2003 krw

A couple of hppa-only changes, allowing siop to work on pci hppa
machines.

Align siop_xfer on 128 byte boundary, and don't use on-board RAM.
Aligning siop_xfer will be made general, post-3.4.

From mickey@.

ok deraadt@ mickey@.


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
# 1.9 16-Sep-2002 krw

Resync siop with NetBSD. Make strong effort to minimize
differences, undoing whitespace, spelling, etc. changes
and adopting the NetBSD code instead of equivalent home
grown code for PPR negotiation, etc.

siop.c 1.21 -> 1.64
siop_common.c 1.12 -> 1.30
siopreg.h 1.7 -> 1.13
siopvar.h 1.13 -> 1.18
siopvar_common.h 1.10 -> 1.21
ncr53cxxx.c 1.5 -> 1.10
siop.ss 1.12 -> 1.17
siop_pci.c 1.8 -> 1.11
siop_pci_common.c 1.6 -> 1.17
siop_pci_common.h 1.2 -> 1.4

Many fixes, add 1010-66 support, restructure things to prepare for
addition of esiop, osiop and oosiop drivers.

tested on various archs by art@, millert@, wilfried@, jason@,
Dan Weeks.

ok deraadt@.


Revision tags: OPENBSD_3_1_BASE UBC_BASE
# 1.8 26-Oct-2001 krw

branches: 1.8.2;
Fix a problem with the probe message being printed for cards with no
RAM.

A card that did not have RAM was causing a probe message with no
terminating '\n', but with a dangling ', '.

Problem noted by Todd T. Fries.


Revision tags: OPENBSD_3_0_BASE
# 1.7 25-Aug-2001 art

Change pci_intr_map to take pci_attach_args as an argument.
All callers actually took all arguments to pci_intr_map from pci_attach_args
structs, so this simplifies code.
This also allows more complicated interrupt assignment schemes like the one
on sparc64.

This makes sparc64 pci interrupts work.

Inspired by the same change in NetBSD.


# 1.6 12-Jun-2001 niklas

Make pci_mapreg_map take an extra argument where we can
put a size limitation of the PCI region to map. That makes the PERC 3/Di
raid controller usable, as it publishes too much PCI memory for us to map
in the kernel virtual memory. As we only access the first 256 byte it is
of no use to map 128MB of kvm.


Revision tags: OPENBSD_2_9_BASE
# 1.5 15-Apr-2001 krw

branches: 1.5.4;
Support U160 on 53c1010 chips.

Add support for PPR negotiations and DT transfers,
and the preservation and restoration of the
SCNTL4 register which controls Ultra3 transfers.

Redo sync lookup, since the same period factor
can mean two things depending on whether you are
using DT or ST. Keep a minimum allowed ST period
factor, and a minimum allowd DT period factor for
each adapter.

Currently NO support for QAS or IUS or AIP.


# 1.4 10-Mar-2001 krw

First support for 53c1010 chip. This enables support up to U2W for
either or both channels on the 53c1010. U3W/U160 support coming.

The particulars of 53c1010 support was derived from the FreeBSD/Linux
sym-2 driver under development by Gerard ROUDIER (groudier@FreeBSD.org).

This first support ensures that registers and bits now reserved are
not used by the 53c1010. It uses the new DFBC register to obtain
DMA FIFO relics.

A single new feature (SF_CHIP_C10) was added, rather than a new
feature for each change the 53c1010 incorporates.

These changes were sufficient to get the imbedded 53c1010 on a Tyan
S2510U3NG board to support installation of OpenBSD to a Quantum Atlas
10K2 drive, and several subsequent 'make build' and 'make release'
cycles using disks on both channels, with and without
softupdates.

More 53c1010 specific code is yet to be extracted from sym-2,
including the changes necessary to enable U160.


# 1.3 01-Mar-2001 krw

Typo police: various misspelling, capitalizations, etc.


# 1.2 20-Feb-2001 krw

Tone down the verbosity level on the siop driver, print negotiation
results on one line, during boot polling only.

Force wide/sync negotiations for all targets during boot.

Delete extraneous name field and associated strings that duplicate
info provided in INQUIRY data.

Actually timeout during polling rather than wait forever for
ITSDONE.

Remove unneeded check for SCSI_POLL before calling scsi_done(). Makes
logic conform to other drivers.


# 1.1 15-Feb-2001 krw

Import siop, a replacement for the ncr SCSI driver, from NetBSD.

Written for NetBSD by Manuel Bouyer.

Tested with various cards on i386 and alpha.

Outstanding issue: doesn't work with PowerPC yet.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.19 19-Dec-2014 guenther

Use <sys/endian.h> instead of <machine/endian.h>

ok dlg@ mpi@ bcook@ millert@ miod@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
# 1.18 23-Jul-2010 jsg

Manuel Bouyer rescinded clauses 3 and 4 of his license text.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.17 02-Nov-2007 fgsch

Fix ram size output botched in my last change; reported by
Pablo M�ndez Hern�ndez.


# 1.16 28-Oct-2007 fgsch

fix the panic reported in pr/5602 by correctly unmaping the space on error.
disestablish the interrupt on error as well. krw@ comments and ok
tested by reporter via mikeb@


Revision tags: OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
# 1.15 20-Apr-2006 miod

Fix various printf() issues: too many arguments, not enough arguments, argument
order reversed, wrong modifiers. ok deraadt@ marco@ mickey@


Revision tags: OPENBSD_3_9_BASE
# 1.14 08-Oct-2005 krw

ANSI function decs (thorpej via NetBSD), remove trailing whitespace
(perry via NetBSD), add SF_CHIP_AAIP flag (still unused) to 1010-66
(bouyer via NetBSD), add error handling if PCI memory type is invalid
(christos via NetBSD). Note we are now sync'd up to latest (r1.25)
NetBSD source.


Revision tags: OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE
# 1.13 21-Jul-2004 mickey

remove hppa workarounds; from jkunz@ pr3861


Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
# 1.12 09-Oct-2003 mickey

remove duplicate ifdef __hppa__ that somehow has gotten in there


# 1.11 29-Sep-2003 mickey

better dmesg output including onboard memory size when present, free resources on failures; krw@ ok


Revision tags: OPENBSD_3_4_BASE
# 1.10 06-Sep-2003 krw

A couple of hppa-only changes, allowing siop to work on pci hppa
machines.

Align siop_xfer on 128 byte boundary, and don't use on-board RAM.
Aligning siop_xfer will be made general, post-3.4.

From mickey@.

ok deraadt@ mickey@.


Revision tags: OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_SYNC_A UBC_SYNC_B
# 1.9 16-Sep-2002 krw

Resync siop with NetBSD. Make strong effort to minimize
differences, undoing whitespace, spelling, etc. changes
and adopting the NetBSD code instead of equivalent home
grown code for PPR negotiation, etc.

siop.c 1.21 -> 1.64
siop_common.c 1.12 -> 1.30
siopreg.h 1.7 -> 1.13
siopvar.h 1.13 -> 1.18
siopvar_common.h 1.10 -> 1.21
ncr53cxxx.c 1.5 -> 1.10
siop.ss 1.12 -> 1.17
siop_pci.c 1.8 -> 1.11
siop_pci_common.c 1.6 -> 1.17
siop_pci_common.h 1.2 -> 1.4

Many fixes, add 1010-66 support, restructure things to prepare for
addition of esiop, osiop and oosiop drivers.

tested on various archs by art@, millert@, wilfried@, jason@,
Dan Weeks.

ok deraadt@.


Revision tags: OPENBSD_3_1_BASE UBC_BASE
# 1.8 26-Oct-2001 krw

branches: 1.8.2;
Fix a problem with the probe message being printed for cards with no
RAM.

A card that did not have RAM was causing a probe message with no
terminating '\n', but with a dangling ', '.

Problem noted by Todd T. Fries.


Revision tags: OPENBSD_3_0_BASE
# 1.7 25-Aug-2001 art

Change pci_intr_map to take pci_attach_args as an argument.
All callers actually took all arguments to pci_intr_map from pci_attach_args
structs, so this simplifies code.
This also allows more complicated interrupt assignment schemes like the one
on sparc64.

This makes sparc64 pci interrupts work.

Inspired by the same change in NetBSD.


# 1.6 12-Jun-2001 niklas

Make pci_mapreg_map take an extra argument where we can
put a size limitation of the PCI region to map. That makes the PERC 3/Di
raid controller usable, as it publishes too much PCI memory for us to map
in the kernel virtual memory. As we only access the first 256 byte it is
of no use to map 128MB of kvm.


Revision tags: OPENBSD_2_9_BASE
# 1.5 15-Apr-2001 krw

branches: 1.5.4;
Support U160 on 53c1010 chips.

Add support for PPR negotiations and DT transfers,
and the preservation and restoration of the
SCNTL4 register which controls Ultra3 transfers.

Redo sync lookup, since the same period factor
can mean two things depending on whether you are
using DT or ST. Keep a minimum allowed ST period
factor, and a minimum allowd DT period factor for
each adapter.

Currently NO support for QAS or IUS or AIP.


# 1.4 10-Mar-2001 krw

First support for 53c1010 chip. This enables support up to U2W for
either or both channels on the 53c1010. U3W/U160 support coming.

The particulars of 53c1010 support was derived from the FreeBSD/Linux
sym-2 driver under development by Gerard ROUDIER (groudier@FreeBSD.org).

This first support ensures that registers and bits now reserved are
not used by the 53c1010. It uses the new DFBC register to obtain
DMA FIFO relics.

A single new feature (SF_CHIP_C10) was added, rather than a new
feature for each change the 53c1010 incorporates.

These changes were sufficient to get the imbedded 53c1010 on a Tyan
S2510U3NG board to support installation of OpenBSD to a Quantum Atlas
10K2 drive, and several subsequent 'make build' and 'make release'
cycles using disks on both channels, with and without
softupdates.

More 53c1010 specific code is yet to be extracted from sym-2,
including the changes necessary to enable U160.


# 1.3 01-Mar-2001 krw

Typo police: various misspelling, capitalizations, etc.


# 1.2 20-Feb-2001 krw

Tone down the verbosity level on the siop driver, print negotiation
results on one line, during boot polling only.

Force wide/sync negotiations for all targets during boot.

Delete extraneous name field and associated strings that duplicate
info provided in INQUIRY data.

Actually timeout during polling rather than wait forever for
ITSDONE.

Remove unneeded check for SCSI_POLL before calling scsi_done(). Makes
logic conform to other drivers.


# 1.1 15-Feb-2001 krw

Import siop, a replacement for the ncr SCSI driver, from NetBSD.

Written for NetBSD by Manuel Bouyer.

Tested with various cards on i386 and alpha.

Outstanding issue: doesn't work with PowerPC yet.