The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/twa/twa_globals.c

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2003-04 3ware, Inc.
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  *      $FreeBSD$
   27  */
   28 
   29 /*
   30  * 3ware driver for 9000 series storage controllers.
   31  *
   32  * Author: Vinod Kashyap
   33  */
   34 
   35 
   36 #include <dev/twa/twa_includes.h>
   37 
   38 /* AEN messages. */
   39 struct twa_message      twa_aen_table[] = {
   40         {0x0000, "AEN queue empty"},
   41         {0x0001, "Controller reset occurred"},
   42         {0x0002, "Degraded unit detected"},
   43         {0x0003, "Controller error occured"},
   44         {0x0004, "Background rebuild failed"},
   45         {0x0005, "Background rebuild done"},
   46         {0x0006, "Incomplete unit detected"},
   47         {0x0007, "Background initialize done"},
   48         {0x0008, "Unclean shutdown detected"},
   49         {0x0009, "Drive timeout detected"},
   50         {0x000A, "Drive error detected"},
   51         {0x000B, "Rebuild started"},
   52         {0x000C, "Background initialize started"},
   53         {0x000D, "Entire logical unit was deleted"},
   54         {0x000E, "Background initialize failed"},
   55         {0x000F, "SMART attribute exceeded threshold"},
   56         {0x0010, "Power supply reported AC under range"},
   57         {0x0011, "Power supply reported DC out of range"},
   58         {0x0012, "Power supply reported a malfunction"},
   59         {0x0013, "Power supply predicted malfunction"},
   60         {0x0014, "Battery charge is below threshold"},
   61         {0x0015, "Fan speed is below threshold"},
   62         {0x0016, "Temperature sensor is above threshold"},
   63         {0x0017, "Power supply was removed"},
   64         {0x0018, "Power supply was inserted"},
   65         {0x0019, "Drive was removed from a bay"},
   66         {0x001A, "Drive was inserted into a bay"},
   67         {0x001B, "Drive bay cover door was opened"},
   68         {0x001C, "Drive bay cover door was closed"},
   69         {0x001D, "Product case was opened"},
   70         {0x0020, "Prepare for shutdown (power-off)"},
   71         {0x0021, "Downgrade UDMA mode to lower speed"},
   72         {0x0022, "Upgrade UDMA mode to higher speed"},
   73         {0x0023, "Sector repair completed"},
   74         {0x0024, "Sbuf memory test failed"},
   75         {0x0025, "Error flushing cached write data to disk"},
   76         {0x0026, "Drive reported data ECC error"},
   77         {0x0027, "DCB has checksum error"},
   78         {0x0028, "DCB version is unsupported"},
   79         {0x0029, "Background verify started"},
   80         {0x002A, "Background verify failed"},
   81         {0x002B, "Background verify done"},
   82         {0x002C, "Bad sector overwritten during rebuild"},
   83         {0x002E, "Replace failed because replacement drive too small"},
   84         {0x002F, "Verify failed because array was never initialized"},
   85         {0x0030, "Unsupported ATA drive"},
   86         {0x0031, "Synchronize host/controller time"},
   87         {0x0032, "Spare capacity is inadequate for some units"},
   88         {0x0033, "Background migration started"},
   89         {0x0034, "Background migration failed"},
   90         {0x0035, "Background migration done"},
   91         {0x0036, "Verify detected and fixed data/parity mismatch"},
   92         {0x0037, "SO-DIMM incompatible"},
   93         {0x0038, "SO-DIMM not detected"},
   94         {0x0039, "Corrected Sbuf ECC error"},
   95         {0x003A, "Drive power on reset detected"},
   96         {0x003B, "Background rebuild paused"},
   97         {0x003C, "Background initialize paused"},
   98         {0x003D, "Background verify paused"},
   99         {0x003E, "Background migration paused"},
  100         {0x003F, "Corrupt flash file system detected"},
  101         {0x0040, "Flash file system repaired"},
  102         {0x0041, "Unit number assignments were lost"},
  103         {0x0042, "Error during read of primary DCB"},
  104         {0x0043, "Latent error found in backup DCB"},
  105         {0x0044, "Voltage is within normal range"},
  106         {0x0045, "Voltage is in low warning range"},
  107         {0x0046, "Voltage is in high warning range"},
  108         {0x0047, "Voltage is below operating range"},
  109         {0x0048, "Voltage is above operating range"},
  110         {0x0049, "Temperature is within normal range"},
  111         {0x004A, "Temperature is in low warning range"},
  112         {0x004B, "Temperature is high warning range"},
  113         {0x004C, "Temperature is below operating range"},
  114         {0x004D, "Temperature is above operating range"},
  115         {0x004E, "Low current test started"},
  116         {0x0050, "Low current test stopped"},
  117         {0x0051, "High current test started"},
  118         {0x0052, "High current test stopped"},
  119         {0x0053, "Charge termination voltage is at high level"},
  120         {0x0054, "Charge termination voltage is at high level"},
  121         {0x0055, "Charge started"},
  122         {0x0056, "Charge stopped"},
  123         {0x0057, "Charge is in fault condition"},
  124         {0x0058, "Capacity is below warning level"},
  125         {0x0059, "Capacity is below error level"},
  126         {0x005A, "Battery is present"},
  127         {0x005B, "Battery is not present"},
  128         {0x005C, "High current test is in warning level"},
  129         {0x005D, "High current test is in fault level"},
  130         {0x0060, "Bad cache meta data checksum"},
  131         {0x0061, "Bad cache meta data signature"},
  132         {0x0062, "Cache meta data restore failed"},
  133         {0x0063, "Cache meta data was lost"},
  134         {0x0064, "Cache write data sync failed"},
  135         {0x0065, "Not able to sync cache write data"},
  136         {0x00FC, "Recovered/finished array membership update"},
  137         {0x00FD, "Handler lockup"},
  138         {0x00FE, "Retrying PCI transfer"},
  139         {0x00FF, "AEN queue is full"},
  140         {0xFFFFFFFF, (char *)NULL}
  141 };
  142 
  143 /* AEN severity table. */
  144 char    *twa_aen_severity_table[] = {
  145         "None",
  146         "ERROR",
  147         "WARNING",
  148         "INFO",
  149         "DEBUG",
  150         (char *)NULL
  151 };
  152 
  153 /* Error messages. */
  154 struct twa_message      twa_error_table[] = {
  155         {0x0100, "SGL entry contains zero data"},
  156         {0x0101, "Invalid command opcode"},
  157         {0x0102, "SGL entry has unaligned address"},
  158         {0x0103, "SGL size does not match command"},
  159         {0x0104, "SGL entry has illegal length"},
  160         {0x0105, "Command packet is not aligned"},
  161         {0x0106, "Invalid request ID"},
  162         {0x0107, "Duplicate request ID"},
  163         {0x0108, "ID not locked"},
  164         {0x0109, "LBA out of range"},
  165         {0x010A, "Logical unit not supported"},
  166         {0x010B, "Parameter table does not exist"},
  167         {0x010C, "Parameter index does not exist"},
  168         {0x010D, "Invalid field in CDB"},
  169         {0x010E, "Specified port has invalid drive"},
  170         {0x010F, "Parameter item size mismatch"},
  171         {0x0110, "Failed memory allocation"},
  172         {0x0111, "Memory request too large"},
  173         {0x0112, "Out of memory segments"},
  174         {0x0113, "Invalid address to deallocate"},
  175         {0x0114, "Out of memory"},
  176         {0x0115, "Out of heap"},
  177         {0x0120, "Double degrade"},
  178         {0x0121, "Drive not degraded"},
  179         {0x0122, "Reconstruct error"},
  180         {0x0123, "Replace not accepted"},
  181         {0x0124, "Drive capacity too small"},
  182         {0x0125, "Sector count not allowed"},
  183         {0x0126, "No spares left"},
  184         {0x0127, "Reconstruct error"},
  185         {0x0128, "Unit is offline"},
  186         {0x0129, "Cannot update status to DCB"},
  187         {0x012A, "Dchnl cannot be split"},
  188         {0x012B, "Dchnl cannot be joined"},
  189         {0x012C, "No migration recovery"},
  190         {0x0130, "Invalid stripe handle"},
  191         {0x0131, "Handle that was not locked"},
  192         {0x0132, "Handle that was not empty"},
  193         {0x0133, "Handle has different owner"},
  194         {0x0140, "IPR has parent"},
  195         {0x0150, "Illegal Pbuf address alignment"},
  196         {0x0151, "Illegal Pbuf transfer length"},
  197         {0x0152, "Illegal Sbuf address alignment"},
  198         {0x0153, "Illegal Sbuf transfer length"},
  199         {0x0160, "Command packet too large"},
  200         {0x0161, "SGL exceeds maximum length"},
  201         {0x0162, "SGL has too many entries"},
  202         {0x0170, "Insufficient resources for rebuilder"},
  203         {0x0171, "Verify error (data != parity)"},
  204         {0x0180, "Requested segment not in directory of this DCB"},
  205         {0x0181, "DCB segment has unsupported version"},
  206         {0x0182, "DCB segment has checksum error"},
  207         {0x0183, "DCB support (settings) segment invalid"},
  208         {0x0184, "DCB UDB (unit descriptor block) segment invalid"},
  209         {0x0185, "DCB GUID (globally unique identifier) segment invalid"},
  210         {0x01A0, "Could not clear Sbuf"},
  211         {0x01C0, "Flash identify failed"},
  212         {0x01C1, "Flash out of bounds"},
  213         {0x01C2, "Flash verify error"},
  214         {0x01C3, "Flash file object not found"},
  215         {0x01C4, "Flash file already present"},
  216         {0x01C5, "Flash file system full"},
  217         {0x01C6, "Flash file not present"},
  218         {0x01C7, "Flash file size error"},
  219         {0x01C8, "Bad flash file checksum"},
  220         {0x01CA, "Corrupt flash file system detected"},
  221         {0x01CB, "Flash file has no component directory"},
  222         {0x01CC, "Flash file component not found"},
  223         {0x01CD, "Flash Write cycle Failed"},
  224         {0x01CE, "Flash Erase cycle Failed"},
  225         {0x01D0, "Invalid field in parameter list"},
  226         {0x01D1, "Parameter list length error"},
  227         {0x01D2, "Parameter item is not changeable"},
  228         {0x01D3, "Parameter item is not saveable"},
  229         {0x0200, "UDMA CRC error"},
  230         {0x0201, "Internal CRC error"},
  231         {0x0202, "Data ECC error"},
  232         {0x0203, "ADP level 1 error"},
  233         {0x0204, "Port timeout"},
  234         {0x0205, "Drive power on reset"},
  235         {0x0206, "ADP level 2 error"},
  236         {0x0207, "Soft reset failed"},
  237         {0x0208, "Drive not ready"},
  238         {0x0209, "Unclassified port error"},
  239         {0x020A, "Drive aborted command"},
  240         {0x0210, "Internal CRC error"},
  241         {0x0211, "PCI abort error"},
  242         {0x0212, "PCI parity error"},
  243         {0x0213, "Port handler error"},
  244         {0x0214, "Token interrupt count error"},
  245         {0x0215, "Timeout waiting for PCI transfer"},
  246         {0x0216, "Corrected buffer ECC"},
  247         {0x0217, "Uncorrected buffer ECC"},
  248         {0x0230, "Unsupported command during flash recovery"},
  249         {0x0231, "Next image buffer expected"},
  250         {0x0232, "Binary image architecture incompatible"},
  251         {0x0233, "Binary image has no signature"},
  252         {0x0234, "Binary image has bad checksum"},
  253         {0x0235, "Binary image overflowed buffer"},
  254         {0x0240, "I2C device not found"},
  255         {0x0241, "I2C transaction aborted"},
  256         {0x0242, "SO-DIMM parameter(s) incompatible using defaults"},
  257         {0x0243, "SO-DIMM unsupported"},
  258         {0x0244, "I2C clock is held low - Transfer aborted"},
  259         {0x0245, "I2C data  is held low - Transfer aborted"},
  260         {0x0246, "I2C slave device NACKed the transfer"},
  261         {0x0247, "I2C buffer in-sufficient"},
  262         {0x0248, "SPI transfer status error"},
  263         {0x0249, "SPI transfer timeout error"},
  264         {0x0250, "Invalid unit descriptor size"},
  265         {0x0251, "Unit descriptor size exceeds data buffer"},
  266         {0x0252, "Invalid value in unit descriptor"},
  267         {0x0253, "Inadequate disk space to support descriptor"},
  268         {0x0254, "Unable to create data channel for this unit descriptor"},
  269         {0x0255, "CreateUnit descriptor specifies a drive already in use"},
  270         {0x0256, "Unable to write configuration to all disks during CreateUnit"},
  271         {0x0257, "CreateUnit/MigrateUnit does not support this descriptor version"},
  272         {0x0258, "Invalid subunit for RAID 0 or 5 in CreateUnit/MigrateUnit"},
  273         {0x0259, "Too many descriptors in CreateUnit/MigrateUnit"},
  274         {0x025A, "Invalid configuration specified in unit descriptor"},
  275         {0x025B, "Invalid LBA offset specified in unit descriptor"},
  276         {0x025C, "Invalid stripelet size specified in unit descriptor"},
  277         {0x025D, "JBOD unit is not allowed"},
  278         {0x0260, "SMART attribute exceeded threshold"},
  279         {0x0270, "Unit is not in NORMAL state"},
  280         {0x0271, "Invalid drive members"},
  281         {0x0272, "Converted unit is not supported"},
  282         {0x0300, "Internal errorcode (BBU base) - should not occur"},
  283         {0x0301, "Invalid BBU state change request"},
  284         {0x0302, "The BBU resource needed is in use ; retry command after a delay"},
  285         {0x0303, "Command requires a battery pack to be present and enabled"},
  286         {0x0310, "BBU command packet error"},
  287         {0x0311, "BBU command not implemented"},
  288         {0x0312, "BBU command buffer underflow"},
  289         {0x0313, "BBU command buffer overflow"},
  290         {0x0314, "BBU command incomplete"},
  291         {0x0315, "BBU command checksum error"},
  292         {0x0316, "BBU command timeout"},
  293         {0x0320, "BBU parameter not defined"},
  294         {0x0321, "BBU parameter size mismatch"},
  295         {0x0322, "Cannot write a read-only BBU parameter"},
  296         {0x0323, "BBU firmware version string not found"},
  297         {0x0324, "BBU operating state not available"},
  298         {0x0325, "BBU not present"},
  299         {0x0326, "BBU not ready"},
  300         {0x0327, "BBU S1 not compatible with HBA"},
  301         {0x0328, "BBU S0 not compatible with HBA"},
  302         {0x0329, "BBU not compatible with HBA"},
  303         {0x032A, "BBU not in S0"},
  304         {0x032B, "BBU not in S1"},
  305         {0x032C, "Timeout on BBU power fail interrupt"},
  306         {0x032D, "BBU command checksum error"},
  307         {0x0330, "Log updates not allowed"},
  308         {0x0331, "Logs are invalid"},
  309         {0x0332, "Logs not found"},
  310         {0xFFFFFFFF, (char *)NULL}
  311 };
  312     
  313 #ifdef TWA_DEBUG
  314 /*
  315  * Save the debug levels in global variables, so that
  316  * their values can be changed from the debugger.
  317  */
  318 u_int8_t        twa_dbg_level = TWA_DEBUG;
  319 u_int8_t        twa_call_dbg_level = TWA_DEBUG;
  320 
  321 #endif /* TWA_DEBUG */

Cache object: 1afe1171e9ae3c6feec60d8d399df686


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.