Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Nov 2021 07:46:57 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 8722e05ae149 - main - twa: Remove
Message-ID:  <202111250746.1AP7kvxf049986@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

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

commit 8722e05ae1496968114f4be1a68bf5ea62cdbd78
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2021-11-25 07:21:41 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
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 vkashyap@FreeBSD.org .
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 ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111250746.1AP7kvxf049986>