linux/drivers/scsi/sun_esp.c
<<
>>
Prefs
   1/* sun_esp.c: ESP front-end for Sparc SBUS systems.
   2 *
   3 * Copyright (C) 2007, 2008 David S. Miller (davem@davemloft.net)
   4 */
   5
   6#include <linux/kernel.h>
   7#include <linux/types.h>
   8#include <linux/delay.h>
   9#include <linux/module.h>
  10#include <linux/mm.h>
  11#include <linux/init.h>
  12#include <linux/dma-mapping.h>
  13#include <linux/of.h>
  14#include <linux/of_device.h>
  15#include <linux/gfp.h>
  16
  17#include <asm/irq.h>
  18#include <asm/io.h>
  19#include <asm/dma.h>
  20
  21#include <scsi/scsi_host.h>
  22
  23#include "esp_scsi.h"
  24
  25#define DRV_MODULE_NAME         "sun_esp"
  26#define PFX DRV_MODULE_NAME     ": "
  27#define DRV_VERSION             "1.100"
  28#define DRV_MODULE_RELDATE      "August 27, 2008"
  29
  30#define dma_read32(REG) \
  31        sbus_readl(esp->dma_regs + (REG))
  32#define dma_write32(VAL, REG) \
  33        sbus_writel((VAL), esp->dma_regs + (REG))
  34
  35/* DVMA chip revisions */
  36enum dvma_rev {
  37        dvmarev0,
  38        dvmaesc1,
  39        dvmarev1,
  40        dvmarev2,
  41        dvmarev3,
  42        dvmarevplus,
  43        dvmahme
  44};
  45
  46static int esp_sbus_setup_dma(struct esp *esp, struct platform_device *dma_of)
  47{
  48        esp->dma = dma_of;
  49
  50        esp->dma_regs = of_ioremap(&dma_of->resource[0], 0,
  51                                   resource_size(&dma_of->resource[0]),
  52                                   "espdma");
  53        if (!esp->dma_regs)
  54                return -ENOMEM;
  55
  56        switch (dma_read32(DMA_CSR) & DMA_DEVICE_ID) {
  57        case DMA_VERS0:
  58                esp->dmarev = dvmarev0;
  59                break;
  60        case DMA_ESCV1:
  61                esp->dmarev = dvmaesc1;
  62                break;
  63        case DMA_VERS1:
  64                esp->dmarev = dvmarev1;
  65                break;
  66        case DMA_VERS2:
  67                esp->dmarev = dvmarev2;
  68                break;
  69        case DMA_VERHME:
  70                esp->dmarev = dvmahme;
  71                break;
  72        case DMA_VERSPLUS:
  73                esp->dmarev = dvmarevplus;
  74                break;
  75        }
  76
  77        return 0;
  78
  79}
  80
  81static int esp_sbus_map_regs(struct esp *esp, int hme)
  82{
  83        struct platform_device *op = esp->dev;
  84        struct resource *res;
  85
  86        /* On HME, two reg sets exist, first is DVMA,
  87         * second is ESP registers.
  88         */
  89        if (hme)
  90                res = &op->resource[1];
  91        else
  92                res = &op->resource[0];
  93
  94        esp->regs = of_ioremap(res, 0, SBUS_ESP_REG_SIZE, "ESP");
  95        if (!esp->regs)
  96                return -ENOMEM;
  97
  98        return 0;
  99}
 100
 101static int esp_sbus_map_command_block(struct esp *esp)
 102{
 103        struct platform_device *op = esp->dev;
 104
 105        esp->command_block = dma_alloc_coherent(&op->dev, 16,
 106                                                &esp->command_block_dma,
 107                                                GFP_ATOMIC);
 108        if (!esp->command_block)
 109                return -ENOMEM;
 110        return 0;
 111}
 112
 113static int esp_sbus_register_irq(struct esp *esp)
 114{
 115        struct Scsi_Host *host = esp->host;
 116        struct platform_device *op = esp->dev;
 117
 1148        host->host-><="line" name="L117"> 117
command_ultsdat=07,v."+code=deef">host<="sref">regsst<=
  19<#119    return 0;
esp_sbusasquestass=href="+code=res" claass="sref">host->host-><="line" name=f="+code=SBUS_ESPt.h-><="linet.hDMA_DEVIIRQF_SHARE=pan class="string">"ESP");
esp->  201
1a hreff="drivers/scsi/sun_esp.c#L112" id="L21" clas1s="line" name="L21">  211#1nclude="drivers/scsi/sun_esp.c#L112" id="L12" class=="line" name="L12">  12
esp_sbus_regget/a>&q_iduct esp *esp, int platform_device *esp, in
  231#1ncludef="drivers/scsi/sun_esp.c#L115" id="L24" clas1s="line" name="L24">  241
12     struct platform_device *op = esp->dev;
  251#12     struct dev;
esp-dp href="drivers/scsi/sun_esp.c#L117" id="L116" class="line" name="L26">  261#12 href="drivers/scsi/sun_esp.c#L17" id="LL27" clas1s="line" name="L27">  271#12     esp-dp hre"L117"> 117
dev;
hoof_n_Ho"sref">dev;of_n_Ho href="drivers/scsi/sun_esp.c#L117" id="L118" class="line" name="L28">  281#12     esp->&q_id"sref">esp_sbusa>&q_iduct ef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" cla"="sref">esp-dp hreclass="string">"ESP"a>&giator-idspan>);
  291
12     if (esp->&q_id"sref">esp_sbusa>&q_iduct e!==0xffe="drivers/scsi/sun_esp.c#L108" id="L30" clas1s="line" name="L30">  301#13             esp-d"11 href="drivers/scsi/sun_esp.c#L117" id="L31" clas1s="line" name="L31">  311 13clude="drivers/scsi/sun_esp.c#L112" id="L32" clas1s="line" name="L32">  321#13     esp->&q_id"sref">esp_sbusa>&q_iduct ef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" cla"="sref">esp-dp hreclass="string">"ESP"a>&q-a>&giator-idspan>);
  331 13     if (!esp->&q_id"sref">esp_sbusa>&q_iduct e!==0xffe="drivers/scsi/sun_esp.c#L108" id="L24" clas1s="line" name="L34">  341
13             break;
esp-d"11 href="drivers/scsi/sun_esp.c#L117" id="L25" clas1s="line" name="L35">  351<13 href="drivers/scsi/sun_esp.c#L86" id="1L36" clas1s="line" name="L36">  361e136    esp->&q_id"sref">esp_sbusa>&q_iduct ef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" claeot;esp, in
dev;
hoof_n_Ho"sref">dev;of_n_Ho href="drivers/scsi/sun_esp.c#L107" id="L37" clas1s="line" name="L37">  371 13                                             "ESP"a>&q-a>&giator-idspan>);
  381 13 href="drivers/scsi/sun_esp.c#L79" id="1L39" clas1s="line" name="L39">  391 1      "+code=dvmarev0""11/9ref">esp-d"11 href="drivers/scsi/sun_esp.c#L73" id="1L40" clas1s="line" name="L40">  401 1      esp->host;
esp_sbus
	  _ida href="+code=esp" class="sref">esp->&q_id"sref">esp_sbusa>&q_iduct f="drivers/scsi/sun_esp.c#L14" id="L131" clas1s="line" name="L41">  411 1      esp->&q_id_mas="sref">command_a>&q_id_mas=a href=(1href=ref=="+code=esp" class="sref">esp->&q_id"sref">esp_sbusa>&q_iduct ef="drivers/scsi/sun_esp.c#L108" id="L42" clas1s="line" name="L42">  421 1      f="drivers/scsi/sun_esp.c#L112" id="L43" clas1s="line" name="L43">  431 14 href="drivers/scsi/sun_esp.c#L94" id="1L44" clas1s="line" name="L44">  441}1
sbus_wri_regget/diff>(&amia=uct esp *esp)
  451
1a hreff="drivers/scsi/sun_esp.c#L115" id="L46" clas1s="line" name="L46">  461s14     struct platform_device *op = esp->dev;
  471{147    struct dev;
esp-dp href="drivers/scsi/sun_esp.c#L117" id="L48" clas1s="line" name="L48">  481 14 href="drivers/scsi/sun_esp.c#L79" id="1L49" clas1s="line" name="L49">  491
14     esp-dp hre"L117"> 117
dev;
hoof_n_Ho"sref">dev;of_n_Ho href="drivers/scsi/sun_esp.c#L117" id="L50" clas1s="line" name="L50">  501 1      dev;of_find_propertyhref="+code=res" cla"="sref">esp-dp hreclass="string">"ESP"diff>(&amia=span>);
VAL)NUL= hreff="drivers/scsi/sun_esp.c#L114" id="L51" clas1s="line" name="L51">  511 1                      "+code=esp" class="sref">esp->regsflas=     |L117"> 117
VAL)SIZEFLAG_DIFFERENTIs= href="drivers/scsi/sun_esp.c#L117" id="L42" clas1s="line" name="L52">  521 1              href="drivers/scsi/sun_esp.c#L92" id="1L53" clas1s="line" name="L53">  531 15             esp->regsflas=     href== ~17"> 117
VAL)SIZEFLAG_DIFFERENTIs= href="drivers/scsi/sun_esp.c#L117" id="L44" clas1s="line" name="L54">  541 1      f="drivers/scsi/sun_esp.c#L112" id="L55" clas1s="line" name="L55">  551
1a href="drivers/scsi/sun_esp.c#L56" id="1L56" clas1s="line" name="L56">  561 15tic int esp_sbus_mapget/c,param=uct esp *esp)
  571 15a href="drivers/scsi/sun_esp.c#L48" id="1L58" clas1s="line" name="L58">  581 1              a href="+code=platform_device" class="sref">platform_device *op = esp->dev;
  591 1              a href="+code=platforma> *dev;
esp-ster"= hrecl="+code=op" clasd="sref">esp-dp href="drivers/scsi/sun_esp.c#L117" id="L60" clas1s="line" name="L60">  601 1      case regsfmhz href="drivers/scsi/sun_esp.c#L117" id="L51" clas1s="line" name="L61">  611 16clude="drivers/scsi/sun_esp.c#L112" id="L62" clas1s="line" name="L62">  621 16     esp-dp hre"L117"> 117
dev;
hoof_n_Ho"sref">dev;of_n_Ho href="drivers/scsi/sun_esp.c#L117" id="L63" clas1s="line" name="L63">  631 16     esp-ster"= hreef="+code=dma_alloc="sref">esp-dp hre9" class="search_resparss="sref">dma_alloparss= href="drivers/scsi/sun_esp.c#L117" id="L44" clas1s="line" name="L64">  641 16 href="drivers/scsi/sun_esp.c#L105" id="L65" clas1s="line" name="L65">  651 1              "+code=esp_sbusfmhz"sref">regsfmhz hreef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" cla"="sref">esp-dp hreclass="string">"ESP"c-fasquencyspan>);
  661 1      case regsfmhz hreef==0e="drivers/scsi/sun_esp.c#L108" id="L57" clas1s="line" name="L67">  671 1              regsfmhz hreef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" claster"="sref">esp-ster"= hreclass="string">"ESP"c-fasquencyspan>);
  681 16 href="drivers/scsi/sun_esp.c#L79" id="1L69" clas1s="line" name="L69">  691 16     esp->esp-bfasq hreef="+code=of_ioremfmhz"sref">regsfmhz href="drivers/scsi/sun_esp.c#L117" id="L70" clas1s="line" name="L70">  701 17 hreff="drivers/scsi/sun_esp.c#L112" id="L71" clas1s="line" name="L71">  711 17clude="drivers/scsi/sun_esp.c#L112" id="L72" clas1s="line" name="L72">  721 17 hrefnt esp_sbus_mapget/burst=uct esp *esp)
platform_device *dma_of)
  731 17cludef="drivers/scsi/sun_esp.c#L115" id="L74" clas1s="line" name="L74">  741 17     struct dev;
)
"="sref">esp-d>)
"= hreef="+code=dma_alloclass="sref">dma_of->dev;
hoof_n_Ho"sref">dev;of_n_Ho href="drivers/scsi/sun_esp.c#L117" id="L75" clas1s="line" name="L75">  751 1      }
platform_device *op = esp->dev;
  761
17     struct dev;
esp-dp href="drivers/scsi/sun_esp.c#L117" id="L77" clas1s="line" name="L77">  771 17     esp-u      "+code=res" clastrst="sref">esp_sbusburst=uct f="+code=esp" clava="sref">sbus_wriva=uct f="drivers/scsi/sun_esp.c#L117" id="L58" clas1s="line" name="L78">  781
1a href="drivers/scsi/sun_esp.c#L79" id="1L79" clas1s="line" name="L79">  791}17     esp-dp hre"L117"> 117
dev;
hoof_n_Ho"sref">dev;of_n_Ho href="drivers/scsi/sun_esp.c#L117" id="L80" clas1s="line" name="L80">  801
18     esp_sbusburst=uct ef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" cla"="sref">esp-dp hreclass="string">"ESP"burst-(&amsspan>);
  811s18     sbus_wriva=uct ef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" cla">)
"="sref">esp-d>)
"= hreclass="string">"ESP"burst-(&amsspan>);
  821{18     sbus_wriva=uct e!==0xffe="drivers/scsi/sun_esp.c#L108" id="L83" clas1s="line" name="L83">  831 18             esp_sbusburst=uct ehref== "+code=esp" clava="sref">sbus_wriva=uct f="drivers/scsi/sun_esp.c#L117" id="L84" clas1s="line" name="L84">  841 18 href="drivers/scsi/sun_esp.c#L105" id="L85" clas1s="line" name="L85">  851
18             "+code=esp_sbusva="sref">sbus_wriva=uct ef="+code=of_ioremap"getrefprop/a>faul="sref">hostap"getrefprop/a>faul=href="+code=res" cla">)
"="sref">esp-d>)
"= hre9" class="search_resparss="sref">dma_alloparss= hreclass="string">"ESP"burst-(&amsspan>);
  861 18     case sbus_wriva=uct e!==0xffe="drivers/scsi/sun_esp.c#L108" id="L77" clas1s="line" name="L87">  871<18             esp_sbusburst=uct ehref== "+code=esp" clava="sref">sbus_wriva=uct f="drivers/scsi/sun_esp.c#L117" id="L18" class=="line" name="L18">  18
18 href="drivers/scsi/sun_esp.c#L79" id="1L89" clas1s="line" name="L89">  891 1      if (esp_sbusburst=uct ef==0xff ||="drivers/scsi/sun_esp.c#L79" id="1L90" clas1s="line" name="L90">  901 1              esp_sbusburst=uct e href="+code=DMA_DEVICE_IBURSTs="line" nap_sbusCE_IBURSTs= hrefef==0 ||="drivers/scsi/sun_esp.c#L79" id="1L81" clas1s="line" name="L91">  911 19                 ="+code=hme" clastrst="sref">esp_sbusburst=uct e href="+code=DMA_DEVICE_IBURSTs="sref">dma_readCE_IBURSTs= hrefef==0e="drivers/scsi/sun_esp.c#L108" id="L92" clas1s="line" name="L92">  921 1              esp_sbusburst=uct ef=="+code=DMA_CSR" claBURSTs="sref">dma_readCE_IBURSTs= hre - 1ef="drivers/scsi/sun_esp.c#L108" id="L93" clas1s="line" name="L93">  931
1a href="drivers/scsi/sun_esp.c#L94" id="1L94" clas1s="line" name="L94">  941 1      esp->esp_sbusburst=uct ef="+code=of_ioremstrst="sref">esp_sbusburst=uct f="drivers/scsi/sun_esp.c#L108" id="L85" clas1s="line" name="L95">  951 1      f="drivers/scsi/sun_esp.c#L112" id="L96" clas1s="line" name="L96">  961 19 href="drivers/scsi/sun_esp.c#L17" id="LL97" clas1s="line" name="L97">  971
1a hrefnt esp_sbus_map_regsget/prop=uct esp *esp)
platform_device *esp, in
  981 1      f="drivers/scsi/sun_esp.c#L115" id="L99" clas1s="line" name="L99">  991}19     esp_sbus_regget/a>&q_iduct <"+code=esp" class="sref">esp)
esp, in
 102
20     sbus_wri_regget/diff>(&amia=uct <"+code=esp" class="sref">esp)
 102s20     esp_sbus_mapget/c,param=uct <"+code=esp" class="sref">esp)
 102{20     esp_sbus_mapget/burst=uct <"+code=esp" class="sref">esp)
esp, in
  932 2      f="drivers/scsi/sun_esp.c#L112" id=2L104" cla2s="line" name="L104"> 102
2a href="drivers/scsi/sun_esp.c#L105" id=2L105" cla2s="line" name="L105"> 102 2      nt esp-_regs_mapa>((<8uct esp *esp)
esp-u      "+code=res" clava="sref">sbus_wriva=uct , unsigned longr"+code=regs" clasg"sref">sbus_wriasg hree="drivers/scsi/sun_esp.c#L108" id=2L106" cla2s="line" name="L106"> 102 2      f="drivers/scsi/sun_esp.c#L115" id=2L107" cla2                        2 2f">e"las1s="line" nam6s="lio2href="+code=regs" c">sbus_wriva=uct , unsigneclass="line" name="L88">  88 17      1419    id=20 4UL) class="sref">esp)
esp, in2  981 2ENOMEM;2esp * 102<>  5="line" name="L105"> 102<>  5=     nt esp-_regs_mapa>((<8uct esp-u      "+code=res" clava="sref">sbus_wriva=uct , unsigned longe="L110">2110        return 0;2 111}2{20       88 17      1419    id=20 4UL) class="sref">esp)
 1122esp)2 114{2commddr_c="+code=esp" class="05"> 102 102esp-_regs_mapa>((<8uct host;2sbus_wriva=uct , unsigned longela2s="linv" class="sref">dev;2 1172  581 1              a href="+code=platform_device" class="sref">platform_device *op = esp->2ost<="sref">regsst<=2esp-&2t;comint singl+      href="+code=dma_alloc_coherent" class="sref">dma_alloc_coherent(&esp->  201
2a hre22="drivers/scsi/sun_esp.c#L111" id="L111"2clas1s="l2ne" name="L21">  21121nclu22="drivers/scsi/sun_esp.c#L112" id="L1122e=op" cla2eot;esp, in2 102 141905"> 102esp_sbus_map_regsget/prop=uct espesp_sbus_map_regsgs     14190g+codevers/scsi/sun_esp.c#L112" id=2L104"las1s="li2e" name="L23">  231#2nclud22="drivers/scsi/sun_essssssssssssssssssssi/sun_esp.c#L113" num s     1419num s +code=i/sun_esp.c#L117" idisbus_wriva=uct , unsigned long="+code=d2v" class="sref">dev;2esp2dp hr22="drivers/scsi/sun_esp.c#L115" id="L46" clas1s="line" name="L46">  461s14     struct platform_device *op = esp->  261212 hr22="drivers/scsi/sun_esp.c#L117" id="L1172deef">hoo2_n_Ho"sref">dev;of_n2Ho hr22ref="drivers/scsi/suesp" class="sre>comint s     1419>comint s       href="+code=dma_alloc_coherent" class="sref">dma_alloc_coherent(& 1419num s +code=n_esp.c#L117" idiesp->2>&giator-idspan>);
esp_sbusa>&q_iduct e2==0xf23="drivers/scsi/sun_esp.c#L100" id="L1002+code=dvm2rev0""11/9ref">esp-d211 hr23="drivers/scsi/sun_esp.c#L105" id=2L105" unint singl+code=esp" class05"> 102esp-_regs_mapa>((<8uct commddr_c="+code=esp" class="mddrk" class="sref"mddr+codevers/scsi/sun_esp.c#L112" id=2L104"clas1s="l2ne" name="L31">  311213clu23="drivers/scsi/sun_esL106" id="L106" clde=esp" class="0ize_ck" class="sref"0ize_c="+code=esp" class="0>sbus_wriva=uct , unsigned longquota>&q-2>&giator-idspan>);
&q_id"s2ef">esp_sbusa>&q_iduct e2==0xf23="drivers/scsi/sun_esp.c#L115" id="L46" clas1s="line" name="L46">  461s14     struct platform_device *op = esp->esp-d211 hr2f="drivers/scsi/sun_esp.c#L117" id="L25"2clas1s="l2ne" name="L35">  351213 hr2f="drivers/scsi/sun_esp.c#L86>comunint singl+code=esp" class>comunint singl+      href="+code=dma_alloc_coherent" class="sref">dma_alloc_coherent(&esp->hoo2_n_Ho"sref">dev;of_n2Ho hr2f="dridrivers/scsi/sun_esp.c#L99" id="L992aeef">hoo2q-a>&giator-idspan>);
  381213 hr2f="drivers/scsi/sun_esp.c#L105" id=2L105" unint s     141905"> 102esp_sbus_map_regsget/prop=uct espesp_sbus_map_regsgs     14190g+codevers/scsi/sun_esp.c#L112" id=2L104"+code=dvm2rev0""11/9ref">esp-d211 hr2f="drivers/scsn_essssssssssssssssssssi/sun_esp.c#L113" num s     1419num s +code=i/sun_esp.c#L117" idisbus_wriva=uct , unsigned longdev" claa2&q_id"sref">esp_sbusa>&q2iduct24="drivers/scsi/sun_esp.c#L108" id=2L106" ev" claa>2q_id"sref">esp_sbusa>&q_2duct 242"drivers/scsi/sun_esp.c#L115" id="L46" clas1s="line" name="L46">  461s14     struct platform_device *op = esp->  421 2     2f="drivers/scsi/sun_esp.c#L112" id="L43"2clas1s="l2ne" name="L43">  431214 hr24="drivers/scsi/sun_esp.c#L94>comunint s     1419>comunint s t dma_alloc_coherent(& 1419num s +code=n_esp.c#L117" idiesp->esp)2  451
2a hre24="drivers/scsi/sun_esp.c#L112" id="L96"2="+code=d2v" class="sref">dev;2 102 141905"> 102esp_sbus_map_regsget/prop=uct sbus_wriva=uct , unsigned longdeef">hoo2op" clasd="sref">esp2dp hr24="drivers/scsi/sun_esp.c#L108" id="L18" 2clas1s="l2ne" name="L48">  481214 hr24="drivers/scsi/sun_esp.c#L79" id>comatadef="+code=res" cl>comatadef/a>{20       911<20      19             HNDL_ERROR="+code=res" clastrHNDL_ERROR+codssref">sbus_wriva=uct , unsigned longdeef">hoo2_n_Ho"sref">dev;of_n2Ho hr25="drivers/scsn_esssssscsi/su1sp" class="sref">esp->VAL)NU2= hre2f="drivers/scsi/sun_esp.c#L110" id="L110" class="line" na2="sref">V2L)SIZEFLAG_DIFFERENT2s= hr25="drivers/scsi/sun_esp.c#L108" id="L42" 2" name="L22">  521 1          2   hr25="drivers/scsi/sun_esp.c#L112" id="L43"2="sref">V2L)SIZEFLAG_DIFFERENT2s= hr25="drivers/scsi/sun_esp.c#L94" id05"> 102<> s02 102<> s02esp_sbus_map_regsget/prop=uct sbus_wriva=uct , unsigned longlas1s="li2e" name="L54">  541 2     25="drivers/scsi/sun_esp.c#L114" id="L45" 2clas1s="l2ne" name="L55">  55121a hr25="drivers/scsii/sun_esp.c#L113" can_do"> 102"+code=hme" clastcan_do"> 102"++code=n_esp.c#L117" ican_do"> 102ef="+code=res" clcan_do"> 102ef+code=n_esp.c#L117" ican_do"> 102parss="srefes" clcan_do"> 102f="drip.c#L110" id="L110" class="line" na2="+code=d2p" class="sref">esp)2parss="srefes" clcan_do"05">pa+code=n_esp.c#L117" ilimrss="srefes" cllim"drip.c#L110" id="L110" class="line" na2=eef">hoo2e" name="L57">  571 25a hr2f="drivers/scsi/sun_esp.c#L48" id="1L58" clas1s="line" name="L58">  581 1              a href="+code=platform_device" clap.c#L110" id="L110" class="line" na2=las1s="l2v" class="sref">dev;2esp_sbusburst=uct ehref=2cl="+code2op" clasd="sref">esp2dp hr26="drivers/scsi/sun_esp.c#L100" id="L1002+code=esp2sbusfmhz"sref">regsf2hz hr26="drivers/scsi/sun_esp.c#L20can_do"> 102"+code=hme" clastcan_do"> 102"++cod921 1          _device *"1L90" clas1s="line" name="L90">  901 1              esp_sb="L8rst="sref">esp_sbusburst=uct ehref=2c"sref">V2ne" name="L61">  611216clu2e="drivers/scsi/sun_esp.c#L11can_do"> 102ef="+code=res" clcan_do"> 102ef+cod921 1          _device *"1L90" clas1s="line" name="L90">  901 1              esp_sb="L8rst="sref">esp_sbusburst=uct ehref=2c name="L2_n_Ho"sref">dev;of_n2Ho hr2f="drivers/scsi/sun_esp.c#L11can_do"> 102parss="srefes" clcan_do"> 102f="dri "L8rst="sref">esp_sbusburst=uct ehref=2c"sref">V2parss="sref">dma_allopar2s= hr26="drivers/scsi/sun_esp.c#L94can_do"05">parss="srefes" clcan_do"05">pa+cod "L8rst="sref">esp_sbusburst=uct ehref=2cas1s="li2ne" name="L64">  641216 hr2f="drivers/scsi/sun_esp.c#L10de=platform_device" class="sref">platform_device *op = esp->-fasquencyspan>);
 can_dcom64bi       can_dcom64bi t sbus_wriva=uct , unsigned long=hme" cla2mhz"sref">regsfmhz h2eef==2e="drivers/scsi/sun_esp.c#L108" id="Lcan_do"05">parss="srefes" clcan_do"05">pa+cod "L1sp" class="sref">esp->-fasquencyspan>);
 can_> 102parss="srefes" cl05"> can_> 102pat sbus_wriva=uct , unsigned long=las1s="l2ne" name="L68">  681216 hr26="drivers/scsi/sun_esi/sun_esp.c#L11can_do"> 102parss="srefes" clcan_do"> 102f="dri "L 1          _device *"1L90" clas1s="line" name="L90">  901 1              esp_sbusburst=uct ehref=2+code=of_2oremfmhz"sref">regsf2hz hr27="drivers/scsi/sun_esp.c#L100" id="L1002las1s="li2e" name="L70">  701 27 hre27="drivers/scsiref">esp claul=h>/* Put the DVMAsii/o a known verse. */parss="vers/scsi/sun_esp.c#L100" id="L1002l"sref">V2ne" name="L71">  711217clu27="drivers/scsi/sun_esp.c#L108" i_device *omarp = dev;
vmahm+esp_sbvers/scsi/sun_esp.c#L114" id="L45" 2e=dma_of"2class="sref">dma_of)2  851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sbusburst=uct ehref=2+"sref">V2e" name="L73">  731 27clud27="drivers/scsi/sun_esme="L85">  851<>com     ef="+code=res" cl>com     ef/a>{20      19              h=_SCSI="+code=res" clastr h=_SCSI+code=n_esp.c#L117" iastrCSR="+code=res" clastrCSR+codsrst="sref">esp_sbusburst=uct ehref=2+as1s="li2_n_Ho"sref">dev;of_n2Ho hr2f="drivers/scsi/sun_esme="L85">  851<>com     ef="+code=res" cl>com     ef/a>{20     esp->     h=_SCSI="+code=res" clastr h=_SCSI+code=n_esp.c#L117" iastrCSR="+code=res" clastrCSR+codsrst="sref">esp_sbusburst=uct ehref=2+ESP"2v" class="sref">dev;2esp2dp hr2f="drivers/scsswitchsun_esp.c#L108" i_device *omarp = sbus_wri2a=uct27="drivers/scscaseef">dev;
vmahm+esp_"line" name="L39">  391 1      2clas1s="l2ne" name="L78">  78121a hr27="drivers/scsi/sun_esi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/a>{20     esp_sbusburst=uct ehref=2deef">hoo2_n_Ho"sref">dev;of_n2Ho hr28="drivers/scsn_esssssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/a>{20     esp_sbusburst=uct ehref=2t;ESP&quo2burst-(&amsspan>);
);
 *prp<_hm+_dcocs 1          astrPARITY_OFF="+code=res" clastrPARITY_OFFine" | 19             2CLKS="+code=res" clastr2CLKSine" |vers/scsi/sun_esp.c#L112" id="L71"2t=dma_of"2="sref">sbus_wriva=uct e2==0xf2e="drivers/scsi/sun_esssssssssssssssssssssssss/a> 19             SCSI_DISAB="+code=res" clastrSCSI_DISABine" | 19             INT_ENAB="+code=res" clastrINT_ENAB+codsrst="sref">esp_sbusburst=uct ehref=2t"sref">V2p" clava="sref">sbus_wri2a=uct2f="drivers/scsi/sun_esp.c#L117" id="L84"2clas1s="l2ne" name="L84">  841218 hr28="drivers/scsi/sun_esme="L85">  851<_device *prp<_hm+_dcocs 19             h=_WRITE="+code=res" clastrh=_WRITEine" |vers/scsi/sun_esp.c#L112" id="L71"2tESP"2burst-(&amsspan>);
 19             B h=_SZrss="srefes" cl    < h=_SZ+codsrst="sref">esp_sbusburst=uct ehref=2tf="+code2="sref">sbus_wriva=uct e2==0xf28="drivers/scsi/sun_esp.c#L117" id="L1172 "+code=e2p" clava="sref">sbus_wri2a=uct288"drivers/scsi/sun_esi/sun_esp.c#L108" ican_do"> 102parss="srefes" clcan_do"> 102f="drisref">sbus_wriva=uct , unsigned longclass=="l2ne" name="L18">  18218 hr28="drivers/scsi/sun_esi/sun_esme="L85">  851<_device *prp<_hm+_dcocsespesp_sbusburst=uct ehref=2strst="sr2f">esp_sbusburst=uct ef=20xff 2|="drivers/scsi/suuuuui/susi/sun_esp.c#L108" ican_do"> 102ef="+code=res" clcan_do"> 102ef+codsref">sbus_wriva=uct , unsigned longTs="line"2nap_sbusCE_IBURSTs= href2f==0 2|="drivers/scsi/sun_esi/sun_esme="L85">  851<_device *prp<_hm+_dcocsespesp_rst="sref">esp_sbusburst=uct ehref=2s;ESP&quo2">dma_readCE_IBURSTs= hr2fef==29="drivers/scsi/sun_esp.c#L112" id="L1122URSTs="sr2f">dma_readCE_IBURSTs= h2e - 129="drivers/scsi/sun_esi/sun_esp.c#L108" ican_do"05">parss="srefes" clcan_do"05">pa+codsbvers/scsi/sun_esp.c#L114" id="L45" 2clas1s="l2ne" name="L93">  93121a hr29="drivers/scsi/sun_esssssssssme="L85">  851<_device *prp<_hm+_dcocsespesp_sbusburst=uct ehref=2slas1s="l2strst="sref">esp_sbusbur2t=uct29="drivers/scsi/sun_esssssssssme="L85">  851<05"> s02<05">parss="srefes" cl05"> s02<05">pa/a>{2 href="+code=dma_alloc_coherent" class="sref">dma_alloc_coherent(&"1L90" clas1s="line" name="L90"srst="sref">esp_sbusburst=uct ehref=2las1s="li2e" name="L95">  951 2     29="drivers/scsi/sun_esvers/scsi/sun_esp.c#L108" id="L42" 2clas1s="l2ne" name="L96">  961219 hr29="drivers/scsi/sun_esp.c#L117" id="L1172e=dma_of"2eot;esp, in2esp_sbusburst=uct ehref=2lasss="li2e" name="L98">  981 2     29="drivers/scsi/sun_eswhilesun_esp.c#L79" id>comatadef="+code=res" cl>comatadef/a>{20       911 1          astrPEND= EAD="+code=res" clastrPEND= EAD+codsbvers/scsi/sun_esp.c#L114" id="L45" 3=dma_of" 3ot;esp, in
3a hre30="drivers/scsn_esssssssssssssi/su--n_esp.c#L117" ilimrss="srefes" cllim"dri "sburbvers/scsi/sun_esp.c#L114" id="L45" 3=1ma_of" 3oap_sbusCE_IBURSTs= href3a hre30="drivers/scsi/sun_esi/sun_esi/sun_esn_esp.c#L117" iprint href="+code=dvmprint /a>{20     esp-d>)
"= hre9" ="L%d: astrPEND= EAD ch_resparss="ers/scsi/sun_esp.c#L114" id="L45" 3=2ma_of" 3o>dma_readCE_IBURSTs= hr3a hre30="drivers/scsi/sun_es/sun_esi/sun_esi/sun_esnref">esp-d>)
"= hre9" will not>esear!\nch_resparss="sers/scsi/sun_esp.c#L114" id="L45" 3=3ma_of" 3o">dma_readCE_IBURSTs= h3a hre30="drivers/scsi/sun_essssssssssssssssssssssss            a h_device *h 1      esp  231#2nclud22="drivers/scsi/bdefkne" nameuniquecla1mq)
esp_sbusbur2t=uct29="drive9="drivers/scsi/sun_esvers/scsi/sun3va=uct , 3nsigned longr"+code=regs3 clas30sspan>);
esp_sbusburst=uct e3esp.c#L103" id=2L106" cla2s="line"3name=30regsfmhz h2eef==29="drivers/scsi/sun_esvers/scsi/sun3v8p.c#L103"" id="L1172e=dma_of"2eo3;);
  78121a hr27="drivers/scsi/sun_esi/sun_esp.c#L11>com     ef="+code=r0es" clastr h=_SCSI+code=n_esp.c#L117" iastrCSR="+code=res" clastrCSR+codsrst="sref">esp_sb3ss="line"3p.c#L49" id="L42e=ENOMEM3sref"31v;of_n2Ho hr28="drivers/scsn_esssssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/asssme="L85">  851<_device *prp<_hm+_dcocsesp_sb3s#L114" idned longe="L110">2110);
com     ef="+code=r0es" clastr h=_SCSI+code=nADDsp.c#L117" iastrCSR=ADDsode=res" clastrCSR+codsrst="sref">esp_sb3s#L114" id <"+code class="l2ne" na3e="L131IBURSTs= h3a hre30="dkne" nameuniquecla1mq)
esp)2com     eefsvmahm+esp_"line" name="L39"3.c#L112" 3d=2L104"c"+code=re" clas3="sre3">host;2 *oma/a> = omaESP1="s" clastrPEND= EAD+codsbvers/scsi/sun_esp.ct , unsi3ned longela2s="linv" cla3s="sr31fmhz h2eef==29="dxff28="drivers/scsi/sun_esp.c#L108" id="L5" id="L85" clas1s="line" name="L85">  851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb3c#L114" i3="L57" 2 class="l2ne" na3e="L131sp, in2com     ef/a>{20      19             2CLKS=3+code=reclastr h=_SCSI+code=n_esp.c#L117" iastrCSR="+code=res" clastrCSR+codsrst="sref">esp_sb3s#L203 id=;2ost<="3ref">31>  78121a hr27="drivers/scsi/sun_esvers/scsi/sun3v8p.esp.c#L493 id="L42"+code=es2" clas3="sre32v;of_n2Ho hr28="dkne" nameuniquecla1mq)
com     eefsvmahm+esp_"line" name="L39"3.c#L112" 3d="L1122e=op" cla2eot;)2  851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb3.c#L112" 3d=2L104"las1s="li2e" nam3="L233>  231#2nclud22="dcl>com     ef/a>{20      19             2CLKS=3+code=rees" clastrCSR+codsrst="sref">esp_sb3.c#L112" 3ned long="+code=d2v" cla3s="sr32>  841218 hr28="drivers/scsi/sun>{20      19             2CLKS="+code=rees" clastrCSR+codsrst="sref">esp_sb3.c#L112" 3="L45" 2ef="+code2op" cl3sd="s32>host;2 102ef="+code=res" clcastrPEND= EAD+codsbvers/scsi/sun_esp.sp-&g3; 19             B h=_SZrss="srefes"es" clastrCSR+codsrst="sref">esp_sb3.#L114" i3d="L1172deef">hoo2_n_Ho"3ref">32sp, in2espesp_rst="sref">esp_sb3sp-&g3;2>&giat3r-ids32>  78121a hr27="drivers/scsi/sun_esvers/scsi/sun3v8p.sp.c#L99"3id="L992a>&q_id"s2ef">es3_sbus33v;of_n2Ho hr28="drivers/scsn_esssssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/a  2 2f">e"las1s="line" nam6s="lio2href>{20     esp_sb3.c#L100" 3d="L1002+code=dvm2rev0""31/9re33RSTs= href3a hre30="dkne" nameuniquecla1mq)
&q-2>&giat3r-ids333p_sbusbur2t=uct27="drivers/scscaseefesc1p.c#L11>com     eefesc1=esp" class>vmahm+esp_"line" name="L39"3c#L47" id3"1L73" 2a>&q_id"s2ef">es3_sbus33  231#2nclud22="dcl>com     ef/a>{20       851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb3sp-&g3;  841218 hr28="drivers/scsi/sun>{20      1          astrENABLE=ADD/a> 1  e" clastrst="ref">esp_rst="sref">esp_sb3.c#L117" 3d="L25"2clas1s="l2ne" na3e="L333>host;2 19             INT_ENAB=aC> 19   e" clastrst="ref">esp_rst="sref">esp_sb3.p-&g3;hoo2_n_Ho"3ref">33fmhz h2eef==29="dclu2!7="drivers/scsi/sun_esp.c#L108" ican_do"> 102ef="+code=res" clL85" cs" clastrCSR+cods>  9scsi/sun_esp.c#L20can_do"> 102"+code=hme" clastcastrPEND= EAD+codsbvers/scsi/sun_esp.sp.c#L99"3id="L992aeef">hoo2q-a>&g3ator-33sp, in2esp_rst="sref">esp_sb3.p-&g3d="L1182 class="l2ne" na3e="L333>  78121a hr27="drdriverstrPEND= EAD+codsbvers/scsi/sun_esp..c#L112" 3d=2L104"+code=dvm2rev0""31/9re3">esp-d211 hr2f="drivers/srivers/scsi/sun_esp.c#L108" id="L5" id="L85" c"+ccocs<"dri lass="sresp_sb3ct , unsi3ned longdev" claa2&q_id"3ref">34RSTs= href3a hre30="drivers/scsi/sun_esvers/scsi/sun3v8p.c#L108" i3=2L106" ev" claa>2q_id"s3ef">e34n>);
com     ef="+code=r0es"cl>com     ef/a  2 2f">e"las1s="line" nam6s="lio2href>{20     esp_sb3sp-&g3;esp)2vmahm+esp_"line" name="L39"3c#L108" i3="L85" 2las1s="li2e" nam3="L4534>host;2hoo2op" cl3sd="s34span>);
  481214hre27="drivers/scsiref">eEnable=h>/errupts. i/o a known verse. */parss="vers/scsi/sun_es3ct , unsi3ned longdeef">hoo2_n_Ho"3ref">3ev;of_n2Hocl>com     ef/a>{20       851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb3sp-&g3;regsf2hz hr26="drivers/sssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/a>{20      19             INT_ENAB="+code=res" " nam6s="lio2href>{20     esp_sb3" class="3ine" na2="sref">V2L)3IZEFL3G_DIFFERENT2s= hr25="drivers/scsi/sun_esp3c#L108" i3="L42" 2" name="L22">  53131          2   hr25="drivers/scsi/sun_es3.c#L112" 3d="L43"2="sref">V2L)3IZEFL3G_DIFFERENT2s= hr25="drivers/scsi/sun_esp.getrerain   s02esp_sbus_map_regsget/prop=uct sbus_wriva=3ct , unsi3ned longlas1s="li2e" nam3="L543>  541 2     25="drivers/scsi/sun_esp3c#L114" i3="L45" 2clas1s="l2ne" na3e="L535>  351213 hr2f="drivers/scsi/sun_esp.c#L11uef="+code=res" clu3="dsref">prp<_hm+_dcocode=dpes" clastrCSR+codsrst="sref">esp_sb3"p-&g3ine" na2="+code=d2p" cla3s="sr3f">esp)2hoo2e" nam3="L5735span>);
 *omarp = dev;
);
V2ne" na3e="L63">  611216clu2e="drivers/sref">prp<_hm+_dcocode=dpL85" clas1s="line" name="L85">  851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb3sburst=uc3 ehref=2c name="L2_n_Ho"3ref">3ev;of_n2Hoclu2!27="drivers/scsi/ref">prp<_hm+_dcocode=dpLs" clastrCSR+cods>  911V2parss=3sref"36  231#2nclud22="drivers"srefes" cllim"drip.c#L110" id="L113.t , unsi3 ehref=2cas1s="li2ne" na3e="L636>esp-d211 hr2f="drivers/scsi/sun_es3sp-&g3;-f3squen3yspan>);
 *omarp = com     eefs  9/sun_esp.c#L108" i_device *omarp = com     eefesc1=esp");
-&g3ned long=hme" cla2mhz"sr3f">re3sfmhz h2eef==2e="drivers/scsi/sunsssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/a/ref">prp<_hm+_dcocode=dpL85" clas1s="line" |esp_sb3sp-&g3;-f3squen36span>);
dev;2esp_sb3sburst=uc3 ehref=2+code=of_2oremfm3z"sre37v;of_n2Horivers/scsi/sun_eswhilesun_esp.c#L79" id>comatadef="+code=res" cl>comatadef/a>{20       911V2ne" na3e="L737n>);
;2esp-d>)
"= hr -d>)
eraine9" will not>esear!\nch_resparss="sers/scsi/sun_esp.c#L114" i3="L45" 2e=dma_of"2class=3sref"3dma_of)2;2h 1      espV2e" nam3="L733>  731 27clud27="dddddddddkne" nameuniquecla1mq)
3ev;of_n2Ho hr2f="dERENT2s= hr25="drivers/scsi/sun_esp3sburst=uc3 ehref=2+ESP"2v" cla3s="sr37>host;2esp_sbusburst=uct e3esp.c#L108" i3="L42" 2ef="+code2op" cl3sd="s37fmhz h2eerivers/scsi/sun_esvers/scsi/sun3v8p.c#L114" i3="L45" 2eESP"2p" cla3a="sr37sp, in2hoo2_n_Ho"3ref">38NOMEM;2<= hr25="drivers/scsi/sun_esp.getrinvalidatdev;
 s02esp_sbus_map_regsget/prop=uct sbus_wriva=3sburst=uc3 ehref=2t;ESP&quo2burst-3&amss38p_sbusa>&q2iduct24="drivers/scsi/sun_esp3.c#L112" 3d="L71"2t;ESP&quo2burst-3&amss3an>);
 *omarp = dev;
sbus3wriva=uct e2==0xf2e="drivers/scsi/sunsssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/a>{20     esp_sb3sburst=uc3 ehref=2t"sref">V2p" cla3a="sr3f">sbus_wri2a=uct2f="drivers/scsi/sun_es3.c#L117" 3d="L84"2clas1s="l2ne" na3e="L83">  841218 hr28="drivers/scsi/sun_esme="L85">  851<_device *prp<_hm+_dcocs  851<_device *prp<_hm+_dcocs);
 1          astrPARITY_OFF="+code=res" clastrPARITY_OFFine" | 19             2CLKS="+code=res" clastr2CLKSine" |vers/scsi/sun_es3sburst=uc3 ehref=2tf="+code2="sref3>sbus38fmhz h2eef==29="dxff28="dddddddddddddddddddrPARITY_OFFine" | 19             SCSI_DISAB="+code=res" clastrSCSI_DISABine" | 19             INT_ENAB="+code=res" cres" cl clastr2CLKSine" |vers/scsi/sun_es3s#L114" i3d="L1172 "+code=e2p" cla3a="sr3f">sbus_wri2a=uct288"dddddddddddddddddddddddddccocs<"dri lass="sr 19             h=_WRITE="+code=res" cl_hm+_dcocs<"dri lassE> 1          astrENABLE="+code=res 1419    id=20 4UL) class="sref">esp<3ct , unsi3ned longclass=="l2ne" na3e="L138gsst<=2esp3sbusb3rst=uct ef=20xff 2|="drivers/scsi/sunsssi/sun_esp.c#L11>com     ef="+code=res"  clastr h=_SCSI+code=n_esp.c#L117" iastrCSR="+code=res" clastrCSR+codsrst="sref">esp_sb3ct , unsi3ned longTs="line"2nap_sb3sCE_I3URSTs= href2f==0 2|="drivers/scsi/sunsssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/asssme="L85">  851<_device *prp<_hm+_dcocsesp_sb3sburst=uc3 ehref=2s;ESP&quo2">dma_3eadCE3IBURSTs= hr2fef==29="drivers/scsi/sun_es3.c#L112" 3d="L1122URSTs="sr2f">dma3readC3_IBURSTs= h2e - 129="dhre27="drivers/scsiref">eThis is necessary /* P= hr2havivi/a> c"+co channel a known verse. */parss="vers/scsi/sun_es3c#L114" i3="L45" 2clas1s="l2ne" na3e="L93">  93hre27="drivers/scsirefddddddddddddddddd* eng1s= lock up on us. a known verse. */parss="vers/scsi/sun_es3cc#L117" 3 ehref=2slas1s="l2strst=3sref"3esp_sbhre27="drivers/scsirefddddddddddddddddd*o a known verse. */parss="vers/scsi/sun_es3sburst=uc3 ehref=2las1s="li2e" nam3="L953>  951 2     29="drivers/scsi/sunsssi/sun_esp.c#L11>com     ef="+code=res"  clastr h=_SCSI+code=nADDsp.c#L117" iastrCSR=ADDsode=res" clastrCSR+codsrst="sref">esp_sb3c#L108" i3="L42" 2clas1s="l2ne" na3e="L939fmhz h2eerdriverstrPEND= EAD+codsbvers/scsi/sun_esp..c#L117" 3d="L1172e=dma_of"2eot;, in2esp_sb3sburst=uc3 ehref=2lasss="li2e" nam3="L983>  981 2     29="d hr257"drivers/scside=n_esp.c#L117" ilimrss="srefes" cllim"drip.c#L110" id="L114c#L114" i4="L45" 3=dma_of" 3ot;40>regsf2hz hr27="drivers/scsi/sun_es4c#L114" i4="L45" 3=1ma_of" 3oap_sb4sCE_I4URSTs= href3a hre30="d hr25="drivers/_esn_esp.c#L117" ilimrss="srefes" cllim"dri "L1008rst="sref">esp_sb4c#L114" i4="L45" 3=2ma_of" 3o>dma_4eadCE4IBURSTs= hr3a hre30="drivers/ cl>com     ef/a>{20       851<>comatadef="+code=res" cl>comatadef/a>{20       911 1          astrPEND= EAD="+code=res" clastrPEND= EAD+codsbvers/scsi/sun_esp4c#L114" i4="L45" 3=3ma_of" 3o">dma4readC4_IBURSTs= h3a hre30="drivers/scsn_esssssssssssssi/su--n_esp.c#L117" ilimrss="srefes" cllim"dri "sburbvers/scsi/sun_esp4scsi/3d="4232" classs="line" n3nam4=30234>  231#2nclud22="drivers/scsi/bdef hr25="drivers/_esn_esp.c#L117" iprint href="+code=dvmprint /a>{20     esp-d>)
"= hr -d>)
;d: astrPEND= EAD ch_resparss="ers/scsi/sun_esp4scsi/3duc4 ehref=2slas1s="l2st3 na4e30f"4esp_sbusbur2t=uct29="drive9="divers/scsi/bdef +code=dvmPFX"driviref">espinvalidatde9" will not>eseaa hr25="drivers/sss            a h_device *h 1      esp);
fmhz h2eef==29="ddddddddd>, in2, in2esp_sbusburst=uct e3esp4c#L203 id4"L232" cl9a2s="line"3nam4=30L74">  78121a hr27="d>, in2regsf2hz hr27="drivers/scsi/sun_es4s#L114" i4ned longe="L110">2110 19             h=_WRITE="+code=res" cl_hm+_dcocs<"dri lass=C> 19             INT_ENAB=aC> 19   e" cstrst="sref">esp_sbusburst=uct e3esp4c#L108" i4=2L106" class="li2e" nam4="L1141n>);
{20     com     ef="+code=res" cl>com     ef/a  2 2f">e"las1s="line" nam6s="lio2href>{20     esp_sb4c#L20" id4"L232" c="+code=e2p" cla4s="sr41  231#2nclud22="dcl>com     ef/a>{20       851<>com     ef="+code=res" cl>com     ef/a>{20     esp_sb4ct , 3nsi4d=2L104"c"+code=re" clas4="sre41">dev;22ost<="4ref">41>  381213 hr2f="drivers/scsi/sun_esp.send.getrcmref">esp s02esp_sbus_map_regsget/prop" nam6s="lio2hrefscsi/sun_esp.c#L11uef="+code=res" clu3="daddef">prp<_hm+_dcoaddeprop" nam6s="lio2hrefscsi/sun_esp.c#L11uef="+code=res" clu3="desp.coun" class="sref">hesp.coun"prop");
hgetrcoun"prop"  hr257"drivers/scsi"+cod class="sref">h"+codprop" nam6s="lio2hrefs8i/sun_esp.c#L11u8="+code=res" clu3="dcmref">espsbus_wriva=4sp-&g4;prp<_hm+_dcocode=dpes" clastrCSR+codsrst="sref">esp_sb4.c#L112" 4d="L1122e=op" cla2eot;  231#2ncde=res" clu3="dBUG_ON  esp  9ESP_CMD_CSRef">espesp<4.c#L112" 4ned long="+code=d2v" cla4s="sr42>esp-d211 hr2f="drivers/scsi/sun_es4.c#L112" 4="L45" 2ef="+code2op" cl4sd="s42>  351213 hr2f="drivers//sun_esp."+cod8i/sun_esp.c#L11/sun_esp."+cod8res" cl>com     ef/asssme="L85">  851<_device,r24="drivers/scsi/su.coun" class="sref">hesp.coun"prop a hra hrefess" cla0xff" nam6s="lio2hrefESP_TCLOWef">espesp_sb4sp-&g4;com     ef/asssme="L85">  851<_device,r24="drivers/scsi/su.coun" class="sref">hesp.coun"prop a hra hre8ess" cla0xff" nam6s="lio2hrefESP_TCME      astrPEND= ESP_TCME ode=res" clastrCSR+codsrst="sref">esp_sb4s#L114" i4d="L1172deef">hoo2_n_Ho"4ref">42span>);
 *oma/a> = -&g4;2>&giat4r-ids42>  78121a hr27="d hr2f="drivers//sun_esp."+cod8i/sun_esp.c#L11/sun_esp."+cod8res" cl>com     ef/asssme="L85">  851<_device,r24="drivers/scsi/su.coun" class="sref">hesp.coun"prop a hra hre16ess" cla0xff" nam6s="lio2hrefFAS_RLO          h=_WRFAS_RLOode=res" clastrCSR+codsrst="sref">esp_sb4sp.c#L99"4id="L992a>&q_id"s2ef">es4_sbus43v;of_n2Ho hr28="drivers/scsn_ess/sun_esp."+cod8i/sun_esp.c#L11/sun_esp."+cod8res" cl>com     ef/asssme="L85">  851<_device,r clastr h=_SCSI+coFAS_RH href="astr h=_SFAS_RH ode=res" clastrCSR+codsrst="sref">esp_sb4sp-&g4d="L1002+code=dvm2rev0""41/9re43n>);
espcom     ef/asssme="L85">  851<_device,rde=res" clu3="dcmref">espesp_sb4sc#L112" 4ned longquota>&q-2>&giat4r-ids43          2   hr25="drivers/scsi/sun_es4c#L47" id4"1L73" 2a>&q_id"s2ef">es4_sbus43  231#2nclud22="dcl>com     ef/asref">prp<_hm+_dcocode=dpL85" clas1s="line"sssme="L85">  851<_device *prp<_hm+_dcocsesp_sb4sc#L112" 4;  841218 hr28="drivers/scsi/sun/ref">prp<_hm+_dcocode=dpL8<_hm+_dcocs<"dri lass="sre             SCSI_DISAB="+code=res" clastrSCSI_DISABine" | 1          astrENABLE="+code=reses" clastrCSR+codsrst="sref">esp_sb4sc#L112" 4d="L25"2clas1s="l2ne" na4e="L343>host;2h"+codprop=uct sbus_wriva=4.p-&g4;hoo2_n_Ho"4ref">43fmhz h2eef==29="d hr28="drivers/scsi/sun/ref">prp<_hm+_dcocode=dpL8<_hm+_dcocs<"dri lass=> 19             h=_WRITE="+code=res" es" clastrCSR+codsrst="sref">esp_sb4s#L114" i4id="L992aeef">hoo2q-a>&g4ator-43sp, in2esp_sb4sp-&g4d="L1182 class="l2ne" na4e="L343>  78121a hr27="d hr28="drivers/scsi/sun/ref">prp<_hm+_dcocode=dpL85" c"+code=esp" class= | 19             h=_WRITE="+code=res" es" clastrCSR+codsrst="sref">esp_sb4.c#L112" 4d=2L104"+code=dvm2rev0""41/9re4">esp-d211 hr2f="d" clas1s="line"sssme="L85">  851<_device *prp<_hm+_dcocsprp<_hm+_dcocode=dpes" clastrCSR+codsrst="sref">esp_sb4ct , unsi4ned longdev" claa2&q_id"4ref">44n>);
2q_id"s4ef">e44n>);
com     ef="+code=r0es"cl>com     ef/agetrcoun" class="sref">hgetrcoun"prop" nam6s="lio2href>{20 OUNs          INT_ENAB= OUNsres"=es" clastrCSR+codsrst="sref">esp_sb4sp-&g4;com     ef="+code=r0es"cl>com     ef/aaddef">prp<_hm+_dcoaddeprop" nam6s="lio2hrefde=nADDsp.c#L117" iastrCSR=ADDsode=res" clastrCSR+codsrst="sref">esp_sb4.c#L112" 4d="L43"2clas1s="l2ne" na4e="L444  731 27clud27="drivers/scsi/sun_esme="L85">  851<>com     ef="+code=res" cl>com     ef/asref">prp<_hm+_dcocode=dp" nam6s="lio2href>{20     esp_sb4sp-&g4;com     ef/asref">prp<_hm+_dcocode=dpL85" clas1s="line" name="L85">  851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb4.p-&g4d="L96"2="+code=d2v" cla4s="sr44fmhz h2eef==2e="drivers/scsi/sun/ref">prp<_hm+_dcocode=dpL8<_hm+_dcocs<"dri lassa> 1          astrENABLE="+code=reses" clastrCSR+codsrst="sref">esp_sb4cp.c#L99"4ned longdeef">hoo2op" cl4sd="s44">sbus_wri2a=uct288"drivers/scsi/sun_esi"+cod class="sref">h"+codprop=uct sbus_wriva=4c#L108" i4="L18" 2clas1s="l2ne" na4e="L444>  78121a hr27="d hr28="drivers/scsi/sun/ref">prp<_hm+_dcocode=dpL8<_hm+_dcocs<"dri lass=> 19             h=_WRITE="+code=res" es" clastrCSR+codsrst="sref">esp_sb4ct , unsi4ned longdeef">hoo2_n_Ho"4ref">45>esp-d211 hr2f="drives" clastrCSR+codsrst="sref">esp_sb4sp-&g4;prp<_hm+_dcocode=dpL85" c"+code=esp" class= | 19             h=_WRITE="+code=res" es" clastrCSR+codsrst="sref">esp_sb4" class="4ine" na2="sref">V2L)4IZEFL45n>);
com     ef="+code=r0es"cl>com     ef/asref">prp<_hm+_dcocode=dp" nam6s="lio2href>{20     esp_sb4c#L108" i4="L42" 2" name="L22">  54145IBURSTs= h2e - 129="drivers/scsi/sun_esi/sun_esp.c#L108" i_device *omarp = com     eefesc1=esp"rstrPEND= EAD+codsbvers/scsi/sun_esp4.c#L112" 4d="L43"2="sref">V2L)4IZEFL45>  93121a hr29="drivers/scsi/sun_essssssscsi/sun_esp.c#L11uef="+code=res" clu3="denref">espcom     ef/aaddef">prp<_hm+_dcoaddeprop +ode=res" clu3="dgetrcoun" class="sref">hgetrcoun"prop +o16Ures" clastrCSR+codsrst="sref">esp_sb4cp-&g4ned longlas1s="li2e" nam4="L5445sp_sbusbur2t=uct29="drivers/scsi/sun_esssssssssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/asnref">espprp<_hm+_dcoaddeprop" nam6s="lio2href>{20 OUNs          INT_ENAB= OUNsres"=es" clastrCSR+codsrst="sref">esp_sb4c#L114" i4="L45" 2clas1s="l2ne" na4e="L545  951 2     29="drivers/scsi/sun_esvers/scsi/sun_esp4"p-&g4ine" na2="+code=d2p" cla4s="sr45fmhz h2eef==2e="drivers/scsi/sunsssi/sun_esp.c#L11>com     ef="+code=res" cl>com     ef/aaddef">prp<_hm+_dcoaddeprop" nam6s="lio2hrefde=nADDsp.c#L117" iastrCSR=ADDsode=res" clastrCSR+codsrst="sref">esp_sb4" class="4ine" na2=eef">hoo2e" nam4="L5745span>);
espcom     ef/asssme="L85">  851<_device,rde=res" clu3="dcmref">espesp_sb4sburst=uc4 ehref=2cl="+code2op" cl4sd="s46v;of_n2Horivers/scsi/sun_esvers/scsi/sun_esp4.c#L100" 4d="L1002+code=esp2sbusfm4z"sre46n>);
V2ne" na4e="L646_DIFFERENT2s= hr25="drivers/scsi/sun_esp4sburst=uc4 ehref=2c name="L2_n_Ho"4ref">46          2   hr25="drivers/scsi/sun_es4sc#L112" 4 ehref=2c"sref">V2parss=4sref"46_DIFFERENT2s hr257"drivers/scsi/sun_esp.getrerroef">prp<_hm+_dco/sun_esp.getrerroeres" 102<> s02esp_sbus_map_regsget/prop=uct sbus_wriva=4.t , unsi4 ehref=2cas1s="li2ne" na4e="L646  541 2     25="drivers/scsi/sun_esp4sp-&g4;-f4squen46>  351213 hr2f="drivers/scsi/sun_esp.c#L11uef="+code=res" clu3="dsref">prp<_hm+_dcocode=dpL85" clas1s="line" name="L85">  851<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb4sp-&g4ned long=hme" cla2mhz"sr4f">re46>  961219 hr29="drivers/scsi/sun_es4sp-&g4;-f4squen46span>);
prp<_hm+_dcocode=dpLs" clastrCSR+cods>  911sbus_wriva=4. class="4ned long=las1s="l2ne" na4e="L646>  78121a hr27="drivers 1es" clastrCSR+codsrst="sref">esp_sb4sburst=uc4 ehref=2+code=of_2oremfm4z"sre47>regsf2hz hr27="drivers/scsi/sun_es4.c#L100" 4d="L1002las1s="li2e" nam4="L7047RSTs= href3a rivers s" cllim"dri "L1008rst="sref">esp_sb4.c#L100" 4d="L1002l"sref">V2ne" na4e="L747_DIFFERENT2s= hr25="drivers/scsi/sun_esp4c#L114" i4="L45" 2e=dma_of"2class=4sref"47          2   hr25="drivers/scsi/sun_es4sburst=uc4 ehref=2+"sref">V2e" nam4="L7347_DIFFERENT2sconst 102<> s02"1Ld="_r25="d_opc="+code=res" clu3="d/sun_esp.opclass="sref">"1L/sun_esp.opce=dpL85 2     25="drivers/scsi/sun_esp4sburst=uc4 ehref=2+as1s="li2_n_Ho"4ref">4ev;of_n2Ho.02;2=hr27="d hr2f="drivers//sun_esp."+co8i/sun_esp.c#L11/sun_esp."+co8res"");
-&g4="L42" 2ef="+code2op" cl4sd="s47fmhz h2ee.02hmap_singldres"_n2Ho=hr27="d hr2f="drivers//sun_esp.map_singld class="sref">h/sun_esp.map_singldres"");
-&g4="L45" 2eESP"2p" cla4a="sr478/a>fmhz h2ee.02hmap_sg  78121a =hr27="d hr2f="drivers//sun_esp.map_sg class="sref">h/sun_esp.map_sgres"");
hunmap_singld/a>fmhz=hr27="d hr2f="drivers//sun_esp.unmap_singld class="sref">h/sun_esp.unmap_singldres"");
hoo2_n_Ho"4ref">480/a>fmhz h2ee.02hunmap_sg/a>fmhz h2e=hr27="d hr2f="drivers//sun_esp.unmap_sg class="sref">h/sun_esp.unmap_sg/a>f");
fmhz h2ee.02hirq_pendivi/a>fmhz =hr27="d hr2f="drivers//sun_esp.irq_pendivirclass="sref">h/sun_esp.irq_pendivi/a>f");
);
hreset.gethost;2=hr27="d hr2f="drivers//sun_esp."+set.getrclass="sref">h/sun_esp."+set.get/a>f");
sbus4wriva=uct e2==.02;2=hr27="d hr2f="drivers//sun_esp.getrerain  V2p" cla4a="sr484iva=uct e2==.02;
esp;2=hr27="d hr2f="drivers//sun_esp.send.getrcmref">esphost;2prp<_hm+_dcogetrerroeres";2=hr27="d hr2f="drivers//sun_esp.getrerroef">prp<_hm+_dco/sun_esp.getrerroeres"");
-&g4 ehref=2tf="+code2="sref4>sbus48f}" cllim"dri "L1008rst="sref">esp_sb4s#L114" i4d="L1172 "+code=e2p" cla4a="sr48span>);
;
)4IZEFL45n>);
;2=hr27="d htform_devic/a>)4IZEFL45n>);d htform_devic/egsget/prop=uct sbusop3esp4sp-&g4 ehref=2tf="+code2="sref4sbusb3rst4uct ef=20xff 2|="drivers4scsi/4unsssi/sun_esp.c#L11>ccccccccccccccc/scinres";2=hr27="d htform_devic/a>)4IZEFL45n>);d htform_devic/egsget/prop=uct ;
;2=hr27="me="Lsref_temd htdatdres"");
V2L)4readC3_IB4RSTs= h2e - 129="dhre27=4drive4s/scsiref">eTh/scinres";2=hr27="Se="LH+code=dvmarev2ss="Se="LH+coegsget/prop=uct es4" class="4ine" na2="sref">V2L)4r="sr484iv93hre27="drivers/scsiref4ddddd494scsiref">eTh/scinres";2=hr27=""sref">esp_sbus_map_regsget/prop=uct sbus_wriva=4" class="4ine" na2="sref">V2L)4r="L848vespodev;
V2L)4ramss48>ho51 2     29="drivers4scsi/4unsssi" class="4ine" na2="sref">V2L)4rsbus48fmhz h2eerdriverstrPEND4 EAD+49p."+cod8i/sun_esp.c#L11/sun_"+code=dvmarev2ss="sref">es<>comatadef="+codere="Lsref_allocatdres"");
esp_sbus_map_regsgp<4.c#L112" 4ned long="+code=d2v" cla4sref"3esp4/a>, in2cimrss="srefes" cENOMEMs"");
V2L)5ref">40>r5gsf2hz hr27="drivers5scsi/50nsssi/sun_esp" ican_do"> 102ef="+"+code=dvmarev2ss="sref">es.sburst=uc3 ehref=2cl="+code2op" cl5sCE_I4URS5s= href3a hre30="d hr25=5drive5s/_esn_esp.c#L117" iligotoimrss="srefes" cfai2href>{20     V2L)5r2E_I4URS5sTs= hr2fef==29="drivers5 cl>c50n_es3.c#L112" 3d="L1122URSTs="sr2f">dma5readC4_IB5RSTs= h3a hre30="drivers5scsn_5sssssssssssssin_do"> 102ef="+"+code=dvmarev2ss="sref">esf">omarp = cstrCSR="+code=relim"dri "sburbvers/su3esp ? 16 : 8<4.c#L112" 4ned long="+code=d2v" cla5=30234>  531#2nclud22="drivers5scsi/5def hr25="drivs";2=hr27=""sref">esp_sbus_map_regsge>comatadef="+codersref_ped atdres"");
es.4.c#L112" 4ned long="+code=d2v" cla5=50234>  53bhre27="drivers/scsiref5diver50n_es4.c#L112" 4="L45" 2ef="+code2op" cl5s30ss4an>5;
omarp = es<>comatadef="+code"+code=dvmarev2ss="sref">es4" class="4ine" na2="sref">V2L)5=30re4sfmhz h2eef==29="ddddddd5d>, i50p."+cod8i/sun_esp.c#L11/sun_ref="+code=op" class="sref">omarp = con_esp.c#L11/sun_o="+codsref">sbusop3esp4" class="4ine" na2="sref">V2L)5=80re4sa>, in2omarp =  2     25="dsi/sun_esp   2     25="drivers/scsi/sun_4" class="4ine" na2="sref">V2L)5=90re4s1 2     29="d hr2575a hr250/sun3sburst=uc3 ehref=2strst="sr2f">esp5sref"41>r5gsf2hz hr27="drivers5scsi/51nsssi/sun_esp" ic;
omarp =  2     25="dflag<_esp.     h=_WRITE="+co="srFLAG_WIDE_CAP" clastrCSR+codsrst="srFLAG_WIDE_CAP" clsun_4" class="4ine" na2="sref">V2L)5="L1141n>5;
dma5e="L141IB5RSTs= h3a hre30="drivers5scsi/51ssssssssssssin_do"> 102ef="+pres"");
c;
f");
espcom5    e5/a>{20      *  5a>;of_n2Ho hr2f="drivers5scsi/5un_esme="L85">  851<>cgotoimrss="srefes" cfai2_unhr2rint /a>{20     fai2_unhr2rsun_4" class="4ine" na2="sref">V2L)5=30ss4an>5ev;2V2L)5s="sr41v<5a>;of_n2Ho hr2f="dridriv5rs/sc51p."+cod8i/sun_esp.c#L11/sun_rres"");
c;
 2     25="dp.ssun_prcsi/regespV2L)5=80re4s);
 *213 hr2f="drivers5scsi/51astrCSR+codsrst="srefgotoimrss="srefes" cfai2_unhr2rint /a>{20     fai2_unhr2rsun_4" class="4ine" na2="sref">V2L)5="sre42v<5a>;of_n2Ho hr28="dcom     ef="+codrres"");
c;
espV2L)5e="L2422p5sbusbur2t=rivers/scsn_es5acsi/5un_esp.c#L11ue h_device * 2     25="dfai2_uncsi/regV2L)5=="sr41  531#2ncde=res" clu3="5BUG_O52n_es3.c#L117" 3d="L84"2clas1s="l2ne" na5s="sr42>e5p-d211 hr2f="drivers5scsi/525_esp.c#L11>com     ef="+codrres"");
c;
 2     25="dp.ssun_prregisterversf="astrCSR="+code=reclu3="dcmref">espV2L)5e30ss4an>5351213 hr2f="drivers5/sun_52n_esp.c#L108" i_device *cgotoimrss="srefes" cfai2_uncsi/n veand_bss="/a> 2     25="dfai2_uncsi/n veand_bss="sun_4" class="4ine" na2="sref">V2L)5=80re4s);
 578121a hr27="d hr2f=5drive52p.c#L117" ilimrss="srefes" cp.ssun_prgef_pecode=res" clu3="d/sun_un_prgef_pecodf="astrCSR="+code=reclu3="dcmref">esp;of_n2Ho hr28="drivers5scsn_53n_es4.c#L100" 4d="L1002las1s="li2e" nam51/9re43n>5;
coessary /* P= hr2havivi/aBefore we t a knotouchparss="s chip,s="C1 t/a canun_esp4scsi/3duc4 ehref=2slas1s="l2st3 na5e="L343n>5;
#2nclud22="dcl>com5    e53ddddddddd* eng1s= lock up on us. a ki/sun_es3sburst=uc3 ehref=2las1s="li2e" nam51/9re43> 5841218 hr28="drivers5scsi/5un/ref">prp<_h i_device *omarp = com     eefesc1=esp"rstrPEND= EAD+codsbvers/scsi/sun_esp4.c#L112" 4d="L43"2="sref">V2L)5e="L343>h5st;2esp_sb<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb4sp-&g4ned long=hme" cla2mhz"sr5ref">43fmhz h2eef==29="d hr28=5drive53n_es4sp-&g4;-f5ator-43sp5/a>, in2espomatadef="+code=ress" cl>com     ef/a>{20     esp_sb3sburst=uc3 ehref=2t"sref">V2p" cla5e="L343> 578121a hr27="d hr28=5drive5s/scsi/sun/ref4c#L114" i4="L45" 2e=dma_of"2class=51/9re4">e5p-d211 hr2f="d" clas5s="li54n_es4.c#L100" 4d="L1002las1s="li2e" nam5ref">44n>5;
com     ef="+coddev_scsi/rvdata>f");
sbusop3espf">omarp = _device *V2p" cla5ef">e44n>5;
dma5="L4244IB5RSTs= h3a hre30="drivers5scsi/54ssssssssssssin_do"> 102ef="+pres"");
c;
espsbusop3espf">omarp = b3sburst=uc3 ehref=2t"sref">V2p" cla5esbus43  531 27clud27="drivers5scsi/54a>{20      *  851<>cgotoimrss="srefes" cfai2_freevers/a> 2     25="dfai2_freeverssun_4" class="4ine" na2="sref">V2L)5="L4544>h5st;2V2L)5s="sr44fmhz h2eef==2e="drivers5scsi/5un/ref">prp<_h">esp_sb4.c#L100" 4d="L1002l"sref">V2ne" na5sd="s44">5bus_wri2a=uct288"drivers5scsi/543esp4ct , unsi4ned longclass=="l2ne" na5e="L444> 578121a hr27="d hr28=5drive5s/scsimrss="srefes" cfai2_freevers/a> 2     25="dfai2_freeverssun_:ct , unsi4ned longclass=="l2ne" na5ref">45>e5p-d211 hr2f="drives"5clast5CSR+codsrst="smrss="srefes" cfreevers/a> 2     25="dfreeverssun_strCSR="+code=re"+code=dvmarev2ss="sref">esf">omarp =  2     25="derssun__device *V2p" cla5"sref45RS5s= href2f==0 2|="drivers5scsi/5un_esimrss="srefes" cfai2_uncsi/n veand_bss="/a> 2     25="dfai2_uncsi/n veand_bss="sun_:ct , unsi4ned longclass=="l2ne" na5rf">e44n>5;
sbusop3espf">omarp = _d164sp-&g4 ehref=2tf="+code2="sref5145IB5RSTs= h2e - 129="drivers5scsi/5un_esi/sun_esp.c#L108""sref">espomatadef="+coderef="+code=op" class="sref">omarp = omarp = V2p" cla5"="sr44> 5sbusbur2t=uct29="drivers5scsi/5un_essmrss="srefes" cfai2_uncsi/reg 2     25="dfai2_uncsi/regh551 2     29="drivers5scsi/55n_esp.c#L11uef="+code=res" cof_iouncsi"+codsref">sbusof_iouncsif="5"  sbusop3espf">omarp = )4IZEFL45n>);resourc/3esp[strCSR="+code=relim"dri "sburbvers/su3esp ? 1 : 0)]_device *h 1       2     25="dreg *V2p" cla5"="sr44fmhz h2eef==2e="drivers5scsi/5unsssimrss="srefes" cfai2_unhr2rint /a>{20     fai2_unhr2rsun_:ct , unsi4ned longclass=="l2ne" na5rd="s44">5n>);
esb3sburst=uc3 ehref=2t"sref">V2p" cla5"="L444> 578121a hr27="d hr2f=5drive55/scsimrss="srefes" cfai2int /a>{20     fai2sun_:ct , unsi4ned longclass=="l2ne" na5sd="s46v<5a>;of_n2Horivers/scsi/su5_esve5s/scsi/sun_esp">esp_sevice *V2p" cla5z"sre46n>5;
dma5ref">46  5       2   hr25="drivers5scsi/5un_es4probe_oodev;
;2=hr27="d htform_devic/a>)4IZEFL45n>);d htform_devic/egsget/prop=uct sbusop3espL.c#L112" 4ned long="+code=d2v" cla5sref"46_D5FFERENT2s hr257"drivers/5csi/s5n_esp.4.c#L112" 4d="L43"2="sref">V2L)5e="L646  541 2     25="drivers5scsi/56n_esme="L85">/scinres";2=hr27="devic/_n27=arp<"driv!refescc#ic/_n27=egsget/prop=uct c;
V2p" cla5z"L4544>h5351213 hr2f="drivers5scsi/5un_esp.c#L11ue/scinres";2=hr27="devic/_n27=arp<"driv!refescc#ic/_n27=egsget/prop=uct sbusdregsge>comatadef="+codeo="+codsref">sbusop3espf">omarp = +_dcogetrerroereof_n27=arp<"driv!refesof_n27=iva=3sburst=uc3 ehref=2t"sref">V2p" cla5z="sr44219 hr29="drivers5scsi/567_esp.c#L11ue/scinres";2=hr27="d htform_devic/a>)4IZEFL45n>);d htform_devic/egsget/prop=uct c;
V2p" cla5zd="s44">5n>);
prp<_hm+_dcdev;
cb4.c#L100" 4d="L1002l"sref">V2ne" na5e="L646> 578121a hr27="drivers51es" 56/sun3sburst=uc3 ehref=2strst="sr2f">esp5z"sre47>r5gsf2hz hr27="drivers5scsi/57nsssi/sun_esp" ic;
sbusdregsgf">prp<_hm+_dcocsesp5z"sre46n>5s= href3a rivers s" clli5"dri 57/_esp.c#L108" id=can_do"> 102ef="+/sccm="+codsref">sbus/sccm=sun_strCSR="+code=reo="+codsref">sbusdregsgf">prp<_hm+_dcocsprp<_hm+_dcocs-d>)
;d: astrPEND= cds          a h) ||sburst=uc3 ehref=2strst="sr2f">esp5z="L646_D5FFERENT2s= hr25="drivers5scsi/57n_esi/sun_esp.c#L1an_do"> 102ef="+/sccm="+codsref">sbus/sccm=sun_strCSR="+code=reo="+codsref">sbusdregsgf">prp<_hm+_dcocsprp<_hm+_dcocs-d>)
;d: astrPENcds          a h))L.c#L112" 4ned long="+code=d2v" cla5sref"47  5       2   hr25="drivers5scsi/57n_esi/sun_esp.c#L11>com     ef="+code=r0n27=arp<"driv!refescdsrn27=iva=<>c;
sbusdregsgf">prp<_hm+_dcocsesp5zref"46_D5FFERENT2sconst 102<> s025/pgt 57n_essssssscsin_esp" ican_do"> 102ef="+/sccm="+codsref">sbus/sccm=sun_strCSR="+code=reo="+codsref">sbusdregsgf">prp<_hm+_dcocs-d>)
;d: astrPENSUNW,fas          a h))p4.c#L112" 4d="L43"2="sref">V2L)5ref">4ev<5a>;of_n2Ho.02  851<>com     ef="+code=r0n27=arp<"driv!refescdsrn27=iva=<>c;
sbusop3espf">omarp = +_dcogetrerroereof_n27=arp<"driv!refesof_n27=iva=3sburst=uc3 ehref=2t"sref">V2p" cla5s="sr47>h5st;2cb4sburst=uc4 ehref=2+code=of_2oremfm5sd="s47fmhz h2ee.02fmhz h2ee.02 *espc;
480/5>fmhz h2ee.02 102ef="+cdsrofarp<"driv!refescdsrofiva=L.c#L112" 4ned long="+code=d2v" cla5&amss481/5>fmhz h2ee.02esp_simrss="srefes" cENODEefes" cllim"dripENODEeiva=3sburst=uc3 ehref=2t"sref">V2p" cla5&amss4an>5;
dma5>sbus4wri5a=uct e2==.02;
sbusop3esp_device *V2L)5a="sr484i5a=uct e2==.02;of_n2Ho.02h5st;2;
)4IZEFL45n>);
;2=hr27="d htform_devic/a>)4IZEFL45n>);d htform_devic/egsget/prop=uct sbusop3espL.c#L112" 4ned long="+code=d2v" cla5>sbus48f}" cllim"dri "L1008rst5"sref5>esp_s4.c#L112" 4d="L43"2="sref">V2L)5a="sr48sp5n>);
;2=hr27=""sref">esp_sbus_map_regsget/prop=uct sbus_wriva=<>c;
f");
sbusop3espf">omarp = .4" class="4ine" na2="sref">V2L)5a="L646> 538121 hr257"drivers/5csies589           a/scinres";2=hr27="d htform_devic/a>)4IZEFL45n>);d htform_devic/egsget/prop=uct c;
omarp = V2p" cla5sbusb3rst5uct ef=20xff 2|="drivers5scsi/5unsssi/sun_espunsignedoodev;
 2     25="derssun_<>c;
omarp = esf">omarp =  2     25="derssun_3sburst=uc3 ehref=2t"sref">V2p" cla5samss481/5s= href2f==0 2|="drivers5scsi/59n_esp.c#L11>com     ef="+codboo2int /a>{20     boo2_esp.arp = V2p" cla5samss4an>5STs= hr2fef==29="drivers5scsi/59n_esi/sun_espomatadef="+codelu3="drivi/sun_esp.c#L11esp_sb3sburst=uc3 ehref=2t"sref">V2p" cla5ssbus4wri5RSTs= h2e - 129="dhre27=5drive59n_es4sburst=uc4 ehref=2+"sref">V2e" nam5r="sr484i593hre27="drivers/scsiref5ddddd59ef hr25="drivs";2=hr27="re="Les" unregisteratdres"");
;
V2p" cla5r="L848v<5sbhre27="drivers/scsiref5ddddd59n_es4.c#L112" 4="L45" 2ef="+code2op" cl5ramss48>h551 2     29="drivers5scsi/59n_esp.c#L11uefessary /* P= hr2havivi/aDisableoodeerrupts. ki/sun_es3sburst=uc3 ehref=2las1s="li2e" nam5rsbus48fmhz h2eerdriverstrPEND5 EAD+59p."+cod8i/sun_esp.c#L11/sun_p" clastrst="sref">esp_sb<>comatadef="+code=res" cl>comatadef/a>{20     esp_sb4sp-&g4ned long=hme" cla2mhz"sr5sref"3esp5/a>, in2com     ef/a>{20     trCSR+codsrst="srefINTref">iva=cmrres"=es" clasts" clastrCSR+codsrst="sref">esp_sb4sp-&g4ned long=hme" cla2mhz"sr5s="L646> 581 2     29="d hr2575drive59/sun3sburst=uc3 ehref=2strst="sr2f">esp6ref">40>r6gsf2hz hr27="drivers6scsi/60SR+codsrst="smrss="srefes" cfreevers/a> 2     25="dfreeverssun_strCSR="+code=reers/a> 2     25="derssun__device *V2p" cla6sCE_I4URS6s= href3a hre30="d hr25=6drive60n_es4sburst=uc4 ehref=2c"sref">V2ne" na6r2E_I4URS6sTs= hr2fef==29="drivers6 cl>c60n_esi/sun_espomatadef="+codees_lim"dri "sburbverses_limsun_<>cstrCSR="+code=reref="+code=op" class="sref">omarp = com     eefesc1=esp"rstlim"dri "sburbvers"rstlim"sreb3sburst=uc3 ehref=2t"sref">V2p" cla6s3E_I4URS6sSTs= h2e - 129="dhre27=6scsn_60n_es4sburst=uc4 ehref=2+"sref">V2e" nam6=30234>  631#2nclud22="drivers6scsi/6def hr25="drivs";2=hr27="=resfreevcohereUres" clastrCSR+codsrfreevcohereUrf="5"  sbusop3espf">omarp = _d164sp-&g4 ehref=2tf="+code2="sref6=50234>  63bhre27="drivers/scsiref6diver60n_esssssssssi/sun_esp.c#L11>cspomatadef="+coderef="+code=op" class="sref">omarp = omarp = V2p" cla6=30re4sfmhz h2eef==29="ddddddd6d>, i60p."+cod8i/sun_esp.c#L11/sun_of_iouncsi"+codsref">sbusof_iouncsif="5"  sbusop3espf">omarp = )4IZEFL45n>);resourc/3esp[strCSR="+code=rees_lim"dri "sburbverses_limsun_ *h 1       2     25="dregV2p" cla6=80re4sa>, in2espsun_esp.c#L11/sun_SBUS_="srREG_SIZlastrCSR+codsrstSBUS_="srREG_SIZl"sreb3sburst=uc3 ehref=2t"sref">V2p" cla6=90re4s1 2     29="d hr2576a hr260p.c#L117" ilimrss="srefes" cof_iouncsi"+codsref">sbusof_iouncsif="5"  omarp = )4IZEFL45n>);resourc/3esp[0]_device *h 1       2     25="d    V2p" cla6sref"41>r6gsf2hz hr27="drivers6scsi/61nsssi/sun_espref">espsun_esp.c#L11/sun_resourc/_sizea>)4IZEFL45n>);resourc/_sizef="5"  omarp = )4IZEFL45n>);resourc/3esp[0]p<4.c#L112" 4ned long="+code=d2v" cla6     41RS6s= href3a hre30="d hr25=6drive61n_es4sburst=uc4 ehref=2c"sref">V2ne" na6="L1141n>6;
omarp = es<4.c#L112" 4ned long="+code=d2v" cla6 3E_I4URS6RSTs= h3a hre30="drivers6scsi/61n_es4sburst=uc4 ehref=2+"sref">V2e" nam6s="sr41  631#2nclud22="dcl>com6    e61ef hr25="drivs";2=hr27="=ev_scsi/rvdata>f");
sbusop3espf">omarp = _device *  6a>;of_n2Ho hr2f="drivers6scsi/61n_es4.c#L112" 4="L45" 2ef="+code2op" cl6=30ss4an>6ev;2esp_sb4.c#L100" 4d="L1002l"sref">V2ne" na6s="sr41v<6a>;of_n2Ho hr2f="dridriv6rs/sc61p."+c4c#L114" i4="L45" 2e=dma_of"2class=6=80re4s);
213 hr2f="drivers6scsi/61ssun_probe_o="d_opclass="sref">"1Ld="_r2of_sc#ic/_uniquecla1mq)
&q2iduct24="drivers6scsi/62/_esp.c#L108" id="L5"+_dcogetrerroeres" ces" clastrCSR+cs" csun_<>co"= hr -d>)
;d: astrPENSUNW,2_n          a h_sburst=uc3 ehref=2t"sref">V2p" cla6e="L2422p6sbusbur2t=rivers/scsn_es6acsi/6un_esp.c#L11ue}_sburst=uc3 ehref=2t"sref">V2p" cla6e3E_I4URS6       2   hr25="drivers6scsi/62n_esi/sun_esp4sburst=uc4 ehref=2+as1s="li2_n_Ho"6=="sr41  631#2ncde=res" clu3="6BUG_O62n_essssssscsi/sun_esp+_dcogetrerroeres" ces" clastrCSR+cs" csun_<>co"= hr -d>)
;d: astrPENSUNW,fas          a h_sburst=uc3 ehref=2t"sref">V2p" cla6e50234>  6p-d211 hr2f="drivers6scsi/625_esp.c#L11>c}_sburst=uc3 ehref=2t"sref">V2p" cla6e30ss4an>6351213 hr2f="drivers6/sun_62n_esp.c#L108"4sburst=uc4 ehref=2+as1s="li2_n_Ho"6=="sr41v<6>fmhz h2ee hr2f="drivers6/sun_62nsssi/sun_esp.c#L11>c+_dcogetrerroeres" ces" clastrCSR+cs" csun_<>co"= hr -d>)
;d: astrPEN2_n          a h_sburst=uc3 ehref=2t"sref">V2p" cla6e80re4s);
c}_sburst=uc3 ehref=2t"sref">V2p" cla6e90re4s21a hr27="d hr2f=6drive62p.c#L117" ili{}_sburst=uc3 ehref=2t"sref">V2p" cla6_sbus43v<6a>;of_n2Ho hr28="drivers6scsn_63n_es4b4s#L114" i4d="L1172 "+code=e2p" cla61/9re43n>6;
;
)4IZEFL45n>);
dma6eref"42  6       2   hr25="drivers6scsi/63n_es4probe_o/scinres";2=hr27="d htform_d="L11a>)4IZEFL45n>);d htform_d="L11L11)4IZEFL45n>);es/shr2=0d="L11sun_<>c4sburst=uc4 ehref=2+as1s="li2_n_Ho"6_sbus43  631#2nclud22="dcl>com6    e63validatdev;
)4IZEFL45n>);d="L11sun_<>c4sburst=uc4 ehref=2+as1s="li2_n_Ho"6_50234>  6841218 hr28="drivers6scsi/63n_esssssssssi/sun_esp+_dcogetrerroeres" ces" clastrCSR+cs" csun_<>co"= hr -d>)
;d: astrPEN2_n          a h_sburst=uc3 ehref=2t"sref">V2p" cla6e="L343>h6st;2)4IZEFL45n>);THIS_MODULEsun__sburst=uc3 ehref=2t"sref">V2p" cla6ref">43fmhz h2eef==29="d hr28=6drive63nsssi/sun_esp.c#L11>c+_dcogetrerroereof_cstch_tableiquecla1mq)
c;
)4IZEFL45n>);
V2p" cla6r80re4s, in2c}_sburst=uc3 ehref=2t"sref">V2p" cla6e="L343> 678121a hr27="d hr28=6drive63singld class="sref">hunmap_siobe_oe=res" clu3="d/obe_osun_sp.c#L11>c>c;
V2p" cla61/9re4">e6p-d211 hr2f="d" clas6s="li64sg class="sref">hunmap_sg/a>fremov/a>)4IZEFL45n>);remov/sun_p.c#L11>c>c;
)4IZEFL45n>);
V2p" cla61/9re43n>6;
e44n>6;
dma6="L4244IB6RSTs= h3a hre30="drivers6scsi/64n_es4probe_oodev;
 27clud27="drivers6scsi/64_esp.4.c#L112" 4d="L43"2="sref">V2L)6s="sr44> 6841218rdriverstrPEND6 EAD+64n_esme="L85">">esp_sevice *)4IZEFL45n>);es/shr2=0d="L11sun_<4.c#L112" 4ned long="+code=d2v" cla6="L4544>h6st;2fmhz h2eef==2e="drivers6scsi/64n_es4sp-&g4;-f6sd="s44">6bus_wri2a=uct288"drivers6scsi/643esp4probe_ovoidv;
V2L)6ref">45>e6p-d211 hr2f="drives"6clast6CSR+codsrst="smrss="srefes" cd htform_d="L11 unregisteratdres"");
)4IZEFL45n>);es/shr2=0d="L11sun_<4.c#L112" 4ned long="+code=d2v" cla6"sref45RS6s= href2f==0 2|="drivers6scsi/65n_es44c#L114" i4="L45" 2e=dma_of"2class=6rf">e44n>6;
dma6145IB6RSTs= h2e - 129="drivers6scsi/6un_esimrss="srefes" cMODULE_DESCRIPTIONastrCSR+codsrstMODULE_DESCRIPTIONivers<"= hr -d>)
;d: astrPENSuns="s #L11 d="L11          a h)4.c#L112" 4ned long="+code=d2v" cla6"sbus43  693121a hr29="drivers6scsi/6un_essmrss="srefes" cMODULE_AUTHOstrCSR+codsrst="MODULE_AUTHOsivers<"= hr -d>)
;d: astrPENDavidvS. Miller (davem@davemloft.net)          a h)4.c#L112" 4ned long="+code=d2v" cla6"="sr44> 6sbusbur2t=uct29="drivers6scsi/6un_essmrss="srefes" cMODULE_LICENSlastrCSR+codsrstMODULE_LICENSlivers<"= hr -d>)
;d: astrPENGPL          a h)4.c#L112" 4ned long="+code=d2v" cla6""L4544>h651 2     29="drivers6scsi/65n_espmrss="srefes" cMODULE_VERSIONastrCSR+codsrstMODULE_VERSIONivers;
-&g4;-f6rd="s44">6n>);
;
;
;
LXR n veunioyiva=cmthis experi2haval  lonion bypc#L112" 4mailto:lxr@iveux.no">lxr@iveux.noiva=.
lxr.iveux.no kindly srefed bypc#L112" 4http://www.redpill-ivepro.no">Redpill Lvepro ASiva=cmprovider of Lveuxo="d_ult;d: and operobe"d_ ser#ic/_ since 1995.