The branch main has been updated by imp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=8722e05ae1496968114f4be1a68bf5ea62cdbd78

commit 8722e05ae1496968114f4be1a68bf5ea62cdbd78
Author:     Warner Losh <[email protected]>
AuthorDate: 2021-11-25 07:21:41 +0000
Commit:     Warner Losh <[email protected]>
CommitDate: 2021-11-25 07:45:13 +0000

    twa: Remove
    
    Belatedly remove twa(4). It was supposed to go before 13.0, but was
    overlooked.
    
    Sponsored by:           Netflix
    Relnotes:               yes
    Reviewed by:            scottl
    Differential Revision:  https://reviews.freebsd.org/D33114
---
 share/man/man4/Makefile                 |    1 -
 share/man/man4/twa.4                    |  140 ---
 sys/amd64/conf/GENERIC                  |    1 -
 sys/amd64/conf/NOTES                    |    7 -
 sys/conf/files                          |   12 -
 sys/conf/options                        |    2 -
 sys/dev/twa/tw_cl.h                     |  324 ------
 sys/dev/twa/tw_cl_externs.h             |  191 ----
 sys/dev/twa/tw_cl_fwif.h                |  418 --------
 sys/dev/twa/tw_cl_init.c                |  696 -------------
 sys/dev/twa/tw_cl_intr.c                |  724 --------------
 sys/dev/twa/tw_cl_io.c                  | 1407 --------------------------
 sys/dev/twa/tw_cl_ioctl.h               |  104 --
 sys/dev/twa/tw_cl_misc.c                |  991 ------------------
 sys/dev/twa/tw_cl_share.h               |  535 ----------
 sys/dev/twa/tw_osl.h                    |  298 ------
 sys/dev/twa/tw_osl_cam.c                |  663 ------------
 sys/dev/twa/tw_osl_externs.h            |   86 --
 sys/dev/twa/tw_osl_freebsd.c            | 1661 -------------------------------
 sys/dev/twa/tw_osl_includes.h           |   76 --
 sys/dev/twa/tw_osl_inline.h             |  309 ------
 sys/dev/twa/tw_osl_ioctl.h              |  108 --
 sys/dev/twa/tw_osl_share.h              |  107 --
 sys/dev/twa/tw_osl_types.h              |   60 --
 sys/i386/conf/GENERIC                   |    1 -
 sys/i386/conf/NOTES                     |    7 -
 sys/modules/Makefile                    |    2 -
 sys/modules/twa/Makefile                |   47 -
 tools/kerneldoc/subsys/Doxyfile-dev_twa |   21 -
 29 files changed, 8999 deletions(-)

diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index ce2ce1ec8640..9504cde7626e 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -552,7 +552,6 @@ MAN=        aac.4 \
        ${_tpm.4} \
        tty.4 \
        tun.4 \
-       twa.4 \
        twe.4 \
        tws.4 \
        udp.4 \
diff --git a/share/man/man4/twa.4 b/share/man/man4/twa.4
deleted file mode 100644
index 64e3e37f7da0..000000000000
--- a/share/man/man4/twa.4
+++ /dev/null
@@ -1,140 +0,0 @@
-.\"
-.\" Copyright (c) 2004 3ware, Inc.
-.\" Copyright (c) 2000 BSDi
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd May 9, 2007
-.Dt TWA 4
-.Os
-.Sh NAME
-.Nm twa
-.Nd 3ware 9000/9500/9550/9650 series SATA RAID controllers driver
-.Sh DEPRECATION NOTICE
-The
-.Nm
-driver is not present in
-.Fx 13.0 .
-.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your
-kernel configuration file:
-.Bd -ragged -offset indent
-.Cd "device scbus"
-.Cd "device twa"
-.Ed
-.Pp
-Alternatively, to load the driver as a
-module at boot time, place the following line in
-.Xr loader.conf 5 :
-.Bd -literal -offset indent
-twa_load="YES"
-.Ed
-.Sh DESCRIPTION
-The
-.Nm
-driver provides support for AMCC's 3ware 9000/9500/9550/9650 series
-SATA controllers.
-.Pp
-These controllers are available in 4, 8, 12 or 16-port configurations,
-and support the following RAID levels: 0, 1, 10, 5, 50.
-The device nodes for the controllers are of the form
-.Pa /dev/twa Ns Ar X ,
-where
-.Ar X
-is the controller number.
-The driver is implemented as a SCSI SIM
-under CAM, and, as such, the logical units that it controls are accessible
-via the device nodes,
-.Pa /dev/da Ns Ar Y ,
-where
-.Ar Y
-is the logical unit number.
-.Sh HARDWARE
-The
-.Nm
-driver supports the following SATA RAID controllers:
-.Pp
-.Bl -bullet -compact
-.It
-AMCC's 3ware 9500S-4LP
-.It
-AMCC's 3ware 9500S-8
-.It
-AMCC's 3ware 9500S-8MI
-.It
-AMCC's 3ware 9500S-12
-.It
-AMCC's 3ware 9500S-12MI
-.It
-AMCC's 3ware 9500SX-4LP
-.It
-AMCC's 3ware 9500SX-8LP
-.It
-AMCC's 3ware 9500SX-12
-.It
-AMCC's 3ware 9500SX-12MI
-.It
-AMCC's 3ware 9500SX-16ML
-.It
-AMCC's 3ware 9550SX-4LP
-.It
-AMCC's 3ware 9550SX-8LP
-.It
-AMCC's 3ware 9550SX-12
-.It
-AMCC's 3ware 9550SX-12MI
-.It
-AMCC's 3ware 9550SX-16ML
-.It
-AMCC's 3ware 9650SE-2LP
-.It
-AMCC's 3ware 9650SE-4LPML
-.It
-AMCC's 3ware 9650SE-8LPML
-.It
-AMCC's 3ware 9650SE-12ML
-.It
-AMCC's 3ware 9650SE-16ML
-.It
-AMCC's 3ware 9650SE-24M8
-.El
-.Sh DIAGNOSTICS
-Whenever the driver encounters a command failure, it prints out an error code 
in
-the format:
-.Qq Li "ERROR: (<error source>: <error code>):" ,
-followed by a text description of the error.
-There are other error messages and warnings that the
-driver prints out, depending on the kinds of errors that it encounters.
-If the driver is compiled with
-.Dv TWA_DEBUG
-defined, it prints out a whole bunch of debug
-messages, the quantity of which varies depending on the value assigned to
-.Dv TWA_DEBUG
-(0 to 10).
-.Sh AUTHORS
-The
-.Nm
-driver and manpage were written by
-.An Vinod Kashyap Aq Mt [email protected] .
diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index f0bc090e376e..60d2d0376aac 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -182,7 +182,6 @@ device              ses                     # Enclosure 
Services (SES and SAF-TE)
 device         arcmsr                  # Areca SATA II RAID
 device         ciss                    # Compaq Smart RAID 5*
 device         ips                     # IBM (Adaptec) ServeRAID
-device         twa                     # 3ware 9000 series PATA/SATA RAID
 device         smartpqi                # Microsemi smartpqi driver
 device         tws                     # LSI 3ware 9750 SATA+SAS 6Gb/s RAID 
controller
 
diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES
index ce1cf6bb76ce..8cb84d6248c2 100644
--- a/sys/amd64/conf/NOTES
+++ b/sys/amd64/conf/NOTES
@@ -406,13 +406,6 @@ device             arcmsr          # Areca SATA II RAID
 #
 device         smartpqi
 
-#
-# 3ware 9000 series PATA/SATA RAID controller driver and options.
-# The driver is implemented as a SIM, and so, needs the CAM infrastructure.
-#
-options        TWA_DEBUG               # 0-10; 10 prints the most messages.
-device         twa                     # 3ware 9000 series PATA/SATA RAID
-
 #
 # Adaptec FSA RAID controllers, including integrated DELL controllers,
 # the Dell PERC 2/QC and the HP NetRAID-4M
diff --git a/sys/conf/files b/sys/conf/files
index 4f084a2733a7..0c54622e2563 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -3205,18 +3205,6 @@ dev/syscons/warp/warp_saver.c    optional warp_saver
 dev/tcp_log/tcp_log_dev.c      optional tcp_blackbox inet | tcp_blackbox inet6
 dev/tdfx/tdfx_pci.c            optional tdfx pci
 dev/ti/if_ti.c                 optional ti pci
-dev/twa/tw_cl_init.c           optional twa \
-       compile-with "${NORMAL_C} -I$S/dev/twa"
-dev/twa/tw_cl_intr.c           optional twa \
-       compile-with "${NORMAL_C} -I$S/dev/twa"
-dev/twa/tw_cl_io.c             optional twa \
-       compile-with "${NORMAL_C} -I$S/dev/twa"
-dev/twa/tw_cl_misc.c           optional twa \
-       compile-with "${NORMAL_C} -I$S/dev/twa"
-dev/twa/tw_osl_cam.c           optional twa \
-       compile-with "${NORMAL_C} -I$S/dev/twa"
-dev/twa/tw_osl_freebsd.c       optional twa \
-       compile-with "${NORMAL_C} -I$S/dev/twa"
 dev/twe/twe.c                  optional twe
 dev/twe/twe_freebsd.c          optional twe
 dev/tws/tws.c                  optional tws
diff --git a/sys/conf/options b/sys/conf/options
index 58cb6458b656..123a770ed74c 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -43,8 +43,6 @@ AHD_DEBUG_OPTS                opt_aic79xx.h
 AHD_TMODE_ENABLE       opt_aic79xx.h   
 AHD_REG_PRETTY_PRINT   opt_aic79xx.h
 
-TWA_DEBUG              opt_twa.h
-
 # Debugging options.
 ALT_BREAK_TO_DEBUGGER  opt_kdb.h
 BREAK_TO_DEBUGGER      opt_kdb.h
diff --git a/sys/dev/twa/tw_cl.h b/sys/dev/twa/tw_cl.h
deleted file mode 100644
index 8f047329c318..000000000000
--- a/sys/dev/twa/tw_cl.h
+++ /dev/null
@@ -1,324 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2004-07 Applied Micro Circuits Corporation.
- * Copyright (c) 2004-05 Vinod Kashyap
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     $FreeBSD$
- */
-
-/*
- * AMCC'S 3ware driver for 9000 series storage controllers.
- *
- * Author: Vinod Kashyap
- * Modifications by: Adam Radford
- */
-
-#ifndef TW_CL_H
-
-#define TW_CL_H
-
-/*
- * Common Layer internal macros, structures and functions.
- */
-
-#define TW_CLI_SECTOR_SIZE             0x200
-#define TW_CLI_REQUEST_TIMEOUT_PERIOD  60 /* seconds */
-#define TW_CLI_RESET_TIMEOUT_PERIOD    60 /* seconds */
-#define TW_CLI_MAX_RESET_ATTEMPTS      2
-
-/* Possible values of ctlr->ioctl_lock.lock. */
-#define TW_CLI_LOCK_FREE               0x0     /* lock is free */
-#define TW_CLI_LOCK_HELD               0x1     /* lock is held */
-
-/* Possible values of req->state. */
-#define TW_CLI_REQ_STATE_INIT          0x0     /* being initialized */
-#define TW_CLI_REQ_STATE_BUSY          0x1     /* submitted to controller */
-#define TW_CLI_REQ_STATE_PENDING       0x2     /* in pending queue */
-#define TW_CLI_REQ_STATE_COMPLETE      0x3     /* completed by controller */
-
-/* Possible values of req->flags. */
-#define TW_CLI_REQ_FLAGS_7K            (1<<0)  /* 7000 cmd pkt */
-#define TW_CLI_REQ_FLAGS_9K            (1<<1)  /* 9000 cmd pkt */
-#define TW_CLI_REQ_FLAGS_INTERNAL      (1<<2)  /* internal request */
-#define TW_CLI_REQ_FLAGS_PASSTHRU      (1<<3)  /* passthru request */
-#define TW_CLI_REQ_FLAGS_EXTERNAL      (1<<4)  /* external request */
-
-#ifdef TW_OSL_PCI_CONFIG_ACCESSIBLE
-/* Register offsets in PCI config space. */
-#define TW_CLI_PCI_CONFIG_COMMAND_OFFSET       0x4 /* cmd register offset */
-#define TW_CLI_PCI_CONFIG_STATUS_OFFSET                0x6 /* status register 
offset */
-#endif /* TW_OSL_PCI_CONFIG_ACCESSIBLE */
-
-#ifdef TW_OSL_DEBUG
-struct tw_cli_q_stats {
-       TW_UINT32       cur_len;/* current # of entries in q */
-       TW_UINT32       max_len;         /* max # of entries in q, ever reached 
*/
-};
-#endif /* TW_OSL_DEBUG */
-
-/* Queues of CL internal request context packets. */
-#define TW_CLI_FREE_Q          0       /* free q */
-#define TW_CLI_BUSY_Q          1       /* q of reqs submitted to fw */
-#define TW_CLI_PENDING_Q       2       /* q of reqs deferred due to 'q full' */
-#define TW_CLI_COMPLETE_Q      3       /* q of reqs completed by fw */
-#define TW_CLI_RESET_Q         4       /* q of reqs reset by timeout */
-#define TW_CLI_Q_COUNT         5       /* total number of queues */
-
-/* CL's internal request context. */
-struct tw_cli_req_context {
-       struct tw_cl_req_handle *req_handle;/* handle to track requests between
-                                               OSL & CL */
-       struct tw_cli_ctlr_context  *ctlr; /* ptr to CL's controller context */
-       struct tw_cl_command_packet *cmd_pkt;/* ptr to ctlr cmd pkt */
-       TW_UINT64       cmd_pkt_phys;   /* cmd pkt physical address */
-       TW_VOID         *data;          /* ptr to data being passed to fw */
-       TW_UINT32       length;         /* length of data being passed to fw */
-       TW_UINT64       data_phys;      /* physical address of data */
-
-       TW_UINT32       state;          /* request state */
-       TW_UINT32       flags;          /* request flags */
-
-       TW_UINT32       error_code;     /* error encountered before submission
-                                       of request to fw, if any */
-
-       TW_VOID         *orig_req;      /* ptr to original request for use
-                                       during callback */
-       TW_VOID         (*tw_cli_callback)(struct tw_cli_req_context *req);
-                                       /* CL internal callback */
-       TW_UINT32       request_id;     /* request id for tracking with fw */
-       struct tw_cl_link link;         /* to link this request in a list */
-};
-
-/* CL's internal controller context. */
-struct tw_cli_ctlr_context {
-       struct tw_cl_ctlr_handle *ctlr_handle;  /* handle to track ctlr between
-                                                       OSL & CL. */
-       struct tw_cli_req_context *req_ctxt_buf;/* pointer to the array of CL's
-                                               internal request context pkts */
-       struct tw_cl_command_packet *cmd_pkt_buf;/* ptr to array of cmd pkts */
-
-       TW_UINT64               cmd_pkt_phys;   /* phys addr of cmd_pkt_buf */
-
-       TW_UINT32               device_id;      /* controller device id */
-       TW_UINT32               arch_id;        /* controller architecture id */
-       TW_UINT8                active;                   /* Initialization 
done, and controller is active. */
-       TW_UINT8                interrupts_enabled;       /* Interrupts on 
controller enabled. */
-       TW_UINT8                internal_req_busy;        /* Data buffer for 
internal requests in use. */
-       TW_UINT8                get_more_aens;            /* More AEN's need to 
be retrieved. */
-       TW_UINT8                reset_needed;             /* Controller needs a 
soft reset. */
-       TW_UINT8                reset_in_progress;        /* Controller is 
being reset. */
-       TW_UINT8                reset_phase1_in_progress; /* In 'phase 1' of 
reset. */
-       TW_UINT32               flags;          /* controller settings */
-       TW_UINT32               sg_size_factor; /* SG element size should be a
-                                                       multiple of this */
-
-       /* Request queues and arrays. */
-       struct tw_cl_link       req_q_head[TW_CLI_Q_COUNT];
-
-       TW_UINT8                *internal_req_data;/* internal req data buf */
-       TW_UINT64               internal_req_data_phys;/* phys addr of internal
-                                                       req data buf */
-       TW_UINT32               max_simult_reqs; /* max simultaneous requests
-                                                       supported */
-       TW_UINT32               max_aens_supported;/* max AEN's supported */
-       /* AEN handler fields. */
-       struct tw_cl_event_packet *aen_queue;   /* circular queue of AENs from
-                                                       firmware/CL/OSL */
-       TW_UINT32               aen_head;       /* AEN queue head */
-       TW_UINT32               aen_tail;       /* AEN queue tail */
-       TW_UINT32               aen_cur_seq_id; /* index of the last event+1 */
-       TW_UINT32               aen_q_overflow; /* indicates if unretrieved
-                                               events were overwritten */
-       TW_UINT32               aen_q_wrapped;  /* indicates if AEN queue ever
-                                                       wrapped */
-
-       TW_UINT16               working_srl;    /* driver & firmware negotiated
-                                                       srl */
-       TW_UINT16               working_branch; /* branch # of the firmware
-                                       that the driver is compatible with */
-       TW_UINT16               working_build;  /* build # of the firmware
-                                       that the driver is compatible with */
-       TW_UINT16               fw_on_ctlr_srl; /* srl of running firmware */
-       TW_UINT16               fw_on_ctlr_branch;/* branch # of running
-                                                       firmware */
-       TW_UINT16               fw_on_ctlr_build;/* build # of running
-                                                       firmware */
-       TW_UINT32               operating_mode; /* base mode/current mode */
-
-       TW_INT32                host_intr_pending;/* host intr processing
-                                                       needed */
-       TW_INT32                attn_intr_pending;/* attn intr processing
-                                                       needed */
-       TW_INT32                cmd_intr_pending;/* cmd intr processing
-                                                       needed */
-       TW_INT32                resp_intr_pending;/* resp intr processing
-                                                       needed */
-
-       TW_LOCK_HANDLE          gen_lock_handle;/* general purpose lock */
-       TW_LOCK_HANDLE          *gen_lock;/* ptr to general purpose lock */
-       TW_LOCK_HANDLE          io_lock_handle; /* lock held during cmd
-                                               submission */
-       TW_LOCK_HANDLE          *io_lock;/* ptr to lock held during cmd
-                                               submission */
-
-#ifdef TW_OSL_CAN_SLEEP
-       TW_SLEEP_HANDLE         sleep_handle;   /* handle to co-ordinate sleeps
-                                               & wakeups */
-#endif /* TW_OSL_CAN_SLEEP */
-
-       struct {
-               TW_UINT32       lock;           /* lock state */
-               TW_TIME         timeout;        /* time at which the lock will
-                                               become available, even if not
-                                               explicitly released */
-       } ioctl_lock;           /* lock for use by user applications, for
-                               synchronization between ioctl calls */
-#ifdef TW_OSL_DEBUG
-       struct tw_cli_q_stats   q_stats[TW_CLI_Q_COUNT];/* queue statistics */
-#endif /* TW_OSL_DEBUG */
-};
-
-/*
- * Queue primitives
- */
-
-#ifdef TW_OSL_DEBUG
-
-#define TW_CLI_Q_INIT(ctlr, q_type)    do {                            \
-       (ctlr)->q_stats[q_type].cur_len = 0;                            \
-       (ctlr)->q_stats[q_type].max_len = 0;                            \
-} while (0)
-
-#define TW_CLI_Q_INSERT(ctlr, q_type)  do {                            \
-       struct tw_cli_q_stats *q_stats = &((ctlr)->q_stats[q_type]);    \
-                                                                       \
-       if (++(q_stats->cur_len) > q_stats->max_len)                    \
-               q_stats->max_len = q_stats->cur_len;                    \
-} while (0)
-
-#define TW_CLI_Q_REMOVE(ctlr, q_type)                                  \
-       (ctlr)->q_stats[q_type].cur_len--
-
-#else /* TW_OSL_DEBUG */
-
-#define TW_CLI_Q_INIT(ctlr, q_index)
-#define TW_CLI_Q_INSERT(ctlr, q_index)
-#define TW_CLI_Q_REMOVE(ctlr, q_index)
-
-#endif /* TW_OSL_DEBUG */
-
-/* Initialize a queue of requests. */
-static __inline TW_VOID
-tw_cli_req_q_init(struct tw_cli_ctlr_context *ctlr, TW_UINT8 q_type)
-{
-       TW_CL_Q_INIT(&(ctlr->req_q_head[q_type]));
-       TW_CLI_Q_INIT(ctlr, q_type);
-}
-
-/* Insert the given request at the head of the given queue (q_type). */
-static __inline TW_VOID
-tw_cli_req_q_insert_head(struct tw_cli_req_context *req, TW_UINT8 q_type)
-{
-       struct tw_cli_ctlr_context      *ctlr = req->ctlr;
-
-       tw_osl_get_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-       TW_CL_Q_INSERT_HEAD(&(ctlr->req_q_head[q_type]), &(req->link));
-       TW_CLI_Q_INSERT(ctlr, q_type);
-       tw_osl_free_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-}
-
-/* Insert the given request at the tail of the given queue (q_type). */
-static __inline TW_VOID
-tw_cli_req_q_insert_tail(struct tw_cli_req_context *req, TW_UINT8 q_type)
-{
-       struct tw_cli_ctlr_context      *ctlr = req->ctlr;
-
-       tw_osl_get_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-       TW_CL_Q_INSERT_TAIL(&(ctlr->req_q_head[q_type]), &(req->link));
-       TW_CLI_Q_INSERT(ctlr, q_type);
-       tw_osl_free_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-}
-
-/* Remove and return the request at the head of the given queue (q_type). */
-static __inline struct tw_cli_req_context *
-tw_cli_req_q_remove_head(struct tw_cli_ctlr_context *ctlr, TW_UINT8 q_type)
-{
-       struct tw_cli_req_context       *req = TW_CL_NULL;
-       struct tw_cl_link               *link;
-
-       tw_osl_get_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-       if ((link = TW_CL_Q_FIRST_ITEM(&(ctlr->req_q_head[q_type]))) !=
-               TW_CL_NULL) {
-               req = TW_CL_STRUCT_HEAD(link,
-                       struct tw_cli_req_context, link);
-               TW_CL_Q_REMOVE_ITEM(&(ctlr->req_q_head[q_type]), &(req->link));
-               TW_CLI_Q_REMOVE(ctlr, q_type);
-       }
-       tw_osl_free_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-       return(req);
-}
-
-/* Remove the given request from the given queue (q_type). */
-static __inline TW_VOID
-tw_cli_req_q_remove_item(struct tw_cli_req_context *req, TW_UINT8 q_type)
-{
-       struct tw_cli_ctlr_context      *ctlr = req->ctlr;
-
-       tw_osl_get_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-       TW_CL_Q_REMOVE_ITEM(&(ctlr->req_q_head[q_type]), &(req->link));
-       TW_CLI_Q_REMOVE(ctlr, q_type);
-       tw_osl_free_lock(ctlr->ctlr_handle, ctlr->gen_lock);
-}
-
-/* Create an event packet for an event/error posted by the controller. */
-#define tw_cli_create_ctlr_event(ctlr, event_src, cmd_hdr)     do {    \
-       TW_UINT8 severity =                                             \
-               GET_SEVERITY((cmd_hdr)->status_block.res__severity);    \
-                                                                       \
-       tw_cl_create_event(ctlr->ctlr_handle, TW_CL_TRUE, event_src,    \
-               (cmd_hdr)->status_block.error,                          \
-               severity,                                               \
-               tw_cli_severity_string_table[severity],                 \
-               (cmd_hdr)->err_specific_desc +                          \
-               tw_osl_strlen((cmd_hdr)->err_specific_desc) + 1,        \
-               (cmd_hdr)->err_specific_desc);                          \
-       /* Print 18 bytes of sense information. */                      \
-       tw_cli_dbg_printf(2, ctlr->ctlr_handle,                         \
-               tw_osl_cur_func(),                                      \
-               "sense info: %x %x %x %x %x %x %x %x %x "               \
-               "%x %x %x %x %x %x %x %x %x",                           \
-               (cmd_hdr)->sense_data[0], (cmd_hdr)->sense_data[1],     \
-               (cmd_hdr)->sense_data[2], (cmd_hdr)->sense_data[3],     \
-               (cmd_hdr)->sense_data[4], (cmd_hdr)->sense_data[5],     \
-               (cmd_hdr)->sense_data[6], (cmd_hdr)->sense_data[7],     \
-               (cmd_hdr)->sense_data[8], (cmd_hdr)->sense_data[9],     \
-               (cmd_hdr)->sense_data[10], (cmd_hdr)->sense_data[11],   \
-               (cmd_hdr)->sense_data[12], (cmd_hdr)->sense_data[13],   \
-               (cmd_hdr)->sense_data[14], (cmd_hdr)->sense_data[15],   \
-               (cmd_hdr)->sense_data[16], (cmd_hdr)->sense_data[17]);  \
-} while (0)
-
-#endif /* TW_CL_H */
diff --git a/sys/dev/twa/tw_cl_externs.h b/sys/dev/twa/tw_cl_externs.h
deleted file mode 100644
index 30ad4a297e06..000000000000
--- a/sys/dev/twa/tw_cl_externs.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2004-07 Applied Micro Circuits Corporation.
- * Copyright (c) 2004-05 Vinod Kashyap
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     $FreeBSD$
- */
-
-/*
- * AMCC'S 3ware driver for 9000 series storage controllers.
- *
- * Author: Vinod Kashyap
- * Modifications by: Adam Radford
- */
-
-#ifndef TW_CL_EXTERNS_H
-
-#define TW_CL_EXTERNS_H
-
-/*
- * Data structures and functions global to the Common Layer.
- */
-
-extern TW_INT8                 tw_cli_fw_img[];
-extern TW_INT32                        tw_cli_fw_img_size;
-extern TW_INT8                 *tw_cli_severity_string_table[];
-
-/* Do controller initialization. */
-extern TW_INT32        tw_cli_start_ctlr(struct tw_cli_ctlr_context *ctlr);
-
-/* Establish a logical connection with the firmware on the controller. */
-extern TW_INT32        tw_cli_init_connection(struct tw_cli_ctlr_context *ctlr,
-       TW_UINT16 message_credits, TW_UINT32 set_features,
-       TW_UINT16 current_fw_srl, TW_UINT16 current_fw_arch_id,
-       TW_UINT16 current_fw_branch, TW_UINT16 current_fw_build,
-       TW_UINT16 *fw_on_ctlr_srl, TW_UINT16 *fw_on_ctlr_arch_id,
-       TW_UINT16 *fw_on_ctlr_branch, TW_UINT16 *fw_on_ctlr_build,
-       TW_UINT32 *init_connect_result);
-
-/* Functions in tw_cl_io.c */
-
-/* Submit a command packet to the firmware on the controller. */
-extern TW_INT32        tw_cli_submit_cmd(struct tw_cli_req_context *req);
-
-/* Get a firmware parameter. */
-extern TW_INT32        tw_cli_get_param(struct tw_cli_ctlr_context *ctlr,
-       TW_INT32 table_id, TW_INT32 parameter_id, TW_VOID *param_data,
-       TW_INT32 size, TW_VOID (* callback)(struct tw_cli_req_context *req));
-
-/* Set a firmware parameter. */
-extern TW_INT32        tw_cli_set_param(struct tw_cli_ctlr_context *ctlr,
-       TW_INT32 table_id, TW_INT32 param_id, TW_INT32 param_size,
-       TW_VOID *data, TW_VOID (* callback)(struct tw_cli_req_context *req));
-
-/* Submit a command to the firmware and poll for completion. */
-extern TW_INT32        tw_cli_submit_and_poll_request(struct 
tw_cli_req_context *req,
-       TW_UINT32 timeout);
-
-/* Soft reset the controller. */
-extern TW_INT32        tw_cli_soft_reset(struct tw_cli_ctlr_context *ctlr);
-extern int twa_setup_intr(struct twa_softc *sc);
-extern int twa_teardown_intr(struct twa_softc *sc);
-
-/* Send down a SCSI command to the firmware (usually, an internal Req Sense. */
-extern TW_INT32        tw_cli_send_scsi_cmd(struct tw_cli_req_context *req,
-       TW_INT32 cmd);
-
-/* Get an AEN from the firmware (by sending down a Req Sense). */
-extern TW_INT32        tw_cli_get_aen(struct tw_cli_ctlr_context *ctlr);
-
-/* Fill in the scatter/gather list. */
-extern TW_VOID tw_cli_fill_sg_list(struct tw_cli_ctlr_context *ctlr,
-       TW_VOID *sgl_src, TW_VOID *sgl_dest, TW_INT32 num_sgl_entries);
-
-/* Functions in tw_cl_intr.c */
-
-/* Process a host interrupt. */
-extern TW_VOID tw_cli_process_host_intr(struct tw_cli_ctlr_context *ctlr);
-
-/* Process an attention interrupt. */
-extern TW_VOID tw_cli_process_attn_intr(struct tw_cli_ctlr_context *ctlr);
-
-/* Process a command interrupt. */
-extern TW_VOID tw_cli_process_cmd_intr(struct tw_cli_ctlr_context *ctlr);
-
-/* Process a response interrupt from the controller. */
-extern TW_INT32        tw_cli_process_resp_intr(struct tw_cli_ctlr_context 
*ctlr);
-
-/* Submit any requests in the pending queue to the firmware. */
-extern TW_INT32        tw_cli_submit_pending_queue(struct tw_cli_ctlr_context 
*ctlr);
-
-/* Process all requests in the complete queue. */
-extern TW_VOID tw_cli_process_complete_queue(struct tw_cli_ctlr_context *ctlr);
-
-/* CL internal callback for SCSI/fw passthru requests. */
-extern TW_VOID tw_cli_complete_io(struct tw_cli_req_context *req);
-
-/* Completion routine for SCSI requests. */
-extern TW_VOID tw_cli_scsi_complete(struct tw_cli_req_context *req);
-
-/* Callback for get/set param requests. */
-extern TW_VOID tw_cli_param_callback(struct tw_cli_req_context *req);
-
-/* Callback for Req Sense commands to get AEN's. */
-extern TW_VOID tw_cli_aen_callback(struct tw_cli_req_context *req);
-
-/* Decide what to do with a retrieved AEN. */
-extern TW_UINT16       tw_cli_manage_aen(struct tw_cli_ctlr_context *ctlr,
-       struct tw_cli_req_context *req);
-
-/* Enable controller interrupts. */
-extern TW_VOID
-       tw_cli_enable_interrupts(struct tw_cli_ctlr_context *ctlr_handle);
-
-/* Disable controller interrupts. */
-extern TW_VOID
-       tw_cli_disable_interrupts(struct tw_cli_ctlr_context *ctlr_handle);
-
-/* Functions in tw_cl_misc.c */
-
-/* Print if dbg_level is appropriate (by calling OS Layer). */
-extern TW_VOID tw_cli_dbg_printf(TW_UINT8 dbg_level,
-       struct tw_cl_ctlr_handle *ctlr_handle, const TW_INT8 *cur_func,
-       TW_INT8 *fmt, ...);
-
-/* Describe meaning of each set bit in the given register. */
-extern TW_INT8 *tw_cli_describe_bits(TW_UINT32 reg, TW_INT8 *str);
-
-/* Complete all requests in the complete queue with a RESET status. */
-extern TW_VOID tw_cli_drain_complete_queue(struct tw_cli_ctlr_context *ctlr);
-
-/* Complete all requests in the busy queue with a RESET status. */
-extern TW_VOID tw_cli_drain_busy_queue(struct tw_cli_ctlr_context *ctlr);
-
-/* Complete all requests in the pending queue with a RESET status. */
-extern TW_VOID tw_cli_drain_pending_queue(struct tw_cli_ctlr_context *ctlr);
-
-/* Drain the controller response queue. */
-extern TW_INT32        tw_cli_drain_response_queue(struct tw_cli_ctlr_context 
*ctlr);
-
-/* Find a particular response in the controller response queue. */
-extern TW_INT32        tw_cli_find_response(struct tw_cli_ctlr_context *ctlr,
-       TW_INT32 req_id);
-
-/* Drain the controller AEN queue. */
-extern TW_INT32        tw_cli_drain_aen_queue(struct tw_cli_ctlr_context 
*ctlr);
-
-/* Determine if a given AEN has been posted by the firmware. */
-extern TW_INT32        tw_cli_find_aen(struct tw_cli_ctlr_context *ctlr,
-       TW_UINT16 aen_code);
-
-/* Poll for a given status to show up in the firmware status register. */
-extern TW_INT32        tw_cli_poll_status(struct tw_cli_ctlr_context *ctlr,
-       TW_UINT32 status, TW_UINT32 timeout);
-
-/* Get a free CL internal request context packet. */
-extern struct tw_cli_req_context *
-       tw_cli_get_request(struct tw_cli_ctlr_context *ctlr
-       );
-
-/* Notify OSL of controller info (fw/BIOS versions, etc.). */
-extern TW_VOID tw_cli_notify_ctlr_info(struct tw_cli_ctlr_context *ctlr);
-
-/* Make sure that the firmware status register reports a proper status. */
-extern TW_INT32        tw_cli_check_ctlr_state(struct tw_cli_ctlr_context 
*ctlr,
-       TW_UINT32 status_reg);
-
-#endif /* TW_CL_EXTERNS_H */
diff --git a/sys/dev/twa/tw_cl_fwif.h b/sys/dev/twa/tw_cl_fwif.h
deleted file mode 100644
index cade2249d820..000000000000
--- a/sys/dev/twa/tw_cl_fwif.h
+++ /dev/null
@@ -1,418 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2004-07 Applied Micro Circuits Corporation.
- * Copyright (c) 2004-05 Vinod Kashyap
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     $FreeBSD$
- */
-
-/*
- * AMCC'S 3ware driver for 9000 series storage controllers.
- *
- * Author: Vinod Kashyap
- * Modifications by: Adam Radford
- */
-
-#ifndef TW_CL_FWIF_H
-
-#define TW_CL_FWIF_H
-
-/*
- * Macros and data structures for interfacing with the firmware.
- */
-
-/* Register offsets from base address. */
-#define        TWA_CONTROL_REGISTER_OFFSET             0x0
-#define        TWA_STATUS_REGISTER_OFFSET              0x4
-#define        TWA_COMMAND_QUEUE_OFFSET                0x8
-#define        TWA_RESPONSE_QUEUE_OFFSET               0xC
-#define        TWA_COMMAND_QUEUE_OFFSET_LOW            0x20
-#define        TWA_COMMAND_QUEUE_OFFSET_HIGH           0x24
-#define        TWA_LARGE_RESPONSE_QUEUE_OFFSET         0x30
-
-/* Control register bit definitions. */
-#define TWA_CONTROL_ISSUE_HOST_INTERRUPT       0x00000020
-#define TWA_CONTROL_DISABLE_INTERRUPTS         0x00000040
-#define TWA_CONTROL_ENABLE_INTERRUPTS          0x00000080
-#define TWA_CONTROL_ISSUE_SOFT_RESET           0x00000100
-#define TWA_CONTROL_UNMASK_RESPONSE_INTERRUPT  0x00004000
-#define TWA_CONTROL_UNMASK_COMMAND_INTERRUPT   0x00008000
-#define TWA_CONTROL_MASK_RESPONSE_INTERRUPT    0x00010000
-#define TWA_CONTROL_MASK_COMMAND_INTERRUPT     0x00020000
-#define TWA_CONTROL_CLEAR_ATTENTION_INTERRUPT  0x00040000
-#define TWA_CONTROL_CLEAR_HOST_INTERRUPT       0x00080000
-#define TWA_CONTROL_CLEAR_PCI_ABORT            0x00100000
-#define TWA_CONTROL_CLEAR_QUEUE_ERROR          0x00400000
-#define TWA_CONTROL_CLEAR_PARITY_ERROR         0x00800000
-
-/* Status register bit definitions. */
-#define TWA_STATUS_ROM_BIOS_IN_SBUF            0x00000002
-#define TWA_STATUS_COMMAND_QUEUE_EMPTY         0x00001000
-#define TWA_STATUS_MICROCONTROLLER_READY       0x00002000
-#define TWA_STATUS_RESPONSE_QUEUE_EMPTY                0x00004000
-#define TWA_STATUS_COMMAND_QUEUE_FULL          0x00008000
-#define TWA_STATUS_RESPONSE_INTERRUPT          0x00010000
-#define TWA_STATUS_COMMAND_INTERRUPT           0x00020000
-#define TWA_STATUS_ATTENTION_INTERRUPT         0x00040000
-#define TWA_STATUS_HOST_INTERRUPT              0x00080000
-#define TWA_STATUS_PCI_ABORT_INTERRUPT         0x00100000
-#define TWA_STATUS_MICROCONTROLLER_ERROR       0x00200000
-#define TWA_STATUS_QUEUE_ERROR_INTERRUPT       0x00400000
-#define TWA_STATUS_PCI_PARITY_ERROR_INTERRUPT  0x00800000
-#define TWA_STATUS_MINOR_VERSION_MASK          0x0F000000
-#define TWA_STATUS_MAJOR_VERSION_MASK          0xF0000000
-
-#define TWA_STATUS_UNEXPECTED_BITS             0x00D00000
-
-/* PCI related defines. */
-#define TWA_IO_CONFIG_REG                      0x10
-
-#define TWA_PCI_CONFIG_CLEAR_PARITY_ERROR      0xc100
-#define TWA_PCI_CONFIG_CLEAR_PCI_ABORT         0x2000
-
-#define TWA_RESET_PHASE1_NOTIFICATION_RESPONSE 0xFFFF
-#define TWA_RESET_PHASE1_WAIT_TIME_MS          500
-
-/* Command packet opcodes. */
-#define TWA_FW_CMD_NOP                         0x00
-#define TWA_FW_CMD_INIT_CONNECTION             0x01
-#define TWA_FW_CMD_READ                                0x02
-#define TWA_FW_CMD_WRITE                       0x03
-#define TWA_FW_CMD_READVERIFY                  0x04
-#define TWA_FW_CMD_VERIFY                      0x05
-#define TWA_FW_CMD_ZEROUNIT                    0x08
-#define TWA_FW_CMD_REPLACEUNIT                 0x09
-#define TWA_FW_CMD_HOTSWAP                     0x0A
-#define TWA_FW_CMD_SELFTESTS                   0x0B
-#define TWA_FW_CMD_SYNC_PARAM                  0x0C
-#define TWA_FW_CMD_REORDER_UNITS               0x0D
-
-#define TWA_FW_CMD_EXECUTE_SCSI                        0x10
-#define TWA_FW_CMD_ATA_PASSTHROUGH             0x11
-#define TWA_FW_CMD_GET_PARAM                   0x12
-#define TWA_FW_CMD_SET_PARAM                   0x13
-#define TWA_FW_CMD_CREATEUNIT                  0x14
-#define TWA_FW_CMD_DELETEUNIT                  0x15
-#define TWA_FW_CMD_DOWNLOAD_FIRMWARE           0x16
-#define TWA_FW_CMD_REBUILDUNIT                 0x17
-#define TWA_FW_CMD_POWER_MANAGEMENT            0x18
-
-#define TWA_FW_CMD_REMOTE_PRINT                        0x1B
-#define TWA_FW_CMD_HARD_RESET_FIRMWARE         0x1C
-#define TWA_FW_CMD_DEBUG                       0x1D
-
-#define TWA_FW_CMD_DIAGNOSTICS                 0x1F
-
-/* Misc defines. */
-#define TWA_SHUTDOWN_MESSAGE_CREDITS   0x001
-#define TWA_64BIT_SG_ADDRESSES         0x00000001
-#define TWA_EXTENDED_INIT_CONNECT      0x00000002
-#define TWA_BASE_MODE                  1
-#define TWA_BASE_FW_SRL                        24
-#define TWA_BASE_FW_BRANCH             0
-#define TWA_BASE_FW_BUILD              1
-#define TWA_CURRENT_FW_SRL             41
-#define TWA_CURRENT_FW_BRANCH_9K       4
-#define TWA_CURRENT_FW_BUILD_9K                8
-#define TWA_CURRENT_FW_BRANCH_9K_X     8
-#define TWA_CURRENT_FW_BUILD_9K_X      4
-#define TWA_MULTI_LUN_FW_SRL           28
-#define TWA_ARCH_ID_9K                 0x5     /* 9000 PCI controllers */
-#define TWA_ARCH_ID_9K_X               0x6     /* 9000 PCI-X controllers */
-#define TWA_CTLR_FW_SAME_OR_NEWER      0x00000001
-#define TWA_CTLR_FW_COMPATIBLE         0x00000002
-#define TWA_SENSE_DATA_LENGTH          18
-
-#define TWA_ARCH_ID(device_id)                                         \
-       (((device_id) == TW_CL_DEVICE_ID_9K) ? TWA_ARCH_ID_9K :         \
-       TWA_ARCH_ID_9K_X)
-#define TWA_CURRENT_FW_BRANCH(arch_id)                                 \
-       (((arch_id) == TWA_ARCH_ID_9K) ? TWA_CURRENT_FW_BRANCH_9K :     \
-       TWA_CURRENT_FW_BRANCH_9K_X)
-#define TWA_CURRENT_FW_BUILD(arch_id)                                  \
-       (((arch_id) == TWA_ARCH_ID_9K) ? TWA_CURRENT_FW_BUILD_9K :      \
-       TWA_CURRENT_FW_BUILD_9K_X)
-
-/*
- * All SG addresses and DMA'able memory allocated by the OSL should be
- * TWA_ALIGNMENT bytes aligned, and have a size that is a multiple of
- * TWA_SG_ELEMENT_SIZE_FACTOR.
- */
-#define TWA_ALIGNMENT(device_id)                       0x4
-#define TWA_SG_ELEMENT_SIZE_FACTOR(device_id)          \
-       (((device_id) == TW_CL_DEVICE_ID_9K) ? 512 : 4)
-
-/*
- * Some errors of interest (in cmd_hdr->status_block.error) when a command
- * is completed by the firmware with a bad status.
- */
-#define TWA_ERROR_LOGICAL_UNIT_NOT_SUPPORTED   0x010a
-#define TWA_ERROR_UNIT_OFFLINE                 0x0128
-#define TWA_ERROR_MORE_DATA                    0x0231
-
-/* AEN codes of interest. */
-#define TWA_AEN_QUEUE_EMPTY            0x00
-#define TWA_AEN_SOFT_RESET             0x01
-#define TWA_AEN_SYNC_TIME_WITH_HOST    0x31
*** 8284 LINES SKIPPED ***

Reply via email to