summaryrefslogtreecommitdiffstats
path: root/sys/dev/mps/mpsvar.h
diff options
context:
space:
mode:
authorslm <slm@FreeBSD.org>2015-04-15 21:47:15 +0000
committerslm <slm@FreeBSD.org>2015-04-15 21:47:15 +0000
commit77f96f7deb629f2aeb9f51a59f85b62b3fec1737 (patch)
tree09baba8ef2500c92dfd00fd5a02d6fb05c7063f8 /sys/dev/mps/mpsvar.h
parent5967aacd0bce7647e5b12fbabef30c75b0decd79 (diff)
downloadFreeBSD-src-77f96f7deb629f2aeb9f51a59f85b62b3fec1737.zip
FreeBSD-src-77f96f7deb629f2aeb9f51a59f85b62b3fec1737.tar.gz
MFI r257381:
Adjust to handle either a 32-bit or 64-bit lun_id_t in printf. MFC r266615: Increase taskqueue thread priority from idle to PRIBIO. MFC r279253: - Copyright to Avago - SSU changes - SATA ID timeout handling (PR 191348) - reset handling changes - Bump version to 20.00.00.00-fbsd MFC r279695: Change that should have been done with r279253
Diffstat (limited to 'sys/dev/mps/mpsvar.h')
-rw-r--r--sys/dev/mps/mpsvar.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/sys/dev/mps/mpsvar.h b/sys/dev/mps/mpsvar.h
index bae023e..0a82034 100644
--- a/sys/dev/mps/mpsvar.h
+++ b/sys/dev/mps/mpsvar.h
@@ -1,6 +1,7 @@
/*-
* Copyright (c) 2009 Yahoo! Inc.
- * Copyright (c) 2011, 2012 LSI Corp.
+ * Copyright (c) 2011-2015 LSI Corp.
+ * Copyright (c) 2013-2015 Avago Technologies
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -24,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * LSI MPT-Fusion Host Adapter FreeBSD
+ * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD
*
* $FreeBSD$
*/
@@ -32,7 +33,7 @@
#ifndef _MPSVAR_H
#define _MPSVAR_H
-#define MPS_DRIVER_VERSION "19.00.00.00-fbsd"
+#define MPS_DRIVER_VERSION "20.00.00.00-fbsd"
#define MPS_DB_MAX_WAIT 2500
@@ -50,10 +51,13 @@
#define NO_SLEEP 0
#define MPS_PERIODIC_DELAY 1 /* 1 second heartbeat/watchdog check */
+#define MPS_ATA_ID_TIMEOUT 5 /* 5 second timeout for SATA ID cmd */
#define MPS_SCSI_RI_INVALID_FRAME (0x00000002)
#define MPS_STRING_LENGTH 64
+#define DEFAULT_SPINUP_WAIT 3 /* seconds to wait for spinup */
+
#include <sys/endian.h>
/*
@@ -232,6 +236,7 @@ struct mps_command {
#define MPS_CM_FLAGS_CHAIN_FAILED (1 << 9)
#define MPS_CM_FLAGS_ERROR_MASK MPS_CM_FLAGS_CHAIN_FAILED
#define MPS_CM_FLAGS_USE_CCB (1 << 10)
+#define MPS_CM_FLAGS_SATA_ID_TIMEOUT (1 << 11)
u_int cm_state;
#define MPS_CM_STATE_FREE 0
#define MPS_CM_STATE_BUSY 1
@@ -276,6 +281,8 @@ struct mps_softc {
int chain_free;
int max_chains;
int chain_free_lowwater;
+ u_int enable_ssu;
+ int spinup_wait_time;
#if __FreeBSD_version >= 900030
uint64_t chain_alloc_fail;
#endif
@@ -599,6 +606,11 @@ mps_unlock(struct mps_softc *sc)
#define MPS_MAPPING (1 << 9) /* Trace device mappings */
#define MPS_TRACE (1 << 10) /* Function-by-function trace */
+#define MPS_SSU_DISABLE_SSD_DISABLE_HDD 0
+#define MPS_SSU_ENABLE_SSD_DISABLE_HDD 1
+#define MPS_SSU_DISABLE_SSD_ENABLE_HDD 2
+#define MPS_SSU_ENABLE_SSD_ENABLE_HDD 3
+
#define mps_printf(sc, args...) \
device_printf((sc)->mps_dev, ##args)
@@ -764,6 +776,8 @@ void mpssas_realloc_targets(struct mps_softc *sc, int maxtargets);
struct mps_command * mpssas_alloc_tm(struct mps_softc *sc);
void mpssas_free_tm(struct mps_softc *sc, struct mps_command *tm);
void mpssas_release_simq_reinit(struct mpssas_softc *sassc);
+int mpssas_send_reset(struct mps_softc *sc, struct mps_command *tm,
+ uint8_t type);
SYSCTL_DECL(_hw_mps);
OpenPOWER on IntegriCloud