From 77f96f7deb629f2aeb9f51a59f85b62b3fec1737 Mon Sep 17 00:00:00 2001 From: slm Date: Wed, 15 Apr 2015 21:47:15 +0000 Subject: 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 --- sys/dev/mps/mpsvar.h | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'sys/dev/mps/mpsvar.h') 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 /* @@ -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); -- cgit v1.1