Index: share/man/man9/scsipi.9
===================================================================
RCS file: /cvsroot/src/share/man/man9/scsipi.9,v
retrieving revision 1.28
diff -u -r1.28 scsipi.9
--- share/man/man9/scsipi.9	29 Jul 2016 19:27:45 -0000	1.28
+++ share/man/man9/scsipi.9	20 Nov 2016 10:09:44 -0000
@@ -55,6 +55,10 @@
 .Fn scsipi_target_detach "struct scsipi_channel *chan" "int target" "int lun" "int flags"
 .Ft int
 .Fn scsipi_thread_call_callback "struct scsipi_channel *chan" "void (*callback)(struct scsipi_channel *, void *)" "void *arg"
+.Ft int
+.Fn scsipi_adapter_addref "struct scsipi_adapter *adapt"
+.Ft void
+.Fn scsipi_adapter_delref "struct scsipi_adapter *adapt"
 .Sh DESCRIPTION
 The
 .Nm
@@ -108,6 +112,14 @@
 see below)
 .It Va int adapt_max_periph
 number of commands the adapter can handle per device
+.It Va int adapt_flags
+adapter properties
+.Bl -tag -width SCSIPI_ADAPT_POLL_ONLY -compact
+.It Dv SCSIPI_ADAPT_POLL_ONLY
+the HBA can't do interrupts
+.It Dv SCSIPI_ADAPT_MPSAFE
+don't acquire the kernel lock when doing HBA callbacks
+.El
 .El
 .Pp
 The following callbacks should be provided through the
@@ -402,6 +414,11 @@
 This callback is optional, and is useful mostly for hot-plug devices.
 For example, this callback would power on or off
 the relevant PCMCIA socket for a PCMCIA controller.
+.Fn scsipi_adapter_addref
+and
+.Fn scsipi_adapter_delref
+maintain a reference count, the enable callback is called appropriately
+for the first reference and the last reference.
 .It int Fn adapt_getgeom "struct scsipi_periph *periph" "struct disk_parms *params" "u_long sectors"
 Optional callback, used by high-level drivers to get the fictitious geometry
 used by the controller's firmware for the specified periph.
@@ -565,7 +582,7 @@
 and
 .Fa arg
 as arguments, from the channel completion thread.
-The callback is run at splbio.
+The callback is run at IPL_BIO with the channel lock held.
 .Fn scsipi_thread_call_callback
 will freeze the channel by one, it's up to the caller to thaw it when
 appropriate.
