linux/drivers/scsi/3w-9xxx.c
<<
>>
Prefs
   1/*
   2   3w-9xxx.c -- 3ware 9000 Storage Controller device driver for Linux.
   3
   4   Written By: Adam Radford <linuxraid@lsi.com>
   5   Modifications By: Tom Couch <linuxraid@lsi.com>
   6
   7   Copyright (C) 2004-2009 Applied Micro Circuits Corporation.
   8   Copyright (C) 2010 LSI Corporation.
   9
  10   This program is free software; you can redistribute it and/or modify
  11   it under the terms of the GNU General Public License as published by
  12   the Free Software Foundation; version 2 of the License.
  13
  14   This program is distributed in the hope that it will be useful,
  15   but WITHOUT ANY WARRANTY; without even the implied warranty of
  16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17   GNU General Public License for more details.
  18
  19   NO WARRANTY
  20   THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR
  21   CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT
  22   LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
  23   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
  24   solely responsible for determining the appropriateness of using and
  25   distributing the Program and assumes all risks associated with its
  26   exercise of rights under this Agreement, including but not limited to
  27   the risks and costs of program errors, damage to or loss of data,
  28   programs or equipment, and unavailability or interruption of operations.
  29
  30   DISCLAIMER OF LIABILITY
  31   NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
  32   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  33   DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
  34   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
  35   TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
  36   USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
  37   HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
  38
  39   You should have received a copy of the GNU General Public License
  40   along with this program; if not, write to the Free Software
  41   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  42
  43   Bugs/Comments/Suggestions should be mailed to:
  44   linuxraid@lsi.com
  45
  46   For more information, goto:
  47   http://www.lsi.com
  48
  49   Note: This version of the driver does not contain a bundled firmware
  50         image.
  51
  52   History
  53   -------
  54   2.26.02.000 - Driver cleanup for kernel submission.
  55   2.26.02.001 - Replace schedule_timeout() calls with msleep().
  56   2.26.02.002 - Add support for PAE mode.
  57                 Add lun support.
  58                 Fix twa_remove() to free irq handler/unregister_chrdev()
  59                 before shutting down card.
  60                 Change to new 'change_queue_depth' api.
  61                 Fix 'handled=1' ISR usage, remove bogus IRQ check.
  62                 Remove un-needed eh_abort handler.
  63                 Add support for embedded firmware error strings.
  64   2.26.02.003 - Correctly handle single sgl's with use_sg=1.
  65   2.26.02.004 - Add support for 9550SX controllers.
  66   2.26.02.005 - Fix use_sg == 0 mapping on systems with 4GB or higher.
  67   2.26.02.006 - Fix 9550SX pchip reset timeout.
  68                 Add big endian support.
  69   2.26.02.007 - Disable local interrupts during kmap/unmap_atomic().
  70   2.26.02.008 - Free irq handler in __twa_shutdown().
  71                 Serialize reset code.
  72                 Add support for 9650SE controllers.
  73   2.26.02.009 - Fix dma mask setting to fallback to 32-bit if 64-bit fails.
  74   2.26.02.010 - Add support for 9690SA controllers.
  75   2.26.02.011 - Increase max AENs drained to 256.
  76                 Add MSI support and "use_msi" module parameter.
  77                 Fix bug in twa_get_param() on 4GB+.
  78                 Use pci_resource_len() for ioremap().
  79   2.26.02.012 - Add power management support.
  80   2.26.02.013 - Fix bug in twa_load_sgl().
  81   2.26.02.014 - Force 60 second timeout default.
  82*/
  83
  84#include <linux/module.h>
  85#include <linux/reboot.h>
  86#include <linux/spinlock.h>
  87#include <linux/interrupt.h>
  88#include <linux/moduleparam.h>
  89#include <linux/errno.h>
  90#include <linux/types.h>
  91#include <linux/delay.h>
  92#include <linux/pci.h>
  93#include <linux/time.h>
  94#include <linux/mutex.h>
  95#include <linux/slab.h>
  96#include <asm/io.h>
  97#include <asm/irq.h>
  98#include <asm/uaccess.h>
  99#include <scsi/scsi.h>
 100#include <scsi/scsi_host.h>
 101#include <scsi/scsi_tcq.h>
 102#include <scsi/scsi_cmnd.h>
 103#include "3w-9xxx.h"
 104
 105/* Globals */
 106#define TW_DRIVER_VERSION "2.26.02.014"
 107static DEFINE_MUTEX(twa_chrdev_mutex);
 108static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
 109static unsigned int twa_device_extension_count;
 110static int twa_major = -1;
 111extern struct timezone sys_tz;
 112
 113/* Module parameters */
 114MODULE_AUTHOR ("LSI");
 115MODULE_DESCRIPTION ("3ware 9000 Storage Controller Linux Driver");
 116MODULE_LICENSE("GPL");
 117MODULE_VERSION(TW_DRIVER_VERSION);
 118
 119static int use_msi = 0;
 120module_param(use_msi, int, S_IRUGO);
 121MODULE_PARM_DESC(use_msi, "Use Message Signaled Interrupts.  Default: 0");
 122
 123/* Function prototypes */
 124static void twa_aen_queue_event(TW_Device_Extension *tw_dev, TW_Command_Apache_Header *header);
 125static int twa_aen_read_queue(TW_Device_Extension *tw_dev, int request_id);
 126static char *twa_aen_severity_lookup(unsigned char severity_code);
 127static void twa_aen_sync_time(TW_Device_Extension *tw_dev, int request_id);
 128static long twa_chrdev_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
 129static int twa_chrdev_open(struct inode *inode, struct file *file);
 130static int twa_fill_sense(TW_Device_Extension *tw_dev, int request_id, int copy_sense, int print_host);
 131static void twa_free_request_id(TW_Device_Extension *tw_dev,int request_id);
 132static void twa_get_request_id(TW_Device_Extension *tw_dev, int *request_id);
 133static int twa_initconnection(TW_Device_Extension *tw_dev, int message_credits,
 134                              u32 set_features, unsigned short current_fw_srl, 
 135                              unsigned short current_fw_arch_id, 
 136                              unsigned short current_fw_branch, 
 137                              unsigned short current_fw_build, 
 138                              unsigned short *fw_on_ctlr_srl, 
 139                              unsigned short *fw_on_ctlr_arch_id, 
 140                              unsigned short *fw_on_ctlr_branch, 
 141                              unsigned short *fw_on_ctlr_build, 
 142                              u32 *init_connect_result);
 143static void twa_load_sgl(TW_Device_Extension *tw_dev, TW_Command_Full *full_command_packet, int request_id, dma_addr_t dma_handle, int length);
 144static int twa_poll_response(TW_Device_Extension *tw_dev, int request_id, int seconds);
 145static int twa_poll_status_gone(TW_Device_Extension *tw_dev, u32 flag, int seconds);
 146static int twa_post_command_packet(TW_Device_Extension *tw_dev, int request_id, char internal);
 147static int twa_reset_device_extension(TW_Device_Extension *tw_dev);
 148static int twa_reset_sequence(TW_Device_Extension *tw_dev, int soft_reset);
 149static int twa_scsiop_execute_scsi(TW_Device_Extension *tw_dev, int request_id, char *cdb, int use_sg, TW_SG_Entry *sglistarg);
 150static void twa_scsiop_execute_scsi_complete(TW_Device_Extension *tw_dev, int request_id);
 151static char *twa_string_lookup(twa_message_type *table, unsigned int aen_code);
 152static void twa_unmap_scsi_data(TW_Device_Extension *tw_dev, int request_id);
 153
 154/* Functions */
 155
 156/* Show some statistics about the card */
 157static ssize_t twa_show_stats(struct device *dev,
 158                              struct device_attribute *attr, char *buf)
 159{
 160        struct Scsi_Host *host = class_to_shost(dev);
 161        TW_Device_Extension *tw_dev = (TW_Device_Extension *)host->hostdata;
 162        unsigned long flags = 0;
 163        ssize_t len;
 164
 165        spin_lock_irqsave(tw_dev->host->host_lock, flags);
 166        len = snprintf(buf, PAGE_SIZE, "3w-9xxx Driver version: %s\n"
 167                       "Current commands posted:   %4d\n"
 168                       "Max commands posted:       %4d\n"
 169                       "Current pending commands:  %4d\n"
 170                       "Max pending commands:      %4d\n"
 171                       "Last sgl length:           %4d\n"
 172                       "Max sgl length:            %4d\n"
 173                       "Last sector count:         %4d\n"
 174                       "Max sector count:          %4d\n"
 175                       "SCSI Host Resets:          %4d\n"
 176                       "AEN's:                     %4d\n", 
 177                       TW_DRIVER_VERSION,
 178                       tw_dev->posted_request_count,
 179                       tw_dev->max_posted_request_count,
 180                       tw_dev->pending_request_count,
 181                       tw_dev->max_pending_request_count,
 182                       tw_dev->sgl_entries,
 183                       tw_dev->max_sgl_entries,
 184                       tw_dev->sector_count,
 185                       tw_dev->max_sector_count,
 186                       tw_dev->num_resets,
 187                       tw_dev->aen_count);
 188        spin_unlock_irqrestore(tw_dev->host->host_lock, flags);
 189        return len;
 190} /* End twa_show_stats() */
 191
 192/* This function will set a devices queue depth */
 193static int twa_change_queue_depth(struct scsi_device *sdev, int queue_depth,
 194                                  int reason)
 195{
 196        if (reason != SCSI_QDEPTH_DEFAULT)
 197                return -EOPNOTSUPP;
 198
 199        if (queue_depth > TW_Q_LENGTH-2)
 200                queue_depth = TW_Q_LENGTH-2;
 201        scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG, queue_depth);
 202        return queue_depth;
 203} /* End twa_change_queue_depth() */
 204
 205/* Create sysfs 'stats' entry */
 206static struct device_attribute twa_host_stats_attr = {
 207        .attr = {
 208                .name =         "stats",
 209                .mode =         S_IRUGO,
 210        },
 211        .show = twa_show_stats
 212};
 213
 214/* Host attributes initializer */
 215static struct device_attribute *twa_host_attrs[] = {
 216        &twa_host_stats_attr,
 217        NULL,
 218};
 219
 220/* File operations struct for character device */
 221static const struct file_operations twa_fops = {
 222        .owner          = THIS_MODULE,
 223        .unlocked_ioctl = twa_chrdev_ioctl,
 224        .open           = twa_chrdev_open,
 225        .release        = NULL,
 226        .llseek         = noop_llseek,
 227};
 228
 229/* This function will complete an aen request from the isr */
 230static int twa_aen_complete(TW_Device_Extension *tw_dev, int request_id)
 231{
 232        TW_Command_Full *full_command_packet;
 233        TW_Command *command_packet;
 234        TW_Command_Apache_Header *header;
 235        unsigned short aen;
 236        int retval = 1;
 237
 238        header = (TW_Command_Apache_Header *)tw_dev->generic_buffer_virt[request_id];
 239        tw_dev->posted_request_count--;
 240        aen = le16_to_cpu(header->status_block.error);
 241        full_command_packet = tw_dev->command_packet_virt[request_id];
 242        command_packet = &full_command_packet->command.oldcommand;
 243
 244        /* First check for internal completion of set param for time sync */
 245        if (TW_OP_OUT(command_packet->opcode__sgloffset) == TW_OP_SET_PARAM) {
 246                /* Keep reading the queue in case there are more aen's */
 247                if (twa_aen_read_queue(tw_dev, request_id))
 248                        goto out2;
 249                else {
 250                        retval = 0;
 251                        goto out;
 252                }
 253        }
 254
 255        switch (aen) {
 256        case TW_AEN_QUEUE_EMPTY:
 257                /* Quit reading the queue if this is the last one */
 258                break;
 259        case TW_AEN_SYNC_TIME_WITH_HOST:
 260                twa_aen_sync_time(tw_dev, request_id);
 261                retval = 0;
 262                goto out;
 263        default:
 264                twa_aen_queue_event(tw_dev, header);
 265
 266                /* If there are more aen's, keep reading the queue */
 267                if (twa_aen_read_queue(tw_dev, request_id))
 268                        goto out2;
 269                else {
 270                        retval = 0;
 271                        goto out;
 272                }
 273        }
 274        retval = 0;
 275out2:
 276        tw_dev->state[request_id] = TW_S_COMPLETED;
 277        twa_free_request_id(tw_dev, request_id);
 278        clear_bit(TW_IN_ATTENTION_LOOP, &tw_dev->flags);
 279out:
 280        return retval;
 281} /* End twa_aen_complete() */
 282
 283/* This function will drain aen queue */
 284static int twa_aen_drain_queue(TW_Device_Extension *tw_dev, int no_check_reset)
 285{
 286        int request_id = 0;
 287        char cdb[TW_MAX_CDB_LEN];
 288        TW_SG_Entry sglist[1];
 289        int finished = 0, count = 0;
 290        TW_Command_Full *full_command_packet;
 291        TW_Command_Apache_Header *header;
 292        unsigned short aen;
 293        int first_reset = 0, queue = 0, retval = 1;
 294
 295        if (no_check_reset)
 296                first_reset = 0;
 297        else
 298                first_reset = 1;
 299
 300        full_command_packet = tw_dev->command_packet_virt[request_id];
 301        memset(full_command_packet, 0, sizeof(TW_Command_Full));
 302
 303        /* Initialize cdb */
 304        memset(&cdb, 0, TW_MAX_CDB_LEN);
 305        cdb[0] = REQUEST_SENSE; /* opcode */
 306        cdb[4] = TW_ALLOCATION_LENGTH; /* allocation length */
 307
 308        /* Initialize sglist */
 309        memset(&sglist, 0, sizeof(TW_SG_Entry));
 310        sglist[0].length = TW_SECTOR_SIZE;
 311        sglist[0].address = tw_dev->generic_buffer_phys[request_id];
 312
 313        if (sglist[0].address & TW_ALIGNMENT_9000_SGL) {
 314                TW_PRINTK(tw_dev->host, TW_DRIVER, 0x1, "Found unaligned address during AEN drain");
 315                goto out;
 316        }
 317
 318        /* Mark internal command */
 319        tw_dev->srb[request_id] = NULL;
 320
 321        do {
 322                /* Send command to the board */
 323                if (twa_scsiop_execute_scsi(tw_dev, request_id, cdb, 1, sglist)) {
 324                        TW_PRINTK(tw_dev->host, TW_DRIVER, 0x2, "Error posting request sense");
 325                        goto out;
 326                }
 327
 328                /* Now poll for completion */
 329                if (twa_poll_response(tw_dev, request_id, 30)) {
 330                        TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, "No valid response while draining AEN queue");
 331                        tw_dev->posted_request_count--;
 332                        goto out;
 333                }
 334
 335                tw_dev->posted_request_count--;
 336                header = (TW_Command_Apache_Header *)tw_dev->generic_buffer_virt[request_id];
 337                aen = le16_to_cpu(header->status_block.error);
 338                queue = 0;
 339                count++;
 340
 341                switch (aen) {
 342                case TW_AEN_QUEUE_EMPTY:
 343                        if (first_reset != 1)
 344                                goto out;
 345                        else
 346                                finished = 1;
 347                        break;
 348                case TW_AEN_SOFT_RESET:
 349                        if (first_reset == 0)
 350                                first_reset = 1;
 351                        else
 352                                queue = 1;
 353                        break;
 354                case TW_AEN_SYNC_TIME_WITH_HOST:
 355                        break;
 356                default:
 357                        queue = 1;
 358                }
 359
 360                /* Now queue an event info */
 361                if (queue)
 362                        twa_aen_queue_event(tw_dev, header);
 363        } while ((finished == 0) && (count < TW_MAX_AEN_DRAIN));
 364
 365        if (count == TW_MAX_AEN_DRAIN)
 366                goto out;
 367
 368        retval = 0;
 369out:
 370        tw_dev->state[request_id] = TW_S_INITIAL;
 371        return retval;
 372} /* End twa_aen_drain_queue() */
 373
 374/* This function will queue an event */
 375static void twa_aen_queue_event(TW_Device_Extension *tw_dev, TW_Command_Apache_Header *header)
 376{
 377        u32 local_time;
 378        struct timeval time;
 379        TW_Event *event;
 380        unsigned short aen;
 381        char host[16];
 382        char *error_str;
 383
 384        tw_dev->aen_count++;
 385
 386        /* Fill out event info */
 387        event = tw_dev->event_queue[tw_dev->error_index];
 388
 389        /* Check for clobber */
 390        host[0] = '\0';
 391        if (tw_dev->host) {
 392                sprintf(host, " scsi%d:", tw_dev->host->host_no);
 393                if (event->retrieved == TW_AEN_NOT_RETRIEVED)
 394                        tw_dev->aen_clobber = 1;
 395        }
 396
 397        aen = le16_to_cpu(header->status_block.error);
 398        memset(event, 0, sizeof(TW_Event));
 399
 400        event->severity = TW_SEV_OUT(header->status_block.severity__reserved);
 401        do_gettimeofday(&time);
 402        local_time = (u32)(time.tv_sec - (sys_tz.tz_minuteswest * 60));
 403        event->time_stamp_sec = local_time;
 404        event->aen_code = aen;
 405        event->retrieved = TW_AEN_NOT_RETRIEVED;
 406        event->sequence_id = tw_dev->error_sequence_id;
 407        tw_dev->error_sequence_id++;
 408
 409        /* Check for embedded error string */
 410        error_str = &(header->err_specific_desc[strlen(header->err_specific_desc)+1]);
 411
 412        header->err_specific_desc[sizeof(header->err_specific_desc) - 1] = '\0';
 413        event->parameter_len = strlen(header->err_specific_desc);
 414        memcpy(event->parameter_data, header->err_specific_desc, event->parameter_len + (error_str[0] == '\0' ? 0 : (1 + strlen(error_str))));
 415        if (event->severity != TW_AEN_SEVERITY_DEBUG)
 416                printk(KERN_WARNING "3w-9xxx:%s AEN: %s (0x%02X:0x%04X): %s:%s.\n",
 417                       host,
 418                       twa_aen_severity_lookup(TW_SEV_OUT(header->status_block.severity__reserved)),
 419                       TW_MESSAGE_SOURCE_CONTROLLER_EVENT, aen,
 420                       error_str[0] == '\0' ? twa_string_lookup(twa_aen_table, aen) : error_str,
 421                       header->err_specific_desc);
 422        else
 423                tw_dev->aen_count--;
 424
 425        if (="+code=tw_dev" class="sref">tw_dev->error_index   4class="sref">header->1 2"B_LEN" class="sref">TW_MAX_CDB_LEN 326     4     4    }
tw_dev-> 327
tw_dev->error_index   4class="sref">heu32" class="sref">v->error_index   4class="sref">heade )quot;<>->1 2"B_LEN" class="sref">TW_MAX_CDB_LEN 328     4     4    /* End twa_aen_drain_queue() */ 329     4     42vers/scsi/3w-9xxx.c#L400" id="L400" class="line" 4ame="L330"> 330     4     4      nt">/* This function will queue an event */


 331     4     4      ="+code=twa_aen_drain_queue" class"sref">twa_aen_read_queue(TW_Device_Extension *tw_dev, int request_id);
 332     4     4code=t/scsi/3w-9xxx.c#L392" id="L392" cla4s="line" 4ame="L333"> 333     4     4    }
cdb[TW_MAX_CDB_LEN];
 334
TW_SG_Entry sglist[1];
 335     4     43ef="+code=event" class="sreflass="sref">TW_Command_Full *full_command_packet;
 336     4     4    retval = 1;
 337     4     43vers/scsi/3w-9xxx.c#L368" id="L368" cla4s="line" 4ame="L338"> 338     4     43ef="+code=memset" class="sret" class="sref">full_command_packet = tw_dev->command_packet_virt[request_id];
 339     4     43ef="+code=memset" class="sref">memset(&full_command_packet = TW_Command_Full));
 340
 341     4     4    switch (/* Initialize cdb */
 342     4     44ef="+code=header" class="sref">memset(&cdb, 0, TW_MAX_CDB_LEN);
 343     4     44ef="+code=event" class="srefcdb[0] = REQUEST_SENSE; /* opcode */
 344     4     44ef="+code=memcpy" class="srecdb[4] = TW_ALLOCATION_LENGTH; /* allocation length */
 345     4     44vers/scsi/3w-9xxx.c#L386" id="L386" cla4s="line" 4ame="L346"> 346     4     44 class="comment">/* Fill out event inf*/
 347     4     44ef="+code=tw_dev" class="sref">memset(&sglist, 0, sizeof(TW_SG_Entry));
 348     4     44ef="+code=memset" class="sref">sglist[0].length = TW_SECTOR_SIZE;
 349     4     44ef="+code=memset" class="sref">sglist[0].address = tw_dev->generic_buffer_phys[request_id];
 350     4     45vers/scsi/3w-9xxx.c#L341" id="L341" cla4s="line" 4ame="L351"> 351     4     45   switch (/* Initialize cdb */
 352     4     45ef="+code=header" class="sref">tw_dev->srb[request_id] = NULL;
 353     4     45vers/scsi/3w-9xxx.c#L384" id="L384" cla4s="line" 4ame="L354"> 354     4     4    case /* Now poll for completion ef=>
 355     4     45a href="+code=event" class="sref_scsi" class="sref">twa_scsiop_execute_scsi(tw_dev, request_id, cdb, 1, sglist)) {
 356     4     4    default:
TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"P ef=failed+code=fhref;);
 357     4     4            out;
 358     4     4    }
 359
retval = 0;
 360     4     4    out;
 361     4     46n retval;
 362     4     46="comment">/* End twa_aen_drain_queue() */ 363     4  } w46vers/scsi/3w-9xxx.c#L384" id="L384" cla4s="line" 4ame="L364"> 364
/* This function will queue an event */<="+c up>
)),
 365     4  if 46a href="+codde=error_str" class="ookup" class="sref">twa_aen_severity_lookup(>(aen_code = (aeniversscsi/3w-9xxx.c#L390" id="L390" cla4s="line" 4ame="L366"> 366     4     46ivers/scsi/3w-9xxx.c#L377" id="L377" cla4s="line" 4ame="L367"> 367
retval = 0;
NULL;
 368     4   369 370     4  TW_AEN_SEVERITY_DEBUG)
 371     4  ret47          out;
 372}  373
retval = 0;
(twa_aen_table, (twae=request_id" class=f(aen_code = (aenivers/scsi/3w-9xxx.c#L308" id="L368" cla4s="line" 4ame="L374"> 374out;
 375stati4 void475 retval;
 376{
/* End twa_aen_drain_queue() */( 377     4   378     4  str4ct /* This function will queue an event */
drin"drivers/scsi/3w-9xxx.c#L373" id="L373" cla4s="line" 4ame="L379"> 379     4  local_time;
loce=tw_dev" class="sren" class="sref">TW_Device_Extension *tw_dev, int request_id);
 380     4  uns4gned s/scsi/3w-9xxx.c#L377" id="L377" cla4s="line" 4ame="L381"> 381     4  cha48ef="+code=do_gettimeofday" cu32 local_time;
locvers/scsi/3w-9xxx.c#L372" id="L372" cla4s="line" 4ame="L382"> 382     4  cha4 *timeval  383
TW_Command_Full *full_command_packet;
 384     4  full_command_packe;
 385
 386     4  local_time;
 387     4   388
/* Fill out event info */
 389     4  full_command_packet = tw_dev->command_packet_virt[request_id];
 390     4  memset(&full_command_packet = TW_Command_Full));
 391     4  if 49ef="+code=do_gettimeofday" cass="sref">full_command_packe;
full_command_packet =  392     4     49ef="+code=header" class="sreass="sref">full_command_packe;
)OPSGL_W_"+cod2W_DRIVER" class="sreOP_SET_PARAMMAX_AEN_DRAIN)OP_SET_PARAMivers/scsi/3w-9xxx.c#L305" id="L305" cla4s="line" 4ame="L393"> 393     4     49ef="+code=event" class="srefcss="sref">full_command_packe;
request_id];
request_id];
 394     4     49ef="+code=tw_dev" class="srecss="sref">full_command_packe;
address = tw_dev->generic_buffer_phys[request_id];
 395     4  }
<49ef="+code=event" class="srefcss="sref">full_command_packe;
length = TW_SECTOR_SIZE;
 396
full_command_packe;
TW_SECTOR_SIZE;
<;OMMAND">TW_iver/scsi/3w-9xxx.c#L305" id="L305" cla4s="line" 4ame="L397"> 397     4  css="sref">full_command_packe;
aen_count--;
<+ (aenode=TW_SECTOR_SIZE" clcpuf="+leame="L416">ref="+cpuf="+le     398     4   399
/* Check for embeddedSetupa>
 400     5  lasP ((tw_dev->command_packet_virs" class="sref">come=request_id" class="sref">request_id];
 401     5  memset(&TW_SECTOR_SIZE;
 402     5  (twarequest_id];
twareqode=TW_SECTOR_SIZE" clcpuf="+leame="L416">ref="+cpuf="+le    ;
<:
/* allocation length Controller=>drinkeepa>>twa="drivers/scsi/3w-9xxx.c#L319" id="L319" cla5s3"line" 5ame="L393"> 393     5  ];
<+ (ref="+cpuf="+le    /* allocation length SchedulerTdrin"drivers/scsi/3w-9xxx.c#L373" id="L373" cla5s="line" 5ame="L404"> 404     5  ref="+cpuf="+le     395     5   406     5  /* Fill out event infConc#Lt system=>drinin UTC to  href=>drinseconds since Filt rivers/scsi/3w-9xxx.c#L373" id="L373" cla5s7"line" 5ame="L397"> 397     5  /* Fill out event            Sunday 12:00AMn"drivers/scsi/3w-9xxx.c#L373" id="L373" cla5s8"line" 5ame="L398"> 398     5ef="d50ef="+code=memset" class="srelass="sref">do_gettimeofday(& 399
local_time = (u32)(tv_sec - (sys_tz.tz_minuteswest * 60));
 410     5  local_time;
 411
local_time;
locverslocal_time" class=cpuf="+le32  412     5   413     5  memcpy(parameter_data"+code=heae=sglist" class="srefcheduler>local_time;
locvers+code=TW_Command_Full" cu32)( 414     5   415     5  if 5/* Initialize cdb */
 416     5     51ef="+code=event" class="sreff">tw_dev->srb[request_id] = NULL;
 417     5     51vers/scsi/3w-9xxx.c#L368" id="L368" cla5s="line" 5ame="L418"> 418     5     51ef="+code=memst">/* Fill out event infetion ef=>
 419     5     51ef="+code=memset" class="sret" cn eflass="sref">full_command_packet" cn eflass="sref">fule=tw_dev" class="sref">tw_dev->request_id,  420     5     5      ment">/* End twa_aen_drain_queue() */ync">locef="drivers/scsi/3w-9xxx.c#L373" id="L373" cla5s="line" 5ame="L421"> 421     5     52vers/scsi/3w-9xxx.c#L412" id="L412" cla5s="line" 5ame="L422"> 422     5  els5
/* This function will queue an event */<*/ 423     5     5    TW_Device_Extension *tw_dev, int  =  424
 425     5  if 5="+code=tw_dev"no_check_reset" cla_scsiop_executeivers/scsi/3w-9xxx.c#L320" id="L320" cla5s="line" 5ame="L326"> 326     5     52ef="+code=event" class="srefdm clddr_ll_command_packedm clddr_lf="+cnt" class="srefdm chrefwa_aen_table,dm chrefwavers/scsi/3w-9xxx.c#L320" id="L320" cla5s="line" 5ame="L327"> 327
  328     5     528+code=tw_dev"no_check_reset" cl"s>retval = 1;
 329     5     52vers/scsi/3w-9xxx.c#L400" id="L400" cla5s="line" 5ame="L330"> 330     5     53ef="+code=error_str" class="cpuflddr ->tw_dev->->TW_MAX_CDB_LEN 331     5     53a href="+code=tw_!or_str" class="cpuflddr  332     5     53   TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"M"+ory r/
 333     5     53   out;
 334
 335     5     53vers/scsi/3w-9xxx.c#L386" id="L386" cla5s="line" 5ame="L336"> 336     5     5    (MAX_CDB_LEN" classALIGNMENT_90ame="L400">>, 0x3,  337     5     53           TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"Failed+out*/ 338     5     53          ->tw_dev->->TW_MAX_CDB_LEN 339     5     53          out;
 340
 341     5     54vers/scsi/3w-9xxx.c#L412" id="L412" cla5s="line" 5ame="L342"> 342     5     54ef="+code=header" class="sref">memset(&TW_MAX_CDB_LEN 343     5     54vers/scsi/3w-9xxx.c#L384" id="L384" cla5s="line" 5ame="L344"> 344     5     54ef="+code=mem strddev" class="srea_scsiop_executeiversvers/_check_reset" cla_scsiop_executeiversde=TW_al_time" class=class="sref">TW_MAX_CDB_LEN 345     5     545          346     5     54   default:
 347     5     54          tw_dev->generic_buffer_phyt" class="sref">gene=request_id" class=a_scsiop_executeivers=NULL" class="sref"dm chrefwa_aen_table,dm chrefwavers+ddev" class="srea_scsiop_executeivers"al_time" class=ode=Command_Full 348     5     54          tw_dev->command_packet_virt[TW_Command_Full));
 349     5     54           350     5     55           351     5     55          tw_dev->generic_buffer_phys[,dm chrefwavers+ddev" class="srea_scsiop_executeivers"al_time" class=ode=Command_Full 352     5     55   tw_dev->command_packet_virs" class="sref">come=request_id" class=a_scsiop_executeivers=NUL_href="+coloef=")(_href="+coe=cdbl)dev" class="srecpuflddr  353     5     55    354     5     5    case  355     5     55a href="+code/scsi/3w-9xxx.c#L396" id="L396" cla5s="line" 5ame="L356"> 356     5     55ef="+code=event" class="sreff">retval = 0;
 357     5     5      " class="sref">out;
 358     5     5    }
retval;
 359
/* End twa_aen_drain_queue() */ 360     5     56vers/scsi/3w-9xxx.c#L341" id="L341" cla5s="line" 5ame="L361"> 361     5     56n /* This function will queue an event */
 362     5     56="com="+code=twa_aen_drain_queue" ccerro_bitsl_command_packet" ccerro_bits"+coddev" class="sreu32  363     5  } w56vers//scsi/3w-9xxx.c#L324" id="L324" cla5s="line" 5ame="L364"> 364
retval = 1;
 365     5  if 56vers/scsi/3w-9xxx.c#L386" id="L386" cla5s="line" 5ame="L366"> 366     5     56   ))=TATUS_EXPECTED_BITSde=tisTW_AEN_SEVERITY_DEBUG=TATUS_EXPECTED_BITSCommand_Full))=TATUS_EXPECTED_BITSde=tiscsi/3w-9xxx.c#L386" id="L386" cla5s="line" 5ame="L367"> 367
out;
 368     5  ))=TATUS_UNEXPECTED_BITSde=tisTW_0iscsi/3w-9xxx.c#L386" id="L386" cla5s="line" 5ame="L369"> 369out;
 370     5   371     5  ret57ef="+code=do_gettimeofday" cf">retval = 0;
 372} out;
 373
retval;
 374/* End twa_aen_drain_queue() cerro_bitsef="drivers/scsi/3w-9xxx.c#L373" id="L373" cla5s="line" 5ame="L375"> 375stati5 void57vers/scsi/3w-9xxx.c#L386" id="L386" cla5s="line" 5ame="L376"> 376{
/* This function will queue an event */
 377     5  TW_Device_Extension *tw_dev, int  378     5  str5ct  379     5  retval = 1;
 380     5  uns58          ,  381     5  cha58ef="+code=do_href="+coshoro_check_reset" clfw_on_ctlr_brancngth = ,  382     5  cha58ef="+code=header" class="sreu32 ;
 383
 384     5  tw_dev-> 385
 386     5  TW_MAX_CDB_LEN 387     5   388
 389     5   390     5  TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"InifasnnectTW_=failed+code=fcerroref=SRL href="drivers/scsi/3w-9xxx.c#L331" id="L331" cla5s="line" 5ame="L391"> 391     5  if 59          out;
 392     5     59ef="+code=hea/scsi/3w-9xxx.c#L396" id="L396" cla5s="line" 5ame="L393"> 393     5     59vers/scsi/3w-9xxx.c#L384" id="L384" cla5s="line" 5ame="L394"> 394     5     59ef="+code=tw_dev" class="sref">tw_dev->-> 395     5  }
<59ef="+code=event" class="sreff">tw_dev->-> =  396
tw_dev->->,  397     5   398     5  /* Fill out event infTry base m"sr uncp+cotil),
<"drivers/scsi/3w-9xxx.c#L373" id="L373" cla5s="line" 5ame="L399"> 399
;
 400     6  tw_dev-> 401     6   392     6   393     6  TW_MAX_CDB_LEN 394     6   395     6   396
 397     6  TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"InifasnnectTW_=(base m"sr)=failed+code=fcerroref=SRL href="drivers/scsi/3w-9xxx.c#L331" id="L331" cla6s8"line" 6ame="L398"> 398     6ef="d60          out;
 399
 410     6  ;
 411
 412     6  TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"Firmware ref=dx.c#L inuncp+cotil),
: please upgrasr firmware href="drivers/scsi/3w-9xxx.c#L331" id="L331" cla6s="line" 6ame="L413"> 413     6   414     6  TW_PRINTK(tw_dev->host, TW_DRIVER, 0x3, " scsi%d:"Firmware ref=dx.c#L inuncp+cotil),
: please upgrasr dx.c#L href="drivers/scsi/3w-9xxx.c#L331" id="L331" cla6s5"line" 6ame="L415"> 415     6  if 615          416     6     61   default:
out;
 417     6     61           418     6     61          tw_dev->-> 419     6     61          tw_dev->-> = TW_MAX_CDB_LEN 420     6     62          tw_dev->->,  421     6     62           422     6  els62vers/scsi/3w-9xxx.c#L313" id="L313" cla6s="line" 6ame="L423"> 423     6     62ef="+code=event">/* Fill out event infLoad odst of uncp+cotil),
 424
tw_dev->->TW__TW_SIO_MAX_AEN_DRAIN)f">TW__TW_SIO_de=TW_DRIVER" class="odele_Device_Extensioodele_e=tw_dev" class="sresref">TW__TW_SIO_MAX_AEN_DRAIN)f">TW__TW_SIO_de=Tss/scsi/3w-9xxx.c#L305" id="L305" cla6s="line" 6ame="L425"> 425     6  if 62ef="+code=event" class="sreff">tw_dev->-> =  326     6     62ef="+code=event" class="sreff">tw_dev->-> = TW_MAX_CDB_LEN 327
f">tw_dev->-> =  328     6     62ef="+code=memset" class="sref">tw_dev->-> =  329     6     62ef="+code=memset" class="sret">tw_dev->-> = TW_MAX_CDB_LEN 330     6     63ef="+code=error_str" class="f">tw_dev->-> =  331     6     63ef="+code=do_gettimeofday" cf">tw_dev->-> 332     6     63ef="+code=header" class="sref">tw_dev->-> =  333     6     63ef="+code=event" class="sreff">tw_dev->->,  334
 335     6     63ef="+code=event" class="sreff">retval = 0;
 336     6     6    out;
 337     6     63           retval;
 338     6     63     ment">/* End twa_aen_drain_queue() cerro_arlef="drivers/scsi/3w-9xxx.c#L373" id="L373" cla6s="line" 6ame="L339"> 339     6     63vers/scsi/3w-9xxx.c#L400" id="L400" cla6s="line" 6ame="L340"> 340
/* This function will queue an evenhrefwas ioctlm str>
 * 341     6     64vers/="+codeloef=t" class="sref"hr) cerd> _ioctldev-> _ioctle=tw_ode=timset" class="sretiwa_aen_table,tiwa     ll_command_packetiwa_aen_table,tiwa    ,_href="+co"no_check_reset" clcmquest_id, ,  342     6     64ef="+/scsi/3w-9xxx.c#L324" id="L324" cla6s="line" 6ame="L343"> 343     6     64ef="+code=eveode=timset" class="srein"sr;
;
 = ;
 344     6     64ef="+code=memloef=t" class="sref"h;
 345     6     645           346     6     64ef="+code=event" class="srefdm clddr_ll_command_packedm clddr_lf="+cnt" class="srefdm chrefwa_aen_table,dm chrefwavers/scsi/3w-9xxx.c#L320" id="L320" cla6s="line" 6ame="L347"> 347     6     64          request_id,  348     6     64          ];
 349     6     64          ];
 350     6     65ef="+code=error_str" class=">))Ioctl_Dx.c#L_;
))Ioctl_Dx.c#L_;
 351     6     65ef="+code=do_gettimeofday" c>))Ioctl_Buf_ApacerCommand_Full))Ioctl_Buf_Apacer     ll_command_packehreioctldev-> 352     6     65ef="+code=header" class="sre>))LockCommand_Full))Lock     ll_command_packehrelockCommand_Full 353     6     65ef="+code=event" class="sreflass="sref">TW_Command_Full));
full_command_packef="dlass="sref">fule=tw/scsi/3w-9xxx.c#L320" id="L320" cla6s="line" 6ame="L354"> 354     6     65ef="+code=tw_dev" class="sre>));
->));
-> 355     6     65ef="+code=event" class="sref>))Evevent->))Eveve     ll_command_packeevevent-> 356     6     65ef="+code=eveode=timset" class="sreh;
 357     6     65ef="+code=aen" class="sref">u32 loc_mneric_buffer_phyturrion_>loc_mn    /scsi/3w-9xxx.c#L320" id="L320" cla6s="line" 6ame="L358"> 358     6     65ef="+code=memset" class="sreassclass="sref">TW_Device_Extension *tw_dev, int  r) d> * ;
 359
retval = 1;
))IOCTL_ERROR_OS_EFAULTCommand_Full))IOCTL_ERROR_OS_EFAULT    /scsi/3w-9xxx.c#L320" id="L320" cla6s="line" 6ame="L360"> 360     6     66ef="+code=errvoidrgettimeofday" c__user   361     6     66vers/scsi/3w-9xxx.c#L412" id="L412" cla6s="line" 6ame="L362"> 362     6     66ef="+code=header" class="srefutexelockCommand_Full 363     6  } w66vers/scsi/3w-9xxx.c#L384" id="L384" cla6s="line" 6ame="L364"> 364
/* This function willOnly let one of these through at a >loc="drivers/scsi/3w-9xxx.c#L373" id="L373" cla6s="line" 6ame="L365"> 365     6  if 66"+code=tw_dev"event" class="sreffutexelock_/ 366     6     66   default:
retval = 1;
))IOCTL_ERROR_OS_EINT_DRIVER, 0x3,  367
out;
 368     6   369 370     6  /* This function willFirst copy downr>
 371     6  ret67a href="+code=tw_al_time" class=copy_from_user  372} out2  373
 374/* This function willCerrordata ="sref "de=="drivers/scsi/3w-9xxx.c#L319" id="L319" cla6s="line" 6ame="L375"> 375stati6 void67"+code=tw_dev"event" class="srefdx.c#L_c
 376{
retval = 1;
))IOCTL_ERROR_OS_EINVALCommand_Full))IOCTL_ERROR_OS_EINVALvers/scsi/3w-9xxx.c#L367" id="L367" cla6s="line" 6ame="L377"> 377     6  out2  378     6  str678   379     6   380     6  uns680  case /* This function willHardware c>/*only do multiple of 512 byte transrefs="drivers/scsi/3w-9xxx.c#L373" id="L373" cla6s="line" 6ame="L381"> 381     6  cha68ef="+code=do_gettimeofday" cdatas="sref"lengthfldjusteverity__reserveddatas="sref"lengthfldjustev"driverent" class="srefdx.c#L_c
 382     6  cha68vers/scsi/3w-9xxx.c#L313" id="L313" cla6s="line" 6ame="L383"> 383
/* Fill out event infNowt*/ 384     6  ->->-> 385
 386     6  retval = 1;
))IOCTL_ERROR_OS_ENOMEMCommand_Full))IOCTL_ERROR_OS_ENOMEMvers/scsi/3w-9xxx.c#L367" id="L367" cla6s="line" 6ame="L387"> 387     6  out2  388
 389     6   390     6  ioctldev->))Ioctl_Buf_Apacer     l)dev" class="srecpuflddr  391     6  if 69vers/scsi/3w-9xxx.c#L412" id="L412" cla6s="line" 6ame="L392"> 392     6     69ef="+code=heant">/* Fill out event infNowtcopy downr>
 393     6     693+code=tw_dev"eveal_time" class=copy_from_user ioctldev-> 394     6     69ef="+code=tw_href="+ce=out" class="sref">out3  395     6  }
<69vers/scsi/3w-9xxx.c#L386" id="L386" cla6s="line" 6ame="L396"> 396
/* Fill out event infSee whicn ioctlmwe are doref="drivers/scsi/3w-9xxx.c#L373" id="L373" cla6s="line" 6ame="L397"> 397     6  ,  398     6  ))IOCTL_FIRMWARE_PASS_THROUGf">TW_MAX_CDB_LEN 399
tw_dev->host, hoselockCommand_Fullhoselock"dri, nt" class="srefflagsl_command_packeflags"dri)/scsi/3w-9xxx.c#L320" id="L320" cla7s="line" 7ame="L400"> 400     7  request_id, reqe=tw_or_str" class="f">tw_dev->request_id,  391     7   392     7  /* This function willFlag / 393     7  tw_dev->request_id,  394     7   395     7  /* This function willFlag cerd>  ioctlm"drivers/scsi/3w-9xxx.c#L373" id="L373" cla7s6"line" 7ame="L396"> 396
tw_dev-> _"sref">request_id,  _"sref">req"drivergettimeofday" c"sref">request_id,  397     7   398     7ef="d70          full_command_packef="dlass="sref">fule=twverde=heset" class="srehr>ioctldev-> 399
 410     7  /* Fill out event infLoad odref="lin ref=sgliz_m strboth  411
tw_dev->full_command_packef="dlass="sref">fule=twW_nt" class="sref"sref">request_id,  412     7   413     7  tw_dev->ful_virll_command_packeass="sref">ful_virl"+coquest_id" class="sref">request_id, ioctldev->TW_Command_Full));
 414     7   415     7  if 715         /* Fill out event infNowtphosr>
ful tor>
 416     7     71   default:
full_command_packehr) phoslass="sref">fule=tw_or_str" class="f">tw_dev->request_id,  417     7     71          tw_dev->host, hoselockCommand_Fullhoselock"dri, nt" class="srefflagsl_command_packeflags"dri)/scsi/3w-9xxx.c#L320" id="L320" cla7s8"line" 7ame="L418"> 418     7     71     scsi/3w-9xxx.c#L320" id="L320" cla7s9"line" 7ame="L419"> 419     7     71          ;
))IOCTL_CHRDEV_TIMEOUTCommand_Full))IOCTL_CHRDEV_TIMEOUTvers_dev" class="sreHZCommand_Full 420     7     72vers/scsi/3w-9xxx.c#L341" id="L341" cla7s="line" 7ame="L421"> 421     7     72          /* Fill out event infNowtwai_m str 422     7  els72   ;
;
tw_dev->;
tw_dev-> _"sref">request_id,  _"sref">req"driveergettimeofday" c>))IOCTL_CHRDEV_FREECommand_Full))IOCTL_CHRDEV_FREE"dri, nt" class="sreff;
 423     7     72vers/scsi/3w-9xxx.c#L384" id="L384" cla7s="line" 7ame="L424"> 424
/* Fill out event infWe >locd hut, ref=didn't gul >/*/ 425     7  if 725          _"sref">request_id,  _"sref">req"driv!ergettimeofday" c>))IOCTL_CHRDEV_FREECommand_Full))IOCTL_CHRDEV_FREE"dri)s/scsi/3w-9xxx.c#L324" id="L324" cla7s6"line" 7ame="L326"> 326     7     72   default:
/* Fill out event infNowtwe neef=to odsesr>
 327
" scsi%d:"="L319": 9" i%d: WARNING: (0x%02X:0x%04X): Charactermioctlm(0x%x) >locd hut, odsestref=carf.\n href="driverWscsi/3w-9xxx.c#L384" id="L384" cla7s8"line" 7ame="L328"> 328     7     72          tw_dev->host, hosenodev->hoseno"dri, nt" class="srefsref">TW_DRIVER, 0x3,  329     7     72          ,  330     7     73          ))IOCTL_ERROR_OS_EIOCommand_Full))IOCTL_ERROR_OS_EIOde=c/scsi/3w-9xxx.c#L367" id="L367" cla7s="line" 7ame="L331"> 331     7     73           *tw_dev-> 332     7     73   out3  333     7     73    334
 335     7     735         /* Fill out event infNowtcopy inr>
ful odspons=="drivers/scsi/3w-9xxx.c#L319" id="L319" cla7s="line" 7ame="L336"> 336     7     73   default:
ioctldev->tw_dev->ful_virll_command_packeass="sref">ful_virl"+coquest_id" class="sref">request_id, TW_Command_Full));
 337     7     73           338     7     73          /* Fill out event infNowtcocplet==>
 339     7     73          tw_dev->host, hoselockCommand_Fullhoselock"dri, nt" class="srefflagsl_command_packeflags"dri)/scsi/3w-9xxx.c#L320" id="L320" cla7s="line" 7ame="L340"> 340
tw_dev->rcouvent->rcouve+code-/scsi/3w-9xxx.c#L320" id="L320" cla7s="line" 7ame="L341"> 341     7     74          request_id, ))S<;OMPLETEDCommand_Full))S<;OMPLETEDvers/scsi/3w-9xxx.c#L367" id="L367" cla7s="line" 7ame="L342"> 342     7     74   request_id, reqe=tw_or_str" class="f">tw_dev->request_id,  343     7     74   tw_dev->host, hoselockCommand_Fullhoselock"dri, nt" class="srefflagsl_command_packeflags"d=c)/scsi/3w-9xxx.c#L320" id="L320" cla7s="line" 7ame="L344"> 344     7     74ef="+code=tw_href="+cbreak/scsi/3w-9xxx.c#L320" id="L320" cla7s="line" 7ame="L345"> 345     7     745         ))IOCTL_GET<;OMPATIBILITY_INFOCommand_Full))IOCTL_GET<;OMPATIBILITY_INFO    /scsi/3w-9xxx.c#L370" id="L370" cla7s="line" 7ame="L346"> 346     7     74   default:
ioctldev-> 347     7     74          /* This function willCopy uncp+cotil),
 348     7     74          uncp+csinfodev->->));
ioctldev-> 349     7     74          (uncp+csinfodev->tw_dev->->->));
 350     7     75           351     7     75ef="+code=do_case gettimeofday" c>))IOCTL_GET))IOCTL_GET 352     7     75    353     7     75    354     7     75ef="+code=tw_href="+cfault:
ioctldev->))IOCTL_ERROR_STATUS_AEN_CLOBBW_DRIVER, 0x3,  355     7     755         tw_dev-> 356     7     75   default:
 357     7     75          ioctldev-> 358     7     75           359
];
 360     7     76          ioctldev->))IOCTL_ERROR_STATUS_NO_MORE_EVENTSCommand_Full))IOCTL_ERROR_STATUS_NO_MORE_EVENTSvers/scsi/3w-9xxx.c#L367" id="L367" cla7s="line" 7ame="L361"> 361     7     76           362     7     76    363     7  } w76   ioctldev-> 364
 365     7  if 765         ];
tw_dev->];
))Q_LENGTf">TW_MAX_CDB_LEN))Q_LENGTf">TW_MAX_CDB_LEN 366     7     76   default:
(ioctldev->tw_dev->];
 367
tw_dev->];
, ))AEN_RETRIEVEDCommand_Full))AEN_RETRIEVED"dri/scsi/3w-9xxx.c#L369" id="L369" cla7s="line" 7ame="L368"> 368     7   369))IOCTL_GET))IOCTL_GET 370     7   371     7  ret77           372} ioctldev->))IOCTL_ERROR_STATUS_AEN_CLOBBW_DRIVER, 0x3,  373
tw_dev-> 374 375stati7 void775         ioctldev-> 376{
tw_dev->];
 377     7   378     7  str77          ];
 379     7  ioctldev->))IOCTL_ERROR_STATUS_NO_MORE_EVENTSCommand_Full))IOCTL_ERROR_STATUS_NO_MORE_EVENTSvers/scsi/3w-9xxx.c#L367" id="L367" cla7s="line" 7ame="L380"> 380     7  uns78           381     7  cha78           382     7  cha78   ioctldev-> 383
 384     7   385
(ioctldev->tw_dev->];
 386     7  tw_dev->];
, ))AEN_RETRIEVEDCommand_Full))AEN_RETRIEVED"dri/scsi/3w-9xxx.c#L369" id="L369" cla7s="line" 7ame="L387"> 387     7   388
))IOCTL_GET))IOCTL_GET 389     7  ->->))Eveve     l)dev" class="sref">ioctldev-> 390     7  ->];
 391     7  if 79           392     7     79vers/scsi/3w-9xxx.c#L313" id="L313" cla7s="line" 7ame="L393"> 393     7     79    394     7     79ef="+code=tw_href="+ccode=tw_=event" class="sref_s>tw_dev-> 395     7  }
<795         ioctldev->))IOCTL_ERROR_STATUS_AEN_CLOBBW_DRIVER, 0x3,  396
tw_dev-> 397     7   398     7  ];
tw_dev->];
 399
 400     8  ];
 391     8  ioctldev->))IOCTL_ERROR_STATUS_NO_MORE_EVENTSCommand_Full))IOCTL_ERROR_STATUS_NO_MORE_EVENTSvers/scsi/3w-9xxx.c#L367" id="L367" cla8s2"line" 8ame="L392"> 392     8   393     8   394     8  ];
 395     8   396
];
];
tw_dev->];
];
))Q_LENGTf">TW_MAX_CDB_LEN 397     8   398     8ef="d80          ];
];
 399
ioctldev->))IOCTL_ERROR_STATUS_AEN_CLOBBW_DRIVER, 0x3,  410     8  tw_dev-> 411
ioctldev->))IOCTL_ERROR_STATUS_NO_MORE_EVENTSCommand_Full))IOCTL_ERROR_STATUS_NO_MORE_EVENTSvers/scsi/3w-9xxx.c#L367" id="L367" cla8s2"line" 8ame="L412"> 412     8   413     8   414     8  (ioctldev->tw_dev->];
 415     8  if 815         tw_dev->];
, ))AEN_RETRIEVEDCommand_Full))AEN_RETRIEVED"dri/scsi/3w-9xxx.c#L369" id="L369" cla8s6"line" 8ame="L416"> 416     8     81   default:
 417     8     81          ))IOCTL_GET))IOCTL_GET 418     8     81          ->->))Eveve     l)dev" class="sref">ioctldev-> 419     8     81          ];
->];
 420     8     82          ioctldev-> 421     8     82vers/scsi/3w-9xxx.c#L412" id="L412" cla8s="line" 8ame="L422"> 422     8  els82    423     8     82    424
ioctldev->))IOCTL_ERROR_STATUS_AEN_CLOBBW_DRIVER, 0x3,  425     8  if 825         tw_dev-> 326     8     82   default:
 327
tw_dev->];
 328     8     82           329     8     82          ];
 330     8     83          ioctldev->))IOCTL_ERROR_STATUS_NO_MORE_EVENTSCommand_Full))IOCTL_ERROR_STATUS_NO_MORE_EVENTSvers/scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L331"> 331     8     83           332     8     83    333     8     83    334
 335     8     835         ];
];
tw_dev->];
];
))Q_LENGTf">TW_MAX_CDB_LEN 336     8     83   descsi/3w-9xxx.c#L369" id="L369" cla8s="line" 8ame="L337"> 337     8     83          ];
];
 338     8     83          ioctldev->))IOCTL_ERROR_STATUS_AEN_CLOBBW_DRIVER, 0x3,  339     8     83          tw_dev-> 340
ioctldev->))IOCTL_ERROR_STATUS_NO_MORE_EVENTSCommand_Full))IOCTL_ERROR_STATUS_NO_MORE_EVENTSvers/scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L341"> 341     8     84           342     8     84    343     8     84   ioctldev->tw_dev->];
 344     8     84ef="+code=tw_href="+cor_str" class="f">tw_dev->];
, ))AEN_RETRIEVEDCommand_Full))AEN_RETRIEVED"dri/scsi/3w-9xxx.c#L369" id="L369" cla8s="line" 8ame="L345"> 345     8     845          346     8     84   default:
))IOCTL_GET))IOCTL_GET 347     8     84          lockCommand_Fulllock    NUL_Command_Full" clasLockCommand_Fullioctldev-> 348     8     84          ( 349     8     84          (->(-> 350     8     85vers/scsi/3w-9xxx.c#L341" id="L341" cla8s="line" 8ame="L351"> 351     8     85          lockCommand_Fulllock    e=host" class="sref"forcarflagCommand_FulllockCommand_Fulllock"driveer0) ||vent" class="srefcurrion_ftw_dev->-> 352     8     85   tw_dev->lockCommand_Fulllock"driver1/scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L353"> 353     8     85   tw_dev->->lockCommand_Fulllock    e=host" class="sref"h-> 354     8     85ef="+code=tw_href="+cfault:
ioctldev-> 355     8     855         lockCommand_Fulllock    e=host" class="sref"h->lockCommand_Fulllock    e=host" class="sref"h-> 356     8     85   default:
 357     8     85          ioctldev->))IOCTL_ERROR_STATUS_LOCKEDCommand_Full))IOCTL_ERROR_STATUS_LOCKEDvers/scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L358"> 358     8     85          lockCommand_Fulllock    e=host" class="sref"h->tw_dev->-> 359
 360     8     86           361     8     86ef="+code=do_case gettimeofday" c>))IOCTL_RELEASE))IOCTL_RELEASE 362     8     86   lockCommand_Fulllock"driveer1)s/scsi/3w-9xxx.c#L324" id="L324" cla8s="line" 8ame="L363"> 363     8  } w86   tw_dev->lockCommand_Fulllock"drivers/scsi/3w-9xxx.c#L369" id="L369" cla8s="line" 8ame="L364"> 364
ioctldev-> 365     8  if 865          366     8     86   default:
ioctldev->))IOCTL_ERROR_STATUS_NOT_LOCKEDCommand_Full))IOCTL_ERROR_STATUS_NOT_LOCKED    /scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L367"> 367
 368     8   369 370     8  ->))IOCTL_ERROR_OS_ENOTTYCommand_Full))IOCTL_ERROR_OS_ENOTTY    /scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L371"> 371     8  ret87           372}  373
 374/* Fill out event infNowtcopy=>
 375stati8 void875         ioctldev-> 376{
-> 377     8   378     8  str87          /* Fill out event infNowtfreetioctlm="s memory "drivers/scsi/3w-9xxx.c#L319" id="L319" cla8s="line" 8ame="L379"> 379     8  ->tw_dev->tw_dev->tw_e=twe=host" class="sref"dw_dev->,  380     8  uns88     gettimeofday" chut2Command_Full 381     8  cha88          tw_dev-> 382     8  cha88    383
 384     8  -> 385
/* Fill out event infEnd hra_chrf="_ioctl() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla8s="line" 8ame="L386"> 386     8   387     8  /* Fill out event infThis function h hrl s open for=>
 388
/* Fill out event infNOTE=>
at=>
is function will race with_remove. "drivers/scsi/3w-9xxx.c#L319" id="L319" cla8s="line" 8ame="L389"> 389     8   390     8   391     8  if 89           392     8     89   ))IOCTL_ERROR_OS_ENODEVCommand_Full))IOCTL_ERROR_OS_ENODEV"dri/scsi/3w-9xxx.c#L367" id="L367" cla8s="line" 8ame="L393"> 393     8     89    394     8     89ef="+code=tw_or_str" class="minsr_numbeferity__reservedminsr_numbef"drivergettimeofday" ciminsrCommand_Full 395     8  }
<895         -> 396
 397     8  -> 398     8   399
-> 400     9  /* Fill out event infEnd hra_chrf="_open() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s1"line" 9ame="L391"> 391     9   392     9  /* Fill out event infThis function will print readable messag s from status register errors "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s3"line" 9ame="L393"> 393     9  tw_dev-> 394     9   395     9   396
 397     9  /* Fill out event infCheck for=various error conditions  hr h hrl =>
 398     9ef="d90          ))STATUS_PCI_PARITY_ERRORCommand_Full))STATUS_PCI_PARITY_ERRORde=c)N/scsi/3w-9xxx.c#L324" id="L324" cla9s9"line" 9ame="L399"> 399
))PRINTKCommand_Full))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill o"tring">"PCI Parity Error:* Fearing"rivers/s/scsi/3w-9xxx.c#L367" id="L367" cla9s="line" 9ame="L410"> 410     9  tw_dev-> 411
 412     9   413     9  ))STATUS_PCI_ABORTCommand_Full))STATUS_PCI_ABORTde=c)N/scsi/3w-9xxx.c#L324" id="L324" cla9s4"line" 9ame="L414"> 414     9  ))PRINTKCommand_Full))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill o"tring">"PCI Abort:* Fearing"rivers/s/scsi/3w-9xxx.c#L367" id="L367" cla9s5"line" 9ame="L415"> 415     9  if 915         tw_dev-> 416     9     91   default:
tw_dev->tw_dev->tw_e=twW_nt" class="srefPCI_STATUSdev-> 417     9     91           418     9     91     scsi/3w-9xxx.c#L396" id="L396" cla9s9"line" 9ame="L419"> 419     9     91          ))STATUS_QUEUE_ERRORCommand_Full))STATUS_QUEUE_ERRORde=c)N/scsi/3w-9xxx.c#L324" id="L324" cla9s="line" 9ame="L420"> 420     9     92          tw_dev->tw_dev->tw_e=twe=host" class="sref"dw_icedev->-> 421     9     92          tw_dev->tw_dev->tw_e=twe=host" class="sref"dw_icedev->-> 422     9  els92   tw_dev-> 423     9     92   ))PRINTKCommand_Full))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill o"tring">"Controller Qefur Error:* Fearing"rivers/s/scsi/3w-9xxx.c#L367" id="L367" cla9s="line" 9ame="L424"> 424
tw_dev-> 425     9  if 925          326     9     92   descsi/3w-9xxx.c#L369" id="L369" cla9s="line" 9ame="L327"> 327
))STATUS_MICROCONTROLLER_ERRORCommand_Full))STATUS_MICROCONTROLLER_ERRORde=c)N/scsi/3w-9xxx.c#L324" id="L324" cla9s8"line" 9ame="L328"> 328     9     92          -> 329     9     92          ))PRINTKCommand_Full))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill o"tring">"Microcontroller Error:* Fearing"rivers/s/scsi/3w-9xxx.c#L367" id="L367" cla9s="line" 9ame="L330"> 330     9     93          -> 331     9     93           332     9     93    333     9     93    334
 335     9     935    gettimeofday" chutCommand_Full 336     9     93   default:
-> 337     9     93     } nt">/* Fill out event infEnd hra_deass=_bits() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s8"line" 9ame="L338"> 338     9     93     scsi/3w-9xxx.c#L396" id="L396" cla9s9"line" 9ame="L339"> 339     9     93     nt">/* Fill out event infThis function will empty=>
 340
tw_dev-> 341     9     94     /scsi/3w-9xxx.c#L324" id="L324" cla9s="line" 9ame="L342"> 342     9     94    343     9     94    344     9     94ef="+scsi/3w-9xxx.c#L367" id="L367" cla9s="line" 9ame="L345"> 345     9     945         ->tw_dev-> 346     9     94   descsi/3w-9xxx.c#L369" id="L369" cla9s="line" 9ame="L347"> 347     9     94          ))STATUS_RESPONSE_QUEUE_EMPTYCommand_Full))STATUS_RESPONSE_QUEUE_EMPTYde=c)Neer0) de=hede=hevent" class="srefcouvent-> 348     9     94          ->tw_dev-> 349     9     94          ->tw_dev-> 350     9     95           351     9     95           352     9     95   ))MAX_RESPONSE_DRAINCommand_Full))MAX_RESPONSE_DRAIN+codsscsi/3w-9xxx.c#L396" id="L396" cla9s="line" 9ame="L353"> 353     9     95    354     9     95ef="+scsi/3w-9xxx.c#L367" id="L367" cla9s="line" 9ame="L355"> 355     9     955          356     9     95   degettimeofday" chutCommand_Full 357     9     95          -> 358     9     95     } nt">/* Fill out event infEnd hra_empty_response_refur() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s9"line" 9ame="L359"> 359
 360     9     96     nt">/* Fill out event infThis function will  Fear=>
 361     9     96ef="+static int or_str" class="f"a_empty_response_refur_largrerity__reservedf"a_empty_response_refur_largre=tw_or_str" class=">))Device_ExtensionCommand_Full))Device_Extension     lor_str" class="f">tw_dev-> 362     9     96    363     9  } w96    364
 365     9  if 965          366     9     96   descsi/3w-9xxx.c#L369" id="L369" cla9s="line" 9ame="L367"> 367
tw_dev->tw_dev->tw_e=twe=host" class="sref"dw_icedev->gt; 368     9   369))9550SX_DRAIN_COMPLETEDCommand_Full))9550SX_DRAIN_COMPLETED    s !ULCommand_Full" c>))9550SX_DRAIN_COMPLETEDCommand_Full))9550SX_DRAIN_COMPLETED    s /scsi/3w-9xxx.c#L324" id="L324" cla9s="line" 9ame="L370"> 370     9  ->tw_dev-> 371     9  ret97           372}  373
 374 375stati9 void975         /* Fill out event infP-chip settl => 376{
 377     9   378     9  str97           379     9  -> 380     9  uns98     gettimeofday" chutCommand_Full 381     9  cha98          -> 382     9  cha98   /* Fill out event infEnd hra_empty_response_refur_largr() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s="line" 9ame="L383"> 383
 384     9  /* Fill out event infThis function pilles sense keys from firmware tor6" i layer "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s="line" 9ame="L385"> 385
tw_dev-> 386     9   387     9  ))C
->))C
 388
 389     9   390     9   391     9  if 99vers/scsi/3w-9xxx.c#L412" id="L412" cla9s="line" 9ame="L392"> 392     9     99   tw_dev->->];
 393     9     99    394     9     99ef="+code=tw_ot">/* Fill out event infCheck for=embedded error "tring "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s="line" 9ame="L395"> 395     9  }
<995         ->->-> 396
 397     9  /* Fill out event infDon't print error for=Logical unit not supported during rollcall "drivers/scsi/3w-9xxx.c#L319" id="L319" cla9s="line" 9ame="L398"> 398     9   399
))ERROR_LOGICAL_UNIT_NOT_SUPPORTEDCommand_Full))ERROR_LOGICAL_UNIT_NOT_SUPPORTED+cod)Nde=hede=hevent" class="sreferrorCommand_Full))ERROR_UNIT_OFFLINEdev->))ERROR_UNIT_OFFLINE+codss /scsi/3w-9xxx.c#L324" id="L324" cla10s="line" 10ame="L400"> 400     10ame>100          csi/3w-9xxx.c#L324" id="L324" cla10s1"line" 10ame="L391"> 391     10ame>100          /* Fill o"tring">"="L324":r6" i%d: ERROR: (0x%02X:0x%04X): %s:%s.\n"rivers/,scsi/3w-9xxx.c#L324" id="L324" cla10s2"line" 10ame="L392"> 392     10ame>100   tw_dev-> 393     10ame>100   ))MESSAGE_SOURCE_CONTROLLER_ERRORCommand_Full))MESSAGE_SOURCE_CONTROLLER_ERROR+cod,scsi/3w-9xxx.c#L324" id="L324" cla10s4"line" 10ame="L394"> 394     10ame>100ef="+code=tw_href="+code=hos_       gettimeofday" cfull_c
 395     10ame>1005         /* Fill o"tring">'\0'rivers/ ?scsi/3w-9xxx.c#L324" id="L324" cla10s6"line" 10ame="L396"> 396
100   default:
 397     10ame>100           398     10ame>100          -> 399
100           410     10ame>10am         /* Fill o"tring">"="L324":rERROR: (0x%02X:0x%04X): %s:%s.\n"rivers/,scsi/3w-9xxx.c#L324" id="L324" cla1011"line" 10ame="L411"> 411
10a           412     10ame>10a    413     10ame>10a   /* Fill o"tring">'\0'rivers/ ?scsi/3w-9xxx.c#L324" id="L324" cla1014"line" 10ame="L414"> 414     10ame>10aef="+code=tw_href="+code=hos_       gettimeofday" cf"a_"tring_lookuperity__reservedf"a_"tring_lookupe=tw_or_str" class="f"a_error_tableerity__reservedf"a_error_table"dri,scsi/3w-9xxx.c#L324" id="L324" cla1015"line" 10ame="L415"> 415     10ame>10a5          416     10ame>10a   default:
-> 417     10ame>10a           418     10ame>10a     scsi/3w-9xxx.c#L396" id="L396" cla10a9"line" 10ame="L419"> 419     10ame>10a           420     10ame>10am  default:
tw_dev->];
 421     10ame>10a          tw_dev->];
-> 422     10ame>10a    423     10ame>10a    424
10a4          425     10ame>10a5          326     10ame>10a   degettimeofday" chutCommand_Full 327
10a          -> 328     10ame>10a     } nt">/* Fill out event infEnd hra_fillesense() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla10a9"line" 10ame="L329"> 329     10ame>10a     scsi/3w-9xxx.c#L319" id="L319" cla103="line" 10ame="L330"> 330     10ame>10am  degt">/* Fill out event infThis function will freetup device extensionaresources "drivers/scsi/3w-9xxx.c#L319" id="L319" cla10a1"line" 10ame="L331"> 331     10ame>10aef="+static void or_str" class="f"a_free=device_extensionerity__reservedf"a_free=device_extensione=tw_or_str" class=">))Device_ExtensionCommand_Full))Device_Extension     lor_str" class="f">tw_dev-> 332     10ame>10a    333     10ame>10a   -> 334
10aef="+code=tw_href="+cnr_str" class="pci>free=consistevent->free=consistevee=tw_or_str" class="f">tw_dev->tw_dev->tw_e=twWscsi/3w-9xxx.c#L319" id="L319" cla10a5"line" 10ame="L335"> 335     10ame>10a5          336     10ame>10a   default:
-> 337     10ame>10a           338     10ame>10a     scsi/3w-9xxx.c#L396" id="L396" cla1039"line" 10ame="L339"> 339     10ame>10a           340
10amf="+code=tw_href="+cnr_str" class="pci>free=consistevent->free=consistevee=tw_or_str" class="f">tw_dev->tw_dev->tw_e=twWscsi/3w-9xxx.c#L319" id="L319" cla1041"line" 10ame="L341"> 341     10ame>10a           342     10ame>10a    343     10ame>10a    344     10ame>10aef="+scsi/3w-9xxx.c#L367" id="L367" cla10a5"line" 10ame="L345"> 345     10ame>10a5         tw_dev-> 346     10ame>10a6    } nt">/* Fill out event infEnd hra_free=device_extension() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1047"line" 10ame="L347"> 347     10ame>10a7f="+scsi/3w-9xxx.c#L367" id="L367" cla10a8"line" 10ame="L348"> 348     10ame>10a8  degt">/* Fill out event infThis function will freeta rerefstlin "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1049"line" 10ame="L349"> 349     10ame>10a9f="+static void or_str" class="f"a_free=rerefstrequest_id];
tw_dev-> 350     10ame>10am   351     10ame>10a1         tw_dev->tw_dev->->];
 352     10ame>10a   tw_dev->];
 353     10ame>10a   tw_dev->->tw_dev->-> 354     10ame>10a4    } nt">/* Fill out event infEnd hra_free=rerefstreq() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1055"line" 10ame="L355"> 355     10ame>10a5f="+scsi/3w-9xxx.c#L367" id="L367" cla1056"line" 10ame="L356"> 356     10ame>10a6  degt">/* Fill out event infThis function will get par>  ter table venries from >
 357     10ame>10a7f="+static void lor_str" class="f"a_get_par> uest_id];
 e=tw_or_str" class=">))Device_ExtensionCommand_Full))Device_Extension     lor_str" class="f">tw_dev->  terr"de=_bytes+cod)scsi/3w-9xxx.c#L319" id="L319" cla1058"line" 10ame="L358"> 358     10ame>10a8   359
10a9   360     10ame>10am   361     10ame>10a1          362     10ame>10a    363     10ame>10a    364
10aef="+code=tw_ot">/* Fill out event infSetup >
 365     10ame>10a5         tw_dev->->];
 366     10ame>10a6          367
10a           368     10ame>10a     scsi/3w-9xxx.c#L396" id="L396" cla1069"line" 10ame="L369"> 36910a9   370     10ame>10am   371     10ame>10a1         ];
 372} 10a   -> 373
10a    37410aef="+code=tw_ot">/* Fill out event infNow setup >
  "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1075"line" 10ame="L375"> 375stati10ame>10a5         ];
 376{
10a6          377     10ame>10a           uest_id];
 e=twe=host" class="sref"hablerequest_id];
];
 378     10ame>10a8           terrequest_id];
  terreq+codvernt" class="srefcpu_to_le16Command_Full  terrequest_id];
  terreq+cod)/scsi/3w-9xxx.c#L367" id="L367" cla10a9"line" 10ame="L379"> 379     10ame>10a9    terr"de=_bytesl_command_packepar>  terr"de=_bytes+codvernt" class="srefcpu_to_le16Command_Full  terr"de=_bytesl_command_packepar>  terr"de=_bytes+cod)/scsi/3w-9xxx.c#L367" id="L367" cla108="line" 10ame="L380"> 380     10ame>10am   381     10ame>10a1          uest_id];
 e=tw_minuteswest" clsgldev->tw_dev->];
 382     10ame>10a    uest_id];
 e=tw_minuteswest" clsgldev->-> 383
10a    384     10ame>10aef="+code=tw_ot">/* Fill out event infPost >

 385
10a5         tw_dev-> 386     10ame>10a   descsi/3w-9xxx.c#L369" id="L369" cla10a7"line" 10ame="L387"> 387     10ame>10a          /* Fill out event infPoll forac
 388
10a8         tw_dev-> 389     10ame>10a          ))PRINTKerity__reserved>))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill o"tring">"No valid response during get par> "rivers/)scsi/3w-9xxx.c#L319" id="L319" cla109="line" 10ame="L390"> 390     10ame>10am          391     10ame>10a           392     10ame>10a2  descsi/3w-9xxx.c#L369" id="L369" cla1093"line" 10ame="L393"> 393     10ame>10a   tw_dev->-> 394     10ame>10a4  tw_dev->];
 395     10ame>10a5f="+scsi/3w-9xxx.c#L367" id="L367" cla1096"line" 10ame="L396"> 396
10a6         -> 397     10ame>10a     } nt">/* Fill out event infEnd hra_get_par> () "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1098"line" 10ame="L398"> 398     10ame>10a     scsi/3w-9xxx.c#L396" id="L396" cla1099"line" 10ame="L399"> 399
10a     gt">/* Fill out event infThis function will illign >/*available rerefstlin "drivers/scsi/3w-9xxx.c#L319" id="L319" cla11s="line" 11ame="L400"> 400     11ame>110     static void or_str" class="f"a_get_rerefstrequest_id];
tw_dev-> 391     11ame>110     /scsi/3w-9xxx.c#L324" id="L324" cla11s2"line" 11ame="L392"> 392     11ame>110   tw_dev->tw_dev-> 393     11ame>110   tw_dev->tw_dev-> 394     11ame>1104  tw_dev-> 395     11ame>1105    } nt">/* Fill out event infEnd hra_get_rerefstreq() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla11s6"line" 11ame="L396"> 396
110   descsi/3w-9xxx.c#L369" id="L369" cla11s7"line" 11ame="L397"> 397     11ame>110     gt">/* Fill out event infThis function will send >/*initconnection c
 398     11ame>110     static int or_str" class="f"a_initconnectionuest_id];
tw_dev-> 399
110           410     11ame>11am          411
11a           412     11ame>11a    413     11ame>11a    414     11ame>11aef="+code=tw_href="+code=hos_      unsigned short lor_str" class="fw_on_ctlr_archrequest_id];
 415     11ame>11a5          416     11ame>11a   default:
 417     11ame>111           418     11ame>1118   419     11ame>1119   420     11ame>112m  initconnectdev->initconnect"dri/scsi/3w-9xxx.c#L367" id="L367" cla1121"line" 11ame="L421"> 421     11ame>11a           422     11ame>1122  descsi/3w-9xxx.c#L369" id="L369" cla11a3"line" 11ame="L423"> 423     11ame>11a   /* Fill out event infInitializefInitConnection c
 424
1124  tw_dev->->];
 425     11ame>11a5          326     11ame>1126         -> 327
11a           328     11ame>1128         initconnectdev->initconnect"driNUL_or_str" class=">))Initconnectdev->))Initconnect     l)de=heor_str" class="full_c
 329     11ame>1129  initconnectdev->initconnect"drie=host" class="sref"opsref__reserverCommand_Full))OPRES_INCommand_Full))OPRES_INe=tw_sW_nt" class="sref>))OP_INIT_CONNECTIONCommand_Full))OP_INIT_CONNECTION    s/scsi/3w-9xxx.c#L305" id="L305" cla113="line" 11ame="L330"> 330     11ame>113m  initconnectdev->initconnect"drie=host" class="sref"rerefstrequest_id];
];
 331     11ame>1131         initconnectdev->initconnect"drie=host" class="sref"message_creditsCommand_Full 332     11ame>113   initconnectdev->initconnect"drie=host" class="sref"featuresl_command_packefeatures+codvernt" class="srefset_featuresl_command_packeset_features+cod/scsi/3w-9xxx.c#L305" id="L305" cla1133"line" 11ame="L333"> 333     11ame>113    334
11aef="+code=tw_gt">/* Fill out event infTurn"on 64-bit sgl support =evwe neer to "drivers/scsi/3w-9xxx.c#L319" id="L319" cla11a5"line" 11ame="L335"> 335     11ame>1135         initconnectdev->initconnect"drie=host" class="sref"featuresl_command_packefeatures+codv|=_"de=of_dev" class="sredma_addr_tdev-> 336     11ame>113   descsi/3w-9xxx.c#L369" id="L369" cla11a7"line" 11ame="L337"> 337     11ame>113          initconnectdev->initconnect"drie=host" class="sref"featuresl_command_packefeatures+codvernt" class="srefcpu_to_le32Command_Fullinitconnectdev->initconnect"drie=host" class="sref"featuresl_command_packefeatures+cods/scsi/3w-9xxx.c#L305" id="L305" cla1138"line" 11ame="L338"> 338     11ame>11a     scsi/3w-9xxx.c#L396" id="L396" cla1139"line" 11ame="L339"> 339     11ame>11a          ))EXTENDED_INIT_CONNECTCommand_Full))EXTENDED_INIT_CONNECT+cods /scsi/3w-9xxx.c#L324" id="L324" cla114="line" 11ame="L340"> 340
11amf="+code=tw_href="+cnr_str" class="f">initconnectdev->initconnect"drie=host" class="sref""de=erity__reservedsde=   341     11ame>11a          initconnectdev->initconnect"drie=host" class="sref"fw_srldev->-> 342     11ame>11a   initconnectdev->initconnect"drie=host" class="sref"fw_archrequest_id];
];
 343     11ame>11a   initconnectdev->initconnect"drie=host" class="sref"fw_branchdev->-> 344     11ame>114ef="+code=tw_href="+cnr_str" class="f">initconnectdev->initconnect"drie=host" class="sref"fw_builquest_id];
];
 345     11ame>11a5          346     11ame>114   default:
initconnectdev->initconnect"drie=host" class="sref""de=erity__reservedsde=   347     11ame>11a7f="+scsi/3w-9xxx.c#L367" id="L367" cla11a8"line" 11ame="L348"> 348     11ame>1148         /* Fill out event infSendac

 349     11ame>1149  tw_dev-> 350     11ame>115m   351     11ame>11a1         /* Fill out event infPoll forac
 352     11ame>11a   tw_dev-> 353     11ame>115   tw_dev->/* Fill o"tring">"No valid response during init connection"rivers/)/scsi/3w-9xxx.c#L305" id="L305" cla1154"line" 11ame="L354"> 354     11ame>1154          355     11ame>1155         ))EXTENDED_INIT_CONNECTCommand_Full))EXTENDED_INIT_CONNECT+cods /scsi/3w-9xxx.c#L324" id="L324" cla1156"line" 11ame="L356"> 356     11ame>115   default:
initconnectdev->initconnect"drie=host" class="sref"fw_srldev-> 357     11ame>115          initconnectdev->initconnect"drie=host" class="sref"fw_archrequest_id];
 358     11ame>1158         initconnectdev->initconnect"drie=host" class="sref"fw_branchdev-> 359
115          initconnectdev->initconnect"drie=host" class="sref"fw_builquest_id];
 360     11ame>116m         initconnectdev->initconnect"drie=host" class="sref"resultdev-> 361     11ame>116           362     11ame>116    363     11ame>116    364
116ef="+scsi/3w-9xxx.c#L367" id="L367" cla1165"line" 11ame="L365"> 365     11ame>11a5         tw_dev->-> 366     11ame>11a6         tw_dev->];
 367
1167f="+scsi/3w-9xxx.c#L367" id="L367" cla1168"line" 11ame="L368"> 368     11ame>1168         -> 36911a9  /* Fill out event infEnd hra_initconnection() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla117="line" 11ame="L370"> 370     11ame>117m   371     11ame>11a1    gt">/* Fill out event infThis function will initializef>
 372} 11a   tw_dev-> 373
11a    37411aef="+code=tw_int or_str" class="idev-> 375stati11ame>1175f="+scsi/3w-9xxx.c#L367" id="L367" cla1176"line" 11ame="L376"> 376{
11a6         /* Fill out event infInitializefc
 377     11ame>11a          tw_dev-> 378     11ame>1178         tw_dev->/* Fill o"tring">"C
 379     11ame>117           380     11ame>118m          381     11ame>11a1    scsi/3w-9xxx.c#L396" id="L396" cla1182"line" 11ame="L382"> 382     11ame>11a   /* Fill out event infInitializefgeneric ="srefa"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1183"line" 11ame="L383"> 383
1183         tw_dev-> 384     11ame>118ef="+code=tw_href="+cnr_str" class=">))PRINTKerity__reserved>))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill o"tring">"Generic memory allocationafailed"rivers/)/scsi/3w-9xxx.c#L305" id="L305" cla1185"line" 11ame="L385"> 385
1185          386     11ame>1186          387     11ame>1187f="+scsi/3w-9xxx.c#L367" id="L367" cla1188"line" 11ame="L388"> 388
1188         /* Fill out event infAllocatr eveve_info t">ce "drivers/scsi/3w-9xxx.c#L319" id="L319" cla11a9"line" 11ame="L389"> 389     11ame>1189  tw_dev-> 390     11ame>11am         tw_dev-> 391     11ame>11a          tw_dev->/* Fill o"tring">"Eveve_info memory allocationafailed"rivers/)/scsi/3w-9xxx.c#L305" id="L305" cla1192"line" 11ame="L392"> 392     11ame>119    393     11ame>119    394     11ame>119ef="+scsi/3w-9xxx.c#L367" id="L367" cla1195"line" 11ame="L395"> 395     11ame>11a5f="+scsi/3w-9xxx.c#L367" id="L367" cla1196"line" 11ame="L396"> 396
11a6          397     11ame>119          tw_dev-> 398     11ame>1198         ->-> 399
119          tw_dev->->))S_INITIALdev->))S_INITIAL+cod/scsi/3w-9xxx.c#L367" id="L367" cla12s="line" 12ame="L400"> 400     12ame>120m          391     12ame>1201    scsi/3w-9xxx.c#L396" id="L396" cla12s2"line" 12ame="L392"> 392     12ame>120   tw_dev-> 393     12ame>120   tw_dev-> 394     12ame>1204  tw_dev-> 395     12ame>1205         tw_dev-> 396
1206         tw_dev->];
 397     12ame>120          tw_dev-> 398     12ame>120     scsi/3w-9xxx.c#L396" id="L396" cla1209"line" 12ame="L399"> 399
1209  tw_dev->-> 410     12ame>121m  tw_dev-> 411
1211    scsi/3w-9xxx.c#L396" id="L396" cla1212"line" 12ame="L412"> 412     12ame>121    413     12ame>12a    414     12ame>12aef="+code=tw_return"t" class="sref"retvaldev-> 415     12ame>1215    } nt">/* Fill out event infEnd hra_initialize_device_extension() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1216"line" 12ame="L416"> 416     12ame>121   descsi/3w-9xxx.c#L369" id="L369" cla1217"line" 12ame="L417"> 417     12ame>121     gt">/* Fill out event infThis function is >
 418     12ame>121     static t" class="sref"irqreturn_tdev->-> 419     12ame>1219   420     12ame>122m   421     12ame>1221          422     12ame>122    423     12ame>122    424
1224  tw_dev->-> 425     12ame>12a5          326     12ame>122   descsi/3w-9xxx.c#L369" id="L369" cla12a7"line" 12ame="L327"> 327
122          /* Fill out event infGet >
 328     12ame>1228         tw_dev->-> 329     12ame>1229   330     12ame>123m  /* Fill out event infRead >
 331     12ame>1231         ->tw_dev-> 332     12ame>1232  descsi/3w-9xxx.c#L369" id="L369" cla1233"line" 12ame="L333"> 333     12ame>123   /* Fill out event infCheck if >
is is ourainterrupt, o>
 334
12aef="+code=tw_=eve!ent" class="srefstatus_reg_valurerity__reservedstatus_reg_valur"driNde=heLCommand_Full" c>))STATUS_VALID_INTERRUPTCommand_Full))STATUS_VALID_INTERRUPT+cod))scsi/3w-9xxx.c#L319" id="L319" cla12a5"line" 12ame="L335"> 335     12ame>1235          336     12ame>123   descsi/3w-9xxx.c#L369" id="L369" cla12a7"line" 12ame="L337"> 337     12ame>123           338     12ame>12a     scsi/3w-9xxx.c#L396" id="L396" cla1239"line" 12ame="L339"> 339     12ame>12a          /* Fill out event infIevwe ar 340
124m         tw_dev-> 341     12ame>12a           342     12ame>1242  descsi/3w-9xxx.c#L369" id="L369" cla1243"line" 12ame="L343"> 343     12ame>124   /* Fill out event infCheck c
ntroller foraerrorsa"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1244"line" 12ame="L344"> 344     12ame>124ef="+code=tw_=event" class="sreff"a_checkrbitsl_command_packef"a_checkrbitse=tw_or_str" class="status_reg_valurerity__reservedstatus_reg_valur"dris) /scsi/3w-9xxx.c#L324" id="L324" cla1245"line" 12ame="L345"> 345     12ame>1245         tw_dev-> 346     12ame>124   default:
))CLEAR_ALL_INTERRUPTSdev->))CLEAR_ALL_INTERRUPTSe=tw_or_str" class="f">tw_dev-> 347     12ame>124           348     12ame>1248          349     12ame>1249   350     12ame>125m   351     12ame>12a1         /* Fill out event infH hrle hostainterrupt "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1252"line" 12ame="L352"> 352     12ame>12a   ))STATUS_HOST_INTERRUPTCommand_Full))STATUS_HOST_INTERRUPT+cod)scsi/3w-9xxx.c#L319" id="L319" cla1253"line" 12ame="L353"> 353     12ame>125   tw_dev-> 354     12ame>125ef="+scsi/3w-9xxx.c#L367" id="L367" cla1255"line" 12ame="L355"> 355     12ame>1255         /* Fill out event infH hrle attvenion interrupt "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1256"line" 12ame="L356"> 356     12ame>125   default:
<=event" class="srefstatus_reg_valurerity__reservedstatus_reg_valur"driNde=heLCommand_Full" c>))STATUS_ATTENTION_INTERRUPTCommand_Full))STATUS_ATTENTION_INTERRUPT+cod) /scsi/3w-9xxx.c#L324" id="L324" cla1257"line" 12ame="L357"> 357     12ame>125          ))CLEAR_ATTENTION_INTERRUPTCommand_Full))CLEAR_ATTENTION_INTERRUPTe=tw_or_str" class="f">tw_dev-> 358     12ame>1258         tw_dev-> 359
125          tw_dev-> 360     12ame>126m   361     12ame>126          tw_dev-> 362     12ame>126    363     12ame>126   tw_dev->];
 364
126ef="+code=tw_href="+code=hos_      hrnt" class="sreff"a_free=rerefstreqerity__reservedf"a_free=rerefstreqe=tw_or_str" class="f">tw_dev-> 365     12ame>1265         tw_dev-> 366     12ame>126   default:
 367
126           368     12ame>1268          3691269   370     12ame>127m  /* Fill out event infH hrle c
 371     12ame>127          ))STATUS_COMMAND_INTERRUPTCommand_Full))STATUS_COMMAND_INTERRUPT"dri) /scsi/3w-9xxx.c#L324" id="L324" cla1272"line" 12ame="L372"> 372} 127   tw_dev-> 373
127   /* Fill out event infDrain as a hy pending c
 374127ef="+code=tw_href="+cwhile _or_str" class="f">tw_dev->-> 375stati12ame>1275         tw_dev->tw_dev-> 376{
127   default:
tw_dev->];
 377     12ame>127          tw_dev->/* Fill o"tring">"Fouvd rerefstlin that wasn't pending"rivers/)/scsi/3w-9xxx.c#L305" id="L305" cla12a8"line" 12ame="L378"> 378     12ame>1278         tw_dev-> 379     12ame>127           380     12ame>128m          381     12ame>128          tw_dev-> 382     12ame>128   tw_dev->tw_dev-> 383
128   tw_dev->-> 384     12ame>128ef="+code=tw_href="+c      385
1285         /* Fill out event infIevwe get here,vwe will c
ntinu
 386     12ame>128   default:
 387     12ame>128           388
1288          389     12ame>1289   390     12ame>129m   391     12ame>1291         /* Fill out event infH hrle response interrupt "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1292"line" 12ame="L392"> 392     12ame>129   ))STATUS_RESPONSE_INTERRUPTCommand_Full))STATUS_RESPONSE_INTERRUPT"dri) /scsi/3w-9xxx.c#L324" id="L324" cla1293"line" 12ame="L393"> 393     12ame>129    394     12ame>129ef="+code=tw_href="+cnt">/* Fill out event infDrain >

 395     12ame>1295         ))STATUS_RESPONSE_QUEUE_EMPTYCommand_Full))STATUS_RESPONSE_QUEUE_EMPTY"dri) == 0) /scsi/3w-9xxx.c#L324" id="L324" cla1296"line" 12ame="L396"> 396
129   default:
/* Fill out event infC

 397     12ame>129          ->tw_dev-> 398     12ame>1298         ))RESID_OUTCommand_Full))RESID_OUTe=tw_or_str" class="response=refuest_id];
 399
129          tw_dev->->];
 400     13ame>130m          391     13ame>130          /* Fill out event infCheck forac
 392     13ame>130   -> 393     13ame>130   tw_dev->];
 394     13ame>130ef="+code=tw_href="+code=hos_      hr     tw_dev-> 395     13ame>1305          396
130   default:
/* Fill out event infSkip ioctl error printsa"drivers/scsi/3w-9xxx.c#L319" id="L319" cla13s7"line" 13ame="L397"> 397     13ame>130          tw_dev-> 398     13ame>1308         tw_dev-> 399
130           410     13ame>131m          411
131           412     13ame>1312  descsi/3w-9xxx.c#L369" id="L369" cla1313"line" 13ame="L413"> 413     13ame>131   /* Fill out event infCheck forac
rrect statra"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1314"line" 13ame="L414"> 414     13ame>131ef="+code=tw_href="+code=hos_=event" class="sreff">tw_dev->];
 415     13ame>1315         tw_dev->];
 416     13ame>131   default:
tw_dev->/* Fill o"tring">"Rece.c#d a rerefstlin that wasn't posted"rivers/)/scsi/3w-9xxx.c#L305" id="L305" cla1317"line" 13ame="L417"> 417     13ame>131          tw_dev-> 418     13ame>1318          419     13ame>131           420     13ame>132m          421     13ame>1321    scsi/3w-9xxx.c#L396" id="L396" cla13a2"line" 13ame="L422"> 422     13ame>132   /* Fill out event infCheck forainternalac
 423     13ame>132   tw_dev->];
 424
132ef="+code=tw_href="+code=hos_      hr=event" class="srefrerefstrequest_id];
tw_dev-> 425     13ame>1325         tw_dev-> 326     13ame>132   default:
tw_dev->/* Fill o"tring">"Error c
 327
132           328     13ame>1328         tw_dev-> 329     13ame>132          tw_dev-> 330     13ame>133m          331     13ame>133           332     13ame>133   -> 333     13ame>133    334
133ef="+code=tw_href="+code=hos_      hror_str" class="cmquest_id];
tw_dev->];
 335     13ame>1335f="+scsi/3w-9xxx.c#L367" id="L367" cla13a6"line" 13ame="L336"> 336     13ame>133   default:
tw_dev-> 337     13ame>133          /* Fill out event infIevno error c
 338     13ame>1338          339     13ame>133           340
134m          341     13ame>1341    scsi/3w-9xxx.c#L396" id="L396" cla1342"line" 13ame="L342"> 342     13ame>134   /* Fill out event infIeverror, c
 343     13ame>134    344     13ame>134ef="+code=tw_href="+code=hos_      hr     /* Fill out event infAsk foraa hostareseta"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1345"line" 13ame="L345"> 345     13ame>1345          346     13ame>134   default:
 347     13ame>134     scsi/3w-9xxx.c#L396" id="L396" cla1348"line" 13ame="L348"> 348     13ame>1348         /* Fill out event infReportaresidual bytes forasingle sgla"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1349"line" 13ame="L349"> 349     13ame>134          ->-> 350     13ame>135m         ->->tw_dev->];
 351     13ame>135          ];
->-> 352     13ame>135    353     13ame>135    354     13ame>135ef="+code=tw_href="+code=hos_      hrot">/* Fill out event infNow c

 355     13ame>1355         tw_dev->];
 356     13ame>135   default:
tw_dev-> 357     13ame>135          tw_dev->-> 358     13ame>1358         tw_dev->];
tw_dev->];
 359
135          tw_dev-> 360     13ame>136m          361     13ame>1361    scsi/3w-9xxx.c#L396" id="L396" cla1362"line" 13ame="L362"> 362     13ame>136   /* Fill out event infCheck foravalid status after each drain "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1363"line" 13ame="L363"> 363     13ame>136   ->tw_dev-> 364
136ef="+code=tw_href="+code=hos_=event" class="sreff"a_checkrbitsl_command_packef"a_checkrbitse=tw_or_str" class="status_reg_valurerity__reservedstatus_reg_valur"dris) /scsi/3w-9xxx.c#L324" id="L324" cla1365"line" 13ame="L365"> 365     13ame>1365         tw_dev-> 366     13ame>136   default:
tw_dev-> 367
136           368     13ame>1368          369136           370     13ame>137m          371     13ame>137           372} 1372  descsi/3w-9xxx.c#L369" id="L369" cla1373"line" 13ame="L373"> 373
137    374137ef="+code=tw_nt" class="srefspin_unlockdev->tw_dev->-> 375stati13ame>1375          376{
137   de}/* Fill out event infEnd f"a_interrupt() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1377"line" 13ame="L377"> 377     13ame>137     scsi/3w-9xxx.c#L396" id="L396" cla13a8"line" 13ame="L378"> 378     13ame>1378    nt">/* Fill out event infT
is funcnion will load >
 379     13ame>137     static voin nt" class="sreff"a_load_sglerity__reservedf"a_load_sgle=tw_or_str" class=">))Device_Extensiondev->))Device_Extension  tw_dev-> 380     13ame>138m    /scsi/3w-9xxx.c#L324" id="L324" cla1381"line" 13ame="L381"> 381     13ame>1381          382     13ame>138    383
138    384     13ame>138ef="+code=tw_unsigned int_nt" class="srefpaeCommand_Full 385
1385f="+scsi/3w-9xxx.c#L367" id="L367" cla1386"line" 13ame="L386"> 386     13ame>138   default:
<=eveesizeof(long)Ndlt; 8) de=hede=heLesizeof(nt" class="srefdma_addr_tCommand_Full 387     13ame>138           388
138     scsi/3w-9xxx.c#L396" id="L396" cla13a9"line" 13ame="L389"> 389     13ame>1389  -> 390     13ame>139m         -> 391     13ame>139          ];
 392     13ame>139   gt;];
 393     13ame>139    394     13ame>139ef="+code=tw_href="+chref="+ctt" class="srefnewc
->))CPU_TO)SGLdev->))CPU_TO)SGLe=tw_or_str" class="dma_h hrleCommand_Full 395     13ame>1395         gt; 396
139   default:
 397     13ame>139           398     13ame>1398         gt; 399
139           400     14ame>140m         -> 391     14ame>140          ];
];
 392     14ame>1402  descsi/3w-9xxx.c#L369" id="L369" cla14s3"line" 14ame="L393"> 393     14ame>140    394     14ame>140ef="+code=tw_href="+code=hos_nt">/* Fill out event infLoad >
 395     14ame>1405         tw_dev->tw_dev->tw_+code=host" class="sref"deviceCommand_Full 396
140   default:
gt; 397     14ame>140           398     14ame>1408         gt; 399
140          ))CPU_TO)SGLdev->))CPU_TO)SGLe=tw_or_str" class="dma_h hrleCommand_Full 410     14ame>141m         gt; 411
1411    scsi/3w-9xxx.c#L396" id="L396" cla1412"line" 14ame="L412"> 412     14ame>141   -> 413     14ame>141    414     14ame>141ef="+code=tw_/scsi/3w-9xxx.c#L396" id="L396" cla1415"line" 14ame="L415"> 415     14ame>1415    }/* Fill out event infEnd f"a_load_sgl() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1416"line" 14ame="L416"> 416     14ame>14ame=twscsi/3w-9xxx.c#L319" id="L319" cla1417"line" 14ame="L417"> 417     14ame>141     nt">/* Fill out event infT
is funcnion will perform a pci-dma mapping foraa scattvr ga>
 418     14ame>1418    static int_nt" class="sreff"a_map_4" i_sg_dataerity__reservedf"a_map_4" i_sg_datae=tw_or_str" class=">))Device_Extensiondev->))Device_Extension  tw_dev-> 419     14ame>141     /scsi/3w-9xxx.c#L324" id="L324" cla142="line" 14ame="L420"> 420     14ame>142m         gt; 421     14ame>142          ->tw_dev->];
 422     14ame>1422  descsi/3w-9xxx.c#L369" id="L369" cla14a3"line" 14ame="L423"> 423     14ame>142   gt;-> 424
142ef="+code=tw_=eve!or_str" class="use_sge="L332">gt; 425     14ame>1425          326     14ame>142   default:
gt; 327
142          tw_dev->/* Fill o"tring">"Failedato map scattvr ga>
 328     14ame>1428          329     14ame>1429   330     14ame>143m   331     14ame>1431         ->))PHASE)SGLISTCommand_Full))PHASE)SGLIST"dri/scsi/3w-9xxx.c#L367" id="L367" cla1432"line" 14ame="L332"> 332     14ame>143   ->gt; 333     14ame>143    334
143ef="+code=tw_return_nt" class="srefuse_sge="L332">gt; 335     14ame>1435    }/* Fill out event infEnd f"a_map_4" i_sg_data() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla14a6"line" 14ame="L336"> 336     14ame>143me=twscsi/3w-9xxx.c#L319" id="L319" cla1437"line" 14ame="L337"> 337     14ame>143     nt">/* Fill out event infT
is funcnion will poll foraa response interrupt of a rerefstl"drivers/scsi/3w-9xxx.c#L319" id="L319" cla14a8"line" 14ame="L338"> 338     14ame>1438    static int_nt" class="sreff"a_poll_responseerity__reservedf"a_poll_responsee=tw_or_str" class=">))Device_Extensiondev->))Device_Extension  tw_dev-> 339     14ame>143     /scsi/3w-9xxx.c#L324" id="L324" cla144="line" 14ame="L340"> 340
144m          341     14ame>1441          342     14ame>144   tw_dev->->];
 343     14ame>144    344     14ame>144ef="+code=tw_=event" class="sreff"a_poll_status_gonrerity__reservedf"a_poll_status_gonre=tw_or_str" class="f">tw_dev-> 345     14ame>1445         ->tw_dev-> 346     14ame>144   default:
))RESID_OUTCommand_Full))RESID_OUTe=tw_or_str" class="response=refurerity__reservedresponse=refur"dri.tt" class="srefresponse=equest_id];
 347     14ame>144           348     14ame>1448         tw_dev->/* Fill o"tring">"Fouhr unexpectedarerefstlin while polling foraresponse"rivers/)/scsi/3w-9xxx.c#L305" id="L305" cla1449"line" 14ame="L349"> 349     14ame>144           350     14ame>145m          351     14ame>145          -> 352     14ame>145   -> 353     14ame>145   /* Fill out event infbad response "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1454"line" 14ame="L354"> 354     14ame>145ef="+code=tw_href="+code=hos_      hrot" class="sreff"a_fill_senseerity__reservedf"a_fill_sensee=tw_or_str" class="f">tw_dev-> 355     14ame>1455          356     14ame>145   default:
 357     14ame>145           358     14ame>1458          359
145          -> 360     14ame>146m         /* Fill out event infbad response "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1461"line" 14ame="L361"> 361     14ame>146          tw_dev-> 362     14ame>146    363     14ame>146    364
146ef="+code=tw_href="+code=hos_nt" class="sreffouhrdev-> 365     14ame>1465          366     14ame>146   default:
 367
146     scsi/3w-9xxx.c#L396" id="L396" cla1468"line" 14ame="L368"> 368     14ame>1468          369146           370     14ame>147m    nt" class="srefoutCommand_Full 371     14ame>147           372} 1472  de}/* Fill out event infEnd f"a_poll_response() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1473"line" 14ame="L373"> 373
147    374147ef="+nt">/* Fill out event infT
is funcnion will poll >
 375stati14ame>1475    static int_nt" class="sreff"a_poll_statuserity__reservedf"a_poll_statuse=tw_or_str" class=">))Device_Extensiondev->))Device_Extension  tw_dev->gt; 376{
147   de/scsi/3w-9xxx.c#L324" id="L324" cla1477"line" 14ame="L377"> 377     14ame>147          gt; 378     14ame>1478          379     14ame>1479   380     14ame>148m   381     14ame>1481         ->tw_dev-> 382     14ame>148    383
148    384     14ame>148ef="+code=tw_=event" class="sreff"a_checkrbitsl_command_packef"a_checkrbitse=tw_or_str" class="status_reg_valurerity__reservedstatus_reg_valur"dris)scsi/3w-9xxx.c#L324" id="L324" cla1485"line" 14ame="L385"> 385
1485         tw_dev-> 386     14ame>148me=twscsi/3w-9xxx.c#L319" id="L319" cla1487"line" 14ame="L387"> 387     14ame>148           388
1488         ->tw_dev-> 389     14ame>1489   390     14ame>149m          391     14ame>149          tw_dev-> 392     14ame>1492  descsi/3w-9xxx.c#L369" id="L369" cla1493"line" 14ame="L393"> 393     14ame>149    394     14ame>149ef="+code=tw_href="+chref="+cgoto_nt" class="srefoutCommand_Full 395     14ame>1495f="+scsi/3w-9xxx.c#L367" id="L367" cla1496"line" 14ame="L396"> 396
149   default:
 397     14ame>149           398     14ame>1498          399
149     nt" class="srefoutCommand_Full 400     15ame>150m          391     15ame>150     }/* Fill out event infEnd f"a_poll_status() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla15s2"line" 15ame="L392"> 392     15ame>1502  descsi/3w-9xxx.c#L369" id="L369" cla15s3"line" 15ame="L393"> 393     15ame>150   /* Fill out event infT
is funcnion will poll >
 394     15ame>150ef="+static int_nt" class="sreff"a_poll_status_gonrerity__reservedf"a_poll_status_gonre=tw_or_str" class=">))Device_Extensiondev->))Device_Extension  tw_dev->gt; 395     15ame>1505    /scsi/3w-9xxx.c#L324" id="L324" cla15s6"line" 15ame="L396"> 396
150   default:
gt; 397     15ame>150           398     15ame>1508          399
1509   410     15ame>151m         ->tw_dev-> 411
1511          412     15ame>1512  descsi/3w-9xxx.c#L369" id="L369" cla1513"line" 15ame="L413"> 413     15ame>151    414     15ame>151ef="+code=tw_href="+cnt" class="sreff"a_de"srerbitsl_command_packef"a_de"srerbitse=tw_or_str" class="f">tw_dev-> 415     15ame>1515f="+scsi/3w-9xxx.c#L367" id="L367" cla1516"line" 15ame="L416"> 416     15ame>151   default:
 417     15ame>151          ->tw_dev-> 418     15ame>1518          419     15ame>151          tw_dev-> 420     15ame>152m   421     15ame>152           422     15ame>152    423     15ame>152    424
152ef="+code=tw_href="+cnt" class="srefmsleepdev-> 425     15ame>1525          326     15ame>152   default:
 327
152     nt" class="srefoutCommand_Full 328     15ame>1528          329     15ame>1529  /* Fill out event infEnd f"a_poll_status_gonr() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla153="line" 15ame="L330"> 330     15ame>153m   331     15ame>1531    nt">/* Fill out event infT
is funcnion will attvmptato post a c

 332     15ame>153   tw_dev-> 333     15ame>153    334
153ef="+code=tw_nt" class="srefuame="L332">gt; 335     15ame>1535f="+code=tw_nt" class="srefdma_addr_tCommand_Full 336     15ame>153   default:
<=nt_nt" class="srefretvaluest_id];
 337     15ame>153     scsi/3w-9xxx.c#L396" id="L396" cla15a8"line" 15ame="L338"> 338     15ame>1538         tw_dev->];
 339     15ame>1539   340
154m         /* Fill out event infFor 9650SE write low 4 bytes firstl"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1541"line" 15ame="L341"> 341     15ame>1541         tw_dev->tw_dev->tw_+code=host" class="sref"deviceCommand_Full 342     15ame>154   tw_dev->tw_dev->tw_+code=host" class="sref"deviceCommand_Full 343     15ame>154   ))COMMAND_OFFSETCommand_Full))COMMAND_OFFSET"dri;scsi/3w-9xxx.c#L324" id="L324" cla1544"line" 15ame="L344"> 344     15ame>154ef="+code=tw_href="+cnt" class="srefwriteluest_id];
gt;tw_dev-> 345     15ame>1545          346     15ame>154me=twscsi/3w-9xxx.c#L319" id="L319" cla1547"line" 15ame="L347"> 347     15ame>154          ->tw_dev-> 348     15ame>1548    scsi/3w-9xxx.c#L367" id="L324" cla1549"line" 15ame="L349"> 349     15ame>154           350     15ame>155m         tw_dev-> 351     15ame>1551    scsi/3w-9xxx.c#L396" id="L396" cla1552"line" 15ame="L352"> 352     15ame>155   tw_dev->tw_dev->];
 353     15ame>155    354     15ame>155ef="+code=tw_href="+cnt">/* Fill out event infOnly pend internal xx.c#L c
 355     15ame>1555          356     15ame>155   default:
 357     15ame>155           358     15ame>1558          359
1559   360     15ame>156m         /* Fill out event infCouldn't post >
 361     15ame>156          tw_dev->];
 362     15ame>156   tw_dev->];
 363     15ame>156   tw_dev-> 364
156ef="+code=tw_href="+code=hos_=event" class="sreff">tw_dev->tw_dev-> 365     15ame>1565         tw_dev->tw_dev-> 366     15ame>156   default:
 367
156          tw_dev->];
 368     15ame>1568         ];
];
 369156           370     15ame>157m         tw_dev-> 371     15ame>157           372} 157    373
157   tw_dev->tw_dev->tw_+code=host" class="sref"deviceCommand_Full 374157ef="+code=tw_href="+code=eCommand_Full" c_s>tw_dev->tw_dev->tw_+code=host" class="sref"deviceCommand_Full 375stati15ame>1575         /* Fill out event infNow write uppvr 4 bytes "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1576"line" 15ame="L376"> 376{
157   default:
gt;gt;tw_dev-> 377     15ame>157           378     15ame>1578          379     15ame>157          ))COMMAND_OFFSETCommand_Full))COMMAND_OFFSET"dri;scsi/3w-9xxx.c#L324" id="L324" cla158="line" 15ame="L380"> 380     15ame>158m         gt;tw_dev-> 381     15ame>158          gt;gt;tw_dev-> 382     15ame>158    383
158   ))COMMAND_OFFSETCommand_Full))COMMAND_OFFSET"driN+ nt" class="srefc
tw_dev-> 384     15ame>158ef="+code=tw_href="+code=hos_/scsi/3w-9xxx.c#L367" id="L367" cla1585"line" 15ame="L385"> 385
1585          386     15ame>158   default:
tw_dev->];
 387     15ame>158           388
1588         tw_dev->tw_dev-> 389     15ame>158          tw_dev->tw_dev-> 390     15ame>159m          391     15ame>159           392     15ame>159    393     15ame>159    394     15ame>159ef="+code=tw_return_nt" class="srefretvaluest_id];
 395     15ame>1595f="+}/* Fill out event infEnd f"a_post_c
 396
159me=twscsi/3w-9xxx.c#L319" id="L319" cla1597"line" 15ame="L397"> 397     15ame>159     nt">/* Fill out event infT
is funcnion will reset a device extension "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1598"line" 15ame="L398"> 398     15ame>1598    static int_nt" class="sreff"a_reset_device_extensiondev->))Device_Extensiondev->))Device_Extension  tw_dev-> 399
159     /scsi/3w-9xxx.c#L324" id="L324" cla16s="line" 16ame="L400"> 400     16ame>160m          391     16ame>1601          392     16ame>160    393     16ame>160    394     16ame>160ef="+code=tw_nt" class="srefset_bitCommand_Full))IN)RESETCommand_Full))IN)RESET"driW_de=heCommand_Full" c_s>tw_dev-> 395     16ame>1605f="+code=tw_nt" class="sref>))DISABLE_INTERRUPTSdev->))DISABLE_INTERRUPTSe=tw_or_str" class="f">tw_dev-> 396
160   default:
tw_dev-> 397     16ame>160          tw_dev-> 398     16ame>1608    scsi/3w-9xxx.c#L367" id="L324" cla16s9"line" 16ame="L399"> 399
160          /* Fill out event infAbort all rerefsts that are in progress "drivers/scsi/3w-9xxx.c#L319" id="L319" cla161="line" 16ame="L410"> 410     16ame>161m          411
161          tw_dev->-> 412     16ame>161   tw_dev->-> 413     16ame>161   tw_dev->-> 414     16ame>161ef="+code=tw_href="+chref="+c=event" class="sreff">tw_dev->-> 415     16ame>1615         tw_dev->-> 416     16ame>161   default:
tw_dev->->tw_dev->-> 417     16ame>161          ->tw_dev-> 418     16ame>1618          419     16ame>161           420     16ame>162m          421     16ame>1621    scsi/3w-9xxx.c#L396" id="L396" cla1622"line" 16ame="L422"> 422     16ame>162   /* Fill out event infReset refurs  hr counts "drivers/scsi/3w-9xxx.c#L319" id="L319" cla16a3"line" 16ame="L423"> 423     16ame>162    424
162ef="+code=tw_href="+cnt" class="sref_s>tw_dev->-> 425     16ame>1625         tw_dev->-> 326     16ame>162   default:
 327
162          ];
))Q_STARTCommand_Full))Q_START   328     16ame>1628         ];
))Q_STARTCommand_Full))Q_START   329     16ame>1629          330     16ame>163m         tw_dev-> 331     16ame>1631         tw_dev->];
))Q_STARTCommand_Full))Q_START   332     16ame>163   ];
))Q_STARTCommand_Full))Q_START   333     16ame>1633   334
163ef="+scsi/3w-9xxx.c#L369" id="L369" cla1635"line" 16ame="L335"> 335     16ame>1635f="+code=tw_nt" class="srefspin_unlock_irqrestorrerity__reservedspin_unlock_irqrestorre=tw_or_str" class="f">tw_dev-> 336     16ame>163me=twscsi/3w-9xxx.c#L319" id="L319" cla1637"line" 16ame="L337"> 337     16ame>163          tw_dev-> 338     16ame>1638          339     16ame>1639   340
164m         tw_dev-> 341     16ame>1641         ))IN)RESETCommand_Full))IN)RESET"driW_de=heCommand_Full" c_s>tw_dev-> 342     16ame>164   ))IOCTL_CHRDEV_FREECommand_Full))IOCTL_CHRDEV_FREE"dri/scsi/3w-9xxx.c#L367" id="L367" cla1643"line" 16ame="L343"> 343     16ame>164    344     16ame>164ef="+code=tw_nt" class="srefretvaluest_id];
 345     16ame>1645    nt" class="srefoutCommand_Full 346     16ame>164   default:
 347     16ame>164     }/* Fill out event infEnd f"a_reset_device_extension() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1648"line" 16ame="L348"> 348     16ame>1648    scsi/3w-9xxx.c#L367" id="L324" cla1649"line" 16ame="L349"> 349     16ame>164     nt">/* Fill out event infT
is funcnion will reset a controllvr "drivers/scsi/3w-9xxx.c#L319" id="L319" cla165="line" 16ame="L350"> 350     16ame>165m    static int_nt" class="sreff"a_reset_serefnceCommand_Fulltw_dev-> 351     16ame>1651    /scsi/3w-9xxx.c#L324" id="L324" cla1652"line" 16ame="L352"> 352     16ame>165    353     16ame>165    354     16ame>165ef="+code=tw_while ent" class="sreffrieserity__reservedfries"driN< nt" class="sref>))MAX)RESET_TRIESdev->))MAX)RESET_TRIES   355     16ame>1655          356     16ame>165   default:
tw_dev-> 357     16ame>165          /* Fill out event infClear pchip/response refur on 9550SX "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1658"line" 16ame="L358"> 358     16ame>1658         tw_dev-> 359
165          tw_dev->/* Fill osfring">"Response refur (large) vmpty failed during reset serefnce"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla166="line" 16ame="L360"> 360     16ame>166m          361     16ame>166           362     16ame>166    363     16ame>166    364
166ef="+code=tw_href="+c/scsi/3w-9xxx.c#L367" id="L367" cla1665"line" 16ame="L365"> 365     16ame>1665f="+scsi/3w-9xxx.c#L367" id="L367" cla1666"line" 16ame="L366"> 366     16ame>166   default:
/* Fill out event infMake sure controllvr is in a good state "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1667"line" 16ame="L367"> 367
166          tw_dev-> 368     16ame>1668         tw_dev->/* Fill osfring">"Microcontrollvr not ready during reset serefnce"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1669"line" 16ame="L369"> 369166           370     16ame>167m          371     16ame>167           372} 167    373
167    374167ef="+code=tw_href="+cnt">/* Fill out event infEmpty response refur "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1675"line" 16ame="L375"> 375stati16ame>1675         tw_dev-> 376{
167   default:
tw_dev->/* Fill osfring">"Response refur vmpty failed during reset serefnce"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1677"line" 16ame="L377"> 377     16ame>167           378     16ame>1678          379     16ame>167           380     16ame>168m          381     16ame>1681    scsi/3w-9xxx.c#L396" id="L396" cla1682"line" 16ame="L382"> 382     16ame>168    383
168    384     16ame>168ef="+code=tw_href="+cnt">/* Fill out event infCheck+foraut patibility/flash "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1685"line" 16ame="L385"> 385
1685         ];
tw_dev->];
 386     16ame>168   default:
tw_dev->/* Fill osfring">"Ct patibility check+failed during reset serefnce"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1687"line" 16ame="L387"> 387     16ame>168           388
1688          389     16ame>168           390     16ame>169m          391     16ame>169           392     16ame>169    393     16ame>169    394     16ame>169ef="+code=tw_href="+chref="+c/scsi/3w-9xxx.c#L367" id="L367" cla1695"line" 16ame="L395"> 395     16ame>1695          396
169me=twscsi/3w-9xxx.c#L319" id="L319" cla1697"line" 16ame="L397"> 397     16ame>169          /* Fill out event infDrain >
 398     16ame>1698         tw_dev-> 399
169          tw_dev->/* Fill osfring">"AEN drain+failed during reset serefnce"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla17s="line" 17ame="L400"> 400     17ame>170m          391     17ame>170           392     17ame>170    393     17ame>170    394     17ame>170ef="+scsi/3w-9xxx.c#L369" id="L369" cla17s5"line" 17ame="L395"> 395     17ame>1705         /* Fill out event infIf we got here, controllvr is in a good state "drivers/scsi/3w-9xxx.c#L319" id="L319" cla17s6"line" 17ame="L396"> 396
170   default:
 397     17ame>170           398     17ame>1708          399
170     nt" class="srefoutCommand_Full 410     17ame>171m          411
171     }/* Fill out event infEnd f"a_reset_serefnce() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1712"line" 17ame="L412"> 412     17ame>171    413     17ame>171   /* Fill out event infT
is funciton returns unit geometry in cy 41d#L31heaq319ectors "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1714"line" 17ame="L414"> 414     17ame>171ef="+static int_nt" class="sreff"a_7" i_bioverramCommand_Full 415     17ame>1715    /scsi/3w-9xxx.c#L324" id="L324" cla1716"line" 17ame="L416"> 416     17ame>171   default:
 417     17ame>171          tw_dev-> 418     17ame>1718    scsi/3w-9xxx.c#L367" id="L324" cla1719"line" 17ame="L419"> 419     17ame>1719         -> 420     17ame>172m    scsi/3w-9xxx.c#L369" id="L369" cla1721"line" 17ame="L421"> 421     17ame>1721          422     17ame>172    423     17ame>172    424
172ef="+code=tw_href="+cnt" class="srefcy 41d#L3Command_Full-> 425     17ame>1725          326     17ame>172   default:
 327
172           328     17ame>1728         -> 329     17ame>1729          330     17ame>173m    scsi/3w-9xxx.c#L369" id="L369" cla1731"line" 17ame="L331"> 331     17ame>1731          332     17ame>173    333     17ame>1733   334
173ef="+scsi/3w-9xxx.c#L369" id="L369" cla1735"line" 17ame="L335"> 335     17ame>1735f="+code=tw_return_s/scsi/3w-9xxx.c#L369" id="L369" cla1736"line" 17ame="L336"> 336     17ame>173me=tw}/* Fill out event infEnd f"a_7" i_bioverram() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1737"line" 17ame="L337"> 337     17ame>173     scsi/3w-9xxx.c#L319" id="L319" cla1738"line" 17ame="L338"> 338     17ame>1738    nt">/* Fill out event infT
is is >
 339     17ame>1739  ];
 340
174m    /scsi/3w-9xxx.c#L324" id="L324" cla1741"line" 17ame="L341"> 341     17ame>1741         tw_dev-> 342     17ame>174    343     17ame>174    344     17ame>174ef="+code=tw_nt" class="sref_s>tw_dev->-> 345     17ame>1745f="+scsi/3w-9xxx.c#L367" id="L367" cla1746"line" 17ame="L346"> 346     17ame>174   default:
tw_dev-> 347     17ame>174     scsi/3w-9xxx.c#L319" id="L319" cla1748"line" 17ame="L348"> 348     17ame>1748          349     17ame>174          /* Fill osfring">"WARNING: (0x%02X:0x%04X): C
 350     17ame>175m         ];
 351     17ame>1751    scsi/3w-9xxx.c#L396" id="L396" cla1752"line" 17ame="L352"> 352     17ame>175   /* Fill out event infMake sure we are not issuing >/*ioctl or resetting from*ioctl "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1753"line" 17ame="L353"> 353     17ame>1753  tw_dev-> 354     17ame>175ef="+scsi/3w-9xxx.c#L369" id="L369" cla1755"line" 17ame="L355"> 355     17ame>1755         /* Fill out event infNow reset >

 356     17ame>175   default:
<=event" class="sreff"a_reset_device_extensiondev->tw_dev-> 357     17ame>175          tw_dev->/* Fill osfring">"Ctntrollvr reset failed during 9" i host reset"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1758"line" 17ame="L358"> 358     17ame>1758          359
1759          360     17ame>176m    scsi/3w-9xxx.c#L369" id="L369" cla1761"line" 17ame="L361"> 361     17ame>1761          362     17ame>176    363     17ame>1763  tw_dev-> 364
176ef="+code=tw_return_nt" class="srefretvaluest_id];
 365     17ame>1765f="+}/* Fill out event infEnd f"a_7" i_eh_reset() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1766"line" 17ame="L366"> 366     17ame>176me=twscsi/3w-9xxx.c#L319" id="L319" cla1767"line" 17ame="L367"> 367
176     nt">/* Fill out event infT
is is >
 368     17ame>1768    static int_nt" class="sreff"a_7" i_refur_lckCommand_Full];
];
 369176     /scsi/3w-9xxx.c#L324" id="L324" cla177="line" 17ame="L370"> 370     17ame>177m          371     17ame>1771         tw_dev->-> 372} 177    373
1773  /* Fill out event infIf we are resetting dur to_timed out*ioctl, report as busy "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1774"line" 17ame="L374"> 374177ef="+code=tw_=event" class="srefffstrbitCommand_Fulltw_dev-> 375stati17ame>1775          376{
177   default:
 377     17ame>177           378     17ame>1778    scsi/3w-9xxx.c#L367" id="L324" cla1779"line" 17ame="L379"> 379     17ame>177          /* Fill out event infCheck+if >
is FW supports luns "drivers/scsi/3w-9xxx.c#L319" id="L319" cla178="line" 17ame="L380"> 380     17ame>178m         tw_dev->->];
 381     17ame>178           382     17ame>178    383
178    384     17ame>178ef="+code=tw_href="+cgoto_nt" class="srefoutCommand_Full 385
1785          386     17ame>178me=twscsi/3w-9xxx.c#L319" id="L319" cla1787"line" 17ame="L387"> 387     17ame>178          /* Fill out event infSave donr funcnion into s" i_cmnq_sfruct_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1788"line" 17ame="L388"> 388
1788          389     17ame>178           390     17ame>179m         /* Fill out event infGet a free rerefstlin_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1791"line" 17ame="L391"> 391     17ame>1791         ];
tw_dev->];
 392     17ame>179    393     17ame>1793  /* Fill out event infSave >

 394     17ame>179ef="+code=tw_nt" class="sref_s>tw_dev->];
 395     17ame>1795f="+scsi/3w-9xxx.c#L367" id="L367" cla1796"line" 17ame="L396"> 396
1796  /* Fill out event infInitialize phasr to_zero_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla1797"line" 17ame="L397"> 397     17ame>179           398     17ame>1798    scsi/3w-9xxx.c#L367" id="L324" cla1799"line" 17ame="L399"> 399
1799         tw_dev-> 400     18ame>180m          391     18ame>180           392     18ame>180   ];
tw_dev-> 393     18ame>180   ->tw_dev-> 394     18ame>180ef="+code=tw_href="+cbreak/scsi/3w-9xxx.c#L367" id="L324" cla18s5"line" 18ame="L395"> 395     18ame>1805          396
180   default:
];
 397     18ame>180          ];
tw_dev-> 398     18ame>1808         ->tw_dev-> 399
180           410     18ame>181m          411
181           412     18ame>181    413     18ame>181    414     18ame>181ef="+code=tw_return_nt" class="srefretvaluest_id];
 415     18ame>1815f="+}/* Fill out event infEnd f"a_7" i_refur() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1816"line" 18ame="L416"> 416     18ame>181me=twscsi/3w-9xxx.c#L319" id="L319" cla1817"line" 18ame="L417"> 417     18ame>181     static nt" class="srefDEF_SCSI_QCMDCommand_Full 418     18ame>1818    scsi/3w-9xxx.c#L367" id="L324" cla1819"line" 18ame="L419"> 419     18ame>181     nt">/* Fill out event infT
is funcnion h hrsa9" i cdb's to_the firmware "drivers/scsi/3w-9xxx.c#L319" id="L319" cla182="line" 18ame="L420"> 420     18ame>182m    static int_nt" class="sreff"a_7" iop_execute_7" iCommand_Fulltw_dev-> 421     18ame>1821    /scsi/3w-9xxx.c#L324" id="L324" cla1822"line" 18ame="L422"> 422     18ame>182    423     18ame>1823   424
182ef="+code=tw_nt" class="srefuame="L332">a>];
 425     18ame>1825          326     18ame>182   default:
];
 327
182          ];
 328     18ame>1828          329     18ame>1829    scsi/3w-9xxx.c#L369" id="L369" cla183="line" 18ame="L330"> 330     18ame>183m         ];
 331     18ame>183          ];
 332     18ame>183   ];
 333     18ame>183   ];
 334
183ef="+code=tw_/scsi/3w-9xxx.c#L367" id="L367" cla1835"line" 18ame="L335"> 335     18ame>1835f="+scsi/3w-9xxx.c#L367" id="L367" cla1836"line" 18ame="L336"> 336     18ame>1836  /* Fill out event infInitialize c
 337     18ame>183          ];
 338     18ame>1838          339     18ame>1839          340
1840         ];
 341     18ame>1841    scsi/3w-9xxx.c#L396" id="L396" cla1842"line" 18ame="L342"> 342     18ame>184    343     18ame>1843   344     18ame>184ef="+code=tw_nt" class="srefc
];
 345     18ame>1845f="+scsi/3w-9xxx.c#L367" id="L367" cla1846"line" 18ame="L346"> 346     18ame>1846  /* Fill out event infWe forced 16 byte cdbause earlier "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1847"line" 18ame="L347"> 347     18ame>184           348     18ame>1848         ];
];
 349     18ame>184           350     18ame>185m         ];
 351     18ame>1851    scsi/3w-9xxx.c#L396" id="L396" cla1852"line" 18ame="L352"> 352     18ame>185    353     18ame>185   a>];
];
 354     18ame>185ef="+code=tw_href="+cnt" class="srefc
];
 355     18ame>1855         servedcpu_to_leame=tw_or_str" class=">))REQ_LUN_INCommand_Full))REQ_LUN_INe=tw_or_str" class="srberity__reserved7rb   356     18ame>185   default:
 357     18ame>185          ];
 358     18ame>1858         servedcpu_to_leame=tw_or_str" class=">))REQ_LUN_INCommand_Full))REQ_LUN_INe=tw_sW_nt" class="srefrerefstrequest_id];
 359
185          a>];
 360     18ame>186m          361     18ame>1861    scsi/3w-9xxx.c#L396" id="L396" cla1862"line" 18ame="L362"> 362     18ame>186    363     18ame>186    364
186ef="+code=tw_=eve!or_str" class="sglistarguest_id];
 365     18ame>1865         /* Fill out event infMap sglist from*9" i layer to cmr packet "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1866"line" 18ame="L366"> 366     18ame>186me=twscsi/3w-9xxx.c#L319" id="L319" cla1867"line" 18ame="L367"> 367
186           368     18ame>1868          369186           370     18ame>187m          371     18ame>187           372} 187    373
187   ];
 374187ef="+code=tw_href="+chref="+chref="+code=spr="+cccccccccccccccccccccnt" class="sref>))SECTOR_SIZECommand_Full))SECTOR_SIZE   375stati18ame>1875         ];
];
 376{
187   default:
];
a>];
 377     18ame>187           378     18ame>1878         -> 379     18ame>187           380     18ame>188m          381     18ame>1881    scsi/3w-9xxx.c#L396" id="L396" cla1882"line" 18ame="L382"> 382     18ame>188   ];
 383
188   ];
 384     18ame>188ef="+code=tw_href="+ccode=sprhref="+cccccccccnt" class="srefc
];
a>];
 385
1885         ];
 386     18ame>188   default:
tw_dev->/* Fill osfring">"F
und unaligned sgl addres3 during execute*9" i"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1887"line" 18ame="L387"> 387     18ame>188           388
1888          389     18ame>188           390     18ame>189m          391     18ame>189          servedcpu_to_leame=tw_or_str" class=">))REQ_LUN_INCommand_Full))REQ_LUN_INe=tw__or_str" class="srberity__reserved7rb  ];
 392     18ame>189    393     18ame>1893   394     18ame>189ef="+code=tw_href="+cnt">/* Fill out event infInternal cdbapost "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1895"line" 18ame="L395"> 395     18ame>1895          396
189   default:
];
 397     18ame>189          ];
a>];
 398     18ame>1898         ];
 399
189          tw_dev->/* Fill osfring">"F
und unaligned sgl addres3 during internal post"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla19s="line" 19ame="L400"> 400     19ame>190m          391     19ame>190           392     19ame>190    393     19ame>190   servedcpu_to_leame=tw_or_str" class=">))REQ_LUN_INCommand_Full))REQ_LUN_INe=tw_sW_nt" class="srefuse_7guest_id];
 394     19ame>190ef="+code=tw_/scsi/3w-9xxx.c#L367" id="L367" cla19s5"line" 19ame="L395"> 395     19ame>1905f="+scsi/3w-9xxx.c#L367" id="L367" cla19s6"line" 19ame="L396"> 396
190   default:
<=event" class="srefsrberity__reserved7rb   397     19ame>190          ];
servedREAD_m     ||_or_str" class="srberity__reserved7rb  ];
servedWRITE_m   398     19ame>1908         a>];
];
 399
1909    scsi/3w-9xxx.c#L369" id="L369" cla191="line" 19ame="L410"> 410     19ame>191m         ];
servedREAD_1m     ||_or_str" class="srberity__reserved7rb  ];
servedWRITE_am   411
191          a>];
];
a>];
];
 412     19ame>191    413     19ame>191    414     19ame>191ef="+code=tw_nt">/* Fill out event infUpdate*9ector statistic "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1915"line" 19ame="L415"> 415     19ame>1915          416     19ame>191   default:
<=event" class="sref_s>tw_dev-> 417     19ame>191          tw_dev-> 418     19ame>1918    scsi/3w-9xxx.c#L367" id="L324" cla1919"line" 19ame="L419"> 419     19ame>191          /* Fill out event infUpdate*SG statistics "drivers/scsi/3w-9xxx.c#L319" id="L319" cla192="line" 19ame="L420"> 420     19ame>192m          421     19ame>192          ];
 422     19ame>192    423     19ame>192    424
192ef="+code=tw_/scsi/3w-9xxx.c#L367" id="L367" cla19a5"line" 19ame="L425"> 425     19ame>1925f="+scsi/3w-9xxx.c#L367" id="L367" cla1926"line" 19ame="L326"> 326     19ame>1926  /* Fill out event infNowapost the c
 327
192           328     19ame>1928          329     19ame>192           330     19ame>193m          331     19ame>193           332     19ame>193    333     19ame>193    334
193ef="+code=tw_return_nt" class="srefretvaluest_id];
 335     19ame>1935f="+}/* Fill out event infEnd f"a_7" iop_execute_7" i() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1936"line" 19ame="L336"> 336     19ame>193me=twscsi/3w-9xxx.c#L319" id="L319" cla1937"line" 19ame="L337"> 337     19ame>193     nt">/* Fill out event infT
is funcnion ut pletes >/*execute*9" i operanion "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1938"line" 19ame="L338"> 338     19ame>1938    static void_nt" class="sreff"a_7" iop_execute_7" i_ut pleteerity__reservedf"a_7" iop_execute_7" i_ut pletee=tw_or_str" class=">))Device_Extensiondev->))Device_Extension  tw_dev-> 339     19ame>1939    /scsi/3w-9xxx.c#L324" id="L324" cla194="line" 19ame="L340"> 340
1940         ];
];
 341     19ame>1941    scsi/3w-9xxx.c#L396" id="L396" cla1942"line" 19ame="L342"> 342     19ame>194    343     19ame>194    344     19ame>194ef="+code=tw_f="+cnt" class="srefcmquest_id];
 345     19ame>1945          346     19ame>194   default:
];
 347     19ame>194     scsi/3w-9xxx.c#L324" id="L324" cla1948"line" 19ame="L348"> 348     19ame>1948          349     19ame>194           350     19ame>195m          351     19ame>1951    }/* Fill out event infEnd f"a_7" iop_execute_7" i_ut plete() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1952"line" 19ame="L352"> 352     19ame>195    353     19ame>195   /* Fill out event infT
is funcnion tells the c
ntroller to shut down "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1954"line" 19ame="L354"> 354     19ame>195ef="+static void_nt" class="sref__f"a_7hutdownCommand_Fulltw_dev-> 355     19ame>1955    /scsi/3w-9xxx.c#L324" id="L324" cla1956"line" 19ame="L356"> 356     19ame>1956  /* Fill out event infDisable interrupts "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1957"line" 19ame="L357"> 357     19ame>195           358     19ame>1958    scsi/3w-9xxx.c#L367" id="L324" cla1959"line" 19ame="L359"> 359
195          /* Fill out event infFree up the IRQ "drivers/scsi/3w-9xxx.c#L319" id="L319" cla196="line" 19ame="L360"> 360     19ame>1960         tw_dev->tw_+code=host" class="sref"irqdev-> 361     19ame>1961    scsi/3w-9xxx.c#L396" id="L396" cla1962"line" 19ame="L362"> 362     19ame>196   /* Fill osfring">"="L396": Shutting down host %d.\n"rivers/W_nt" class="sref_s>tw_dev-> 363     19ame>196    364
196ef="+code=tw_nt">/* Fill out event infTell the carn_we are shutting down "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1965"line" 19ame="L365"> 365     19ame>1965          366     19ame>196   default:
tw_dev->/* Fill osfring">"C
nnecnion 7hutdown failed"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1967"line" 19ame="L367"> 367
196           368     19ame>1968         /* Fill osfring">"="L396": Shutdown ut plete.\n"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla1969"line" 19ame="L369"> 369196           370     19ame>197m    scsi/3w-9xxx.c#L367" id="L367" cla1971"line" 19ame="L371"> 371     19ame>197          /* Fill out event infClear all interrupts just before exit "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1972"line" 19ame="L372"> 372} 197    373
197   /* Fill out event infEnd __f"a_7hutdown() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1974"line" 19ame="L374"> 374197ef="+scsi/3w-9xxx.c#L319" id="L319" cla1975"line" 19ame="L375"> 375stati19ame>1975    nt">/* Fill out event infWrappercfora__f"a_7hutdown "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1976"line" 19ame="L376"> 376{
197   destatic void_nt" class="sreff"a_7hutdownCommand_Full 377     19ame>197     /scsi/3w-9xxx.c#L324" id="L324" cla1978"line" 19ame="L378"> 378     19ame>1978          379     19ame>1979         tw_dev->-> 380     19ame>198m    scsi/3w-9xxx.c#L367" id="L367" cla1981"line" 19ame="L381"> 381     19ame>1981          382     19ame>198   /* Fill out event infEnd f"a_7hutdown() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1983"line" 19ame="L383"> 383
198    384     19ame>198ef="+nt">/* Fill out event infT
is funcnion will look up a sfring "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1985"line" 19ame="L385"> 385
1985    static char lor_str" class="f"a_7fring_lookupCommand_Full];
 386     19ame>198   de/scsi/3w-9xxx.c#L324" id="L324" cla1987"line" 19ame="L387"> 387     19ame>198           388
1988    scsi/3w-9xxx.c#L367" id="L324" cla1989"line" 19ame="L389"> 389     19ame>198          ];
];
 390     19ame>199m          391     19ame>199           392     19ame>199   /* Fill out event infEnd f"a_7fring_lookup() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1993"line" 19ame="L393"> 393     19ame>199    394     19ame>199ef="+nt">/* Fill out event infT
is funcnion will perform a pci-dma_unmap "drivers/scsi/3w-9xxx.c#L319" id="L319" cla1995"line" 19ame="L395"> 395     19ame>1995    static void_nt" class="sreff"a_unmap_7" i_datadev->tw_dev-> 396
199   de/scsi/3w-9xxx.c#L324" id="L324" cla1997"line" 19ame="L397"> 397     19ame>199          ];
];
 398     19ame>1998    scsi/3w-9xxx.c#L367" id="L324" cla1999"line" 19ame="L399"> 399
199           399
];
 391     20sme>20s1    }/* Fill out event infEnd f"a_unmap_7" i_data() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla20s2"line" 20sme="L392"> 392     20sme>20s    393     20sme>20s   /* Fill out event infT
is funcnion gets called when a disk is ut ing on- 393 "drivers/scsi/3w-9xxx.c#L319" id="L319" cla20s4"line" 20sme="L394"> 394     20sme>20sef="+static int_nt" class="sreff"a_7lave_configureerity__reservedf"a_7lave_configuree=tw_sfruct_nt" class="sref7" i_deviceCommand_Full 395     20sme>20s5    /scsi/3w-9xxx.c#L324" id="L324" cla20s6"line" 20sme="L396"> 396
20s6  /* Fill out event infForce 60*9econd fimeout "drivers/scsi/3w-9xxx.c#L319" id="L319" cla20s7"line" 20sme="L397"> 397     20sme>20s          ];
 398     20sme>20s8    scsi/3w-9xxx.c#L367" id="L324" cla20s9"line" 20sme="L399"> 399
20s           410     20ame>20am  /* Fill out event infEnd f"a_7lave_configure() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2011"line" 20ame="L411"> 411
20a1    scsi/3w-9xxx.c#L396" id="L396" cla20a2"line" 20ame="L412"> 412     20ame>20a2  /* Fill out event inf7" i_host_template*initializer "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2013"line" 20ame="L413"> 413     20ame>20a3f="+static sfruct_nt" class="sref7" i_host_templateCommand_Full 414     20ame>20aef="+code=tw_.t" class="sref"moduleerity__reservedmodule          415     20ame>20a5f="+code=tw_.t" class="sref"a>  Command_Full           /* Fill osfring">"="are 9000 Storage C
ntroller"rivers/Wscsi/3w-9xxx.c#L324" id="L324" cla2016"line" 20ame="L416"> 416     20ame>20a6f="+code=tw_.t" class="sref"refuec
];
 417     20ame>20a7f="+code=tw_.t" class="sref"eh_host_reset_h hrlererity__reservedeh_host_reset_h hrlerf="+coULnt" class="sreff"a_7" i_eh_resetuest_id];
 418     20ame>20a8f="+code=tw_.t" class="sref"bios_paramdev->-> 419     20ame>20a9f="+code=tw_.t" class="sref"ch hge_refue_depthCommand_Full 420     20ame>20amf="+code=tw_.t" class="sref"can_refueuest_id];
 421     20ame>20a1f="+code=tw_.t" class="sref"7lave_configureerity__reserved7lave_configuree=tw 422     20ame>20a2f="+code=tw_.t" class="sref"t
isrequest_id];
 423     20ame>20a3f="+code=tw_.t" class="sref"7g_fablesizeerity__reserved7g_fablesize          424
20aef="+code=tw_.t" class="sref"max_sectorsCommand_Full 425     20ame>20a5f="+code=tw_.t" class="sref"cmd_p#L_lunCommand_Full 326     20ame>20a6f="+code=tw_.t" class="sref"use_clustering"ev-> 327
20a7f="+code=tw_.t" class="sref"shost_attrsCommand_Full 328     20ame>20a8f="+code=tw_.t" class="sref"emulatequest_id];
 329     20ame>20a9f="+}/scsi/3w-9xxx.c#L369" id="L369" cla203="line" 20ame="L330"> 330     20ame>20am    scsi/3w-9xxx.c#L396" id="L396" cla2031"line" 20ame="L331"> 331     20ame>20a1f="+nt">/* Fill out event infT
is funcnion will probe  hr initialize a carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2032"line" 20ame="L332"> 332     20ame>20a2f="+static int_nt" class="sref__devinitCommand_Full 333     20ame>20a3    /scsi/3w-9xxx.c#L324" id="L324" cla2034"line" 20ame="L334"> 334
20aef="+code=tw_sfruct_nt" class="srefS" i_HostCommand_Full 335     20ame>20a5         tw_dev-> 336     20ame>20a6f="+code=tw_unsigned long or_str" class="mem_addrCommand_Full 337     20ame>20a           338     20ame>20a8    scsi/3w-9xxx.c#L367" id="L324" cla2039"line" 20ame="L339"> 339     20ame>20a9          340
20am          341     20ame>20a          /* Fill osfring">"Failed to enable pci device"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla20a2"line" 20ame="L342"> 342     20ame>20a    343     20ame>20a3   344     20ame>20aef="+scsi/3w-9xxx.c#L319" id="L319" cla20a5"line" 20ame="L345"> 345     20ame>20a5          346     20ame>20a6          347     20ame>20a     scsi/3w-9xxx.c#L324" id="L324" cla20a8"line" 20ame="L348"> 348     20ame>20a8          349     20ame>20a           350     20ame>20am   351     20ame>20a           352     20ame>20a   /* Fill osfring">"Failed to set dma_mask"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla2053"line" 20ame="L353"> 353     20ame>20a    354     20ame>20aef="+code=tw_f="+ccccccccccccgoto_nt" class="srefout_disable_deviceCommand_Full 355     20ame>20a5          356     20ame>20ame=twscsi/3w-9xxx.c#L319" id="L319" cla20a7"line" 20ame="L357"> 357     20ame>20a           358     20ame>20a8          359
20a          /* Fill osfring">"Failed to allocate*memory foradevice extension"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla206="line" 20ame="L360"> 360     20ame>20am          361     20ame>20a           362     20ame>20a    363     20ame>20a3         tw_dev->-> 364
20aef="+scsi/3w-9xxx.c#L319" id="L319" cla2065"line" 20ame="L365"> 365     20ame>20a5         /* Fill out event infSave values to device extension_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2066"line" 20ame="L366"> 366     20ame>20a6         tw_dev-> 367
20a          tw_dev->tw_+codNULnt" class="srefptw_dev-> 368     20ame>20a8    scsi/3w-9xxx.c#L367" id="L324" cla2069"line" 20ame="L369"> 36920a           370     20ame>20am         tw_dev->/* Fill osfring">"Failed to initialize device extension"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla2071"line" 20ame="L371"> 371     20ame>20a           372} 20a    373
20a    37420aef="+code=tw_nt">/* Fill out event infRerefst IO regions "drivers/scsi/3w-9xxx.c#L319" id="L319" cla20a5"line" 20ame="L375"> 375stati20ame>20a5         /* Fill osfring">"="L396""rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla2076"line" 20ame="L376"> 376{
20a   default:
<=event" class="srefretvaluest_id];
 377     20ame>20a          tw_dev->/* Fill osfring">"Failed to get*mem region"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla2078"line" 20ame="L378"> 378     20ame>20a8          379     20ame>20a           380     20ame>20am   381     20ame>20a1  default:
<=event" class="srefptw_dev->ull 382     20ame>20a    383
20a    384     20ame>20aef="+code=tw_/ else /scsi/3w-9xxx.c#L324" id="L324" cla20a5"line" 20ame="L385"> 385
20a5          386     20ame>20a   default:
 387     20ame>20a7          388
20a8    scsi/3w-9xxx.c#L367" id="L324" cla2089"line" 20ame="L389"> 389     20ame>20a          /* Fill out event infSave base address "drivers/scsi/3w-9xxx.c#L319" id="L319" cla209="line" 20ame="L390"> 390     20ame>20am          391     20ame>20a1  default:
<=eve!nt" class="sref_s>tw_dev-> 392     20ame>20a   tw_dev->/* Fill osfring">"Failed to ioremap"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla2093"line" 20ame="L393"> 393     20ame>20a    394     20ame>20a4          395     20ame>20a5    scsi/3w-9xxx.c#L367" id="L324" cla2096"line" 20ame="L396"> 396
20a6  /* Fill out event infDisable interrupts on the carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2097"line" 20ame="L397"> 397     20ame>20a           398     20ame>20a8    scsi/3w-9xxx.c#L367" id="L324" cla2099"line" 20ame="L399"> 399
20a          /* Fill out event infInitialize the carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla21s="line" 21s="l"L399"> 399
 391     21sme>210           392     21sme>21s    393     21sme>2103         /* Fill out event infSet host specific parameters "drivers/scsi/3w-9xxx.c#L319" id="L319" cla21s4"line" 21sme="L394"> 394     21sme>2104          395     21sme>2105          396
210   default:
];
 397     21sme>21s           398     21sme>2108         ];
 399
21s     scsi/3w-9xxx.c#L369" id="L369" cla211="line" 21ame="L410"> 410     21ame>211m          411
21a1    scsi/3w-9xxx.c#L396" id="L396" cla21a2"line" 21ame="L412"> 412     21ame>2112         /* Fill out event infChannels aren't supported by adapter "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2113"line" 21ame="L413"> 413     21ame>2113         tw_dev->];
 414     21ame>21aef="+code=tw_nt" class="srefhostCommand_Full 415     21ame>2115    scsi/3w-9xxx.c#L367" id="L324" cla2116"line" 21ame="L416"> 416     21ame>2116  /* Fill out event infRegister the carn_with the kernel SCSI layer "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2117"line" 21ame="L417"> 417     21ame>211           418     21ame>2118          419     21ame>211          tw_dev->/* Fill osfring">"4" i add host failed"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla212="line" 21ame="L420"> 420     21ame>212m          421     21ame>21a1f="+code=tw_/scsi/3w-9xxx.c#L367" id="L367" cla2122"line" 21ame="L422"> 422     21ame>212    423     21ame>2123          424
212ef="+scsi/3w-9xxx.c#L319" id="L319" cla2125"line" 21ame="L425"> 425     21ame>2125         /* Fill osfring">"="L396": 9" i%d: Found a ="are 9000 Storage C
ntroller at_0x%lx, IRQ: %d.\n"rivers/Wscsi/3w-9xxx.c#L319" id="L319" cla2126"line" 21ame="L326"> 326     21ame>212   default:
];
 327
212          /* Fill osfring">"="L396": 9" i%d: Firm"are %s, BIOS %s, Ports: %d.\n"rivers/Wscsi/3w-9xxx.c#L319" id="L319" cla2128"line" 21ame="L328"> 328     21ame>2128          329     21ame>212           330     21ame>213m          331     21ame>213           332     21ame>213    333     21ame>213    334
213ef="+code=tw_f="+cccccccccccc   335     21ame>2135    scsi/3w-9xxx.c#L367" id="L324" cla2136"line" 21ame="L336"> 336     21ame>2136  /* Fill out event infTry to enable MSI "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2137"line" 21ame="L337"> 337     21ame>21a          ull 338     21ame>2138          339     21ame>213          tw_dev-> 340
214m   341     21ame>21a          /* Fill out event infNow setup the interrupt h hrler "drivers/scsi/3w-9xxx.c#L319" id="L319" cla21a2"line" 21ame="L342"> 342     21ame>21a   ];
/* Fill osfring">"="L396""rivers/W_nt" class="sref_s>tw_dev-> 343     21ame>21a3   344     21ame>214ef="+code=tw_f="+ccccnt" class="sref>))PRINTKCommand_Full))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill osfring">"Error rerefsting IRQ"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla21a5"line" 21ame="L345"> 345     21ame>2145          346     21ame>21a6          347     21ame>21a     scsi/3w-9xxx.c#L324" id="L324" cla21a8"line" 21ame="L348"> 348     21ame>21a8          349     21ame>2149          350     21ame>215m   351     21ame>215          /* Fill out event infRe-enable interrupts on the carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2152"line" 21ame="L352"> 352     21ame>215   tw_dev-> 353     21ame>215    354     21ame>21aef="+code=tw_nt">/* Fill out event infFinally, scan the host "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2155"line" 21ame="L355"> 355     21ame>2155          356     21ame>21ame=twscsi/3w-9xxx.c#L319" id="L319" cla21a7"line" 21ame="L357"> 357     21ame>215           358     21ame>2158         /* Fill osfring">"_sa"rivers/W_de=hent" class="sreff"a_fopsCommand_Full 359
21a          /* Fill osfring">"Failed to register character device"rivers/)/scsi/3w-9xxx.c#L367" id="L367" cla216="line" 21ame="L360"> 360     21ame>21am          361     21ame>21a           362     21ame>216    363     21ame>21a3    nt" class="srefout_remove_hostCommand_Full 364
2164         tw_dev-> 365     21ame>2165          366     21ame>21a6          367
21a     nt" class="srefout_iounmapuest_id];
 368     21ame>2168         tw_dev-> 36921a     nt" class="srefout_release_mem_regiondev-> 370     21ame>217m          371     21ame>21a     nt" class="srefout_free_tw_ice_extensiondev-> 372} 217   ->tw_dev-> 373
2173          37421aef="+nt" class="srefout_disable_deviceCommand_Full 375stati21ame>21a5          376{
217me=twscsi/3w-9xxx.c#L319" id="L319" cla2177"line" 21ame="L377"> 377     21ame>21a           378     21ame>21a8    }_nt">/* Fill out event infEnd t"a_probe() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2179"line" 21ame="L379"> 379     21ame>217     scsi/3w-9xxx.c#L369" id="L369" cla218="line" 21ame="L380"> 380     21ame>21am  /* Fill out event infT
is funcnion is called to remove a device "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2181"line" 21ame="L381"> 381     21ame>21a1  destatic void+nt" class="sreff"a_removedev-> 382     21ame>21a    383
21a    384     21ame>21aef="+code=tw_nt" class="sref>))Device_Extensiondev->))Device_Extension  tw_dev->-> 385
2185    scsi/3w-9xxx.c#L367" id="L324" cla21a6"line" 21ame="L386"> 386     21ame>2186         tw_dev-> 387     21ame>218     scsi/3w-9xxx.c#L324" id="L324" cla2188"line" 21ame="L388"> 388
2188         /* Fill out event infUnregister character device "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2189"line" 21ame="L389"> 389     21ame>218           390     21ame>219m         /* Fill osfring">"_sa"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla2191"line" 21ame="L391"> 391     21ame>219           392     21ame>219    393     21ame>219    394     21ame>219ef="+code=tw_nt">/* Fill out event infShutdown the carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2195"line" 21ame="L395"> 395     21ame>2195         tw_dev-> 396
219me=twscsi/3w-9xxx.c#L319" id="L319" cla2197"line" 21ame="L397"> 397     21ame>21a          /* Fill out event infDisable MSI =evenablen_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2198"line" 21ame="L398"> 398     21ame>2198         tw_dev-> 399
219           399
 391     22sme>220          /* Fill out event infFree IO remapping "drivers/scsi/3w-9xxx.c#L319" id="L319" cla22s2"line" 22sme="L392"> 392     22sme>220   tw_dev-> 393     22sme>220    394     22sme>220ef="+code=tw_nt">/* Fill out event infFree up the mem region "drivers/scsi/3w-9xxx.c#L319" id="L319" cla22s5"line" 22sme="L395"> 395     22sme>2205          396
220me=twscsi/3w-9xxx.c#L319" id="L319" cla22s7"line" 22sme="L397"> 397     22sme>220          /* Fill out event infFree up device extension_resources "drivers/scsi/3w-9xxx.c#L319" id="L319" cla22s8"line" 22sme="L398"> 398     22sme>2208         tw_dev-> 399
22s     scsi/3w-9xxx.c#L369" id="L369" cla221="line" 22ame="L410"> 410     22ame>221m         tw_dev-> 411
2211          412     22ame>221    413     22ame>2213    }_nt">/* Fill out event infEnd t"a_remove() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2214"line" 22ame="L414"> 414     22ame>221ef="+scsi/3w-9xxx.c#L319" id="L319" cla2215"line" 22ame="L415"> 415     22ame>2215    #ifdef+nt" class="srefCONFIG_PMCommand_Full 416     22ame>2216  /* Fill out event infT
is funcnion is called on PCI suspenn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2217"line" 22ame="L417"> 417     22ame>221     static int_nt" class="sreff"a_suspennCommand_Full 418     22ame>2218    /scsi/3w-9xxx.c#L324" id="L324" cla2219"line" 22ame="L419"> 419     22ame>221           420     22ame>222m         tw_dev->-> 421     22ame>2221    scsi/3w-9xxx.c#L396" id="L396" cla2222"line" 22ame="L422"> 422     22ame>222   /* Fill osfring">"="L396": Suspenning host %d.\n"rivers/W or_str" class="f">tw_dev-> 423     22ame>222    424
222ef="+code=tw_nt" class="sref>))DISABLE_INTERRUPTSdev->))DISABLE_INTERRUPTSe=tw_or_str" class="_s>tw_dev-> 425     22ame>2225         tw_dev->tw_dev->tw_+code=host" class="sref"irquest_id];
 326     22ame>222me=twscsi/3w-9xxx.c#L319" id="L319" cla2227"line" 22ame="L327"> 327
222          tw_dev-> 328     22ame>2228          329     22ame>222     scsi/3w-9xxx.c#L369" id="L369" cla223="line" 22ame="L330"> 330     22ame>223m         /* Fill out event infTell the carn_we are shutting down "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2231"line" 22ame="L331"> 331     22ame>2231  default:
<=event" class="sref_sa_initconnecnionCommand_Fulltw_dev-> 332     22ame>223   tw_dev->/* Fill osfring">"Connecnion shutdown failed during suspenn"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla2233"line" 22ame="L333"> 333     22ame>223    334
223ef="+code=tw_f="+ccccnt" class="srefprintkCommand_Full/* Fill osfring">"="L396": Suspenn ut plete.\n"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla2235"line" 22ame="L335"> 335     22ame>2235          336     22ame>2236          337     22ame>223     scsi/3w-9xxx.c#L324" id="L324" cla22a8"line" 22ame="L338"> 338     22ame>2238          339     22ame>2239          340
224m          341     22ame>2241    scsi/3w-9xxx.c#L396" id="L396" cla22a2"line" 22ame="L342"> 342     22ame>22a    343     22ame>2243    }_nt">/* Fill out event infEnd t"a_suspenn() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2244"line" 22ame="L344"> 344     22ame>224ef="+scsi/3w-9xxx.c#L319" id="L319" cla22a5"line" 22ame="L345"> 345     22ame>2245    nt">/* Fill out event infT
is funcnion is called on PCI resume "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2246"line" 22ame="L346"> 346     22ame>22a6    static int_nt" class="sreff"a_resumeCommand_Full 347     22ame>22a     /scsi/3w-9xxx.c#L324" id="L324" cla22a8"line" 22ame="L348"> 348     22ame>22a8          349     22ame>224           350     22ame>225m         tw_dev->-> 351     22ame>2251    scsi/3w-9xxx.c#L396" id="L396" cla2252"line" 22ame="L352"> 352     22ame>225   /* Fill osfring">"="L396": Resuming host %d.\n"rivers/W or_str" class="f">tw_dev-> 353     22ame>2253         ull 354     22ame>225ef="+code=tw_nt" class="srefpci>enable_wakeCommand_Fullenable_wakee=tw_or_str" class="ptw_dev->ull 355     22ame>2255          356     22ame>22ame=twscsi/3w-9xxx.c#L319" id="L319" cla22a7"line" 22ame="L357"> 357     22ame>225           358     22ame>2258          359
22a          tw_dev->/* Fill osfring">"Enable device failed during resume"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla226="line" 22ame="L360"> 360     22ame>226m          361     22ame>2261f="+code=tw_/scsi/3w-9xxx.c#L367" id="L367" cla2262"line" 22ame="L362"> 362     22ame>226    363     22ame>2263          364
226ef="+code=tw_nt" class="srefpci>try>set_mwiCommand_Fulltry>set_mwie=tw_or_str" class="ptw_dev-> 365     22ame>2265    scsi/3w-9xxx.c#L367" id="L324" cla2266"line" 22ame="L366"> 366     22ame>22a6          367
2267          368     22ame>2268          369226           370     22ame>227m         /* Fill osfring">"Failed to set dma mask during resume"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla2271"line" 22ame="L371"> 371     22ame>227           372} 227    373
227    374227ef="+scsi/3w-9xxx.c#L319" id="L319" cla2275"line" 22ame="L375"> 375stati22ame>22a5         /* Fill out event infInitialize the carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2276"line" 22ame="L376"> 376{
2276         tw_dev-> 377     22ame>2277          378     22ame>2278          379     22ame>227           380     22ame>228m   381     22ame>228          /* Fill out event infNow setup the interrupt h hrler "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2282"line" 22ame="L382"> 382     22ame>228   ];
/* Fill osfring">"="L396""rivers/W_nt" class="sref_s>tw_dev-> 383
2283   384     22ame>228ef="+code=tw_f="+ccccnt" class="sref>))PRINTKCommand_Full))PRINTKe=tw_or_str" class="f">tw_dev->/* Fill osfring">"Error rerefsting IRQ during resume"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla22a5"line" 22ame="L385"> 385
2285          386     22ame>2286          387     22ame>2287          388
2288    scsi/3w-9xxx.c#L367" id="L367" cla2289"line" 22ame="L389"> 389     22ame>228          /* Fill out event infNow enable MSI =evenablen_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla229="line" 22ame="L390"> 390     22ame>229m         tw_dev-> 391     22ame>229           392     22ame>229    393     22ame>2293         /* Fill out event infRe-enable interrupts on the carn_"drivers/scsi/3w-9xxx.c#L319" id="L319" cla2294"line" 22ame="L394"> 394     22ame>229ef="+code=tw_nt" class="sref>))ENABLE_AND_CLEAR_INTERRUPTSdev->))ENABLE_AND_CLEAR_INTERRUPTSe=tw_or_str" class="f">tw_dev-> 395     22ame>2295    scsi/3w-9xxx.c#L367" id="L324" cla2296"line" 22ame="L396"> 396
2296         /* Fill osfring">"="L396": Resume ut plete.\n"rivers/s/scsi/3w-9xxx.c#L369" id="L369" cla2297"line" 22ame="L397"> 397     22ame>229           398     22ame>2298    scsi/3w-9xxx.c#L367" id="L367" cla2299"line" 22ame="L399"> 399
229     nt" class="srefout_disable_deviceCommand_Full 399
 391     23sme>2301          392     23sme>230    393     23sme>2303          394     23sme>230ef="+}_nt">/* Fill out event infEnd t"a_resume() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla23s5"line" 23sme="L395"> 395     23sme>2305    #ennifscsi/3w-9xxx.c#L319" id="L319" cla23s6"line" 23sme="L396"> 396
230me=twscsi/3w-9xxx.c#L319" id="L319" cla23s7"line" 23sme="L397"> 397     23sme>230     nt">/* Fill out event infPCI Devices supporten_by this xx.c#L "drivers/scsi/3w-9xxx.c#L319" id="L319" cla23s8"line" 23sme="L398"> 398     23sme>2308    static sfruct_nt" class="srefpci>tw_ice_inCommand_Fulltw_ice_in   399
230          ullull 410     23ame>231m         ullull 411
2311         ullull 412     23ame>2312         ullull 413     23ame>2313         ullull 414     23ame>2314         ullull 415     23ame>2315         ullull 416     23ame>2316         ullull 417     23ame>2317          418     23ame>2318    }/scsi/3w-9xxx.c#L369" id="L369" cla2319"line" 23ame="L419"> 419     23ame>231     nt" class="srefMODULE_DEVICE_TABLE"l"L399">ull 420     23ame>232m   421     23ame>2321    nt">/* Fill out event infpci>tx.c#L initializeL "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2322"line" 23ame="L422"> 422     23ame>232    423     23ame>2323         /* Fill osfring">"="L396""rivers/Wscsi/3w-9xxx.c#L324" id="L324" cla2324"line" 23ame="L424"> 424
232ef="+code=tw_.nt" class="srefid_tableuest_id];
 425     23ame>2325          326     23ame>2326          327
232     #ifdef+nt" class="srefCONFIG_PMCommand_Full 328     23ame>2328          329     23ame>2329          330     23ame>233m    #ennifscsi/3w-9xxx.c#L319" id="L319" cla2331"line" 23ame="L331"> 331     23ame>2331  default:
<.nt" class="srefshutdownCommand_Full 332     23ame>233    333     23ame>233    334
233ef="+nt">/* Fill out event infT
is funcnion is called on tx.c#L initialization "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2335"line" 23ame="L335"> 335     23ame>2335    static int_nt" class="sref__initdev-> 336     23ame>2336    /scsi/3w-9xxx.c#L324" id="L324" cla2337"line" 23ame="L337"> 337     23ame>233          /* Fill osfring">"="are 900= Storage Controller device tx.c#L for Linux v%s.\n"rivers/W or_str" class=">))DRIVER_VERSIONCommand_Full))DRIVER_VERSION   338     23ame>2338    scsi/3w-9xxx.c#L367" id="L367" cla2339"line" 23ame="L339"> 339     23ame>2339          340
234m    }_nt">/* Fill out event infEnd t"a_init() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2341"line" 23ame="L341"> 341     23ame>2341    scsi/3w-9xxx.c#L396" id="L396" cla23a2"line" 23ame="L342"> 342     23ame>23a   /* Fill out event infT
is funcnion is called on tx.c#L exit "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2343"line" 23ame="L343"> 343     23ame>2343    static void+nt" class="sref__exitdev-> 344     23ame>234ef="+/scsi/3w-9xxx.c#L324" id="L324" cla23a5"line" 23ame="L345"> 345     23ame>2345          346     23ame>23a6    }_nt">/* Fill out event infEnd t"a_exit() "drivers/scsi/3w-9xxx.c#L319" id="L319" cla2347"line" 23ame="L347"> 347     23ame>234     scsi/3w-9xxx.c#L324" id="L324" cla23a8"line" 23ame="L348"> 348     23ame>23a8    nt" class="srefmodule_initdev->-> 349     23ame>234     nt" class="srefmodule_exitdev->-> 350     23ame>235m   351     23ame>2351    
footerC> The original LXR soft"are by the or_str" chttp://sourceforge.net/projects/lxrC>LXR ut eunity+codW_this experievenal c#L3ion by or_str" cmailto:lxr@linux.no">lxr@linux.no+cod.
subfooterC> lxr.linux.no kindly hosten_by or_str" chttp://www.redpill-linpro.no">Redpill Linpro AS+codW_provid#L of Linux consulting and operations services since 1995.