linux/drivers/scsi/qlogicpti.c
<<
>>
Prefs
   1/* qlogicpti.c: Performance Technologies QlogicISP sbus card driver.
   2 *
   3 * Copyright (C) 1996, 2006, 2008 David S. Miller (davem@davemloft.net)
   4 *
   5 * A lot of this driver was directly stolen from Erik H. Moe's PCI
   6 * Qlogic ISP driver.  Mucho kudos to him for this code.
   7 *
   8 * An even bigger kudos to John Grana at Performance Technologies
   9 * for providing me with the hardware to write this driver, you rule
  10 * John you really do.
  11 *
  12 * May, 2, 1997: Added support for QLGC,isp --jj
  13 */
  14
  15#include <linux/kernel.h>
  16#include <linux/delay.h>
  17#include <linux/types.h>
  18#include <linux/string.h>
  19#include <linux/gfp.h>
  20#include <linux/blkdev.h>
  21#include <linux/proc_fs.h>
  22#include <linux/stat.h>
  23#include <linux/init.h>
  24#include <linux/spinlock.h>
  25#include <linux/interrupt.h>
  26#include <linux/module.h>
  27#include <linux/jiffies.h>
  28#include <linux/dma-mapping.h>
  29#include <linux/of.h>
  30#include <linux/of_device.h>
  31#include <linux/firmware.h>
  32
  33#include <asm/byteorder.h>
  34
  35#include "qlogicpti.h"
  36
  37#include <asm/dma.h>
  38#include <asm/ptrace.h>
  39#include <asm/pgtable.h>
  40#include <asm/oplib.h>
  41#include <asm/io.h>
  42#include <asm/irq.h>
  43
  44#include <scsi/scsi.h>
  45#include <scsi/scsi_cmnd.h>
  46#include <scsi/scsi_device.h>
  47#include <scsi/scsi_eh.h>
  48#include <scsi/scsi_tcq.h>
  49#include <scsi/scsi_host.h>
  50
  51#define MAX_TARGETS     16
  52#define MAX_LUNS        8       /* 32 for 1.31 F/W */
  53
  54#define DEFAULT_LOOP_COUNT      10000
  55
  56static struct qlogicpti *qptichain = NULL;
  57static DEFINE_SPINLOCK(qptichain_lock);
  58
  59#define PACKB(a, b)                     (((a)<<4)|(b))
  60
  61static const u_char mbox_param[] = {
  62        PACKB(1, 1),    /* MBOX_NO_OP */
  63        PACKB(5, 5),    /* MBOX_LOAD_RAM */
  64        PACKB(2, 0),    /* MBOX_EXEC_FIRMWARE */
  65        PACKB(5, 5),    /* MBOX_DUMP_RAM */
  66        PACKB(3, 3),    /* MBOX_WRITE_RAM_WORD */
  67        PACKB(2, 3),    /* MBOX_READ_RAM_WORD */
  68        PACKB(6, 6),    /* MBOX_MAILBOX_REG_TEST */
  69        PACKB(2, 3),    /* MBOX_VERIFY_CHECKSUM */
  70        PACKB(1, 3),    /* MBOX_ABOUT_FIRMWARE */
  71        PACKB(0, 0),    /* 0x0009 */
  72        PACKB(0, 0),    /* 0x000a */
  73        PACKB(0, 0),    /* 0x000b */
  74        PACKB(0, 0),    /* 0x000c */
  75        PACKB(0, 0),    /* 0x000d */
  76        PACKB(1, 2),    /* MBOX_CHECK_FIRMWARE */
  77        PACKB(0, 0),    /* 0x000f */
  78        PACKB(5, 5),    /* MBOX_INIT_REQ_QUEUE */
  79        PACKB(6, 6),    /* MBOX_INIT_RES_QUEUE */
  80        PACKB(4, 4),    /* MBOX_EXECUTE_IOCB */
  81        PACKB(2, 2),    /* MBOX_WAKE_UP */
  82        PACKB(1, 6),    /* MBOX_STOP_FIRMWARE */
  83        PACKB(4, 4),    /* MBOX_ABORT */
  84        PACKB(2, 2),    /* MBOX_ABORT_DEVICE */
  85        PACKB(3, 3),    /* MBOX_ABORT_TARGET */
  86        PACKB(2, 2),    /* MBOX_BUS_RESET */
  87        PACKB(2, 3),    /* MBOX_STOP_QUEUE */
  88        PACKB(2, 3),    /* MBOX_START_QUEUE */
  89        PACKB(2, 3),    /* MBOX_SINGLE_STEP_QUEUE */
  90        PACKB(2, 3),    /* MBOX_ABORT_QUEUE */
  91        PACKB(2, 4),    /* MBOX_GET_DEV_QUEUE_STATUS */
  92        PACKB(0, 0),    /* 0x001e */
  93        PACKB(1, 3),    /* MBOX_GET_FIRMWARE_STATUS */
  94        PACKB(1, 2),    /* MBOX_GET_INIT_SCSI_ID */
  95        PACKB(1, 2),    /* MBOX_GET_SELECT_TIMEOUT */
  96        PACKB(1, 3),    /* MBOX_GET_RETRY_COUNT */
  97        PACKB(1, 2),    /* MBOX_GET_TAG_AGE_LIMIT */
  98        PACKB(1, 2),    /* MBOX_GET_CLOCK_RATE */
  99        PACKB(1, 2),    /* MBOX_GET_ACT_NEG_STATE */
 100        PACKB(1, 2),    /* MBOX_GET_ASYNC_DATA_SETUP_TIME */
 101        PACKB(1, 3),    /* MBOX_GET_SBUS_PARAMS */
 102        PACKB(2, 4),    /* MBOX_GET_TARGET_PARAMS */
 103        PACKB(2, 4),    /* MBOX_GET_DEV_QUEUE_PARAMS */
 104        PACKB(0, 0),    /* 0x002a */
 105        PACKB(0, 0),    /* 0x002b */
 106        PACKB(0, 0),    /* 0x002c */
 107        PACKB(0, 0),    /* 0x002d */
 108        PACKB(0, 0),    /* 0x002e */
 109        PACKB(0, 0),    /* 0x002f */
 110        PACKB(2, 2),    /* MBOX_SET_INIT_SCSI_ID */
 111        PACKB(2, 2),    /* MBOX_SET_SELECT_TIMEOUT */
 112        PACKB(3, 3),    /* MBOX_SET_RETRY_COUNT */
 113        PACKB(2, 2),    /* MBOX_SET_TAG_AGE_LIMIT */
 114        PACKB(2, 2),    /* MBOX_SET_CLOCK_RATE */
 115        PACKB(2, 2),    /* MBOX_SET_ACTIVE_NEG_STATE */
 116        PACKB(2, 2),    /* MBOX_SET_ASYNC_DATA_SETUP_TIME */
 117        PACKB(3, 3),    /* MBOX_SET_SBUS_CONTROL_PARAMS */
 118        PACKB(4, 4),    /* MBOX_SET_TARGET_PARAMS */
 119        PACKB(4, 4),    /* MBOX_SET_DEV_QUEUE_PARAMS */
 120        PACKB(0, 0),    /* 0x003a */
 121        PACKB(0, 0),    /* 0x003b */
 122        PACKB(0, 0),    /* 0x003c */
 123        PACKB(0, 0),    /* 0x003d */
 124        PACKB(0, 0),    /* 0x003e */
 125        PACKB(0, 0),    /* 0x003f */
 126        PACKB(0, 0),    /* 0x0040 */
 127        PACKB(0, 0),    /* 0x0041 */
 128        PACKB(0, 0)     /* 0x0042 */
 129};
 130
 131#define MAX_MBOX_COMMAND        ARRAY_SIZE(mbox_param)
 132
 133/* queue length's _must_ be power of two: */
 134#define QUEUE_DEPTH(in, out, ql)        ((in - out) & (ql))
 135#define REQ_QUEUE_DEPTH(in, out)        QUEUE_DEPTH(in, out,                 \
 136                                                    QLOGICPTI_REQ_QUEUE_LEN)
 137#define RES_QUEUE_DEPTH(in, out)        QUEUE_DEPTH(in, out, RES_QUEUE_LEN)
 138
 139static inline void qlogicpti_enable_irqs(struct qlogicpti *qpti)
 140{
 141        sbus_writew(SBUS_CTRL_ERIRQ | SBUS_CTRL_GENAB,
 142                    qpti->qregs + SBUS_CTRL);
 143}
 144
 145static inline void qlogicpti_disable_irqs(struct qlogicpti *qpti)
 146{
 147        sbus_writew(0, qpti->qregs + SBUS_CTRL);
 148}
 149
 150static inline void set_sbus_cfg1(struct qlogicpti *qpti)
 151{
 152        u16 val;
 153        u8 bursts = qpti->bursts;
 154
 155#if 0   /* It appears that at least PTI cards do not support
 156         * 64-byte bursts and that setting the B64 bit actually
 157         * is a nop and the chip ends up using the smallest burst
 158         * size. -DaveM
 159         */
 160        if (sbus_can_burst64() && (bursts & DMA_BURST64)) {
 161                val = (SBUS_CFG1_BENAB | SBUS_CFG1_B64);
 162        } else
 163#endif
 164        if (bursts & DMA_BURST32) {
 165                val = (SBUS_CFG1_BENAB | SBUS_CFG1_B32);
 166        } else if (bursts & DMA_BURST16) {
 167                val = (SBUS_CFG1_BENAB | SBUS_CFG1_B16);
 168        } else if (bursts & DMA_BURST8) {
 169                val = (SBUS_CFG1_BENAB | SBUS_CFG1_B8);
 170        } else {
 171                val = 0; /* No sbus bursts for you... */
 172        }
 173        sbus_writew(val, qpti->qregs + SBUS_CFG1);
 174}
 175
 176static int qlogicpti_mbox_command(struct qlogicpti *qpti, u_short param[], int force)
 177{
 178        int loop_count;
 179        u16 tmp;
 180
 181        if (mbox_param[param[0]] == 0)
 182                return 1;
 183
 184        /* Set SBUS semaphore. */
 185        tmp = sbus_readw(qpti->qregs + SBUS_SEMAPHORE);
 186        tmp |= SBUS_SEMAPHORE_LCK;
 187        sbus_writew(tmp, qpti->qregs + SBUS_SEMAPHORE);
 188
 189        /* Wait for host IRQ bit to clear. */
 190        loop_count = DEFAULT_LOOP_COUNT;
 1s="sref">PACKBwhile 65loop_count = sbus_readw(qpti->qregs + SBUHCL" c>) {
SBUHCL" c_H" c>)) {
  9219a>                rethref="+code=bursarrieclass="sref">u_csarriec>() &aa href="drivers/scsi/qlogicpti.c#L191" id="L183" class="line" name="L93"1>  931/a>        u_ccpuadwlax>() &aa href="drivers/scsi/qlogicpti.c#L191" id="L184" class="line" name="L94"1>  941/a>          951/a>        loop_count = a href="drivers/scsi/qlogicpti.c#L182" id="L96"1 class="line" name="L96"1>  9619a>                   href="+code=parar qptar (qptKERN_EMERG> "gicpti.c#%d: x_command
  9719a>                qpti->qlog_mboic>);
  9819a>
  9919a>        /* Waitew
mbox_param[param[0]] == ;sbus_writew(param[0]]5]a href="+code=qpti" class="sref">qpti->qregs + qreX_CO5>);
sbus_writew(param[0]]4]a href="+code=qpti" class="sref">qpti->qregs + SBUX_COc>);
 1032/a>        sbus_writew(param[0]]3]a href="+code=qpti" class="sref">qpti->qregs + SBUX_CO3>);
 1042/a>        sbus_writew(param[0]]2]a href="+code=qpti" class="sref">qpti->qregs + SBUX_COc>);
 1052/a>        sbus_writew(param[0]]1]a href="+code=qpti" class="sref">qpti->qregs + SBUX_COc>);
 1062/a>        sbus_writew(param[0]]0]a href="+code=qpti" class="sref">qpti->qregs + SBUX_CO0>);
param[0]] == 0)
<1qlogicpti.c#L1889l)T422541>);
/* 1BOX_SS */1esbus_writew" class=d="L91" class= SC="lierrupt>/* Waitew
 185        tmp = sbus_readw(qpti->qregs + SBUX_CO0>);
 186        DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L212" i2="L112" class="line" name="L187"> 187        sbus_writew(tmp, qpti->qregs + SBUX_CO0>);
 183
2a href="d2ivers/scsi/qlogicpti.c#L214" i21"L184" class="line" name="L184"> 184/* Set SBUS semaphore. */
2a href="d2ivers/scsi/qlogicpti.c#L215" i2="L115" class="line" name="L147"> 147        sbus_writew(0, qpti->qregs + SBUS_SEMAPHORE);
2a href="d2ivers/scsi/qlogicpti.c#L216" i2 SBUS_SEMAPHORE);
2a href="drivers/scsi/qlogicpti.c#L217" i2="L117" class="line" name="L184"> 184  HOST="lierrupt>/* Waitew
 185        tmp = sbus_readw(qpti->qregs + SBUX_CO0>n>
 186        ) {
DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L220" i2="L120" class="line" name="L187"> 187        sbus_writew(tmp, qpti->qregs + SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L221" i2="L121ode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L222" i2="L122" class="line" name="L189"> 189       HOST="lierruptomment">/* Waitew
 190        loop_count = DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L224" i2="L124" class="line" name="L191"> 1s="sref">PACKBwhile 65DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L225" i22"L165" class="line" s="sref">loop_count = sbus_readw(qpti->qregs + SBUHCCitew(ql))
2a href="d2ivers/scsi/qlogicpti.c#L226" i22"L96"1 class="line" name="L96"1>  96udelay(SBUX_CO0a>;
2a href="drivers/scsi/qlogicpti.c#L227" i2="L127" class="line" name="L95"1>  951/a>        loop_count =2a href="d2ivers/scsi/qlogicpti.c#L228" i2="L128" class="line" name="L96"1>  9619a>                   href="+code=parar qptar (qptKERN_EMERG> "gicpti2c#%d: x_command
<2a href="d2ivers/scsi/qlogicpti.c#L229" i22"L169" class="line" nline" name="L96"1>  96             qpti->sbus_writew(SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L230" i2="L130" class="line" name="L130"> 130
2a href="d2ivers/scsi/qlogicpti.c#L231" i231L122" class="line" name="L189"> 189                >/* Waitew
 190        loop_count = DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L233" i233L124" class="line" name="L191"> 1s="sref">PACKBwhile 65DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L234" i234L169" class="line" !s="sref">loop_count = sbus_readw(qpti->qregs + tmp |= SBUHCL" c_H" c>)) {
2a href="d2ivers/scsi/qlogicpti.c#L235" i23"L165" class="line" name="L165"> 165udelay(SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L236" i23SBUS_SEMAPHORE);
2a href="d2ivers/scsi/qlogicpti.c#L237" i23"L167" class="line" naline" name="L189"> 189/* Waitew
 160 = sbus_readw(qpti->qregs + param[0]] == 0)
2a href="d2ivers/scsi/qlogicpti.c#L239" i23"L169" class="line" nline" n bcodkcode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L240" i24"L170" class="ode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L241" i24"L181" class="line" name="L95"1>  951/a>        loop_count =2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptar (qptKERN_EMERG> "gicpti3c#%d: x_command
<2a href="d2ivers/scsi/qlogicpti.c#L243" i24"L183" class="line" nline" name="L96"1>  96             qpti->sbus_writew(SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L244" i2="L144" class="line" name="L144"> 144
2a href="d2ivers/scsi/qlogicpti.c#L245" i24"L115" class="line" name="L189"> 189        190        loop_count = DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L247" i2="L147" class="line" name="L191"> 1s="sref">PACKBwhile 65loop_count = sbus_readw(qpti->qregs + ql))
2a href="d2ivers/scsi/qlogicpti.c#L2>sbus8riveVstruct SBUS_3g"ode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L241" i24"L181" class="line" name="L95ref="driv2rs/scsi/qlogicpti.c#L1492 id="250_count" class="sref">loop_count =2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptar (qptKERN_EMERG> qlogicpti2* 170 #1\n"pan>
<2a href="d2ivers/scsi/qlogicpti.c#L243" i24"L183" class="line" nline" name="L96"1>  96             qpti->mbox_param)
u16<2a>  144
R65< back qptpptKari" ecpti.c#L189" id="L99"1 class="line" name="L99"1>  99qpti" cla2s="sref">qpti->
tmp 185        tmp = sbus_reaa>[0]]5]a href="+code=qpti" class="sref">qpti->/* It appears 2hat a25+code=SBUX_COclass="sref">qreX_CO5>)="line" name="L1022> 1022/a>    s/scsi/qlogicpti.c#L218" i2="L118" class="line" name="L185"> 185        tmp = sbus_reaa>[0]]4]a href="+code=qpti" class="sref">qpti->2        * 64-byte bursts2and t257code=SBUX_COclass="sref">SBUX_COc>)="line" name="L93"2> 1032/a>    s/scsi/qlogicpti.c#L218" i2="L118" class="line" name="L185"> 185        tmp = sbus_reaa>[0]]3]a href="+code=qpti" class="sref">qpti->  2      * is a nop and the2chip 258code=SBUX_COclass="sref">SBUX_CO3>)="line" name="L94"2> 1042/a>    s/scsi/qlogicpti.c#L218" i2="L118" class="line" name="L185"> 185        tmp = sbus_reaa>[0]]2]a href="+code=qpti" class="sref">qpti-> 158SBUX_COc>)="line" name="L95"2> 1052/a>    s/scsi/qlogicpti.c#L218" i2="L118" class="line" name="L185"> 185        tmp = sbus_reaa>[0]]1]a href="+code=qpti" class="sref">qpti-> 152<2pan class="comclass="sref">SBUX_COc>)ss="line" name="L1002> 1002/a>  s/scsi/qlogicpti.c#L218" i2="L118" class="line" name="L185"> 185        tmp = sbus_reaa>[0]]0]a href="+code=qpti" class="sref">qpti->bursts<2a> & SBUX_CO0a>;
2a href="d2ivCFG1_BENA2 | mbox_param)
 144
+code=SBUX_COclass="s     1"+cod18" 18">/* 1BOX_SS */1esbus_writew" rivers/sc2i/qlogicpti.c#L163" id="2163" 2lass="line" nac#L220" i2="L120" class="line" name="L18s/scsi/qlogicpti.c#L218" i2="L118" class="line" name="L185"> 185        tmp = sbus_reap, qpti->bursts2/a> & /* Set SBUS semaphore. */
 186         |  187        sbus_writew(tmp, qpti->2/a> & qpti->  2 |  144
R6si/qeef="d2ivers/scsi/qlogicpti.c#L214" i21"L184" class="line" name=ref">burs2s & SBUX_CO0>n>
 185        tmp = sbus_rea/a>(0, qpti->
qregs +  140{
 187        sbus_writew(tm/a>(0, qpti->mbox_param)
 144
Weref="re donsi/qlogicpti.c#L214" i21"L184" class="line" name=class="sr2f">qregs + [0>->bursts2s/scsi/qlogicpti.c#L174"2id="L274" cl0lass="sref">SBUX_CO0a>;
2a href="d2ivref="driv2rs/scsi/qlogicpti.c#L1752 id="27ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a ham" class2"sref">param[], int 2a hre2="+codlass="line" name="L144"> 144
inline void set_sbus_cfg1(struct tmp 178<2a>        int  177cfg1" class="srei"> 186        u16<2a> tmp;
  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144">itiator_sref"line" nline" name">itiator_sref"liivers/scsi/qlogicpti.c  sbussref"line" nline" namesref"liiver86        [sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144ne" naL150
2a href="d2ivers/scne" naL150
2a hivers/s386        sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144amsbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144ambursts2184        /* Set SBUS semaphore.   sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144async_datacL15up_ode="drivers/scsi/qasync_datacL15up_ode=ivers/s386        SBUS_SEMAPH  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144amq_ack_act SBUS_SEMAPHORE  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144datace=SB_act  + sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144datacdma#L160"tic  178<2rs/scsi/qlogicpti.c#L1882 id="28ocode=SBUX_CO0lass="sref">SB  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144>qptar cdma#L160"tic sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144tag_ag hrelass="line" namag_ag hrivers/s8]] == 0)
  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144selecogic_ode=qptne" nline" nameselecogic_ode=qptivers/s250>->) {
sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144max_queue

2pth"drivers/scsi/qmax_queue

2pthivers/s256>->SBUX_CO0>);
 2      in,  1logicpt>in,  1l<cpt>in,  1++HORde=SBUHCL" class="srefs="sref">tmpSBUHe" name="L144"> 144ogicpti.c#L214" i21"L184" class="line" name="1>  951/2>        "gicpti.c#Ŵd: x_29t setting the B64 bit actuallyqpti-> 178<2rs/scsi/qlogicpti.c#L1882 id="29mment">         * size. -DaveM     3  3* Wai3ew         * size. -DaveM     3 href="+code=DEFAULT_LOO3am" c3ass="s">         * size. -DaveMqregs + <3 href30p_count" class="sref">loop_count  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144device_flaitew( 1logixcd>->qregs + <3 href30mmandloop_count  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144execuogic_ohrotta ref="d2ivers/scexecuogic_ohrotta ivers/s06>->qregs + <3 href30lalass="sref">DEFAULs
sbusultra href="+code=sbultraet_sbORde=SBUHCL" class="srefs="sref">tmpqregs + <3 href30c_H" class="sref">SBU timeout>loop_count  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144synchronous_perioine" nline" namesynchronous_perioiivers/s02>->loop_count  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144synchronous_offogine" nline" namesynchronous_offogiivers/s8]] == 0)
qregs + <3 href30hr" class="sref">SBUSsref">SBUS_CFG1_B8);
loop_count  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144synchronous_perioine" nline" namesynchronous_perioiivers/s25>->loop_count  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144synchronous_offogine" nline" namesynchronous_offogiivers/s02>->3* Wai310_count" class="sref"0lass="sref">SBUX_CO0a>;
2a href="d2i3regs" cla3s="sref">qregs +  170        } else   sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144device_ic qregs + SBUX_CO0a>;
2a 3"L184"> 134lass="line" name="L175"> 175
(struct qregs<3a> + );
inline void set_slogiic inline void sbusdrivdatane" nline" namehosidataiver86        3184  HOST="lierrupt>3* Wai3ewqlogicpti *        qregs + qlogicprisc_ogic_addref="drivers/scsrisc_ogic_addriver86         177{
 187      cfg1" class="srei"> 186        qregs +  187      flaitew( 186        mbox_param)
    3  HOST="lierruptomment">3* Wai3ew 144
alldload addresses ar  atgix1000n*logicpti.c#L214" i21"L184" class="line" name3t = <3 href="+code=DEFAULT_LOO3_COUN32ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 3PACKBwhil3 65/* Set SBUS semaphore. *pin_lock_irqsav ref="d2ivers/sc*pin_lock_irqsav cpti.ref="+code=inlihosine" nline" namehosisbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>->SBUX_CO0a>;
2a 36"1>  96u3elay(SBUS_SEMAPHORE 140{
 187        sbus_writew(tmp, qpti->  951/3>        param[0]] == 0)
<1qlogic3in[a hn 03x]g">"gicpti2c#ŵd: x_3ommand 144
Only naL15 ers/0]] ers/ssbus_writew(
 160 = sbus_reaCPU_P/a>, ,_BSY tmp 170        } else  140{
 187        sbus_writew(tmCPU_ORIDE qpti->   >3* Wai33p_count" class="sref">loop_count 140{
 190 187        sbus_writew(tmCPU_CMDme="L190"> 190qpti->loop_count)
2a href="d2ivers/scsi/qlogicpt40.c#L2>sbus8riveVstruct 

;
2a href="d2ivers/scsi/qlogicpti.c#L220" i2="L12lass=/a>,_RESEame="L190"> 190,_RESEati.c7"> 187        sbus_writew(tmlass=/a>,me="L190"> 190, class="sref">qpti->  96u3rs/scsi/qlogicpti.c#L2363 i23<33 class="sref">SBUS_SEMAPHORE 140{
,_CCLEARclass|.c#L246" i24"L186MA=/a>,_C"L111" class="line6MA=/a>,_C"L1 clas7"> 187        sbus_writew(tmCMD_6MA=/a>,me="L190"> 190, class="sref">qpti->3* Wai33w{
,_CCLEARclass|.c#L246" i24"L186MA=/a>,_C"L111" class="line6MA=/a>,_C"L1 clas7"> 187        sbus_writew(tmDATA_6MA=/a>,me="L190"> 190, class="sref">qpti->qpti->
 190        loop_cou3ers/scsi/3logicpti.c#L240" i24"L173" cla3s="ode=SBUX_CO>DEFAULT_LOOP_COUNT;
2a href="d2ivers/scsi/qlogicpti.c#L247" i2="L147" cst/sc/
 160 = sbus_readw(qpti->  951/3>        loop_count)
2a href="d2ivers/scsi/qlogicpti.c#L2>sbus8riveVstruct "gicpti3c#ŵd: x_3ommandSBUX_CO0a>;
2a href="d2ivers/scsi/qlogicpti.c#L241" i24"L181" class="line" name="L93de=tmp" c3ef">sbus_writew(DEFAULs="sref">qlogicpt=2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG> SBU timeou3"L128" class="line" n"line" name="L160"> 160 =   9719a>                3* Wai34ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 3t = <3 href="+code=DEFAULT_LOO3_COUN34 class="sref">SBUS_SEMAPHORE 140{
 187        sbus_writew(tmp, qpti->qregs +  ss="sref">qpti-> 175
 ss="sref">qpti->tmp;
qlogicpti3* 160 = sbus_reaSBUX_PSRa href="driversSBUX_PSRet_sbO->tmploop_count  sbusultra href="+code=sbultraet_ss/s0]] == 0)
u16<3a> loop_count 140{
qptKERN_EMERG> qpti->DEFAULs">SBU timeou3"L128" class="line" n"line" name="L160"> 160 = sbus_reaSBUX_MTREGa href="driversSBUX_MTREG0"> ss="sref">qpti->SBUS_CFG1_B8);
/* It appears 3hat a35href="+code=ql" class="sref">ql)  sbusultra href="+code=sbultraet_ss/s0>->3        * 64-byte bursts3and t35hr" class="sref">SBUS>loop_count 140{
 190 190qptKERN_EMERG>  160 = sbus_reaSBUX_MTREGa href="driversSBUX_MTREG0"> ss="sref">qpti-> 158 153<36ref="+code=tmp" class="sref">tmp;
bursts<3a> &  130
naL15 adapter"dri per-deviceldefaule valuei.c#L189" id="L99"1 class="line" name="L99"1>  93CFG1_BENA3 | SBUX_CO0a>;
doiit after"find hr qptewhe57"rlweref="re ultra m_re/sapablec#L189" id="L99"1 class="line" name="L99"1>  93Cref="+co3pti.c#L162" id="L162" cl3ss="l36w ss="sref">qpti->SBUX_CO0a>;
2a 3f">bursts3/a> &  144
R6si/qeeers/SBUX_processor.c#L189" id="L99"1 class="line" name="L99"1>  93Can class3 |  187        sbus_writew(tmp, qpti->3/a> & qpti->  3 |  144
G15 SBUX_to start execuoghr ers/firmwar ef">t.c#L189" id="L99"1 class="line" name="L99"1>  93Cn[a hn 03s & SBss="line" name="L1002> 1002/a>  s/scsi/qlogicpti.ce=qp_EXEC_FIRMWAef="+code=qpti" ce=qp_EXEC_FIRMWAef="+code=loop_count" class="sref">loop_cou3S_CFG1_BE3AB |  1052/a>    s/scsi/qlogicpti.crisc_ogic_addref="drivers/scsrisc_ogic_addriver86        bursts<3i.c#L170" id="L170" clas3="lin37="ode=SBUX_CO0last/sc/
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             tmp = 0; loop_count =2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG>  160 =   9719a>                qregs + DEFAULs="sref">qlogicp*pin_unlock_irqnaLtor ref="d2ivers/sc*pin_unlock_irqnaLtor gicpti.c#L242" i2="Lhosine" nline" namehosisbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>->bursts3s/scsi/qlogicpti.c#L174"3id="L37c_H" class="sref">SBUam[0]] == 0)
param[], int 3a hre37ST16"="sref">qpti-> 144
S15 ">itiator/0]] eID.c#L189" id="L99"1 class="line" name="L99"1>  9378"> 178<3a>        int SBss="line" name="L1002> 1002/a>  s/scsi/qlogicpti.ce=qp_SET_INIT_SCSI_IDme="L190"> 190        u16<3a>  1052/a>    s/scsi/qlogicpti.c  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144">itiator_sref"line" nline" name">itiator_sref"liiver86        bursts<3rs/scsi/qlogicpti.c#L1803 id="38="ode=SBUX_CO0last/sc/
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6                     [ 1aHORde=SBUHCL" class="srefs="sref">tmploop_count =2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar itiator/SCSIeID.N_EMERGlass="sref">qptKERN_EMERG> DEFAULs">SBU t3"L128" class="line" n"line" name="L160"> 160 =   9719a>                bursts3184        SBUH"sref">qlogicp*pin_unlock_irqnaLtor ref="d2ivers/sc*pin_unlock_irqnaLtor gicpti.c#L242" i2="Lhosine" nline" namehosisbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>-> + [0]] == 0)

 + param[0]] == 0)
<1qlogic3<8"> 178<3rs/scsi/qlogicpti.c#L1883 id="38mmand 144
I>itialize staoe of mhe queues, both hw"dri sw.c#L189" id="L99"1 class="line" name="L99"1>  939    3   sbusamq_in_ptref="drivers/scsrmq_in_ptret_ss/s bit to clear.   sbusams_out_ptref="drivers/scsrms_out_ptret_ss/s0>->        rs/scsi/3a>                rethre3="+co39w 1052/a>    s/scsi/qlogicpti.cRES_QUEUf_LENa href="driversSES_QUEUf_LENe=tmp" 0]] == 0)
 1052/a>    s/sti.c#L242" i2="Lct 
sbusrms_dvma href="+code=sbrms_dvmapuadw" cl" cl 16a>->/* Set SBUS semaphore. ="line" name="L93"2> 1032/a>    s/sti.c#L242" i2="Lct 
sbusrms_dvma href="+code=sbrms_dvmapuadw"s="srefffffa>->        "gicpti.c#ŵd: x_39 class="sref"0last/sc/
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             tmpqpti->ql) =2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar it
naLponse queue.N_EMERGlass="sref">qptKERN_EMERG>  178<3rs/scsi/qlogicpti.c#L1883 id="39si/qlogicpti.l" class timeou3"L128" class="line" n"line" name="L160"> 160 =   9719a>                4* Wai400_count" class="sref">loop_count*pin_unlock_irqnaLtor ref="d2ivers/sc*pin_unlock_irqnaLtor gicpti.c#L242" i2="Lhosine" nline" namehosisbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>->     4 href="+code=DEFAULT_LOO4am" c40 name="L170"> 170am[0]] == 0)
qregs + <4 href40* No sbus bursts for you... */
qregs + <4 href40ocode=SBUX_CO0lass="sref">SBUX_CO0>);
qregs + <4 href40cpuadwlaxlassand 1052/a>    s/scsi/qlogicpti.ce=qp_INIT_REQ_QUEUf="+code=qpti" ce=qp_INIT_REQ_QUEUfiver86        qregs + <4 href40ent">/* Set SBUS semaphore. ="line" name="L93"2> 1032/a>    s/scsi/qlogicpti.cQLOGICPTI_REQ_QUEUf_LENa href="driversQLOGICPTI_REQ_QUEUf_LENe=tmp" 0]] == 0)

sbusrmq_dvma href="+code=sbrmq_dvmapuadw" cl" cl 16a>->qregs + <4 href40 class="sref">SBUS_SEMAPHORE="line" name="L93"2> 1032/a>    s/sti.c#L242" i2="Lct 
sbusrmq_dvma href="+code=sbrmq_dvmapuadw"s="srefffffa>->
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             tmp4* Wai410_count" class="sref"="sref">ql) =2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar it
naquest queue.N_EMERGlass="sref">qptKERN_EMERG> qregs +  170 timeou3"L128" class="line" n"line" name="L160"> 160 =   9719a>                (loop_count pin_unlock_irqnaLtor ref="d2ivers/sc*pin_unlock_irqnaLtor gicpti.c#L242" i2="Lhosine" nline" namehosisbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>->qregs + 
 144
qregs<4a> +  190        SBUS_SEMAPHORE="line" name="L93"2> 1032/a>    s/scsi/qlogicpti.c  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144am  HOST="lierrupt>4* Wai4ew 1022/a>    s/scsi/qlogicpti.c  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144amqregs + SBd="L145" csref">qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct ) {
tmp;
qregs + ="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_SET_TAG_AGf_LIMIame="L190"> 190        sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144tag_ag hrelass="line" namag_ag hriver86        4* Wai4ewqptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct SBUX_CO0a>;
2a 4PACKBwhil4 65/* Set Sforast/sc/
 1logicpt>in,  1l<cpt>in,  1++HORde=SBUHCL" class="srefs="sref">tmpSBUHCCit4w(ql)="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_GET_DEV_QUEUf_PARAMS]0]a href="+code=qp_GET_DEV_QUEUf_PARAMSiver86        SBUS>loop_countss="line" name="L1002> 1002/a>  s/sst/sc/
 1l<c<cp8c#L2>sbus8riveVstruct ql)d="L145" csref">qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct "gicpti2c#Ŷd: x_4ommand
sbus_writew(tmp;
="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_GET_FIRMWAef_STATUS]0]a href="+code=qp_GET_FIRMWAef_STATUSiver86                4       >4* Wai43wqptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct SBUX_CO0>);
 1052/a>    s/scsi/qlogicpti.ce=qp_SET_SELECT_TIMEOUame="L190"> 190        ACKBwhil4ef="+code=SBUS_SEMAPHORE4LCK" 43ent">/* Set SBUS semaphore. ="line" name="L93"2> 1032/a>    s/scsi/qlogicpti.c  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144selecogic_ode=qptne" nline" nameselecogic_ode=qptiver86        SBUHCCit4elay(qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct qpti->4* Wai43w
 1logicpt>in,  1l<cpt>in,  1++HORde=SBUHCL" class="srefs="sref">tmpn[a hn 04egs + ="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_SET_TARGET_PARAMS]0]a href="+code=qp_SET_TARGET_PARAMSiver86        ql) s="line" name="L1002> 1002/a>  s/sst/sc/
 1l<c<cp8c#L2>sbus8riveVstruct  170        } else ="line" name="L1022> 1022/a>    s/sti.c#L242" i2="L  sbusdev_href="drivers/scsi/qdev_href=02/a>t>in,  1].ine" name="L144device_flaitew( 1l<c<cp8c#L2>sbus8riveVstruct e" name="L144"> 144ogicpti.c#L214" i21"L184" class="line" name4in[a hn 04x]g">"gicpti3c#Ŷd: x_4ommand">         * size. -DaveMsbus_writew(         * size. -DaveMSBU        } else ="line" name="L1022> 1022/a>    s|ogixc0>->4* Wai44href="+code=ql" class="sref">ql)="line" name="L1022> 1022/a>  3 s/s0>ef">e" name="L144"> 144 no offogi,lwe
doi" i have sync m_re/yetn*logicpti.c#L214" i21"L184" class="line" name4ref="d2iv4 href="+code=DEFAULT_LOO4_COUN44hr" class="sref">SBUS>loop_count ="L145" csref">qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct qregs + qpti-> 144ogicpti.c#L214" i21"L184" class="line" name4gicpti" c4ass="sref">qlogicpti4*         * size. -DaveMitialers/snaL15 (kicks f/w).ogicpti.c#L214" i21"L184" class="line" name4ef="drive4s/scsi/qlogicpti.c#L151"4id="L45p_cou">         * size. -DaveMu16<4a>  1052/a>    s/scsi/qlogicpti.ce=qp_ass=RESEame="L190"> 190        qpti-> 1052/a>    s/scsi/qlogicpti.c  sbusdriv href="drivers/scsi/qdriv href=rite.ine" name="L144pti.c#L150
2a href="d2ivers/scpti.c#L150
2a hiver86        /* Set SBUS semaphore.  ="L145" csref">qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             sbus8riveVstruct /* It appears 4hat a45wsbussend_markeref="drivers/scssend_marker"> 1log0]] == 0)
4        * 64-byte bursts4and t45ST16"="sref">qpti->sbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>-> 158 154<46ref="sts for you... */
bursts<4a> &  187      PTI_RESET_LIMIame="L190"> 190SBUX_CO0>);
 175
inline void set_sL241" i24"L181" class="line" name="L94f">bursts4/a> & tmp |         4/a> &    s/sc                href="+code=para/isp1000.bi_EMERGlass="sr86         + gicpref="+code=set_sbf2_datane" nline" namef2_dataiver86         & sbusqhosine" nline" nameqhosi         | qlogicpcsu   href="+code=pcsu "> 1logic6        bursts<4i.c#L170" id="L170" clas4="lin471code=SBUX_COunsignedd=ti" s="sref">qlogicpti *         = 0; qlogicprisc_ogic_addref="drivers/scsrisc_ogic_addriver7"> 187      risc_ogic_lengthef="drivers/scsrisc_ogic_length         1erref="drivers/scserr        qregs +  187      flaitew( 186        bursts4s/scsi/qlogicpti.c#L174"4id="L47c_H" class="sine" name="L175"> 1efg1" class="srei"> 17"> 187      ode=qptne" nline" nameode=qptiver86        SBUX_CO0a>;
2a 4am" class4"sref">param[], int 4a hre47 class="sref">SBUS_SEMAPHOREerref="drivers/scserr 187      fw="+ca href="d2iversfw="+c/a> , "s="sf="+code=set_sb  sbusop href="+code=sbopritew" class="sref">sbusdevew( 1a>->tmp 178<4a>        int ==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" cRRa href="drivers142" cRRi/qloc                href="+codFaileddtodload image \="+codaclass\="+cod err aclassN_EMERGlass="sref">qptKERN_EMERG> u16<4a> fw="+ca href="d2iversfw="+c/a> , t/sc/
->bursts<4rs/scsi/qlogicpti.c#L1804 id="48 name="L170"> 170am[ name="L175"> 1erref="drivers/scserr        [sbussiz ref="d2ivers/sc*iz "> 1l&clas 2HORde=SBUHCL" class="srefs="sref">tmpDEFAULse" name="L140">==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" cRRa href="drivers142" cRRi/qloc                href="+codBogus lengthl&claszusin image \="+codaclass\="+codN_EMERGlass="sref">qptKERN_EMERG> bursts4184        SBU" classe" name="L140">fwa href="d2iversfwiverw" class="sref">sbussiz ref="d2ivers/sc*iz "> 17"> 187      fw="+ca href="d2iversfw="+c/a> H>-> + SBUS_SEMAPHOREerref="drivers/scserr;EINVA, SBUSgotodass="sref">sbusoutfirm href="+code=sboutfirm        
 178<4rs/scsi/qlogicpti.c#L1884 id="48mmandsbusdatane" nline" namedataiver[0]86            4    144 all f/w m_rulesdload atgix1000n*logicpti.c#L214" i21"L184" class="line" name49ef="driv4 href="+code=DEFAULT_LOO4_COUN490" class="line" name="L140">risc_ogic_lengthef="drivers/scsrisc_ogic_lengthsbussiz ref="d2ivers/sc*iz "> 1l/ 286        ) {
                rethre4="+co49wsbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>-> 4      SBUX_CO0a>;
2a 4ers/scsi/4logicpti.c#L191" id="L184" cla49ent">/* Set SBe" name="L144"> 144 Verify mhe checksum twice, one befor ef=adghr it,"dri onceogicpti.c#L214" i21"L184" class="line" name49ef="driv4>                 * size. -DaveMqptar s.ogicpti.c#L214" i21"L184" class="line" name49/a> |= <4ing">"gicpti.c#Ŷd: x_49 clas">         * size. -DaveMqpti-> 1logicpt>in,  1l<cpt>in,  1++H.c#L214" i21"L184" class="line" name4"8"> 178<4rs/scsi/qlogicpti.c#L1884 id="49si/qlogicpti.l" class="sref">qlogicpcsu   href="+code=pcsu "> 1l+/scsi/qlogicpti.c__lea>_to_cpu + _to_cpugicpti.c#L242" i2="Lf2_datane" nline" namef2_dataiver>t>in,  1]a>->     5  5* Wai500_count" clas0last/sc/
 1HORde=SBUHCL" class="srefs="sref">tmp     5 href="+code=DEFAULT_LOO5am" c50 name="L170"> 170e" name="L140">==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG> qregs + <5 href50p_count" class="sref"170e" name="L140">line" n"line" name="L160"> 160 =   9719a>                qregs + <5 href50mmandloop_counterref="drivers/scserrqregs + <5 href50lalass="sref">DEFAULsgotodass="sref">sbusout href="+code=sbout        qregs + <5 href50ent">/* Set S}="sref">DEFAULs6         190 187        sbus_writew(tmSass=pti"me="L190"> 190                "gicpti.c#ŷ href50 class="sref">SBUS_SEMAPHORE 140{
   7"> 187        sbus_writew(tmCMD_DMA=pti"ew(                qpti->{
   7"> 187        sbus_writew(tmDATA_DMA=pti"ew(                 1905* Wai510_count" claswhile (-_LOOP_COUNT;ode=qptne" nline" nameode=qptivers"s="s"s="srst/sc/
 160 = sbus_reaSass=pti"me="L190"> 190   O-> 190qregs +  170a href="+code=qu
2a href="d2ivers/scu
2a hiver(2.c#L2>sbus8riveVstruct (;ode=qptne" nline" nameode=qptiverHORde=SBUHCL" class="srefs="sref">tmpqregs + ==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar line" n"line" name="L160"> 160 =   9719a>                DEFAULse" name="L140">erref="drivers/scserr 154SBUgotodass="sref">sbusout href="+code=sbout        qregs<5a> + qpti->5* Wai5ew;
2a href="d2ivers/scsi/qlogicpti.c#L220" i2="L12" name=RESEame="L190"> 190<" name=RESEati.c7"> 187        sbus_writew(tmp, qpti->qregs + SBm
2a href="d2ivers/scm
2a hiver(1ss="sref">qpti->) {
tmp;
qregs +  140{
 190   7"> 187        sbus_writew(tmSass=pti"me="L190"> 190                               5* Wai5ew{
 187        sbus_writew(tmSass=SEMAPHOef="+code=qpti" cSass=SEMAPHOef0">               SBUX_CO0a>;
2a 5PACKBwhil5 65/* Set S0last/sc/
 160 = sbus_reaSBUX_PSRa href="driversSBUX_PSRa>   O->tmpSBUHCCit5w(ql)line" n"line" name="L160"> 160 = (SBUS>loop_count 140{
qptKERN_EMERG> ql)line" n"line" name="L160"> 160 = sbus_reaSBUX_MTREGa href="driversSBUX_MTREG0">               "gicpti2c#ŷd: x_5ommandtmpsbus_writew(ql)line" n"line" name="L160"> 160 =          170a href="+code=q 140{
 190 190qptKERN_EMERG>    >5* Wai53p_count" class="sref"170class="sref">ql)line" n"line" name="L160"> 160 = sbus_reaSBUX_MTREGa href="driversSBUX_MTREG0">               
SBUX_CO0a>;
2a 5>ACKBwhil5ef="+code=SBUS_SEMAPHORE5LCK" 53ent">/* Set SBUS semaphore. OUNT;
2a href="d2ivers/scsi/qlogicpti.c#L220" i2="L12" name=RE,  187        sbus_writew(tmp, qpti->SBUX_CO0a>;
2a 5>ef="d2iv5rs/scsi/qlogicpti.c#L2365 i23<53 class="sref">e" name="L144"> 144 Pin gicps ar eonly stableswhile SBUX is paused.c#L189" id="L99"1 class="line" name="L99"1>  95>1>  951/5ed     somn clggyommen">5* Wai53w;
2a href="d2ivers/scsi/qlogicpti.c#L220" i2="L12" name=PAUSf="+code=qpti" c" name=PAUSfti.c7"> 187        sbus_writew(tmp, qpti->
 160 = sbus_reaCPU_PDIFFew(   O->   ="sref">qpti->ql)  sbusdiffer144ial href="+code=sbdiffer144ialelse] == 0)
"sref">ql)  sbusdiffer144ial href="+code=sbdiffer144ial        "gicpti3c#ŷd: x_54w{
 187        sbus_writew(tmp, qpti->sbus_writew(SBUX_CO0a>;
2a 5ref="d2iv5rs/scsi/qlogicpti.c#L2445 i2="54ent">/* Set SBe" name="L144"> 144 This shouldnref="t be necessary-lweref="ve naL15 mhings solwe
should be189" id="L99"1 class="line" name="L99"1>  95            * size. -DaveM  95ref="d2iv5 href="+code=DEFAULT_LOO5_COUN54ST16"="sref">qpti->qregs + SB="line" name="L95"2> 1052/a>    s/scsi/qlogicpti.c="line" name="L1022> 1022/a>    s/scsi/qlogicpti.c="line" name="L1022> 1022/a>  3 s/scsi/qlogicpti.c="line" name="L1022> 1022/a>    s/scsi/qlogicpti.c="line" name="L1012> 1012/a>    s/s0>->
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             tmpqlogicpti5* 170e" name="L140">==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG> e" name="L140">line" n"line" name="L160"> 160 =   9719a>                u16<5a> loop_counterref="drivers/scserrqpti->DEFAULsgotodass="sref">sbusout href="+code=sbout        /* Set S}="sref">DEFAULs6        /* It appears 5hat a55ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 5comment">5        * 64-byte bursts5and t55 class="sref">e" name="L144"> 144 Load it up..c#L189" id="L99"1 class="line" name="L99"1>  95qass="sre5      * is a nop and the5chip 55w
 1logicpt>in,  1l<cpt>in,  1++HORde=SBUHCL" class="srefs="sref">tmp 158 155<560_count" class="sref"="sref">ql) s="line" name="L1002> 1002/a>  s/st>in, tmefg1" class="srei"> 186         &  170        } else ="line" name="L1022> 1022/a>    s/s        } else __lea>_to_cpu + _to_cpugicpti.c#L242" i2="Lf2_datane" nline" namef2_dataiver>t>in,  1]a>-> | 
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             tmpDEFAULseoutco mandqptKERN_EMERG> bursts5/a> & SBU" classeoutco mand 160 =   9719a>                5/a> & SBUSSSSSSSSSgotodass="sref">sbusout href="+code=sbout        

tmp;
bursts<5i.c#L170" id="L170" clas5="lin571code=SBUX_CO>e" name="L144"> 144 RaL15 mhe ISP again.c#L189" id="L99"1 class="line" name="L99"1>  95SFG1_BENA5/a> = 0; ;
2a href="d2ivers/scsi/qlogicpti.c#L220" i2="L12" name=RESEame="L190"> 190<" name=RESEati.c7"> 187        sbus_writew(tmp, qpti  95Sref="+co5logicpti.c#L172" id="L175" cla57wqpti->qregs + SBUX_CO0a>;
2a 5S">bursts5s/scsi/qlogicpti.c#L174"5id="L57ent">/* Set SBUS semaphore. d="L145" cenable_irqs="drivers/scsi/d="L145" cenable_irqscpti.3"L128" class="line" n"line" name="L160"> ss="sref">qpti->;
2a href="d2ivers/scsi/qlogicpti.07"> 187        sbus_writew(tmSass=SEMAPHOef="+code=qpti" cSass=SEMAPHOef0">               param[], int 5a hre57 class="sref">SBUS_SEMAPHORE 140{
 187        sbus_writew(tmp, qpti-&    href="+code=pa5aass="sre5s/scsi/qlogicpti.c#L177"5id="L57B16" ="sref">qpti-&    href="+code=pa5an[a hn 05a>        int  144 Ask ISP todverify mhe checksum of mhe new f">t.c#L189" id="L99"1 class="line" name="L99"1>  95href="+co5e=u16" class="sref">u16<5a> bursts<5rs/scsi/qlogicpti.c#L1805 id="580" class="line" name="L140">="line" name="L1022> 1022/a>    s/st>in, [
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             tmpDEFAULse" name="L140">==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG> bursts5184        SBU" classe" name="L140">line" n"line" name="L160"> 160 =   9719a>                 + SBUS_SEMAPHOREerref="drivers/scserrSBUSgotodass="sref">sbusout href="+code=sbout        
 178<5rs/scsi/qlogicpti.c#L1885 id="58ram" ="sref">qpti-> 144 Start usghr newly downloaded firmwar .c#L189" id="L99"1 class="line" name="L99"1>  959ef="driv5 href="+code=DEFAULT_LOO5_COUN590" class="line" name="L140">="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_EXEC_FIRMWAefe" name="L1022>e=qp_EXEC_FIRMWAef        ) {
                        rethre5="+co59wqptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6                     SBUX_CO0a>;
2a 5ers/scsi/5logicpti.c#L191" id="L185" cla59ent">/* Set SBUS semaphore. ="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_ABOUT_FIRMWAefe" name="L1022>e=qp_ABOUT_FIRMWAefiver86        
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6              |= <5ing">"gicpti.c#ŷd: x_59hr" class="sref">.3"L128" class="="line" name="L1022> 1022/a>    s!/scsi/qlogicpti.ce=qp_COMMAND_COMPLETfe" name="L1022>e=qp_COMMAND_COMPLETfiverHHORde=SBUHCL" class="srefs="sref">tmpqpti->==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG>  178<5rs/scsi/qlogicpti.c#L1885 id="59si/qlogicpti.l" class" classe" name="L140">line" n"line" name="L160"> 160 =   9719a>                6* Wai600_count" class="sref"="sref">ql)erref="drivers/scserr 170gotodass="sref">sbusout href="+code=sbout        qregs + <6 href60* No sbus bursts for you... */
qregs + <6 href60ocode=SBUX_CO0lass="sref">SBUX_CO0>);
qregs + <6 href60lalass="sref" e" name="L144"> 144 Snag mhe major"dri minorarevisions from mhe result.c#L189" id="L99"1 class="line" name="L99"1>  96=qregs" c6ass="sref">qregs + <6 href60ent">/* Set SBUS semaphore. dine" n"line" name="L160"> 160 = ( 160 = ("gicpti.c#Ÿ href60 class="sref">SBUS_SEMAPHOREdine" n"line" name="L160"> 160 = (qpti->qpti-&    href="+code=pa6=9regs" c6as/scsi/qlogicpti.c#L1886vers/60si/qlogicpti.>e" name="L144"> 144 S15 mhe clock ratec#L189" id="L99"1 class="line" name="L99"1>  96class=d="691" class= SC="lierrupt>6* Wai61 for host IRQ bit to clear. ="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_SET_CLOCK_RATfe" name="L1022>e=qp_SET_CLOCK_RATf        qregs + ="line" name="L1022> 1022/a>    s/st>in,  160 =         (
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6             qregs + tmpDEFAULse" name="L140">==2a href="d2ivers/scsi/qlogicpti.c#L242" i2="L142" class="line" name="L96"1>  9619a>                   href="+code=parar qptKERN_EMERG>  164SBU" classe" name="L140">line" n"line" name="L160"> 160 =   9719a>                qregs<6a> + SBUS_SEMAPHOREerref="drivers/scserrSBUSgotodass="sref">sbusout href="+code=sbout          HOST="lierrupt>6* Wai61w
qregs + qpti->) {

 160 = tmpqregs +  170 e" name="L144"> 144 Load sref initiatoraID"dri /qlerrupt level /qlo /scs lass="l022.c#L189" id="L99"1 class="line" name="L99"1>  96r="+codCi6rs/scsi/qlogicpti.c#L2216 i2="62p_count" class="sref">"sref">ql)="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_WRITE_RAM_WORDe" name="L1022>e=qp_WRITE_RAM_WORD        6* Wai62mmand="line" name="L1022> 1022/a>    s/s0xff80>->DEFAULse" name="L140">="line" name="L1022> 1022/a>    s/s(unsignedd=ti" )se" name="L140">line" n"line" name="L160"> 160 =          16 65SBUt/sc/
qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6                     qregs<6w(SBUX_CO0a>;
2a 6ref="d2iv6elay(SBUS>loop_count="line" name="L1022> 1022/a>    s/scsi/qlogicpti.ce=qp_WRITE_RAM_WORDe" name="L1022>e=qp_WRITE_RAM_WORD                ="line" name="L1022> 1022/a>    s/s0xff00>->"gicpti2c#Ÿd: x_629code=SBUX_COail_co mand->sbus_writew(ql)l="L145" csref">qptar ="drivers/scsi/d="L145" csref">qptar cpti.3"L128" class="line" n"line" name="L160"> 6                     sts for you... */
   >6* Wai63w            6 href="+code=DEFAULT_LOO6_COUN63wsbusout href="+code=sbout        qregs" c6 65sbusdriv_lock"drivers/scsi/qdriv lockti.c7"> 187      flaitew( 1a>->ACKBwhil6ef="+code=SBUS_SEMAPHORE6LCK" 63ent">ass="sref">sbusoutfirm href="+code=sboutfirm        ">qregs<6elay(->ef="d2iv6rs/scsi/qlogicpti.c#L2366 i23<63 class="sref"am[ name="L175"> 1erref="drivers/scserr        1>  951/6ed     somn clggyommen">6* Wai63w
qpti->ql)l="L145" cverify_tmon="drivers/scsi/d="L145" cverify_tmoncpti.strucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->tmp        ql)curlass"drivers/scsi/qcurlass 160 = ->"gicpti3c#Ÿd: x_64ocode=SBUX_CO0lass="sref">SBUX_CO0>);
sbus_writew(->/* Set S0las!st/sc/
tmSREG_FUSf="+code=qpti" cSREG_FUSfiveras"s="s"s="srst/sc/
 160 = tmSREG_FUSf="+code=qpti" cSREG_FUSfivera ="sref">qpti->qregs<6syomondition="cogo away>6* Wai64href="+code=ql" class>SBUS_SEMAPHORE==2a href="d2ivers/scsi/qlogicpti                href="+code=parar eddto normal lasse.N_EMERGlass="srese" name="L140">line" n"line" name="L160"> 160 =   9719a>                /* Set S0las!st/sc/
tmSREG_TPOWERa href="driversSREG_TPOWERiveras"s="s"s="srst/sc/
 160 = tmSREG_TPOWERa href="driversSREG_TPOWERivera ="sref">qpti->qregs + ==2a href="d2ivers/scsi/qlogicpti                href="+code=parar line" n"line" name="L160"> 160 =   9719a>                 160 = tmpql)erroref="drivers/scserror->qlogicpti6* 1700last/sc/
tmSREG_FUSf="+code=qpti" cSREG_FUSfiverasRde=SBUHCL" class="srefs="sref">tmp"="sref">ql)erroref="drivers/scserror->u16<6a> SBUS_SEMAPHORE==2a href="d2ivers/scsi/qlogicpti                href="+code=parar line" n"line" name="L160"> 160 =   9719a>                qpti->DEFAULssts for you... */
SBU0last/sc/
tmSREG_TPOWERa href="driversSREG_TPOWERiverasRde=SBUHCL" class="srefs="sref">tmpqregs<6"comment">/* It appears 6hat a65href="+code=ql" classeoutco mandSBUSSSSSSSSSe" name="L140">==2a href="d2ivers/scsi/qlogicpti                href="+code=parar line" n"line" name="L160"> 160 =   9719a>                
 158 160 =  156<660_count" class="sref"""""st/sc/
tmSREG_DSENSf="+code=qpti" cSREG_DSENSfiveras!/scsi/qlogicpti.cSREG_DSENSf="+code=qpti" cSREG_DSENSfiverasRde=SBUHCL" class="srefs="sref">tmp &  170eoutco mand==2a href="d2ivers/scsi/qlogicpti                href="+code=parar line" n"line" name="L160"> 160 =   9719a>                DEFAULssts for you... */
bursts6/a> & SBUt/sc/
 160 = qregs<6 | [ name="L175"> 1erroref="drivers/scserror &   951/6 | [0>->
tmp;
bursts<6i.c#L170" id="L170" clas6="lin671codelass="l name="L175"> 1irqre_s"drivers/scsi/qirqre_sref="> = ql)irq"drivers/scsi/qirqti.c7"voids*3"L128" class="dev"line" name="L97"1dev"lia>                        ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->qregs + tmpbursts6s/scsi/qlogicpti.c#L174"6id="L67ent">/* Set SBUS semaphore. epin_lock_irqne" name="L97"1epin_lock_irqcpti.->3"L128" class="linechain_lock"drivers/scsi/qlinechain_locka>                qregs<6rs/scsi/qlogicpti.c#L1756 id="67href="+code=q0last/sc/
tmpparam[], int 6a hre67hr" class="sref">SBUSstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="lmqpti-&    href="+code=pa6an[a hn 06a>        int  =   ="sref">qpti->u16<6a> SBUt/sc/
 =                170        } else  = =  s/st>in,               tmpSBUt/sc/
in,               
bursts6184        /* Set SBUS semaphore. dine" n"line" name="L160"> 160 =  s/st>in, qregs<6a> +                 
qpti-&    href="+code=pa6<8"> 178<6rs/scsi/qlogicpti.c#L1886 id="68ram" lass="lvoids> = ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->tmpepin_lock_irqne" name="L97"1epin_lock_irqcpti.->3"L128" class="linechain_lock"drivers/scsi/qlinechain_locka>                
in,  asRde=SBUHCL" class="srefs="sref">tmp                rethre6="+co69mmandSBUt/sc/
in,  160 =               tmpSBUstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="lm        
 =  s!/scsi/qlogicpti.cline" n"line" name="L160">  ="sref">qpti->"gicpti.c#Ÿd: x_69hr" class="sref">70"> 170        } else  = =               qpti-> = =  s/st>in,  160 =                178<6rs/scsi/qlogicpti.c#L1886 id="69si/qlogicpti.sts for you... */
7* Wai70 for host IRQ bit to clear. dine" n"line" name="L160"> 160 =  s/st>in,      7 href="+code=DEFAULT_LOO7am" c700" class="line" name="L140">epin_unlock_irqne" name="L97"1epin_unlock_irqcpti.->3"L128" class="linechain_lock"drivers/scsi/qlinechain_locka>                qregs + <7 href70* No sts for you... */
                rethre7 href70ocode=SBUX_CO0lass="sref">SBUX_CO0>);
qregs + <7 href70lalaslass="l/ql"="sref">ql)lps="map_writew(ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->qregs + <7 href70ent">Rde=SBUHCL" class="srefs="sref">tmpql)platform_devic ref="d2ivers/scslatform_devic class*3"L128" class="opref="d2ivers/scop0"> s/st>in,  160 =               "gicpti.c#Ź href70ST16"="sref">qpti->qpti->sbus_writew( w" class="sref">sbusresourc ref="d2ivers/scresourc 0"> [0], 0ef">qptKERN_EMERG> 70"> 170        } else resourc _siz ref="d2ivers/scresourc _siz cpti.->3"L128" class="opref="d2ivers/scop0"> w" class="sref">sbusresourc ref="d2ivers/scresourc 0"> [0])ef">qptKERN_EMERG> 7* Wai710_count" class="sref""""">SBU> 170                 href="+codPTI Qclass/ISPEMERGlass="sr              qregs + sbus_writew(tmp("sref">ql)==2a href="d2ivers/scsi/qlogicpti                href="+codPTI: Qclass/ISP +coistss= ar eunmappableN_EMERGlass="sr              qregs + 
 174/* Set S0lasandsbusis_ine" n"line" name=is_ine_couasRde=SBUHCL" class="srefs="sref">tmp + SBUS_SEMAPHOREline" n"line" name="L160"> 160 = in,  w" class="sref">sbusresourc ref="d2ivers/scresourc 0"> [0], (16 * 4096)ef">qptKERN_EMERG> SBUSSSSSSSSSSSSSSSSSSSSSSSSSsiz of(unsigneddchar)ef">qptKERN_EMERG>   HOST="lierrupt>7* Wai71href="+code=ql" classssssssssssssssssssssssss                 href="+codPTI Qclass/ISP lassregEMERGlass="sr              qregs + sbuseregne" name="L97"1eregiverasRde=SBUHCL" class="srefs="sref">tmp) {
SBUt/sc/
qregs +  170>>>>>>>>am[-0]] == 0)

7* Wai72mmand
[0>-> 17 65
(SBUX_CO0a>;
2a 7ref="d2iv7elay(ql)lps="+coistss_irqne" name="L97"1lps="+coistss_irqcpti.strucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->tmp"gicpti2c#Źd: x_729code=SBUX_COstrucl"="sref">ql)platform_devic ref="d2ivers/scslatform_devic class*3"L128" class="opref="d2ivers/scop0"> s/st>in,  160 =               sbus_writew(tmp;
  sbus_hosine" nline" nameqhosisbusirq"drivers/scsi/qirqti.cs/st>in,  160 = in,  w" class="sref">sbusarchdatane" nline" namearchdata0"> .> = (   >7* Wai73w            7 href="+code=DEFAULT_LOO7_COUN73w 144 W euseddto try various o 144 17ef="+code=SBUS_SEMAPHORE7LCK" 73ent">ae" name="L144"> 144( 144plex"dri messydtoass="sr-> 1447* Wai73w 144  97>i.c#L1887egs + in,  160 = line"lntref="drivers/scsaps="lntrgicpef">qptKERN_EMERG> SBUt/sc/
line" n"line" name="L160"> a ="sref">qpti-> 170gotodass="sref">sbusfail" n"line" name=fail0">                      "gicpti3c#Źd: x_74wline" n"line" name="L160"> 160 =   9719a>  ese" name="L140">line" n"line" name="L160"> 160 = sbus_writew(SBUX_CO0a>;
2a 7ref="d2iv7rs/scsi/qlogicpti.c#L2447 i2="74ent">/* Set Sam[0>->qregs<7syomondition="cogo away>7* Wai74ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 7ref="d2iv7 href="+code=DEFAULT_LOO7_COUN747nt">ass="sref">sbusfail" n"line" name=fail0"> :6          951/7">qregs + line" n"line" name="L160"> 160 =   9719a>                
qlogicpti7*
 =   97get_span"licpti.strucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->u16<7a> tmpqpti->ql)platform_devic ref="d2ivers/scslatform_devic class*3"L128" class="opref="d2ivers/scop0"> s/st>in,  160 =               ql)devic _n/a>ref="d2ivers/scdevic _n/a>class*3"L128" class="dpref="d2ivers/scdp0">              qregs<7"comment">/* It appears 7hat a75ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 7gef="d2iv7        * 64-byte bursts7and t75 class="sref">SBUS_SEMAPHOREdpref="d2ivers/scdp0"> s/st>in,  w" class="sref">sbusdevew( = ref="d2ivers/scof_n/a>0">              qpti-&    href="+code=pa7gn[a hn 07e="L158"> 158sbusepan"line" name="L97"1span"licptip/st>in,  ese                href="+codinitiator-idEMERGlass="sres-1P86         157<760_count" clas0last/sc/
 160 =          &  170andsbusepan"line" name="L97"1span"licptip/st>in,  ese                href="+codspan-initiator-idEMERGlass="sre6         |          160 =         DEFAULst/sc/
 160 =         SBU>DEFAULst/sc/
 160 = qptKERN_EMERG> qregs<7 |         SBUS_SEMAPHOREdine" n"line" name="L160"> 160 = sbusthis"line" name="L97"1this"li0"> s/st>in,  160 =           951/7 | sbus_hosine" nline" nameqhosisbusmax_sectortew( s/s6486         & qpti->line" n"line" name="L160"> 160 =         bursts<7i.c#L170" id="L170" clas7="lin771codests for you... */
        (ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->qregs + tmpbursts7s/scsi/qlogicpti.c#L174"7id="L77c_H" class="sstrucl"="sref">ql)platform_devic ref="d2ivers/scslatform_devic class*3"L128" class="opref="d2ivers/scop0"> s/st>in,  160 =               qregs<7rs/scsi/qlogicpti.c#L1757 id="77w(bmashref="d2ivers/scbmash0">              param[], int 7a hre77ST16"="sref">qpti->in,  w" class="sref">sbusdevew( = ref="d2ivers/scof_n/a>0"> ese                href="+codburla-siz sEMERGlass="sres0xffP86                int  p/st>in,  w" class="sref">sbusdevew( = ref="d2ivers/scof_n/a>0"> 160 = u16<7a> 
 p!/s0xff ="sref">qpti-> 170        } else burlatew(bmashref="d2ivers/scbmash0">              
(tmDMA_BURSTa> + 0">  p//s0 ||->DEFst/sc/
(tmDMA_BURST    qpti->bursts7184        SBUand(
        qregs<7a> + SBUX_CO0a>;
2a 7hm" class7 href="+code=SBUS_SEMAPH7RE_LC78 class="sref">SBUS_SEMAPHOREdine" n"line" name="L160"> 160 = (in, (          951/7a> +  178<7rs/scsi/qlogicpti.c#L1887 id="78ram" ="sref">qpti->ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->tmp) {
ql)cfreq"drivers/scsi/qcfreqcpti86                        rethre7="+co79ocode=SBUX_CO0lass="sref">SBUX_CO0>);
 144 Check for what mhe clockd/qputdto this cardd/s.ass="sr->ae" name="L144"> 144qregs<7>         144  979m" class7ing">"gicpti.c#Źd: x_79 class="sref">SBUS_SEMAPHOREcfreq"drivers/scsi/qcfreqcptip/st>in,  160 = ref="d2ivers/scprom_n/a>gicpee                href="+codclock-frequencyEMERGlass="sre40000000P86        qpti->sbusclock"drivers/scsi/qclockcptip/sst/sc/
         178<7rs/scsi/qlogicpti.c#L1887 id="79ocode=SBUX_CO0last/sc/
sbusclock"drivers/scsi/qclockcptip//s0 sae" name="L144"> 144 bullshit"*L189" id="L99"1 class="line" name="L99"1>  9819a>     8  8* Wai800_count" class="sref"andsbusclock"drivers/scsi/qclockcptip/s4086             8 href="+code=DEFAULT_LOO8am" c801codests for you... */
qregs + <8 href80w                        rethre8 href80ocodeae" name="L144"> 144 The"amquest"dri response queues must"each be aligned189" id="L99"1 class="line" name="L99"1>  9814regs" c8a      144qregs + <8 href80ent">ae" name="L144"> 144  9816regs" c8a        ql)lps="map_queues"drivers/scsi/qline"map_queuescpti.strucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti->"gicpti.c#ź href80ST16"Rde=SBUHCL" class="srefs="sref">tmpqpti->ql)platform_devic ref="d2ivers/scslatform_devic class*3"L128" class="opref="d2ivers/scop0"> s/st>in,  160 =               qpti->8* Wai810_cou#defC="st>in, in, in,   ="sref">qpti->qregs +   sbusres_cpu href="+code=sbres_cpu0"> s/st>in,  w" class="sref">sbusdevew(qptKERN_EMERG> (in,   ef">qptKERN_EMERG> qregs + sbusres_dvmane" nline" nameres_dvmacptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptiP86        
sbusres_cpu href="+code=sbres_cpu0"> s//st>in,  184sbusres_dvmane" nline" nameres_dvmacptip//s0 sRde=SBUHCL" class="srefs="sref">tmp + SBUS_SEMAPHORE==2a href="d2ivers/scsi/qlogicpti                href="+codQPTI: Can" i map response queue.N_EMERGlass="srP86        SBUSam[-0]] == 0)
  HOST="lierrupt>8* Wai81href="+code=qsts for you... */
qregs + qpti->) {
sbusreq_cpu href="+code=sbreq_cpu0"> s/st>in,  w" class="sref">sbusdevew(qptKERN_EMERG> qregs +  170>>>>>>>>>>>>>>>>>>>>>>>>>>>t>in,   ef">qptKERN_EMERG> sbusreq_dvmane" nline" namereq_dvmacptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptiP86        8* Wai82mmand
 160 =  s//st>in, DEF3"L128" class="line href="+code=sbus_writew" class="sref">sbusreq_dvmane" nline" namereq_dvmacptip//s0 sRde=SBUHCL" class="srefs="sref">tmp 18 65SBUand w" class="sref">sbusdevew(in,   ef">qptKERN_EMERG> (
sbusres_cpu href="+code=sbres_cpu0"> ese" name="L140">line" n"line" name="L160"> 160 =         (SBUS>SBUS_SEMAPHORE==2a href="d2ivers/scsi/qlogicpti                href="+codQPTI: Can" i map request"queue.N_EMERGlass="srP86                [-0]] == 0)
"gicpti2c#źd: x_829code=SBUX_COsts for you... */
sbus_writew(in,  160 =  es0e"t>in,   P86        memse4ref="d2ivers/scmemse4gicpti>in,  160 =  es0e"t>in,   P86           >8* Wai83p_count" clasam[0>->
SBUX_CO0a>;
2a 8>L184"> 18ef="+code=SBUS_SEMAPHORE8LCK" 83ent">constdchars*3"L128" class="lm_CO0a>;_info="drivers/scsi/d="L145" _infocpti.strucl"="sref">ql)Span"Hosine" nline" nameSpan"Hosiclass*3"L128" class="hosine" nline" namehosiqpti->(tmpef="d2iv8rs/scsi/qlogicpti.c#L2368 i23<83hr" class="srlass="lchars3"L128" class="bufne" nline" namebufr" c[80]             8* Wai83wql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" nline" namehosi =               qpti->in,          170i>in,  160 = sbusirq"drivers/scsi/qirqti.cese" name="L140">line" n"line" name="L160"> 160 = (        [i>in, "gicpti3c#źd: x_84w
sbus_writew(SBUX_CO0a>;
2a 8ref="d2iv8rs/scsi/qlogicpti.c#L2448 i2="84ent">ae" name="L144"> 144  98e">qregs<8syomondition="cogo away>8* Wai84wsbusinn="cogrivers/scsi/qinn="c_counvoids> = ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cmine" name="L97"1cmiqpti->tmp  951/8">qregs + ql)Marker_Entryref="d2ivers/scMarker_Entryclass*3"L128" class="markerref="d2ivers/scmarker0"> p/ssstrucl"="sref">ql)Marker_Entryref="d2ivers/scMarker_Entryclass*)"="sref">ql)cmine" name="L97"1cmiqpti->in,  es0e"siz of(strucl"="sref">ql)Marker_Entryref="d2ivers/scMarker_Entryclas P86        qlogicpti8*markerref="d2ivers/scmarker0"> 160 =  .> =  p/s0]] == 0)
markerref="d2ivers/scmarker0"> 160 =  .> =  s/st>in, u16<8a>  160 =  s/st>in, qpti-> 160 =  s/s0>->
qregs<8"comment">/* It appears 8hat a85ocode=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 8gef="d2iv8        * 64-byte bursts8and t85hr" class="lass="sref">sbusinn="cogrivers/scsi/qinn="c_counvoids> = ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cmine" name="L97"1cmiql)span"cmnine" name="L97"1span"cmniclass*3"L128" class="Cmnine" name="L97"1Cmniclase6          951/8      * is a nop and the8chip 85href="+code=ql" classssssssssssssstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160">  ="sref">qpti-> 158tmp 158<86 for host IRQ bit to clear. memse4ref="d2ivers/scmemse4gicpti>in, ql)C"> and_Entryref="d2ivers/scC"> and_Entryclas P86         & cmine" name="L97"1cmi =  .> =  p/s0]] == 0)
cmine" name="L97"1cmi =  .> =  s/st>in,  =  s/st>in, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbusiine" name="L97"1licpti86         =  s/st>in, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbuslunne" name="L97"1lun0"> 86         =  s/st>in, sbuscmi_lenref="d2ivers/sccmi_len0"> 86        qregs<8 |  = ( s/s0>-> & 
sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbustagged_supporteine" name="L97"1tagged_supporteiclas sRde=SBUHCL" class="srefs="sref">tmp  951/8 | 
sbuscmi_cou44ref="d2ivers/sccmi_cou44r" c[t>in, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbusiine" name="L97"1licpti]p//s0 ="sref">qpti->70"t/sc/
sbustag_ages"drivers/scsi/qtag_agesr" c[t>in, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbusiine" name="L97"1licpti]p/"t/sc/
 86         | 
in,  ese" name="L140">line" n"line" name="L160"> 160 = in, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbusiine" name="L97"1licpti]p+ (5*3"L128" class="HZne" name="L97"1HZclas P sRde=SBUHCL" class="srefs="sref">tmpbursts<8i.c#L170" id="L170" clas8="lin87 name="L170"> 170>>>>>>>>and = ( s/st>in,  86         = 0; line" n"line" name="L160"> 160 = in, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbusiine" name="L97"1licpti]p/"t/sc/
 86                qregs + DEFAULs>>>>>>>>and = ( s/st>in,  86        qregs<8rs/scsi/qlogicpti.c#L1758 id="87w
sbuscmnine" name="L97"1cmniclas[0]s//st>in,  + clas s||->param[], int 8a hre87hr" class="sref">st/sc/
sbuscmnine" name="L97"1cmniclas[0]s//st>in,   951/8s/scsi/qlogicpti.c#L177"8id="L87href="+code=ql" cst/sc/
sbuscmnine" name="L97"1cmniclas[0]s//st>in,         int  = ( s|/st>in,  86        u16<8a>         bursts<8rs/scsi/qlogicpti.c#L1808 id="88 name="L170"> 170        } else cmine" name="L97"1cmi = ( s|/st>in,  86        [cmine" name="L97"1cmi =  s/st>in, sbusrequestne" name="L97"1request =  /3"L128" class="HZne" name="L97"1HZclas86        in,  =  ese" name="L140">Cmnine" name="L97"1Cmniclasw" class="sref">sbuscmnine" name="L97"1cmniclasese" name="L140">Cmnine" name="L97"1Cmniclasw" class="sref">sbuscmi_lenref="d2ivers/sccmi_len0"> P86        bursts8184        
qregs<8a> +  144  98hm" class8 href="+code=SBUS_SEMAPH8RE_LC88hr" class="lass="sref">sbusinn="cogrivers/scsi/qinn="c_coun/ql"="sref">ql)load_cmine" name="L97"1load_cmicpti.strucl"="sref">ql)span"cmnine" name="L97"1span"cmniclass*3"L128" class="Cmnine" name="L97"1Cmniclasesstrucl"="sref">ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cmine" name="L97"1cmi  98h1>  951/8a> + ql)l="L145" ="drivers/scsi/d="L145" class*3"L128" class="line" n"line" name="L160"> ese" name="L140">u"lnt" n"line" name=u"lntclassass="sref">sbusin_ptref="drivers/scsin_ptr0"> ese" name="L140">u"lnt" n"line" name=u"lntclassass="sref">sbusou4_ptref="drivers/scsou4_ptr0"> P="L99"1 class="line" name="L99"1>  98hn[a hn 08rs/scsi/qlogicpti.c#L1888 id="889codeRde=SBUHCL" class="srefs="sref">tmp    8 7   burst97"1cRlL2138 i21"81lalasq"drivers/scsi/qcf0class="commen8/* Wahref="+code=tmp" cla8h>burst97"1cRlL2138 i21"81lalasq"drivei.c#L8184  HOST="l82 cla80wql)platform_dev=3bustagged_supporte88burst97"1cRlL2scatterliclass="HZne" namescatterlicl84  HOST="l82 clas1"81lalasq"drivesg4_ptr0>  HOST="l82 clas"81lalasq"drivescl"="sref">ql)platform_dev=3bustagged_s      8  ese" name="L14pti.c#L1838 id="ail_co mand 144 Check for8what mhe 8lockd/qputdto this cardd8s.ass8"sr-> esntryrbufficpti.c#L1838 id="ntryrbufficpese" name="L140">Cmnryclass*3"L128" class="cminL170"> 170>>>>>>>>andsbusdevic ref="d2isgf">sbuil_co mand  978m" cl89ass="lass="sref">sbusinn="cogrivers/scsi/qcfreqcpti8/st>in,  = Cmnryclass*3"L128" class="cminLo mand)l="Lclass="sref">sbusclock"d8ivers89ss*3"L128" class="lin="L97"1span"cmnsgf">sbusdevic ref="d2isgf">sbuil_css="opref="d2ivers/sco"lins1"81lalasq"drive/sco"lins1ese" req_dvmacptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptref="d2ivers/scQSIZEgicpti>in,  s1"81lalasq"drivesg4_ptr mandsbusclo8k"dri89stag_ages"drivers/scsi/qtag_a28" class="lin="L97"1span"cmnscryrsgf">sbusdevic ref="d2iscryrsgf">sbuese" name="L140">Cmnryclass*3"L128" class="cminLr mandsbu9clock9drivers/scsi/qclockcpti/qtag_a28" class="lin="L97"1span"cmn     qregs + <8 hre980w =    9            rethre8 href90ocod90sbusc138 i21"81lalasq"drivei.c#L8184   9 a      rethref="+7ode=b989" i90a href="8code=87lalas"opref="d2iversine" name="L97"1Cmniclasw" class="sref">sbuscL81+cod sbusdevic ref="d2isgf">sbuil_co mand 144  9816regs" 98a   90->3"L128" class="op" class8 href="+code=SBUFillona first four sg f">qpti:r" class="lass="sref">sbusinn="cogrivers/scsi/9rivers/sc9i/qline"map_queuescpti.s9rucl"90"+codQPTI: Can" i map response queuepti.c#L1838 id="ail_cuest = sbusdevic ref="d2isgf">sbuil_co mandin,  espti.c#L1838 id="ail_cu cla 4BUHCL" class="srefs="sref">tmpqpti->8* Wai910_co90laitew( for_="+8ns1"81lalasq"drivefor_="+8ns1ese" name="L140">Cmns1"81lalasq"drivesg4_ptr0  HOST="l82 clas"81lalasq"drivescl"="> ese" name="L14pti.c#L1838 id="ail_c"> ese" name="L14tref="drivers/sc_ptr0170"> 170>>>>>>>>andin, ddressese" name="L140">Cmns"81lalasq"drivescl"=Lo mandsbusres_cpu9href=91o44rol_flaitew( 80wENTRYd_">sbusdevic ref="d2idf">sbuil_css="opref="d2iverssgfwCmns"81lalasq"drivescl"=Lo mand   9qr9->3"L198" class="line href="+co9e=sbu9_writew" class="sref">="L97"1span"cmnsgf">sbusdevic ref="d2isgf">sbuil_cs-esef">qpti->sbusres9cpu h9ef="+code=sbre="sref">="L97"1span"cmnsg"81lalasq"drivesg4_ptuest = ql)platform_dev=3bustagged9=sbus_wri9ew" class="sref">sbusres9dvman9" nline" nameres_dddddwhilesi/qjiffies0"> esngf">sbusdevic ref="d2isgf">sbuil_cs cla ass="sref">SBUand  H91il_co mand(qregs + 9a 8re91ss*3"L128" class="line" n"lin++"opref="d2iversine" name="L97"1Cmniclasw" class="sref">sbusc
inGFP_ATOMICne" nline" nameGFP_ATOMICcptiP86a hrQLOGICPTI_REQ_QUEUE_LENreclasw" class="srtusou4_ptref="drivers/scsou4_ptco mstrucl"="sref">ql)l="L145" ="d9s_writew"9class="sref">sbusreq_cpu9href=92rivers/scsi/qclockcpti/qtag_a  HOST="l82 clatusou4_ptref="drivers/scsou4_ptuest = 8* PTss="sref">u16<8aNEXT >8* PTsese" name="L140">Cmntusou4_ptref="drivers/scsou4_ptLo mandin,9 estusou4_ptref="drivers/scsou4_ptuea hropref="d2iversogicpti.c#L1888 id="889codeRde=SBUHCL" class="srefs="sref">tmpsbusreq_dvmane" code=SBUX_COsts for you... */
 =  144 Check for9=sbus_wri9ew" class="sref">sbusreq9dvman9" nline" namereq_d/scsi/qtag_agesr" c[t>in s/st>in, in s/st>in, 
sbusres_cpu href="+codgesr" c[t>in s/st>in, 
in s/st>in,  86        
in s/st>in | 
sbus_writew(<9 h8ef92stag_ages"drivers/scsi/qtag_agesr" c[t>in s/st>inin,  = sbusdevic ref="d2isgf">sbuil_co mandin, in,  espti.c#L1838 id="ail_cu cla 7BUHCL" class="srefs="sref">tmp    8 href="+code=9EFAUL93writew" class="sref">sbusreq_dvmane"   HOST="l82 clapti.c#L1838 id="ail_cues7o mandsbusres_44rol_flait0"> for_="+8ns1"81lalasq"drivefor_="+8ns1ese" name="L140">Cmns1"81lalasq"drivesg4_ptr0  HOST="l82 clas"81lalasq"drivescl"="> ese" name="L14pti.c#L1838 id="ail_c"> ese" name="L14tref="drivers/sc_ptr0170"> 170>>>>>>>>and 18ef="+9ode=SBUS_SEMAPHORE8LCK" 93ent"93 nline" namereq_d/scsi/qtag_ai/qtag_agesr" c[t>inddressese" name="L140">Cmns"81lalasq"drivescl"=Lo mandinsbusdevic ref="d2idf">sbuil_css="opref="d2iverssgfwCmns"81lalasq"drivescl"=Lo mandsbusres_cpu href="+codr you... */
qr9line" nam9bufr" c[80]             9a    93"+codQPTI: Can" i mapef="+codgesr" c[t>insbusdevic ref="d2isgf">sbuil_cs-es ese" name="L14pti.c#L1838 id="ail_co mandin = ql)platform_dev=3bustagged9i238L169"9class="line" nline8 n bc94 for93stag_ages"drivers/scsr you... */
qr9messi/qlf9icpti>in,  170>>>>>>>>and 160 = sbusc138 i21"81lalasq"drivei.c#L8184ENTRYd_b#L8w
sbusc138 i21"81lalasq"drivei.c#L8184ENTRYd_">sbusdevic ref="d2idf">sbuil_css=ref"0last/sc/
(sbuscL81+cod sbusinn="cogrivers/scsi/92iv8rs/sc9i/qlogicpti.c#L2448 i2="94ent"94 nline" namerr you... */
qr9mrivers/s9st.s*L189" id="L99"1 cla9s="li94e" name="L144"> 144 = ( itted, record  cla8Cmd so we caa find8RE_laterhr" class="lass="sref">sbusinn="cogrivers/scsi/9951/8">qr9gs + sbusc
andl8w = 

         = 
in,  es0e"siz of(/a>, sbusdevic ref="d2ivers/scdevic clasw" class="sref">sbusiine" name="L97"1licpti]p//s0 ="sref">qpti->
 =  .> = Cmntusou4_ptref="drivers/scsou4_pt=tma              =  .> = GFP_ATOMICne" nline" nameGFP_ATOMICcptiP86tusou4_ptref="driversiP86tusou44_ptuest = 
 =  144 Check for9cmarker0"9 160 = "gicptitusou4_ptref="drivers/scsou4_ptef"0last/sc/
/* It appears 8hat 985oco9e=SBUX_CO0lass="sref">SBUX_CO0a>;
2a 8gef="92iv8     9  * 64-byte bursts8and t95hr" 9lass="lass="sref">sbusinn="cogrivers/scsi/9inn="c_co9nvoids> = ql)C"> and_Entryref="d2ivers/scC"> upi.ce_caa_f="+8"sref">ql)Cupi.ce_caa_f="+8ese"  namehosiqpti->( ese" name="L140">u"lnt" n"line" name=u"lntclassass="sref">sbusou4_ptref="drivers/scsou4_ptr0"> P="L99"1 class="line" name="L99"1>  98hn[a hn 08rs/scsi/qlogicpti.c#L1888 id="889codeRde=SBUHCL" class="srefs="sref">tmp)l=9L145" ="drivers/scsi/d="9145" 9lass*30"> 170>>>>>>>>and 158986 fo95stag_ages"dri4" class8 href="+code=SBUTemporary workarscdd cdeil bug " cfscdd and fixed (one bug ha cbeencfscddclass="lass="sref">sbusinn="cogrivers/scsi/9cmemse4gi9pti>in, sbusinn="cogrivers/scsi/9i =  .> = name="L97"1span"cmnnum>(   >8* Wai83p_count" -st = <>8* Wai83pDEPTHi8    8* Wai83pDEPTHese" name="L140">Cmntusou4_ptref="drivers/scsou4_pt=tma             logicpti.c#L1888 id="889codeRde=SB -s6ef">qpti-> .> = ql)Ccaa_f="+8ese"uest = <     (qpti-> =  s/st>in<      = <+code=tmp"MAX_S/qlogicpti.c#L17+code=tmp"MAX_S/ese" name="L140">Cmnnum>( = 
qr9i =  144 = scryrpti->(tmpsbusdev9c ref96ail_co mstrucl"="sref">ql)Marker_Entry9f="+code=9bus_writew" class="sref"9sbusc96ine" n"line" name="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" nlielay(Cmns_QUEUE_LENref="d2isvers/scpa8>i.c#L1888egs + < s9ustag_ages"driname="L97"1span"cmntgcode=tmp" cla8hn[guil_css="opref="d2iverss_QUEUE_LENref="d2isvers/scpa8>i.c#L1888egs id="8163" 86lalass="sref"and es0e"siz of(u_s +rline" name="L99"1>s +rl8hn[a hn 08rs/scsi/qparamine" name="L99"paramvic c6co mstrucl"="sref">ql)l="L145" ="d9e" name="997"1cmi =  160 = sbusinn="cogrivers/scsi/9"+code=tm9" cla8Spti" cla8f">qregs9/a> +9sbusinn="cogrivers/scsi/9e" name="997"1cmi =  esn_QUEUE_LENref="d2isvers/scpa8>i.c#L1888egssdpti.c#L1888 id="8sdptptr0170"> 170>>>>>>>>andqre9s<8rs/scsi/qlogicpti.c#L9758 i97->3"L128" class="op.> = GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYdti 86         >3|= 0x1ref"0last/sc/
sbuscm9ine" 9ame="L97"1cmnis="sre70"> 170>>>>>>>>andsbuscm9ine" 9ame="L97"1cmniclass="op.> = GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYsynchronous_offsref">ql)C"> asynchronous_offsreil_css=ref"0last/sc/
sbuscm9ine" 9ame="L97"1cmniclass="op.> = GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYsynchronous_perioql)C"> and_Enynchronous_perioqil_css=ref"0last/sc/
 = (
qr9" cla8h>b9rsts<8rs/scsi/qlogicpti.9#L1809 id="88 name="4" class8 href="+code=SBUare we wide capable?r" class="lass="sref">sbusinn="cogrivers/scsi/9"L97"1cmi9a h160 = ( esn_QUEUE_LENref="d2isvers/scpa8>i.c#L1888egswdpti.c#L1888 id="8wdeRde=SBUHCL" class="srefs="sref">tmp = GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYdti 86         >3|= 0x2ref"0last/sc/
 144 Check for9rsts8184<9a>         s/st>iparamine" name="L99"paramvic c0cuest = < BOX_SET_TARGET_PARAMShref="+8ode=l84 BOX_SET_TARGET_PARAMS="sref"and + 9a href="+code=SBUS8SEMAP98w s/st>iparamine" name="L99"paramvic c1cuesi/qjiffies0"> esegcode=tmp" cla8hn[guil_cs<< 8Lo mand( paramine" name="L99"paramvic c2cuesi/qjiffies0"> ese="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYdti 86         >3<< 8Lo mandql)load9cmine98d2ivers/scdevic clasw" class="sre="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYdti 86         >3&eq_d 0x1r170"> 170>>>>>>>>and)l="9145" ="drivers/scsi/d="L945" c9ass*3"L128" class="lin44rol_flait0"> paramine" name="L99"paramvic c3cuesi/qjiffies0"> ese="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptver_paramine" name="L99"ver_paramvic clasw" class="srtgcode=tmp" cla8hn[guil_c]ame="L1022>ENTRYsynchronous_offsref">ql)C"> asynchronous_offsreil_cs<< 8L e=ql" cst/sc/
in,  and_Enynchronous_perioqil_co mand 170>>>>>>>>and

qr9riv7     9 s/st>in  98ti.c#L1838 id="tdto itdb_mbox_c1>  98ese" name="L140">Cmnn_ptref="drivers/scsin_ptr0"> ese" name="L14paramine" name="L99"paramvic , 0Lo mand
SBUX_CO0a>;
2a 8gef="9rL189" id9="line" name="L99"1>  979m" cl99ass="lass="sref">sbusinn="cogrivers/scsi/9cfreqcpti9/st>in, sbusinn="cogrivers/scsi/9r)l="9class="sref">sbusclock"d9ivers99ss*3"4" class8 href="+code=o* The middle SCSI layerrensures187at f="+8c1>  98 nebus gets invokedclass="lass="sref">sbusinn="cogrivers/scsi/9r   8 7  9ew" class="sref">sbusclo9k"dri99stag_4" class8 href="+code=o* concurrcodly with itself or187einamerrupt 
andl8r (though187eclass="lass="sref">sbusinn="cogrivers/scsi/10code=sbus10codeclass="sref">sbusclo10cod>10cotag_4" class8 href="+code=o* namerrupt 
andl8r may call187" croutref as part ofclass="la/pre>=sbub1/12/0c028d348a0d919e35620372941fe01feac7_3/10cod>ass="sref">sbusinn="cogrivers/scsi/10c1de=sbus10cp; sbusinn="cogrivers/scsi/10c2de=sbus10c/qcfreqcpti86      10c/q>10c2tag_4" class8 href="+code=o*class="lass="sref">sbusinn="cogrivers/scsi/10c3de=sbus10ca      rethref="+7ode=b10ca >10c3tag_4" class8 href="+code=o* "T7" c="L1 must fly." -davemclass="lass="sref">sbusinn="cogrivers/scsi/10c4de=sbus10cockd/qputdto this cardd10coc>10c4tag_4" class8 href="+code=o* class="lass="sref">sbusinn="cogrivers/scsi/10c5de=sbus10c"sr->10c5ef="d2iversname="L97"1span"cmntdto itdb_f="+8c1>  98_lckti.c#L1838 id="tdto itdb_f="+8c1>  98_lckese"  namehosiscryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cmine"yref=(>  HOST="l82 cla8o"="sref">ql)C8o"=de=SB  namehosiscryrf">ql)C"> and_Entryref="d2iverX_COail_co mand  9710c"l>10c6il_co mstrucl"="sref">ql)Marker_Entry10c7de=sbus10cst>in, 10cd2ivers/scdev namehosiqpti->(sbuslunne" name="L97"1lun0"> 86        
sbusclock"d10cla>10cine" n"line" name="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" nli  namehosil"="sref">ql)l="L145" ="drivers/scs)st = <     
sbusclo10cw">10c9ne" n"line" name="L160"> p/ssstrucL99"1 class="line" name="L99"1>  98h1>  951/8a> + 
i>10i>rs/scmarker0"> es0e"siz of(u_="line" name="L99"1>  98hn[a hn 08rs/scsi/qlogicpti.c#L1888 id="889codeRde=Sef"0last/sc/
sbusres_cpu10cla>10ichdr0"> .> = name="L97"1span"cmntusou4_ptref="drivers/scsou4_ptef"0last/sc/
10i2ss="lass="sref">sbusinn="cogrivers/scsi/10i3de=sbus108" class="line href="+co108" >10i="L97"1target_li0"> s/st>in<     ql)Cscryrpo"=de=Sc clasw" class="sr8o"="sref">ql)C8o"=de=Sef"0last/sc/
sbusres10ew">10ie" name="L144"> 144sbusres10ew">10ie="L97"1cdb_length0"> s/st>itusou4_ptref="drivers/scsou4_ptuest = GFP_ATOMICne" nline" nameGFP_ATOMICcptiP86tusou4_ptref="driversiP86tusou44_ptef"0last/sc/
 s/s0>->  98h1>  951/8a>)ereq_dvmacptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptiP86a hrQLOGICPTI_REQ_QUEUE_LENreclasw" class="srtusou4_ptref="drivers/scsou4_ptco mstrucl"="sref">ql)l="L145" ="d10i7de=sbus10si/qlogic8c8regs" c8184<10si/>10iult href="+code=sbprom_get/qlogicpti.c#L1888 id="889codeRde=Sss="opref="d2iverssbus_readwhref="+code=SB8Lbus_readwese" name="L140">Cmnn_ptref="drivers/scsin_ptr0       8>        qregs + 10 c8>10icsi/qclockcptip/sst/sc/ = 8* PTss="sref">u16<8aNEXT >8* PTsese" name="L140">Cmntusou4_ptref="drivers/scsou4_ptLo mand estusou4_ptref="drivers/scsou4_ptuea hropref="d2iversogicpti.c#L1888 id="889codeRde=SBUHCL" class="srefs="sref">tmpsbusreq_cpu10cla>10cl nline" nameqhosi  98ti.c#L1838 id="toss_c1>  984_ptef"0last/sc/
10cass="lvoids> = 10c2tag_ages"drincsi/qjiffies0"> esn_ptref="drivers/scsin_ptr0       8>        line" n"lise98hmark"Lde=SB70"> 170>>>>>>>>and = 10ca href="8code=87lalas"opref="d2iversmark"L_froine" name="L97"1mark"L_froiese" name="L140">Cmns/s0>->sbusreq10ew">10cf="+code=sbre="sref">="L97"1span"cmnn_ptref="drivers/scsin_ptr0       8>        line" n"lise98hmark"Lde=Suesref"0last/sc/
 esNEXT >8* PTss="sref">u16<8aNEXT >8* PTsese" name="L140">Cmntusou4_ptref="drivers/scsou4_ptLuea hropref="d2iversogicpti.c#L1888 id="889codeRde=SB70"> 170>>>>>>>>andsbusres_cpu href="+codgesr" c[t>inCmntusou4_ptref="drivers/scsou4_pt=tma             10c"+codQPTI: Can" i mapef="+codgesr" c[t>inGFP_ATOMICne" nline" nameGFP_ATOMICcptiP86tusou4_ptref="driversiP86tusou44_ptuest = 
10cicpti2c#źd: x_829ef="+codgotoe="L97"1span"cmntoss_c1>  98ti.c#L1838 id="toss_c1>  984_ptef"0last/sc/
sbus_writew(<10 c8>10cstag_ages"drivers/scsr you... */
qr103ode=sbus10pti>in, 10pt="+code=sbre="sref">="L97"1span"cmns/s0>->  98h1>  951/8a>)ereq_dvmacptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptiP86a hrQLOGICPTI_REQ_QUEUE_LENreclasw" class="srtusou4_ptref="drivers/scsou4_ptco mstrucl"/
qr1031de=sbus10pti>in, 10p" nline" nameqhosi = 8* PTss="sref">u16<8aNEXT >8* PTsese" name="L140">Cmntusou4_ptref="drivers/scsou4_ptLo mand    8 href="+code=108><>10pf="+code=tmp"r you... */
qr10p3de=sbus106Rhref="+code=loop_8ount106Rh>10p="L97"1target_li0"> s/st>inCmns/s0>-> P86        10po44rol_flaitescsii/qjiffies0"> estusou4_ptref="drivers/scsou4_ptuetma             iclass*3"L128" class="Cmnine" name="n0"> P86        -> P86   n_ptref="drivers/scsin_ptr0"> ese" name="L14tusou4_ptref="drivers/scsou4_pt=tma             logicpti.c#L1888 id="889codeRde=SBLuea -1BUHCL" class="srefs="sref">tmp10p->3"L128" class="ogotoe="L97"1span"cmntoss_c1>  98ti.c#L1838 id="toss_c1>  984_ptef"0last/sc/
sbusinn="cogrivers/scsi/10p7de=sbus10bufr" c[80]             10buf>10pult href="+code=sbprom_get/qupi.ce_caa_f="+8"sref">ql)Cupi.ce_caa_f="+8ese" t = <      ese" name="L14tusou4_ptref="drivers/scsou4_pt=tma             logicpti.c#L1888 id="889codeRde=SBef"0last/sc/
10p8ss="lass="sref">sbusinn="cogrivers/scsi/10p9de=sbus10class="line" nline8 n bc10cla>10pstag_ages"dri    8x]ref"0last/sc/
sbusinn="cogrivers/scsi/1041de=sbus1060"> 160 = 10i1tag_4"L97"1span"cmntoss_c1>  98ti.c#L1838 id="toss_c1>  984_pt:lass="sref">sbusinn="cogrivers/scsi/1042de=sbus10 c             10ichdr0"> .> =  = "grivers/s%d: ="L97"1 f="+8 obusflow\n"class="r mand(
10ie" name="L144"> 14410ie="L97"1cdb_le" class8 href="+code=SBUUnfortun.cely, unless you use187einew EHc="L1,dwhichclass="lass="sref">sbusinn="cogrivers/scsi/1046de=sbus10nvoids> = 10iass="4" class8 href="+code=ode=87lal* we don't,187eimidlayerrwillongnore187ei    8x]value,class="lass="sref">sbusinn="cogrivers/scsi/1047de=sbus10gs + sbusinn="cogrivers/scsi/1048de=sbus10s/scMarker_Entryclass*3"10s/s>10iss*3"4" class8 href="+code=ode=87lal* class="lass="sref">sbusinn="cogrivers/scsi/1049de=sbus10i/qlogicpti.c#L1498 id="10i/q>10i9hdr0"> .> = 
 .> = ql)C8o"=de=S name="L140">Cmnryclass*3"L128" class="cminLo mand = 10p1tag_ages"dri    8x]X_COsts for you... */
qr1053de=sbus10 160 = 10pt" clasae" name="L144"> 144 Check for10p4de=sbus10 160 = 10pe" navers/sccmi_frobcpti.stDEF_SCSI_QCMD Cmnndto itdb_f="+8c1>  98d="8163" 86lala(dto itdb_f="+8c1>  98de=SBUHCL" class="srefs="sref">tmp/* It appears 8hat 10ent>10pe" name="L144"> 14410pref="d2iversname="L97"1span"cmntdto itdb_    8x_d2ivu!href="+8ode=l84pdto itdb_    8x_d2ivu!ese"  namehosiq2ivu!lass="line" name="L99q2ivu!lass="51/8a>gesr" c[t>in        name="L97"1span"cmntid="8163" 86lalass="srBUHCL" class="srefs="sref">tmp = 10pail_co mstrucl"="sref">ql)Marker_Entry10p8de=sbus10L145" ="drivers/scsi/d="10L14>10picpti2c#źname="L97"1span"cmn + <_d2ivu!href="+8ode=l84 + <_d2ivu!4_ptuetma             DID_ERROss="sref">u16<8aDID_ERROs4_ptef"0last/sc/
 15810ne">10post IRQ bit to clear. memse4ref="d2ivers/106ode=sbus10pti>in, 10ptcpti2c#źswitch i/qjiffies0"> esnt 86        i.c#L1888egsc="pletiop_d2ivu!href="+8ode=l84c="pletiop_d2ivu!de=SB70"> 170>>>>>>>>and = CmnrS_COMPLETEass*3"L128" clasS_COMPLETE4_pt:lass="sref">sbusinn="cogrivers/scsi/1062de=sbus10> = u16<8aDID_OK4_ptef"0last/sc/

CmnrS_INCOMPLETEass*3"L128" clasS_INCOMPLETE4_pt:lass="sref">sbusinn="cogrivers/scsi/1065de=sbus10> =  =>10p->3"L128" class="oncsi!i/qjiffies0"> esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_GOT_BUSline" name="L99qF_GOT_BUSde=SBLlass="sref">sbusinn="cogrivers/scsi/1066de=sbus10> =  =>10p"sref">sbusres_cpu href="+codgesr" c[t>inu16<8aDID_NOi.cNNECT4_ptef"0last/sc/
sbusdev10sw">10p"+codQPTI: Can" i map"sre7ncsi!i/qjiffies0"> esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_GOT_TARGETline" name="L99qF_GOT_TARGETde=SBLlass="sref">sbusinn="cogrivers/scsi/1068de=sbus10bus_writew" class="sref"10bus>10picpti2c#źd: x_829ef="+codgesr" c[t>in
 esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_SENT_CDBline" name="L99qF_SENT_CDBde=SBLlass="sref">sbusinn="cogrivers/scsi/107ode=sbus10vers/sctime_aftergicpti>10ver>10vecpti2c#źd: x_829ef="+codgesr" c[t>inu16<8aDID_ERROs4_ptef"0last/sc/
 = 10v" nline" nameqhosi esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_TRANSFERRED_DATAline" name="L99qF_TRANSFERRED_DATAde=SBLlass="sref">sbusinn="cogrivers/scsi/1072de=sbus10name="L160"> 160 = 10vwritew" class="sref">sbusreq_gesr" c[t>inu16<8aDID_ERROs4_ptef"0last/sc/
qregs10" c>10va href="8code=87lalas"sre7ncsi!i/qjiffies0"> esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_GOT_STATUSline" name="L99qF_GOT_STATUSde=SBLlass="sref">sbusinn="cogrivers/scsi/1074de=sbus1097"1cmi = 10v nline" namereq_d/scsi/qtag_agesr" c[t>inu16<8aDID_ERROs4_ptef"0last/sc/
 esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_GOT_SENSEass*3"L128" claqF_GOT_SENSEde=SBLlass="sref">sbusinn="cogrivers/scsi/1076de=sbus10asw" class="sref">sbuscm10asw>10v"sref">sbusres_cpu href="+codgesr" c[t>inu16<8aDID_ERROs4_ptef"0last/sc/
sbuscm10asw>10v"+codQPTI: Can" i mapbreakef"0last/sc/
sbuscm10asw>10vicpti2c#źd: x_8case1name="L140">CmnrS_DMA_ERROss="sref">u16<8arS_DMA_ERROs4_pt:lass="sref">sbusinn="cogrivers/scsi/1079de=sbus10a h160 = 10vstag_ages"drivers/scase1name="L140">CmnrS_TRANSPORT_ERROss="sref">u16<8arS_TRANSPORT_ERROs4_pt:lass="sref">sbusinn="cogrivers/scsi/108ode=sbus10rsts<8rs/scsi/qlogicpti.10rst>10rstag_ages"drivers/scs  HOST="l82 cla + <_d2ivu!href="+8ode=l84 + <_d2ivu!4_ptuetma             DID_ERROss="sref">u16<8aDID_ERROs4_ptef"0last/sc/

CmnrS_RESET_OCCURREDs="sref">u16<8arS_RESET_OCCURRED4_pt:lass="sref">sbusinn="cogrivers/scsi/1083de=sbus10pti>in, 10ra href="8code=87lalcase1name="L140">CmnrS_BUS_RESETs="sref">u16<8arS_BUS_RESET4_pt:lass="sref">sbusinn="cogrivers/scsi/1084de=sbus10a>        ="L97"1span"cmn + <_d2ivu!href="+8ode=l84 + <_d2ivu!4_ptuetma             DID_RESETs="sref">u16<8aDID_RESET4_ptef"0last/sc/
10r->3"L128" class="obreakef"0last/sc/
10r"sref">sbusres_cpu case1name="L140">CmnrS_ABORTEDs="sref">u16<8arS_ABORTED4_pt:lass="sref">sbusinn="cogrivers/scsi/1087de=sbus10n/ql"="sref">ql)load10n/q>10rme="L97"1cmniclass="op.> = u16<8aDID_ABORT4_ptef"0last/sc/

10rstag_ages"drivers/scase1name="L140">CmnrS_TIMEOUTs="sref">u16<8arS_TIMEOUT4_pt:lass="sref">sbusinn="cogrivers/scsi/109ode=sbus10s/scsi/qcf0class="commen10s/s>10s/e="L97"1cmniclass="op.> = u16<8aDID_TIME_OUT4_ptef"0last/sc/
10s" nline" nameqhosi
CmnrS_DATA_OVERRUCi8    sbusinn="cogrivers/scsi/1093de=sbus10CmnrS_COMMAND_OVERRUCi8    sbusinn="cogrivers/scsi/1094de=sbus10lockd/qputdto this cardd10loc>10sf="+code=sbre="srefcase1name="L140">CmnrS_STATUS_OVERRUCi8    sbusinn="cogrivers/scsi/1095de=sbus10="sr->10s->3"L128" class=case1name="L140">CmnrS_BAD_MESSAGEass*3"L128" clasS_BAD_MESSAGE4_pt:lass="sref">sbusinn="cogrivers/scsi/1096de=sbus10="line" name="L99"1>  9710="l>10s"sref">sbusres_cpu case1name="L140">CmnrS_NO_MESSAGE_OUTs="sref">u16<8arS_NO_MESSAGE_OUT4_pt:lass="sref">sbusinn="cogrivers/scsi/1097de=sbus10/st>in, 10sme="L97"1cmniclass=case1name="L140">CmnrS_EXT ID_FAILEDs="sref">u16<8arS_EXT ID_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/1098de=sbus10class="sref">sbusclock"d10cla>10sicpti2c#źd: x_8case1name="L140">CmnrS_IDE_MSG_FAILEDs="sref">u16<8arS_IDE_MSG_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/1099de=sbus10ew" class="sref">sbusclo10ew">10sstag_ages"drivers/scase1name="L140">CmnrS_ABORT_MSG_FAILEDs="sref">u16<8arS_ABORT_MSG_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/11code=sbus11codeclass="sref">sbusclo11cod>110/e="L97"1cmniclass=case1name="L140">CmnrS_NOP_MSG_FAILEDs="sref">u16<8arS_NOP_MSG_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/11c1de=sbus11cp; CmnrS_PARITY_ERROs_MSG_FAILEDs="sref">u16<8arS_PARITY_ERROs_MSG_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/11c2de=sbus11c/qcfreqcpti86      11c/q>110writew" class="srefcase1name="L140">CmnrS_DEVICE_RESET_MSG_FAILEDs="sref">u16<8arS_DEVICE_RESET_MSG_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/11c3de=sbus11ca      rethref="+7ode=b11ca >110a href="8code=87lalcase1name="L140">CmnrS_ID_MSG_FAILEDs="sref">u16<8arS_ID_MSG_FAILED4_pt:lass="sref">sbusinn="cogrivers/scsi/11c4de=sbus11cockd/qputdto this cardd11coc>110f="+code=sbre="srefcase1name="L140">CmnrS_UNEXP_BUS_FREEass*3"L128" clasS_UNEXP_BUS_FREE4_pt:lass="sref">sbusinn="cogrivers/scsi/11c5de=sbus11c"sr->110->3"L128" class="op.> = u16<8aDID_ERROs4_ptef"0last/sc/
  9711c"l>110"sref">sbusres_cpu hrbreakef"0last/sc/
CmnrS_DATA_UNDERRUCi8    sbusinn="cogrivers/scsi/11c8de=sbus11class="sref">sbusclock"d11cla>110ss*3"L128" class="lin44rol_flait0">  + <_d2ivu!href="+8ode=l84 + <_d2ivu!4_ptuetma             DID_OKs="sref">u16<8aDID_OK4_ptef"0last/sc/
sbusclo11cw">110stag_ages"drivers/scsbreakef"0last/sc/
i>111/e="L97"1cmniclass=default:lass="sref">sbusinn="cogrivers/scsi/1111de=sbus11class="sref">sbusres_cpu11cla>111" nline" nameqhosi = "grivers/s%d: unknowlas="pletiop d2ivu! 0x%04x\n"class="r mandsbusreqt = i.c#L1888egsc="pletiop_d2ivu!href="+8ode=l84c="pletiop_d2ivu!de=SBef"0last/sc/
111a href="8code=87lalasp.> = u16<8aDID_ERROs4_ptef"0last/sc/
sbusres11ew">111f="+code=sbre="sref">breakef"0last/sc/
sbusres11ew">11ie="L97"1cdb_lr you... */
qr11i6de=sbus11i/qlogicpti             11i/q>111ass="lass="sref">sbusinn="cogrivers/scsi/11i7de=sbus11si/qlogic8c8regs" c8184<11si/>11iult href="+co    8x]i/qjiffies0"> esnt 86        i.c#L1888egsdcryrd2ivu!href="+8ode=l84dcryrd2ivu!>3&eq_d siqTATUS_MASKs="sref">u16<8aqTATUS_MASKde=SB |]i/qjiffies0"> es + <_d2ivu!href="+8ode=l84 + <_d2ivu!4_ptu<< 16Bef"0last/sc/
qregs + 11 c8>11icsi/qr you... */
qr11i9de=sbus11
sbusreq_cpu11cla>11cl nlid2ivers namehosiscryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entpdto itdb_intr_
andl8rl)C"> and_Epdto itdb_intr_
andl8rese" name="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" Llass="sref">sbusinn="cogrivers/scsi/1121de=sbus11 170>>>>>>>>and11c2tag_ages"dri namehosiscryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cmine">  HOST="l82 cla8o"=_f="+8"sref">ql)C8o"=_f="+84_ptuetma             NULL"sref">ql)CNULL4_ptef"0last/sc/
q2ivu!lass="line" name="L99q2ivu!lass="51/8a>gesr" c[t>in        
sbusreq11ew">11cf="+code=sbregesr" c[t>in  98hn[a hn 08rs/scsi/qtusou4_ptref="drivers/scsou4_pt=tma             logicpti.c#L1888 id="889codeRde=Sef"0last/sc/
 14411c"sref">sbusrencsi!i/qjiffies0"> esnbus_readwhref="+code=SB8Lbus_readwese" name="L140">Cmnn_ptref="drivers/scsin_ptr0       8>        qBUS_qTAT_RINTline" name="L99qBUS_qTAT_RINTde=SBLlass="sref">sbusinn="cogrivers/scsi/11c7de=sbus11i/qlogicpti             11i/q>11c"+codQPTI: Can" i map    8x]ma             NULL"sref">ql)CNULL4_ptef"0last/sc/
11cicpti2c#źd: x_829f"0last/sc/
sbus_writew(<11 c8>1129hdr0"> .> = Cmnn_ptref="drivers/scsin_ptr0       8>        
113thdr0"> .> = CmnHCCTRL_CRIRQhref="+code=SB8HCCTRL_CRIRQ4_pt=tma             n_ptref="drivers/scsin_ptr0       8>        
113laitew( esnbus_readwhref="+code=SB8Lbus_readwese" name="L140">Cmnn_ptref="drivers/scsin_ptr0       8>        qBUS_qEMAPHORE_LCKs="sref">u16<8aqBUS_qEMAPHORE_LCKde=SB 0"> 170>>>>>>>>and    8 href="+code=118><>113writew" class="sref">switch i/qjiffies0"> esnbus_readwhref="+code=SB8Lbus_readwese" name="L140">Cmnn_ptref="drivers/scsin_ptr0       8>         170>>>>>>>>and113a href="8code=87lalascase1name="L140">CmnASYNC_SCSI_BUS_RESETs="sref">u16<8aASYNC_SCSI_BUS_RESET4_pt:lass="sref">sbusinn="cogrivers/scsi/1134de=sbus11ode=SBUS_SEMAPHORE8LCK" 11ode>113f="+code=sbre="sref">case1name="L140">CmnEXECUTION_TIMEOUT_RESETs="sref">u16<8aEXECUTION_TIMEOUT_RESET4_pt:lass="sref">sbusinn="cogrivers/scsi/1135de=sbus11si/d="L145" _infocpti.st11si/>11p->3"L128" class="o"> .> = line" n"lise98hmark"Lde=SuesX_COsts for you... */
sbusres_cpu href="+codbreakef"0last/sc/
113"+codQPTI: Can" i mapcase1name="L140">CmnINVALID_COMMAND140">line" n"liINVALID_COMMAND4_pt:lass="sref">sbusinn="cogrivers/scsi/1138de=sbus11/d="L145" class*3"L128" 11/d=>113icpti2c#źd: x_829case1name="L140">CmnHOST_INTERFACE_ERROss="sref">u16<8aHOST_INTERFACE_ERROs4_pt:lass="sref">sbusinn="cogrivers/scsi/1139de=sbus11class="line" nline8 n bc11cla>113stag_ages"drivers/scscase1name="L140">CmnrOMMAND_ERROss="sref">u16<8arOMMAND_ERROs4_pt:lass="sref">sbusinn="cogrivers/scsi/114ode=sbus11icpti>in, 114/e="L97"1cmniclass="ocase1name="L140">CmnrOMMAND_PARAM_ERROss="sref">u16<8arOMMAND_PARAM_ERROs4_pt:lass="sref">sbusinn="cogrivers/scsi/1141de=sbus1160"> 160 = 114" nline" nameqhosi
}ef"0last/sc/
11ia href="8code=87lala 
114f="+code=sbrer you... */
qr1145de=sbus11st.s*L189" id="L99"1 cla11st.>114e" name="L144"> 144 = 114a>(sbusinn="cogrivers/scsi/1147de=sbus11gs + GFP_ATOMICne" nline" nameGFP_ATOMICcptiPs_logicpti.c#L1888 id="8iPs_logicpt4_ptef"0last/sc/
114icpti2c#źwhile i/qjiffies0"> eslogicpti.c#L1888 id="889codeRde=Ss!est =  170>>>>>>>>andin  98hn[a hn 08rs/scsi/qverssloline" name="L99"versslol4_ptef"0last/sc/
sbusinn="cogrivers/scsi/11p1de=sbus11 160 = 115" nline" nameqhosi)ereq_dvmacptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptiPs6a hrQLOGICPTI_REQ_QUsUE_LENreclasw" class="srlogicpti.c#L1888 id="889codeRde=Sco mstrucl"/
qr11p2de=sbus11 160 = 1158S PTss="sref">u16<8aNEXT >8S PTsese" name="L140">Cmnlogicpti.c#L1888 id="889codeRde=SBef"0last/sc/
 144 Check for11p4de=sbus11 160 = 115f="+code=sbre="sref">=" class8 href="+code=SBUWe store1claindexain187ei
andl8, not187eiponamerainclass="lass="sref">sbusinn="cogrivers/scsi/1155de=sbus11ent">/* It appears 8hat 11ent>11pe" na4" class8 href="+code=ode=87lalllllllll* some form. UT7" cayrefs problems due to187eifactclass="lass="sref">sbusinn="cogrivers/scsi/1156de=sbus11  * 64-byte bursts8and t11  *>115ass="4" class8 href="+code=ode=87lalllllllll* 87at 87ei
andl8 provided " conly 32-bits. -DaveMclass="lass="sref">sbusinn="cogrivers/scsi/1157de=sbus11nvoids> = 115"+cod4" class8 href="+code=ode=87lalllllllll* class="lass="sref">sbusinn="cogrivers/scsi/11p8de=sbus11L145" ="drivers/scsi/d="11L14>115ss*3"L128" class="lin44rol_flait0"> verssloline" name="L99"versslol4_ptuetma             nt 86        i.c#L1888egs
andl8href="+8ode=l84 andl84_ptef"0last/sc/
 15811ne">115stag_ages"drivers/scsgesr" c[t>inGFP_ATOMICne" nline" nameGFP_ATOMICcptversslol!href="+8ode=l84cersslol!ENreclasw" class="srverssloline" name="L99"versslol4_ptco mstrucl"/
qr116ode=sbus11pti>in, 116/e="L97"1cmniclass="op.> = GFP_ATOMICne" nline" nameGFP_ATOMICcptversslol!href="+8ode=l84cersslol!ENreclasw" class="srverssloline" name="L99"versslol4_ptcuetma             NULL"sref">ql)CNULL4_ptef"0last/sc/
 =>116ass="lvoids> =  =  esnt 86        i.c#L1888egsc="pletiop_d2ivu!href="+8ode=l84c="pletiop_d2ivu!de=Suea hropref="d2iverrS_RESET_OCCURREDs="sref">u16<8arS_RESET_OCCURRED4_pt ||lvoids> =  =  =>11pa href="8code=87lalass="op.> =         i.c#L1888egsc="pletiop_d2ivu!href="+8ode=l84c="pletiop_d2ivu!de=Suea hropref="d2iverrS_ABORTEDs="sref">u16<8arS_ABORTED4_pt ||lvoids> =  =  =>11pf="+code=sbre="srefffffffi/qjiffies0"> esnt 86        i.c#L1888egsd2ivu!lD0"> 86         ="+co&eq_d siqTF_BUS_RESETs="sref">u16<8aqTF_BUS_RESETde=SBLlass="sref">sbusinn="cogrivers/scsi/1165de=sbus11> =  =>11p->3"L128" class="oclass="op.> = GFP_ATOMICne" nline" nameGFP_ATOMICcptse98hmark"L140">line" n"lise98hmark"Lde=SuesX_COsts for you... */
sbusinn="cogrivers/scsi/1167de=sbus11sw" class="sref">sbusdev11sw">11p"+codQPTI: Can" i mapscsi/qjiffies0"> esnt 86        i.c#L1888egsd2ivaAD0"> 86         >3&eq_d siqF_GOT_SENSEass*3"L128" claqF_GOT_SENSEde=SBlass="sref">sbusinn="cogrivers/scsi/1168de=sbus11bus_writew" class="sref"11bus>11picpti2c#źd: x_829ef="+codgesr" c[t>inCmn     line" n"lise9se_buff"L4_pt=tma             nt 86        i.c#L1888egsQUEUse9se_i.c# sbusinn="cogrivers/scsi/1169de=sbus11de=sbus_writew" class="s11de=>11pstag_ages"drivers/scs: x_829ef="+codgesr" c[t>in
sbusinn="cogrivers/scsi/1171de=sbus1197"1cmi = 11v" nline" nameqhosi esnt 86        i.c#L1888egshdL140">line" n"lihdLcl"=..c#L1888egsess="_typ8href="+8ode=l84ess="_typ8de=Suea hropref="d2iverENTRY_STATUSline" name="L99ENTRY_STATUSde=SBlass="sref">sbusinn="cogrivers/scsi/1172de=sbus11name="L160"> 160 = 11vwritew" class="sref">sbusreq_gesr" c[t>insbusinn="cogrivers/scsi/1173de=sbus11" cla8Spti" cla8f">qregs11" c>11va href="8code=87lalass="oclass="op.> =  esnt 86        
 = 11v nline" namereq_d/scs"sref"0last/sc/
inu16<8aDID_ERROs4_ptu<< 16ef"0last/sc/
sbuscm11asw>117ass="lass="sref">sbusinn="cogrivers/scsi/1177de=sbus11asw" class="sref">sbuscm11asw>11v"+codQPTI: Can" i mapscsi/qjiffies0"> esntryrbufflen86        Cmn     sbusinn="cogrivers/scsi/1178de=sbus11asw" class="sref">sbuscm11asw>11vicpti2c#źd: x_8"osbusreq_gesr" c[t>inGFP_ATOMICne" nline" nameGFP_ATOMICcptopi.c#L1888 id="88pnline" nameGFP_ATOMICcptdev sbusinn="cogrivers/scsi/1179de=sbus11a h160 = 11vstag_ages"drivers/sc#źd: x_8"osbusreq_gesr" c[t>inCmn     Cmn     sbusinn="cogrivers/scsi/118ode=sbus11rsts<8rs/scsi/qlogicpti.11rst>11rstag_ages"drivers/scs128" class="osbusreq_gesr" c[t>in
 =  =  =>11rwritew" class="sref"op.> = GFP_ATOMICne" nline" nameGFP_ATOMICcptverscou"line" name="L99"verscou"lENreclasw" class="sr     ql)C8evic8" cla8hivers/sc8rs/scsi/tid="8163" 86lalass="sr]--ef"0last/sc/
11ra href="8code=87lal= Cmnlogicpti.c#L1888 id="889codeRde=S=tma             
 >11rf="+code=sbre="sref">="L97"1span"cmn     )eers/sc8rs/scsi/do"=_f="+8"sref">ql)C8o"=_f="+84_ptef"0last/sc/
11r->3"L128" class="oers/sc8rs/scsi/do"=_f="+8"sref">ql)C8o"=_f="+84_ptuetma                  
11r"sref">sbusrer you... */
qr1187de=sbus11n/ql"="sref">ql)load11n/q>118ult href="+code=sbprom_get/qe="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptiPs_logicpti.c#L1888 id="8iPs_logicpt4_ptuetma             logicpti.c#L1888 id="889codeRde=Sef"0last/sc/
sbusinn="cogrivers/scsi/1189de=sbus11ql)C8o"=_f="+84_ptef"0last/sc/
11s/e="Lr you... */
qr1191de=sbus11 =       11i/q>11swritevers/sccmi_frobcpti.stirq    8x_line" name="L99"irq    8x_l8hn[a hn 08rs/scsi/qqtdb_intrd="8163" 86lala(tdb_ neRde=S(name="L97"1span"cmntrqine" name="L99"irqde=S=tyref">  HOST="l82 cla8ev_ id="8163" 86lala8ev_ ide=SBlass="sref">sbusinn="cogrivers/scsi/1193de=sbus11 170>>>>>>>>and11sf="+code=sbrename="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" uetma             8ev_ id="8163" 86lala8ev_ ide=Sef"0last/sc/
11s->3"L128" unsigned longtma             D0"> 86         >ef"0last/sc/
  9711="l>11s"sref">sbusre namehosiscryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entdqine" name="L99"dq>ef"0last/sc/

sbusclock"d11cla>11sicpti2c#źsispin_lock_irqsav8"sref">ql)Cspin_lock_irqsav8ese" name="L140">Cmn 86         >Bef"0last/sc/
sbusclo11ew">1199hdr0"> .> = )C"> and_Epdto itdb_intr_
andl8rese" name="L140">Cmn
sbusclo12cod>120css="lass="sref">sbusinn="cogrivers/scsi/12c1de=sbus12cp;  esdqine" name="L99"dq>s!est = ql)CNULL4_ptL 0"> 170>>>>>>>>and      12c/q>120writew" class="sref  do 0"> 170>>>>>>>>andscryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entnex  
 144120->3"L128" class="o"> .> = ql)C"> and_Entryref="d2iver)eers/sc8rs/scsi/dqine" name="L99"dq>a8hivers/sc8rs/scsi/ + <_dcribbl8href="+8ode=l84 + <_dcribbl8cl"=ef"0last/sc/
  9712c"l>120"sref">sbusres_cpu hr"> .> = i.c#L1888egsdcryr8o"="sref">ql)Cdcryr8o"=ese" name="L140">Cmndqine" name="L99"dq>Bef"0last/sc/
 .> = 
sbusclock"d12cla>120ss*3"L128" class="lin}8while i/qjiffies0"> esdqine" name="L99"dq>s!est = ql)CNULL4_ptLef"0last/sc/
sbusclo12cw">120stag_ages"drir you... */
qr121ode=sbus12i>in, i>121thdr0"> .> = ql)Cspin_unlock_irqiPstoreese" name="L140">Cmn 86         >Bef"0last/sc/
sbusres_cpu12cla>121ass="lvoids> = u16<8aIRQ_HANDLED>ef"0last/sc/
121a hrer you... */
qr1214de=sbus12ew" class="sref">sbusres12ew">121e" name="L144"> 144sbusres12ew">12ie="L9d2iversname="L97"1span"cmntdto itdb_abor  scryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cminBlass="sref">sbusinn="cogrivers/scsi/12i6de=sbus12i/qlogicpti             12i/q>121ass="0"> 170>>>>>>>>and121ult href="+code=sbprom_get/qu_shor  
qr1218de=sbus12 c8s="sref">qregs + 12 c8>121ss*3"L128" cl name="L97"1cmi and_Ent     ql)C8evic8" cla8hivers/sc8rs/scsi/     
qr1219de=sbus12
ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" uet name="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scs)eers/sc8rs/scsi/     
qr122ode=sbus12class="sref">sbusreq_cpu12cla>122thdr0"> .> = name="L97"1span"cmn    8x_d2ivu!href="+8ode=l84    8x_d2ivu!ese"uetma             SUCCESSline" name="L99qUCCESSode=o mstrucl"/
qr1221de=sbus12    8  hrefu3writewmeGFP_ATOMICcptverscooki8"sref">ql)Cverscooki8ode=o mstrucl"/
qr1222de=sbus128" class="line href="+co128" >12c2tag_ages"driname="L97"1span"cmntine" name="L99"iode=o mstrucl"/
qr1223de=sbus12 160 = 122t" clasae" name="L144"> 144 Check for12c4de=sbus12ew" class="sref">sbusreq12ew">12cf="+code=sbregesr" c[t>in = "grivers/s%d: Abor ing ver for tgt[%d] lun[%d]\n"class="r mand122->3"L128" class="name="L140">Cmnql)C8evic8" cla8hivers/sc8rs/scsi/tid="8163" 86lalass="sr, (nam)lasw" class="sr     ql)C8evic8" cla8hivers/sc8rs/scsi/lun"sref">ql)Clun>Bef"0last/sc/
122ass="lass="sref">sbusinn="cogrivers/scsi/12c7de=sbus12i/qlogicpti             12i/q>122ult href="+code=sbprom_get/qedto itdb_disable_irqs Cmn
1228ss="lass="sref">sbusinn="cogrivers/scsi/12c9de=sbus12 c8ef">sbus_writew(<12 c8>1229hdr0"> .> = <" class8 href="+code=SBUFind 87ei32-bit cooki8 we gave to187eifirmware forclass="lass="sref">sbusinn="cogrivers/scsi/123ode=sbus12pti>in, 123thdr04" class8 href="+code=ode=87lal* 87isas="mand.class="lass="sref">sbusinn="cogrivers/scsi/1231de=sbus12pti>in, 123laite4" class8 href="+code=ode=87lal* class="lass="sref">sbusinn="cogrivers/scsi/1232de=sbus128>    8 href="+code=128><>123writew" classfor  name="L140">Cmntine" name="L99"iode=uet0d sitine" name="L99"iode=u< siQLOGICPTI_REQ_QUEUE_LECi8    tine" name="L99"iode=++Blass="sref">sbusinn="cogrivers/scsi/1233de=sbus126Rhref="+code=loop_8ount126Rh>123a href="8code=87lalasscsi/qjiffies0"> ese="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptversslol!href="+8ode=l84cersslol!ENreclasw" class="srtine" name="L99"iode=]uea hropref="d2iverryclass*3"L128" class="cminBlass="sref">sbusinn="cogrivers/scsi/1234de=sbus12ode=SBUS_SEMAPHORE8LCK" 12ode>123f="+code=sbre="sref">>>>>>>>>breakef"0last/sc/
12p->3"L128" meGFP_ATOMICcptverscooki8"sref">ql)Cverscooki8ode=uetma             tine" name="L99"iode=o mstrucl"/
qr1236de=sbus12si/qlogicpti.c#L2368 i2312si/>123ass="lass="sref">sbusinn="cogrivers/scsi/12p7de=sbus12bufr" c[80]             12buf>123ult href="+code=sbprom_get/qparam u16<8a BOX_ABORTode=o mstrucl"/
qr1238de=sbus12/d="L145" class*3"L128" 12/d=>123icpti2c#źsiparam  esu_shor  ql)C8evic8" cla8hivers/sc8rs/scsi/tid="8163" 86lalass="sr)u<< 8B |]lasw" class="sr     ql)C8evic8" cla8hivers/sc8rs/scsi/lun"sref">ql)Clun>o mstrucl"/
qr1239de=sbus12class="line" nline8 n bc12cla>1239hdr0"> .> = ql)Cverscooki8ode=u8hiv8hiv 16ef"0last/sc/
 .> = ql)Cverscooki8ode=u8eq_d 0xffffef"0last/sc/
 160 = 124laitew( esqdto itdb_mbox_s="mand Cmn124writew" class="sr name="L140">Cmnparam  = < BOX_rOMMAND_rOMPLETEass*3"L128" cla BOX_rOMMAND_rOMPLETE="sr)L 0"> 170>>>>>>>>and( = "grivers/s%d: and< abor  failure: %x\n"class="r mand>>>>>>>name="L140">CmnCmnparam 
124->3"L128" class="oers/sc8rs/scsi/    8x_d2ivu!href="+8ode=l84    8x_d2ivu!ese"uetma             FAILEDs="sref">u16<8aFAILED4_ptef"0last/sc/
sbusrer you... */
qr1247de=sbus12gs + 
124icpti2c#źsiqdto itdb_enable_irqs Cmn
124ost IRQ bit to clear. memse4ref="d2ivers/125ode=sbus12pti>in, 125thdr0"> .> =     8x]ma                 8x_d2ivu!href="+8ode=l84    8x_d2ivu!ese"ef"0last/sc/

qr12p2de=sbus12 160 = 125
qr12p3de=sbus12 160 = 12pt" cld2iversname="L97"1span"cmntdto itdb_rese  scryrf">ql)C"> and_Entryref="d2ivers/scC"> and_Entryclass*3"L128" class="cminBlass="sref">sbusinn="cogrivers/scsi/12p4de=sbus12 160 = 125f="+c0"> 170>>>>>>>>and/* It appears 8hat 12ent>125->3"L128" meGFP_ATOMICcptu_shor  
qr1256de=sbus12  * 64-byte bursts8and t12  *>125"sref">sbusre namehosiqtryrH     and_Ent     ql)C8evic8" cla8hivers/sc8rs/scsi/     
qr1257de=sbus12nvoids> = 1257sref">sbusre namehosil"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" uet name="L160"> p/ssstrucl"="sref">ql)l="L145" ="drivers/scs)eers/sc8rs/scsi/     
qr1258de=sbus12L145" ="drivers/scsi/d="12L14>125ss*3"L128" clname="L97"1span"cmn    8x_d2ivu!href="+8ode=l84    8x_d2ivu!ese"uetma             SUCCESSline" name="L99qUCCESSode=o mstrucl"/
qr1259de=sbus12ne" name="L159"> 15812ne">125ost IRQ bit to clear. memse4ref="d2ivers/126ode=sbus12pti>in, 126thdr0"> .> =  = "grivers/s%d: Rese  ing qCSI bus!\n"class="r mand = Cmn
 =>126
qr1263de=sbus12> =  =>12pa href="8codede=sbprom_get/qedto itdb_disable_irqs Cmn
 144 =  =>126->3"L128" meGFP_ATOMICcptparam u16<8a BOX_BUS_RESETode=o mstrucl"/
qr1266de=sbus12> =  =>1266>3"L128" meGFP_ATOMICcptparam 
qr1267de=sbus12sw" class="sref">sbusdev12sw">12p"+codQPTI: Cascsi/qjiffies0"> esqdto itdb_mbox_s="mand Cmn12picpti2c#źd:  name="L140">Cmnparam  = < BOX_rOMMAND_rOMPLETEass*3"L128" cla BOX_rOMMAND_rOMPLETE="sr)L 0"> 170>>>>>>>>and = "griverisp%d: and< bus rese  failure: %x\n"class="r mand12ver>127stag_ages"drivers/scs128" clname="L140">CmnCmnparam 
 = 12v" nline" nameqhosiu16<8aFAILED4_ptef"0last/sc/
 160 = 12vwritew" classr you... */
qr1273de=sbus12" cla8Spti" cla8f">qregs12" c>127t" clasae" name="L144"> 144 Check for1274de=sbus1297"1cmi = 127f="+code=sbregesr" c[t>inCmn
 144sbuscm12asw>1276>3"L128"     8x]ma                 8x_d2ivu!href="+8ode=l84    8x_d2ivu!ese"ef"0last/sc/
sbuscm12asw>12v"+codr you... */
qr1278de=sbus12asw" class="sref">sbuscm12asw>1278ss="lass="sref">sbusinn="cogrivers/scsi/1279de=sbus12a h160 = 12vstag_d2ivers namehosiscryr + <_templat="sref">ql)Cdcryr + <_templat=8hn[a hn 08rs/scsi/q(tdb_templat="sref">ql)C(tdb_templat=ese"uet0"> 170>>>>>>>>and12rstag_ages"dri..c#L1888egsmodul8href="+8ode=l84modul8tag_ages"drivers/scs1etma             THIS_MODULEass*3"L128" claTHIS_MODULEde=S,"> 170>>>>>>>>and = 1281tag_ages"dri..c#L1888egsmp; ass*3"L128" clamp; tag_ages"drivers/scs128=wm" class8 hre naing">"grivers/s"class="r mand =  =>12rwritew" class..c#L1888egsinfod="8163" 86lalasnfotag_ages"drivers/scs128=wmesr" c[t>in 170>>>>>>>>andin, 12ra href="8code..c#L1888egsf="+8s="mand in 170>>>>>>>>and        slave_s=nfigure"sref">ql)Cslave_s=nfigure="+code=sbre=wmesr" c[t>inql)Cqdto itdb_slave_s=nfigurede=S,"> 170>>>>>>>>andeh_abor _
andl8rl)C"> and_Eeh_abor _
andl8r>3"L128"=wmesr" c[t>in 170>>>>>>>>and12r"sref">sbusre..c#L1888egseh_bus_rese _
andl8rl)C"> and_Eeh_bus_rese _
andl8rsref">s=wmesr" c[t>in 170>>>>>>>>andql)load12n/q>128ult href="+co..c#L1888egscan_f="+8"sref">ql)Ccan_f="+8tag_ages"drivers/s=wmesr" c[t>in 170>>>>>>>>and87is_ id="8163" 86lala87is_ itag_ages"drivers/scs= 7,"> 170>>>>>>>>andsg_tablesize"sref">ql)Csg_tablesizetag_ages"driver=wmesr" c[t>inCmnQLOGICPTI_REQ_QUEUE_LECi8    sbusinn="cogrivers/scsi/129ode=sbus12s/scsi/qcf0class="commen12s/s>129stag_ages"dri..c#L1888egsversper_lun"sref">ql)Cversper_luntag_ages"drivers= 1=lass="sref">sbusinn="cogrivers/scsi/1291de=sbus12use_slusteaing" 170>>>>>>>>and      12i/q>12swrite}ef"0last/sc/
129t" clasae" name="L144"> 144 Check for1294de=sbus12lockd/qputdto this cardd12loc>12sf="+cd2iverss=nsts namehosiof_8evic8_ id="8163" 86lalaof_8evic8_ i8hn[a hn 08rs/scsi/q(tdb_match"sref">ql)C(tdb_matchENrecco mstrucl"/
qr1295de=sbus12="sr->129e="L9d2iversname="L97"1span"cmnttdb_sbus_prob="sref">ql)C(tdb_sbus_prob=ese"  namehosiplatform_devic8"sref">ql)Cplatform_devic8ode=sbpro2ass="129404this 77t;129 ti>123thdr04" cNrec6coCrivers/scsi/1221de=sbus12cp;  144928"=esr" c[t>inplatford_devic8"sref">qldpGFP_ATOMICne" nline" nameGFP_ATOMICcptopi.c#L181291de=sbus12
qr1218de=sbus12 c8s="sref">qregs + 12 c8>121ss*3"L128" cl name="L97"1cmi >Bef"0last/sc/
sbusre namehosil"="sref">ql)l="L1a                 8x_d2ivu!href="+8ode3  href="+c3de=pa8e Bef"0last/sc/
qr1295de=sbus12="sr-na>)lscm12asw>1276>na>)ls="L1a                 8x_d2ivu!href="+8ode3 1href="+c3divers= 1=lass="sref">sbu3inn="3ogrivers/scsi/r1294d/ + <_5de=sbus12="sr-fc cl            170>>>>>3>>and30nine" name="L1262de=sbus12> =  170>>>>>3>>and3/a ssbus_Sometimes Anta>s= cardhrdine up">=" stscl"=ely123laite4" class8 href="+c3        hr3fnex >ef"0last/sc/
in, =wmup, 888hdr0"et a repER/8of a zero IRQ12pti>123thdr04" class8 href="+code=ode=87lal3s cardd12c3c>120e" name="L144"> 144<3/* I 30grivers/scsi/1155de=sbus11ent">/* It, 123laite4" class8 href="+c3l84 + <_dc3ibbl8cl"=ef"0last/sc/
GFP_ATOMICne" nline" narchrs/scsi/     127f="+c>in

qr1278de=sbus12asw" class="sref3f">ql)3NULL4_ptLef"0last/sc/
qr1239de=sbus12clref">qtryrH    12vstag_d2ivers namehalloc"L97"gesr" c[t>inql)Cdcryr + <_templat=8hn[a , agesof ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" uet )_enable_irqsese" name="L140">Cmn120sta3_ages"drir you... */
qr1267!1239de=sbus12clref">qtryrH            <30"> >Bef"0last/sc/
121ass="lvoids> = 
qr1263de=sbus12> =ef">l"="sref">ql)l="L145"tryrH   d2iversvf="+co2dea h>12vstag_d2ivf="+co2der" c[t>inqtryrH    qr1214de=sbus12ew" class="sref"3sbusres12e3">121e" name="L144"> 144<3/* I 31 a certified 1265de=sbus12> rucl"="sref">ql)l="L145" ="drivers/scs)eersmaxd12loc>12sf="+cd2imaxd12="L145"tryrH   d2iversr=wmTARGETvu!href="+8ode=lr=wmTARGETv="L1a                 8x_d2ivu!href="+8ode3r84 + <_dc3ass="cminBlass="sref">sbu3inn="31ef="dri8h">qr1266de=sbus12> re"sref">ql)Cspin_unlock_irqiPstoreese" name="L140">Cmn 170>>>>>3>>and3/a sGFrs/sc8rs/scsi/    cptiese" name="L140">GFa                 8x_d2ivu!href="+8ode3 8 name="L3amENrec6co mstrucl"/
Cmn .> a>)lscm12asw>1276>na>)ls="L1a                 8x_d2ivu!href="+8ode3        hr3f="+code=o mstrucl"/
qr1239de=sbus12cl="def"11bus>11picpti2="def"/aqdto itdb_enable_irqs  =   cptiese" name="L140">GFP_ATOMICne" nline" nameGFP_ATOMICcptopi.c#L181291de=sbus12 = pa                 8x_d2ivu!href="+8ode3    href  3 i.c#ode=o mstrucl"/
 = mp; ass*3"L128" QLGC,icpt_ages"driverpa                 8x_d2ivu!href="+8ode3         <3CCESSode=o mstrucl"/
sbu3)Cvers3ooki8ode=o mstrucl"/
qr1us126Rhref="+code=loop_8"os           
 1432ef="dri8h">qr1214de=sbus12ew" class="sref"337;d]\n&qu3t;class="r mand
sbu3inn="32ef="dri8h">qr1247de=sbus12gs + 
Cmnsbu3inn="32ef="dri8h">qr1239de=sbus12clhref=ge9"bur!href="+8ode=l84pdhref=ge9"bur!hr/aqdto itdb_enable_irqs sbu3inn="33ref="d2ivers/126ode=sbus12ptrqs =ge9"c  sbu3inn="33nine" name="L1211de=sbus12class="sref">sbu3de=ode=87l3l* class="lass="sref">sbu3inn="3ogrivers/scsi/12c9de=sbus12 c8ef">sbus_Clear out db_rese e array.t, 123laite4" class8 href="+c3e" name="L39"iode=++Blass="sref">sbu3inn="33ef="dri8h">qr1263de=sbus12> memd_Eeh_bus_rese _
amemd_E/aqdto itdb_enable_irqs  ese="L140">GFP_ATOMICne" nl, 0, agesof o itdb_enable_irqs  ese="L140">GFP_ATOMICne" nl)_enable_irqsese" name="L140">Cmnsbu3inn="33ef="dri8h">qr1214de=sbus12ew" class="sref"3"sref">>>>3>>>>breakef"0last/sc/

123ass="lass="sref">sbu3inn="33ef="dri8h">qr1247de=sbus12gs + 
qr12c9de=sbus12 c8ef">sbus_Load <" class8 hr.t, 123laite4" class8 href="+c3e       hr3)Clun>o mstrucl"/
qr1267de=sbus12sw" class="sref"load_lass8 hr"="sref">ql)hosine" "load_lass8 hr/aqdto itdb_enable_irqs 

 16qs  = sbus_Check <" cPTI "         .t, 123laite4" class8 href="+c3MAND_rOMPL3TE="sr)L 0"> 170>>>>>3>>and3/a s>>>3mENrec0cBef"0last/sc/
u16<8a3AILED4_ptef"0last/sc/
qr1236de=sbus12si/qlogicpti.c#L3nvo>124"sr3f">sbusrer you... */
qr12c9de=sbus12 c8ef">sbus_RN_WA <" cISP 888hinitR/8h/req 28ult .t, 123laite4" class8 href="+c3M16<8a BOX3<>124me="Lf"0last/sc/
ql)hosine" "e..c#L18rd8 hrr" c[t>inqtryrH    
124ost IRQ bit to clear3 mems35nine" name="L12code=sbus12codeclass="sref"3l84    8x_32ivu!ese"ef"0last/sc/
qr1221de=sbus12mp; ass*3"L128" (Fass8 hrevti.c#L.ti.c#L.ti.c#L)g_ages"drivers/126ode=sbus12ptrqs 125" nlir you... */
  rqs Cmn125
sbu3inn="35/a> Check for1274de=sbus1297fc cl           11picpti2cf=ge9"propert"r" c[t>inqldpmp; ass*3"L128" isp-fc clg_ages"drivers/126ode=sbus12pt i/qjiffies0"> esdqine" name="L99"dq>s!est = 125f="+c0"> 170>>>>>3>>and35 name="L97"1c1us126Rhref="+code=fc cl            = u16<8a3amENrec6co mstrucl"/
mp; ass*3"L128" (FC12<8 hre s)g_ages"drivers/126ode=sbus12ptfc cl            = 124"sr3f="+code=o mstrucl"/
qr1267de=sbus12sw" clcf=find"propert"11bus>11picpti2cf=find"propert"r" c[t>inqldpmp; ass*3"L128" differf">ialg_ages"drivers/126ode=sbus12pt i/qjiffies0"> esdqine" name" class="lin}8while i/qjiffies0"> esdqine" name"L99"dq>s!est = 
ialdevic8"sref">qldifferf">ial="L1rs/1rec0cBef"0last/sc/

 = 181eti.c#L1838LL"sr3 vo>181eti.c#L1838LL"sr3 vo>181eti.c#L1838LLrs/scs)eersmaxd12loc>12sf="+cd2imaxd12="L145"t3t175/
 .> =  esd\nrivers/s&q37;d: a%ds Wide, usng q#37;ds ntkerface\n"class="r mandCmnin esdUltr"quot;class="r :e=sbus12pt i/qjiffies0"> esdFast  <3CCESSode=o mand1236 
 esdqine" name" class="lin}8w :e=sbus12pt i/qjiffies0"> esdsng le ended  <3CCESSode=oo mstrucl"/
qr1264de=sbus123 = 123e" name="L144"> 14412361rgesr"cuetma26Rhref="+code=fc c"+c3eadd_9404th3o       hr3d"+c3eadd_9404ic8ode=sbpro2ass="129404th3o       hr3de=pa8e B, hn[a , agesof ="drivpi.c#L181291de=sbus12 170>>>>>>>>and1236tag_ages"888egsmp; ass*3"L128" (FC12<8 hre s)g_ages"drivers/126ode=sbus12ptfc cl           rivers/s&q37;d: aF8 ied "+c3eadd_9404n"class="r name="L140">Cmn
sbusdev123w">1236ngtag_aODEV="L1a     "os28ult ="L1a                 8x_d2ivu!href="+8ode398 id="12i3q>124ost IRQ bit to clear3 mems35nine" name="L12c8de=sbus123us_writew" class="sref"123us>123icpti2c#źdf"0last/sc/
qr1239de=sbus123e=sbus_writew" class="s123e=>1236st IRQ bit to clear. memse4ref="d2ivers/123ode=sbus123ers/sctime_aftergicpti>123er>1237hdr0"> .> = Cmn
 = 1237ss="lass="sref">sbu3inn="3ogrivers/scsi/12c2de=sbus123ame="L160"> 160 = 123writew" classr 8>        sbu3inn="33nine" name="L1213de=sbus123 cla8Spti" cla8f">qregs123 c>123t" clasae" name="L144"> 144 Check for1234de=sbus1237"1cmi = 123f="+code=sbregesr" c[t>insbu3inn="33nine" name="L1213de=sbus123<8rs/scsi/qlogicpti.c#L123<8>1237rivers/scs)eersmaxd12loc>12sef="+8ode3        hr3f="+code=o++lass="sref">sbu3inn="33nine" name="L1213de=sbus123sw" class="sref">sbuscm123sw>1237srer you... */
qr12c7de=sbus123sw" class="sref">sbuscm123sw>1237ngtag_aODEV="       0lass="sref">sbu3inn="33nine" name="L1213de=sbus123sw" class="sref">sbuscm123sw>1238ss="lass="sref">sbusinn="cogrivers/scsi/1239de=sbus123 h160 = 123stag_dult ="L1a                 8x_d2ivu!href="+8ode398 id="12i3q>124ost I:ass="sref">sbusinn="cogrivers/scsi/123ode=sbus123sts<8rs/scsi/qlogicpti.123st>123stag_a#def/qlmesr" c[t>in esunamri2ivu!href="+8ode3namri2igt;s!e+ 1) *mesr" c[t>in
mp; ass*3"L128" (dma2s3/>1coh" namver8 cl8x]mP_ATOma2s3/>1coh" nam/126ohn[a , agesof ="drivpi.c#L181291de=sbus12
mp; ass*3"L128" (LSIZEvu!href="+8ode3LSIZEic8ode=sbpro2ass="12RESQUEUE_LECi8    
1238 mp; ass*3"L128" (a        href="+code=pa8e        8>        insbu3inn="33nine" name="L1214de=sbus123>        in1coh" namver8 cl8x]mP_ATOma2s3/>1coh" nam/126ohn[a , agesof ="drivpi.c#L181291de=sbus12
123->3"L128" . mp; ass*3"L128" (LSIZEvu!href="+8ode3LSIZEic8ode=sbpro2ass="12LOGICPTI_REQ_QUEUE_LECi8    sbusinn="cogrivers/scsi/1236de=sbus123L99"1 class="line" name123L9>1238tag_ages"888egsmp8egsmp; ass*3"L128" (a        href="+code=pa8e        8>        insbu3inn="33nine" name="L1214de=sbus123/ql"="sref">ql)load123/q>123ult hr#undefp; ass*3"L128" (LSIZEvu!href="+8ode3LSIZEic8oass="sref">sbu3inn="33nine" name="L1214de=sbus12345" ="drivers/scsi/d="L12345>1238ss="lass="sref">sbusinn="cogrivers/scsi/1239de=sbus123span class="commen8/* W123sp>1238tag_dult ="L1a                 2ivu!href="+8ode3;     12i/3r>122ass=":ass="sref">sbusinn="cogrivers/scsi/123ode=sbus123/scsi/qcf0class="commen123/s>1239hdr0"> .> = qldpql)Cpresour8"Nrec6co name="L140">Cmnsbusinn="cogrivers/scsi/1231de=sbus123p; ql)Csresour8"_ize"/126ohn[a , agesof ="drivpi.c#L181291de=sbus12ql)Cpresour8"Nrec6cooo mstrucl"/
qr1262de=sbus123/qcfreqcpti86      123/q>1239 oop_8"os    /aqdto itdb_enable_irqs     href="+code=pa8e        8>        
qr1262de=sbus123a      rethref="+7ode=b123a >1239 href="8code=87lala qldpql)Cpresour8"Nrec6co name="L140">Cmnsbusinn="cogrivers/scsi/1231de=sbus123ockd/qputdto this cardd123oc>123928ult        
qr1262de=sbus123"sr->1239" name="L144"> 144 14ult ="L1a           _d2ivu!href="+8ode3368 i2312s3/>123ass=":ass="sref">sbusinn="cogrivers/scsi/123ode=sbus123span cl=QLOGIC28 cl      3    <39sgese" req_dvmacptiese" name_d2ivu!href="+8ode3368 i3/>123ass="dto itdb_enable_irqs     href="+code=pa8e        8>        Cmn
qregs + 123c8>1239ss="lass="sref">sbusinn="cogrivers/scsi/1237de=sbus123voids> = 1239tag_dult ="L1a             !href="+8ode3; (122t" cl:ass="sref">sbusinn="cogrivers/scsi/124h">qr1295d4=sbus12="sr-na>)lscm12asw41276&40hdr0"> .> = sbu3inn="33nine" name="L12494d/ + <_54e=sbus12="sr-fc cl       4   sbu3inn="3ogrivers/scsi/1242de=sbus124 = 11sme="Lf"0last/sc/
qr1249de=sbus124c8ef">sbus_Sometimes Anta4s= ca4dhrdinf"0last/sc/
qr124ode=sbus124ti>in, =wmup, 888hdr04et a 40" name="L144"> 144/* It, 1240="L9d2iversname="L97"1span"cmnttdb_sbus_premovref">qtryrH    platform_devic8"sref">ql)Cplatform_devic8ode=sbpro2ass="129404this 77t;129 ti>123thdr04" cNrec6coCriver47de=sbus124w" clcptiese" name="L140"4GFP_A40"> 144928"=esr" c[t>inuse_slusteaing"sbusre namehosil"="sref">ql)l="L145" ="drivers/scsi/d="L145" class*)"="sref">ql)hosine" uet p;& (<144rpOMI_g _derv7f="+c>insbu3inn="33nine" name="L12498e=s1276d4=8s="sref">qregs + 1243NULL4_ptLef"0last/sc/
qr1249de=sbus124lref">qtryrH    
      8x_d2ivu!href="+8ode3e        <3nd.class="lass="sref">sbu3inn="33nine" name="L1247!1239de=s4us12clref">qtryrH    
qr1241de=s1276d4=->use_slusteaing"mp; ass*3"L128" ("+c3eremovrf9404th3o       hr3d"+c3eremovrf9404ss="dto itdb_enable_irqs     href="+code=pa8e        8>        sbu3inn="33nine" name="L1247de=sbus124 = 
qr1243de=sbus124 =ef">l"="sref">ql)l=4L145"41hrdine up">=" stscl"=ely124me="Lf"0last/sc/
1241="+code=sbregesr" c[t>inCmnsbu3inn="33nine" name="L1247de=sbus114 rucl"="sref">ql)l="L445" =41" name="L144"> 144ql)Cspin_un4ock_i4qiPstoreese" nastscl"=ely3c>1 andl8rsss8 h2i/3r Qto it,class8 h+c3MAND_rOMPL33<>124me="Lf"0last/sc/
Cmn

qr1249de=sbus124l="def"11bus>11picpti2="d4f"/aq4to itd#def/qlmesr" c[t>in esunamri2ivu!href="+8ode3namri2igt;s!e+ 1) *mesr" c[t>in
qr124ode=sbus124trqs 1coh" namver8 cl8x]mP_ATOma2s3/>1coh" nam/126ohn[a , agesof ="drivpi.c#L181291de=sbus12
sbu3)Cver43ooki42 nline" nameqhosi
mp; ass*3"L128" (a        href="+code=pa8e        8>        insbu3inn="33nine" name="L1243de=sgoto=48hivers/sc8rs/sail = 1coh" namver8 cl8x]mP_ATOma2s3/>1coh" nam/126ohn[a , agesof ="drivpi.c#L181291de=sbus12
sbusinn="cogrivers/scsi/124126Rhref="4code=loop_   iges"_/qqtdb4intrd42>3"L128" . mp; ass*3"L128" (a        href="+code=pa8e        8>        insbu3inn="33nine" name="L1246de=sgoto=48hivers/sc8rs/sail = 8"os4     4    sbu3inn="33nine" name="L1247de=sbus124s + 
Cmnqldpql)Cpresour8"Nrec6co name="L140">Cmnsbusinn="cogrivers/scsi/1249de=sbus124lhref=ge9"bur!href="+8ode4l84pd4ref=ge9"bur!hri8egsmp; ass*3"L128" (resour8"_ize"sref">ql)Csresour8"_ize"/126ohn[a , agesof ="drivpi.c#L181291de=sbus12ql)Cpresour8"Nrec6cooo mstrucl"/
qr124ode=sbus124trqs =ge9"c  
qr1241de=sbus124lass="sref">sbu3de=ode=8743l* c43 nline" nameqhosiCmnqldpql)Cpresour8"Nrec6co name="L140">Cmn
qr1249de=sbus124c8ef">sbus_Clear out db_r4se e 43gt;ef"0last/sc/
qr1243de=sbus124 memd_Eeh_bus_rese _
amem4_E/aq4to itdb_enable_irqs sbu3inn="33nine" name="L1244de=sbus124w" class="sref"3"sref">>>43>>>>4reakef"0last/sc/
sbu3inn="33nine" name="L1246de=sgoto=48hivers/sc8rs/sail free_/4qtdb_4ntrd="f"0last/sc/
qr1247de=sbus124s + 
qr1249de=sbus124c8ef">sbus_Load <" class84hr.t,4of_8evic8_ id="8163" 86lalaof_8evic8_ i8hn[a hn 08rs/scsi/q(tdb_match"sref">ql)C(tdb_matchENreccoet0"> 170>>>>>>>>andql)ho"> 170>>>>>>>>andmp; ass*3"L128" clamp; tag_agwm" class8 hre naing">"g"+copquot;class="r mand 16qs sbus_Check 4" cPT4 "         .t,"> 170>>>>>>>>andmp; ass*3"L128" clamp; tag_agwm" class8 hre naing">"gTI_,"+copquot;class="r mandu14<8a3AILED4_pte"> 170>>>>>>>>and124"s43f">s44tag_ages"888egsmp.c#L1888egsmp; ass*3"L128" clamp; tag_agwm" class8 hre naing">"g3         <3CCESSode= mandsbus_RN_WA <" cISP 488hin4tR/8h/req 28ul} mandql)h"> 170>>>>>>>>andmp; ass*3"L128" clamp; tag_agwm" class8 hre naing">"gSUNW      <3CCESSode= mandmp{} mand
mODULEd_DEVICE_TBLE_ss*3"L128" clamODULEd_DEVICE_TBLE_ic8ode=sbpro2ass="12of="8163" 86lalaof_8" clnamf8 hr_8icrmeGFP_Amatch"sref">ql)C(tdb_matchENrec"lass="sref">sbu3inn="33nine" name="L1244de=sbus1247fc cl           
platform_de/sp3nsref">ql)Cplatform_de/sp3nhn[a hn 08rs/scsi/q(tdb_m"us_pe/sp3nsref">ql)Cptdb_m"us_pe/sp3nag_agwm"> 170>>>>>>>>andme/sp3nsref">ql)Cpe/sp3nag_agwm"> 170>>>>>>>>and11pi45ngtag_aODEV="L1a     .c#L1888egsmp; ass*3"L128" clamp; tag_agwm" class8 hre naing">"gtdb_  <3CCESSode= mand  rqs  =wn3nsref">ql)Cp=wn3ne" uet p;& (<144rpTHIS_ODULEdsref">ql)CpTHIS_ODULEdss="lass="sref">sbusinn="cogrivers/scsi/124eti.c#L1834LL"sr3 vo>181eti.c#L1838L4"sr3 4o>181eti.c#L1838LLrs/s nline" n160 = ql)C(tdb_matchENreclass="sref">sbusinn="cogrivers/scsi/1245/
4aCmnine" namg8160scs128" 4lnamd460/8h/req 28ul} mandurob="sref">ql)C(rob=ese" 1838LLrs/st p;& (<144rpFP_Ambus_prob="sref">ql)C(tdb_sbus_prob=ese"  manduremovref">qtryrH    qtryrH    1246 
 1441246="L9d2iversname="L97"1span"cmnt__ref=ef">qtryrH    <__ref=hn[a hn 08rs/scsi/q(tdb_mref=ef">qtryrH    
qr1246de=sbus124 = 1246"> 144928"=esr" c[t>insbusdev124w">1246ngtag_aODEV="       iplatform_de/sp3n_" name0psref">ql)Cplatform_de/sp3n_" name0p/126ohn[a , agesof ="drivtdb_m"us_pe/sp3nsref">ql)Cptdb_m"us_pe/sp3nag_a"lass="sref">sbu3inn="33nine" name="L1248de=sbus124us_writew" class="sref"124us>124icpti2f"0last/sc/
qr1249de=sbus124e=sbus_writew" class="s124e=>1246st IRQ bit to clear. memse4ref="d2ivers/124ode=sbus124ers/sctime_aftergicpti>124er>1247hdr0"2iversnvoid="L97"1span"cmnt__exf=ef">qtryrH    <__exf=hn[a hn 08rs/scsi/q(tdb_mexf=ef">qtryrH    
qr1241de=sbus1247"1cmi = 1247ss="l4928"=esr" c[t>in 160 = 124writew" classr 8>        ql)Cplatform_de/sp3n_un" name0p/126ohn[a , agesof ="drivtdb_m"us_pe/sp3nsref">ql)Cptdb_m"us_pe/sp3nag_a"lass="sref">sbu3inn="33nine" name="L1243de=sbus124 cla8Spti" cla8f">qregs124 c>1247hrdinf"0last/sc/
qr1244de=sbus1247"1cmi = 1247" name="L144"> 1441247riverc#L1888egsmODULEd_DESCRIPTIOi8    "g3 certclastUS_ 144
sbuscm124sw>1247"> 14ult ="L1a      ODULEd_AUTHOR8    "gDavid=S. Mil8rss(davem@davemloft.net)  <3CCESSode=o mstrucl"/
sbuscm124sw>1247ngtagult ="L1a      ODULEd_LICENS_ss*3"L128" clamODULEd_LICENS_ic8ode class8 hre naing">"gGPL  <3CCESSode=o mstrucl"/
sbuscm124sw>1248ss="lult ="L1a      ODULEd_VERSIOi8    "g2.1  <3CCESSode=o mstrucl"/
"gine" n/isp1000.bin  <3CCESSode=o mstrucl"/

qr1241de=sbus124 h160 = 1248"888eult ="L1a      modulemref=ef">qtryrH    qtryrH    
qtryrH    qtryrH    
1248 


, fooe0ps> The original LXR soft LXR hrduef=y8" clnthis experidineal a3> ion by strucl"/lxp@ , subfooe0ps> lxp.Redpil8 La pro AS8" clnprovidrssof La uxs=nstultng qs8 ha>mpvernst seric8_t since 1995.