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 <cla32/irq" id="L16" class="line" name="L16">  16nclude &1lt;linux/derm/irq.h|include/asm-avr32orq.h|include/asm-blaorq.h|include/asme/asm-orq.h|include/ase/asm-frv/orq.h|include/as-generorq.h|include/asasm-horq.h|include/ase/asm-i38orq.h|include/assm-ia64orq.h|include/asm-m32rorq.h|include/asm-m68korq.h|include/asm-m68korq.h|include/asme/asmorq.h|include/asme/a
  
  cla32orq" id="L16" class="line" name="L16">  16nclude &1lt;linux/mrm/irq.h|include/asm-avr3sunrq.h|include/asm-blsunrq.h|include/asme/asmsunrq.h|include/ase/asm-frvsunrq.h|include/as-genesunrq.h|include/asasm-sunrq.h|include/ase/asm-i3sunrq.h|include/assm-ia6sunrq.h|include/asm-m32sunrq.h|include/asm-m68sunrq.h|include/asm-m68sunrq.h|include/asme/assunrq.h|include/asme/a
  
  sunrq.h|include/asm 
  sunrq.h|include/asm 
 m68sunrq.h|include/ass="linesunrq.h|include/assue="v2.sunrq.h|include/assv2.sunrq.h|include/ass39a6sunrq.h|include/assh6sunrq.h|include/asshm68sunrq.h|include/asscsi/dsunrq.h|include/asscsi/m68sunrq.h|include/asublsunrq.h|include/asv85a6sunrq.h|include/asxm32sunrq.h|include/asxm3_3cdsunrq.h|include/asx333sr3sunrqdrivers/sclxr">cla3sunrq" id="L16" class="line" name="L16">  16  17linux/init.h&me="L1e="_hosef="drivers/scsi/sme="L1e="_hosef=" id="L16" class="line" name="L16">  16 *
  17linux/iniline" name="L  1_me="f="drivers/scsi/s  1_me="f=" id=quo">7" class="line" name="L17">  17  1717">  1"quo">ld="L2" class="line" name="L2">   2: "quo">ld="L2" class="line" name="L2">   2
	  0"quo">ld="L2" class="line" name="L2">   2Augusta27ld="L2" class="line" name="L2">   2  17  17  17 *
<3ux/dm32h" clde-fre.c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=VALdiv id="cocsi/sVALh" c,.c"
	     ocode=REGdiv id="cocsi/sREGh" c) \7" class="line" name="L17">  17 * Copyrightux/of33h" c        c"
	     ocode=sbus_writeldiv id="cocsi/ssbus_writelh" c((c"
	     ocode=VALdiv id="cocsi/sVALh" c),.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sun_regsdiv id="cocsi/ssun_regsh" c + (c"
	     ocode=REGdiv id="cocsi/sREGh" c))7" class="line" name="L17">  17  17   5
<3
   5
<3#include3<   5
<3nclude &3lt;   5
<3nclude &3lt;   5
<4#include4<   5
<4#include4<   5
<4pan clas4s="comment"> *
<4ux/dm42h" c        c"
	     ocode=svunrevplusdiv id="cocsi/ssvunrevplush" c, class="line" name="L5">   5
<4pan clas4s="comment"> * Copyrigh4ux/of43h" c        c"
	     ocode=svunhmediv id="cocsi/ssvunhme="L17" class="line" name="L17">  17 */
  17   6#i4
 int c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_mbus_setup_sundiv id="cocsi/s  1_mbus_setup_sunh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, class="line" name="L5">   5
<4#include4<
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=sun_ofdiv id="cocsi/ssun_ofh" c) class="line" name="L5">   5
<4nclude &4lt;   5
<4nclude &4lt;7" class="line" name="L17">  17  17   5
<5pan clas5s="comment"> *
<5ux/dm52h" c                                   c"
	     ocode=resour#L_sizLdiv id="cocsi/sresour#L_sizLh" c(&1c"
	     ocode=sun_ofdiv id="cocsi/ssun_ofh" c-="L1c"
	     ocode=resour#Ldiv id="cocsi/sresour#Lh" c[0]), class="line" name="L5">   5
<5pan clas5s="comment"> * Copyrigh5ux/of53h" c                                   cvers/scsi/sustrc#L"d=quo">5ld="L2")>7" class="line" name="L17">  17 */
5ux/of54h" c        if (!c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sun_regsdiv id="cocsi/ssun_regsh" c) class="line" name="L5">   5
<5a href="ddrivers/scsi/sun_esp.c#Lux/gf55h" c                ajax_lo-c"
	     ocode=ENOMEMdiv id="cocsi/sENOMEMh" c>7" class="line" name="L17">  17  17   5
<5nclude &5lt;   5
<5nclude &5lt;7" class="line" name="L17">  177" class="line" name="L17">  17   5
<6pan clas6s="comment"> *
<6ux/dm62h" c                c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sunrevdiv id="cocsi/ssunrevh" c =.c"
	     ocode=svunesc1div id="cocsi/ssvunesc1h" c>7" class="line" name="L17">  17 * Copyrigh6ux/of63h" c                break>7" class="line" name="L17">  17 */
6ux/of64h" c        case.c"
	     ocode=DMA_VERS1div id="cocsi/sDMA_VERS1h" c: class="line" name="L5">   5
<6a href="6drivers/scsi/sun_esp.c#6ux/gf65h" c                c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sunrevdiv id="cocsi/ssunrevh" c =.c"
	     ocode=svunrev1div id="cocsi/ssvunrev1h" c>7" class="line" name="L17">  177" class="line" name="L17">  17   5
<6nclude &6lt;7" class="line" name="L17">  177" class="line" name="L17">  17   5
<7#include7<7" class="line" name="L17">  17 *
<7ux/dm72h" c                break>7" class="line" name="L17">  17 * Copyrigh7ux/of73h" c        case.c"
	     ocode=DMA_VERSPLUSdiv id="cocsi/sDMA_VERSPLUSh" c: class="line" name="L5">   5
<7pan clas7s="comment"> */
7ux/of74h" c                c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sunrevdiv id="cocsi/ssunrevh" c =.c"
	     ocode=svunrevplusdiv id="cocsi/ssvunrevplush" c>7" class="line" name="L17">  177" class="line" name="L17">  17  17  177" class="line" name="L17">  17  17  17  17 *
<8ux/dm82h" c/span> int c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_mbus_map_regsdiv id="cocsi/s  1_mbus_map_regsh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, int c"
	     ocode=hmediv id="cocsi/shme="L1) class="line" name="L5">   5
<8pan clas8s="comment"> * Copyrigh8ux/of83h" c{ class="line" name="L5">   5
<8pan clas8s="comment"> */
8ux/of84h" c        struct c"
	     ocode=platv>
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#ina href="8drivers/scsi/sun_esp.c#8ux/gf85h" c        struct c"
	     ocode=resour#Ldiv id="cocsi/sresour#Lh" c *c"
	     ocode=resdiv id="cocsi/sresh" c" class="line" name="L8">   8#innclude &8lt;  17   5
<8nclude &llt;   2   5
<9#include9<   5
<9#include9<   9#inpan clas9s="comment"> *
<9ux/dm92h" c        else class="line" name="L9">   9#inpan clas9s="comment"> * Copyrigh9ux/of93h" c                c"
	     ocode=resdiv id="cocsi/sresh" c =.&1c"
	     ocode=o1div id="cocsi/soph" c-="L1c"
	     ocode=resour#Ldiv id="cocsi/sresour#Lh" c[0]" class="line" name="L9">   9#inpan clas9s="comment"> */
9ux/of94="L17" class="line" name="L17">  17
ld="L2")>7" class="line" name="L17">  17   5
<9nclude &9lt;7" class="line" name="L17">  17  177" class="line" name="L17">  17  17  17 int c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_mbus_map_rc Sand_blockdiv id="cocsi/s  1_mbus_map_rc Sand_blockh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L5">   5
<10#include 0<   5
<10#include 0<
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i10#include 0<   6#i10
   5
<10#include 0<   5
<10nclude &10lt;   8#i10nclude &10lt;   5
<1>#include  <7" class="line" name="L17">  17#include &<7" class="line" name="L17">  17#include  <  17#include  <  17#include  <   5
<1>#include  <   5
<1>
7" class="line" name="L17">  17#include  <
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i1>nclude &11lt;  17nclude &11lt;   9#i12#include12<
ld="L2",.c"
	     ocode=  1div id="cocsi/s  1h" c)" class="line" name="L8">   8#i12#include12<  17  17 void c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_get_me="_iddiv id="cocsi/s  1_get_me="_idh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, struct c"
	     ocode=platv>
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=e   5
<12#include12<   5
<12#include12<
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i1p
   8#i1p#include 2<  17   8#i1pnclude &12lt;cnitiator-id"quo">ld="L2",.0xff)" class="line" name="L8">   8#i13#include13<   8#i13#include13<   8#i13pan clas13s="comment"> *
<13ux/d132="L17" class="line" name="L17">  17 * Copyrigh1tux/o133h" c        c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=me="_iddiv id="cocsi/sme="_idh" c =.c"
	     ocode=of_getintpropespfaultdiv id="cocsi/sof_getintpropespfaulth" c(c"
	     ocode=s1div id="cocsi/sdph" c, cvers/scsi/sustrc#L"d=quo">me="-cnitiator-id"quo">ld="L2",.0xff)" class="line" name="L8">   8#i13#include13<   8#i13#include13<   8#i13
  173#include13<   5
<13nclude &13lt;me="-cnitiator-id"quo">ld="L2",.7)" class="line" name="L8">   8#i13nclude &13lt;  17   5
<14#include14<  14#pan clas14s="comment"> *
<14ux/d142h" c        c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=me="_id_maskdiv id="cocsi/sme="_id_maskh" c =.(1ref">ef">.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=me="_iddiv id="cocsi/sme="_idh" c)" class="line" name="L8">   8#i14pan clas14s="comment"> * Copyrigh14ux/o143h" c}7" class="line" name="L17">  17 */
1  17 void c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_get_differBUSialdiv id="cocsi/s  1_get_differBUSialh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L5">   5
<14
   5
<14#include14<
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i14nclude &14lt;   8#i14nclude &14lt;  17   8#i15#include15<differBUSial"quo">ld="L2",.c"
	     ocode=NULLdiv id="cocsi/sNULLh" c)) class="line" name="L5">   5
<15pan clas15s="comment"> *
<15ux/d152h" c                c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=flagsdiv id="cocsi/sflagsh" c |=.c"
	     ocode=
   8#i15pan clas15s="comment"> * Copyrigh15ux/o153h" c        else class="line" name="L9">   9#i15pan clas15s="comment"> */
15ux/o154h" c                c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=flagsdiv id="cocsi/sflagsh" c &1= ~c"
	     ocode=
   8#i15#include1ddrivers/scsi/sun_esp.c#1Lux/g155h" c}7" class="line" name="L17">  17  17 void c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_get_clock_paramsdiv id="cocsi/s  1_get_clock_paramsh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L5">   5
<15nclude &15lt;   5
<15nclude &15lt;
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i16#include16<   8#i16#include16<   8#i16pan clas16s="comment"> *
<16ux/d162="L17" class="line" name="L17">  17 * Copyrigh16ux/o163h" c        c"
	     ocode=s1div id="cocsi/sdph" c =.c"
	     ocode=o1div id="cocsi/soph" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c.c"
	     ocode=of_nodediv id="cocsi/sof_nodeh" c" class="line" name="L8">   8#i16pan clas16s="comment"> */
16ux/o164h" c        c"
	     ocode=bus_s1div id="cocsi/sbus_s1h" c =.c"
	     ocode=s1div id="cocsi/sdph" c-="L1c"
	     ocode=parBUS iv id="cocsi/sparBUSh" c" class="line" name="L8">   8#i16#include16drivers/scsi/sun_esp.c#16ux/g16="L6" class="line" name="L6">   6#i16nclude &1llt;clock-frequency"quo">ld="L2",.0)" class="line" name="L8">   8#i16#include16<   8#i16nclude &16lt;clock-frequency"quo">ld="L2",.0)" class="line" name="L8">   8#i16nclude &16lt;  17   8#i17#include17<  17 *
<17ux/d172="L17" class="line" name="L17">  17 * Copyrigh17ux/o17h" cl/span> void c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_get_burstsdiv id="cocsi/s  1_get_burstsh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, struct c"
	     ocode=platv>
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=sun_ofdiv id="cocsi/ssun_ofh" c) class="line" name="L5">   5
<17pan clas17s="comment"> */
17ux/o174="L1{ class="line" name="L5">   5
<17a href="17drivers/scsi/sun_esp.c#17ux/g175h" c        struct c"
	     ocode=sp.c#L_nodediv id="cocsi/ssevc#L_nodeh" c *c"
	     ocode=dun_s1div id="cocsi/sdun_s1h" c =.c"
	     ocode=sun_ofdiv id="cocsi/ssun_ofh" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c.c"
	     ocode=of_nodediv id="cocsi/sof_nodeh" c" class="line" name="L8">   8#i17nclude &17lt;
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i17nclude &1llt;   8#i17nclude &17lt;   8#i17nclude &17lt;  17   8#i18#include18<burst-sizLs"quo">ld="L2",.0xff)" class="line" name="L8">   8#i18pan clas18s="comment"> *
<18ux/d182h" c        c"
	     ocode=valdiv id="cocsi/svalh" c =.c"
	     ocode=of_getintpropespfaultdiv id="cocsi/sof_getintpropespfaulth" c(c"
	     ocode=sun_s1div id="cocsi/sdun_s1h" c, cvers/scsi/sustrc#L"d=quo">burst-sizLs"quo">ld="L2",.0xff)" class="line" name="L8">   8#i18pan clas18s="comment"> * Copyrigh18ux/o183h" c        if (c"
	     ocode=valdiv id="cocsi/svalh" c !=.0xff) class="line" name="L8">   8#i18pan clas18s="comment"> */
18ux/o184h" c                c"
	     ocode=burstsdiv id="cocsi/sburstsh" c &1= c"
	     ocode=valdiv id="cocsi/svalh" c" class="line" name="L8">   8#i1na href="18drivers/scsi/sun_esp.c#18ux/g18="L6" class="line" name="L6">   6#i1nnclude &18lt;burst-sizLs"quo">ld="L2",.0xff)" class="line" name="L8">   8#i18nclude &18lt;   8#i18nclude &1llt;   8#i1nnclude &18lt;  17  17  17 *
<19ux/d192h" c            (c"
	     ocode=burstsdiv id="cocsi/sburstsh" c &1.c"
	     ocode=DMA_BURST32div id="cocsi/sDMA_BURST32h" c) ==.0) class="line" name="L8">   8#i1npan clas19s="comment"> * Copyrigh19ux/o193h" c                c"
	     ocode=burstsdiv id="cocsi/sburstsh" c =.(c"
	     ocode=DMA_BURST32div id="cocsi/sDMA_BURST32h" c - 1)" class="line" name="L8">   8#i1npan clas19s="comment"> */
19ux/o194="L17" class="line" name="L17">  17   8#i1nnclude &19lt;  17  17 void c"
	     ocode=_esp.cnitdiv id="cocsi/s_esp.cnith" c c"
	     ocode=  1_mbus_get_propsdiv id="cocsi/s  1_mbus_get_propsh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, struct c"
	     ocode=platv>
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=e   8#i1nnclude &1llt;   5
<20#include2&<7" class="line" name="L17">  177" class="line" name="L17">  17 *
<202x/m202h" c        c"
	     ocode=  1_get_clock_paramsdiv id="cocsi/s  1_get_clock_paramsh" c(c"
	     ocode=  1div id="cocsi/s  1h" c)>7" class="line" name="L17">  17 * Copyrigh203x/m203h" c        c"
	     ocode=  1_get_burstsdiv id="cocsi/s  1_get_burstsh" c(c"
	     ocode=  1div id="cocsi/s  1h" c, c"
	     ocode=e7" class="line" name="L17">  17 */
204x/m2u4h" c}7" class="line" name="L17">  17   6#i20
   8#i20#include20<   5
<208include20lt;7" class="line" name="L17">  17  17#include2 <  17#include2&< c"
	     ocode=u8div id="cocsi/su8h" c c"
	     ocode=mbus_  1_read8div id="cocsi/smbus_  1_read8h" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, unsigned longoc"
	     ocode=regdiv id="cocsi/sregh" c) class="line" name="L8">   8#i2>#include2 <   5
<2>#include2 <7" class="line" name="L17">  17#include2 <  17#include2 <   6#i2>
 c"
	     ocode=sun_addr_S iv id="cocsi/ssun_addr_Sh" c c"
	     ocode=mbus_  1_map_singlLdiv id="cocsi/smbus_  1_map_singlLh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, void *c"
	     ocode=bufdiv id="cocsi/sbufh" c, class="line" name="L6">   6#i2>#include2 <   8#i2>8include21lt;   5
<2>nclude &21lt;
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i22#include22<  17   8#i22#include2&<  17  17   6#i22#include22<   8#i2p
   5
<2p#include22<
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i2pnclude &22lt;  17   8#i23#include23<  17  17 *
<23ux/d232h" c/span> void c"
	     ocode=mbus_  1_unmap_singlLdiv id="cocsi/smbus_  1_unmap_singlLh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, c"
	     ocode=sun_addr_S iv id="cocsi/ssun_addr_Sh" c c"
	     ocode=addr iv id="cocsi/saddrh" c, class="line" name="L6">   6#i23pan clas2ss="comment"> * Copyrigh2tux/o233h" c                                  c"
	     ocode=mize_S iv id="cocsi/smize_Sh" c c"
	     ocode=mzdiv id="cocsi/sszh" c, int c"
	     ocode=dirdiv id="cocsi/sdirh" c) class="line" name="L8">   8#i23#include23<   5
<23#include23<
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i23
  17   8#i23nclude &23lt;  17  17 void c"
	     ocode=mbus_  1_unmap_sgdiv id="cocsi/smbus_  1_unmap_sgh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, struct c"
	     ocode=scatterlihiddv id="cocsi/sscatterlihih" c *c"
	     ocode=sgdiv id="cocsi/smgh" c, class="line" name="L6">   6#i24#include24<   8#i2#pan clas24s="comment"> *
<24ux/d24-mapp{ class="line" name="L5">   5
<24pan clas24s="comment"> * Copyrigh24ux/o243h" c        struct c"
	     ocode=platv>
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c" class="line" name="L8">   8#i24pan clas2ss="comment"> */
2  17   8#i24
  17  17 int c"
	     ocode=mbus_  1_irq_pendc#L"iv id="cocsi/smbus_  1_irq_pendc#Lh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L8">   8#i2#nclude &24lt;   5
<25#include25<   8#i25#include25<   8#i25pan clas25s="comment"> *
<25ux/d252h" c        ajax_lo0>7" class="line" name="L17">  17 * Copyrigh25ux/o253h" c}7" class="line" name="L17">  17 */
25ux/o254="L17" class="line" name="L17">  17 void c"
	     ocode=mbus_  1_reset_dundiv id="cocsi/smbus_  1_reset_dunh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L8">   8#i25
   5
<25#include25<7" class="line" name="L17">  177" class="line" name="L17">  17
 esp.c#Ldiv id="cocsi/splatv>
 esp.c#Lh" c *c"
	     ocode=o1div id="cocsi/soph" c>7" class="line" name="L17">  17   8#i26#include26<  17 *
<26ux/d262h" c        c"
	     ocode=can_do_burst="drivers/socsi/scan_do_burst="h" c =.(c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=burstsdiv id="cocsi/sburstsh" c &1.c"
	     ocode=DMA_BURST="drivers/socsi/sDMA_BURST="h" c) !=.0" class="line" name="L8">   8#i26pan clas26s="comment"> * Copyrigh26ux/o263h" c        c"
	     ocode=can_do_burst32div id="cocsi/scan_do_burst32h" c =.(c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=burstsdiv id="cocsi/sburstsh" c &1.c"
	     ocode=DMA_BURST32div id="cocsi/sDMA_BURST32h" c) !=.0" class="line" name="L8">   8#i26pan clas26s="comment"> */
26ux/o264h" c        c"
	     ocode=can_do_burst6s="commentocsi/scan_do_burst64h" c =.0" class="line" name="L8">   8#i26#include26drivers/scsi/sun_esp.c#26ux/g265h" c        c"
	     ocode=can_do_mbus6s="commentocsi/scan_do_mbus6sh" c =.0" class="line" name="L8">   8#i26
   8#i26#include26<   8#i26nclude &26lt;   8#i26nclude &26lt;   8#i27#include27<   8#i27#include27<  17 *
<27ux/d272h" c        cvers/scsi/surc SBUS >/* Put the DVMA into a known /spae. */ld="L2"7" class="line" name="L17">  17 * Copyrigh27ux/o273h" c        if (c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=smarevdiv id="cocsi/ssmarevh" c !=.c"
	     ocode=svmahmLdiv id="cocsi/ssvmahmLh" c) { class="line" name="L5">   5
<27pan clas27s="comment"> */
27ux/o274h" c                c"
	     ocode=valdiv id="cocsi/svalh" c =.c"
	     ocode=sun_ajad32div id="cocsi/ssun_ajad32h" c(c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i27#include27drivers/scsi/sun_esp.c#27ux/g275h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=valdiv id="cocsi/svalh" c |.c"
	     ocode=DMA_RST_SCSIdiv id="cocsi/sDMA_RST_SCSIh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i27
   8#i27#include2llt;  17   5
<27nclude &27lt;   5
<28#include28<   8#i28#include28<   8#i28pan clas28s="comment"> *
<28ux/d282="L17" class="line" name="L17">  17 * Copyrigh28ux/o283h" c                c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=prev_hmL_duncsrdiv id="cocsi/sprev_hmL_duncsrh" c =.(c"
	     ocode=DMA_PARITY_OFFdiv id="cocsi/sDMA_PARITY_OFFh" c |.c"
	     ocode=DMA_2CLKSdiv id="cocsi/sDMA_2CLKSh" c |7" class="line" name="L17">  17 */
28ux/o284h" c                                        c"
	     ocode=DMA_SCSI_DISABdiv id="cocsi/sDMA_SCSI_DISABh" c |.c"
	     ocode=DMA_INT_ENABdiv id="cocsi/sDMA_INT_ENABh" c)" class="line" name="L8">   8#i28#include28drivers/scsi/sun_esp.c#28ux/g28="L6" class="line" name="L6">   6#i2nnclude &28lt;  17   8#i28nclude &2llt;  17   8#i29#include29<   8#i29#include29<   8#i29pan clas29s="comment"> *
<29ux/d292h" c                        c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=prev_hmL_duncsrdiv id="cocsi/sprev_hmL_duncsrh" c |=.c"
	     ocode=DMA_BRST32div id="cocsi/sDMA_BRST32h" c" class="line" name="L8">   8#i29pan clas29s="comment"> * Copyrigh29ux/o29h" cl7" class="line" name="L17">  17 */
29ux/o294h" c                if (c"
	     ocode=can_do_mbus6s="commentocsi/scan_do_mbus6sh" c) { class="line" name="L5">   5
<29a href="29drivers/scsi/sun_esp.c#29ux/g295h" c                        c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=prev_hmL_duncsrdiv id="cocsi/sprev_hmL_duncsrh" c |=.c"
	     ocode=DMA_SCSI_SBUS6s="commentocsi/sDMA_SCSI_SBUS6sh" c" class="line" name="L8">   8#i29nclude &29lt;   8#i29nclude &29lt;  17  17   8#i30#include3&<   5
<30#include30<   5
<302include30s="comment"> *
<302x/m302h" c                                c"
	     ocode=printkdiv id="cocsi/sprintkh" c(c"
	     ocode=KERN_ALERTdiv id="cocsi/sKERN_ALERTh" c c"
	     ocode=PFXdiv id="cocsi/sPFXh" c cvers/scsi/sustrc#L"d=quo">5ld="L2" class="line" name="L5">   5
<303include30s="comment"> * Copyrigh303x/m303h" c                                       cvers/scsi/sustrc#L"d=quo">will not/scear!\n"quo">ld="L2", class="line" name="L5">   5
<304include30s="comment"> */
304x/m304h" c                                       c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=h"hiddv id="cocsi/sh"hih" c-="L1c"
	     ocode=unique_iddiv id="cocsi/sunique_idh" c)" class="line" name="L8">   8#i30#include30<   8#i306include30lt;  17   8#i308include30lt;  17  17#include3 <   8#i3>#include3&<   8#i3>2include3 <  17#include3 <   8#i3>4include3 <   8#i3>#include3 <   6#i3>
   5
<3>#include3 <   5
<3>8include31lt;   8#i3>nclude &31lt;   8#i32#include32<  17   8#i32#include3&<  17   5
<32#include32<   8#i32#include32<   8#i32
   8#i32#include32<   5
<3pnclude &32lt;   8#i32nclude &32lt;   8#i33#include33<  17   8#i33pan clas33s="comment"> *
<33ux/d332h" c                bajak" class="line" name="L8">   8#i33pan clas3ss="comment"> * Copyrigh3tux/o33h" cl7" class="line" name="L17">  17   5
<33#include33<   8#i33
   8#i33#include33<   8#i33nclude &33lt;   5
<33nclude &33lt;   8#i34#include34<   5
<34#include34<   8#i3#pan clas34s="comment"> *
<34ux/d342h" c                }7" class="line" name="L17">  17 * Copyrigh34ux/o343h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=valdiv id="cocsi/svalh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i34pan clas3ss="comment"> */
3   8#i34#include34<   6#i34
   5
<34#include34<   8#i34nclude &34lt;  17  17/* Enable interrupts.  */ld="L2"7" class="line" name="L17">  17   8#i35pan clas35s="comment"> *
<35ux/d352h" c        c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=valdiv id="cocsi/svalh" c |.c"
	     ocode=DMA_INT_ENABdiv id="cocsi/sDMA_INT_ENABh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i35pan clas35s="comment"> * Copyrigh35ux/o353h" c}7" class="line" name="L17">  17 */
35ux/o354="L17" class="line" name="L17">  17 void c"
	     ocode=mbus_  1_dun_sraindiv id="cocsi/smbus_  1_dun_srainh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L8">   8#i35
   5
<35#include35<   8#i35nclude &35lt;7" class="line" name="L17">  17  17  177" class="line" name="L17">  17 *
<36ux/d362="L17" class="line" name="L17">  17 * Copyrigh36ux/o363h" c        c"
	     ocode=csrdiv id="cocsi/scsrh" c =.c"
	     ocode=sun_ajad32div id="cocsi/ssun_ajad32h" c(c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i36pan clas36s="comment"> */
36ux/o364h" c        if (!(c"
	     ocode=csrdiv id="cocsi/scsrh" c &1.c"
	     ocode=DMA_FIFO_ISDRAINdiv id="cocsi/sDMA_FIFO_ISDRAINh" c))7" class="line" name="L17">  177" class="line" name="L17">  17  17  17   8#i36nclude &36lt;  17   8#i37#include37<   5
<37pan clas37s="comment"> *
<37ux/d372h" c                if (--c"
	     ocode=lim="commentocsi/slimh" c ==.0) { class="line" name="L5">   5
<37pan clas37s="comment"> * Copyrigh37ux/o373h" c                        c"
	     ocode=printkdiv id="cocsi/sprintkh" c(c"
	     ocode=KERN_ALERTdiv id="cocsi/sKERN_ALERTh" c c"
	     ocode=PFXdiv id="cocsi/sPFXh" c cvers/scsi/sustrc#L"d=quo">5ld="L2", class="line" name="L5">   5
<37pan clas37s="comment"> */
37ux/o374h" c                               c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=h"hiddv id="cocsi/sh"hih" c-="L1c"
	     ocode=unique_iddiv id="cocsi/sunique_idh" c)" class="line" name="L8">   8#i37#include37drivers/scsi/sun_esp.c#37ux/g375h" c                        bajak" class="line" name="L8">   8#i37
  17   8#i37nclude &37lt;  17  17  17 void c"
	     ocode=mbus_  1_dun_invalidatLdiv id="cocsi/smbus_  1_dun_invalidatLh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L8">   8#i38pan clas38s="comment"> *
<38ux/d38-mapp{ class="line" name="L5">   5
<38pan clas38s="comment"> * Copyrigh38ux/o383h" c        if (c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=smarevdiv id="cocsi/ssmarevh" c ==.c"
	     ocode=svmahmLdiv id="cocsi/ssvmahmLh" c) { class="line" name="L5">   5
<38pan clas38s="comment"> */
38ux/o384h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=DMA_RST_SCSIdiv id="cocsi/sDMA_RST_SCSIh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i38#include38drivers/scsi/sun_esp.c#38ux/g38="L6" class="line" name="L6">   6#i3nnclude &38lt;  17  17  177" class="line" name="L17">  17  17   8#i39pan clas39s="comment"> *
<39ux/d392h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=prev_hmL_duncsrdiv id="cocsi/sprev_hmL_duncsrh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i39pan clas39s="comment"> * Copyrigh39ux/o39h" cl7" class="line" name="L17">  17 */
39ux/o394h" c                cvers/scsi/surc SBUS >/* This is necessary to avoid havc#L the SCSI channelld="L2"7" class="line" name="L17">  17                 * engi/s lock up on us.ld="L2"7" class="line" name="L17">  17                 */ld="L2"7" class="line" name="L17">  17   8#i39nclude &39lt;   5
<3nnclude &3llt;   8#i40#include4&<7" class="line" name="L17">  17  17 *
<402x/m402h" c                c"
	     ocode=lim="commentocsi/slimh" c =.1000" class="line" name="L8">   8#i403include40s="comment"> * Copyrigh403x/m403h" c                while ((c"
	     ocode=valdiv id="cocsi/svalh" c =.c"
	     ocode=sun_ajad32div id="cocsi/ssun_ajad32h" c(c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)) &1.c"
	     ocode=DMA_PEND_READdiv id="cocsi/sDMA_PEND_READh" c) { class="line" name="L5">   5
<404include40s="comment"> */
404x/m404h" c                        if (--c"
	     ocode=lim="commentocsi/slimh" c ==.0) { class="line" name="L5">   5
<40#include40<5ld="L2" class="line" name="L5">   5
<406include40lt;invalidatL!\n"quo">ld="L2", c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=h"hiddv id="cocsi/sh"hih" c-="L1c"
	     ocode=unique_iddiv id="cocsi/sunique_idh" c)" class="line" name="L8">   8#i40#include40<   8#i408include40lt;  17   8#i4>#include4 <  17#include4&<  172include4 <   8#i4>3include4 <7" class="line" name="L17">  174include4 <   8#i4>#include4 <7" class="line" name="L17">  176include4="drivers/scsi/sun_esp.c4#L17"416h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=valdiv id="cocsi/svalh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i4>#include4 <  178include41lt;  17nclude &41lt;  17 void c"
	     ocode=mbus_  1_send_dun_cmddiv id="cocsi/smbus_  1_send_dun_cmdh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c, c"
	     ocode=u32div id="cocsi/su32h" c c"
	     ocode=addrdiv id="cocsi/saddrh" c, c"
	     ocode=u32div id="cocsi/su32h" c c"
	     ocode=  1_couniddv id="cocsi/s  1_counih" c,7" class="line" name="L17">  17   8#i42#include4&<   5
<42#include42<   8#i42#include42<  177" class="line" name="L17">  17  17   8#i4pnclude &42lt;   8#i4pnclude &42lt;   5
<43#include43<   8#i43#include43<   8#i43#include43s="comment"> *
<43ux/d432="L17" class="line" name="L17">  17 * Copyrigh4tux/o433h" c                c"
	     ocode=me="_  1_cmddiv id="cocsi/sme="_  1_cmdh" c(c"
	     ocode=  1div id="cocsi/s  1h" c, c"
	     ocode=cmddiv id="cocsi/scmdh" c)" class="line" name="L8">   8#i43#include43<  17   8#i43
   8#i43#include43<   8#i43nclude &43lt;   8#i43nclude &43lt;   8#i44#include44<   8#i44#include44<   8#i4#pan clas44s="comment"> *
<44ux/d442="L17" class="line" name="L17">  17 * Copyrigh44ux/o443h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=dun_couniddv id="cocsi/sdun_counih" c, c"
	     ocode=DMA_COUNTdiv id="cocsi/sDMA_COUNTh" c)" class="line" name="L8">   8#i44pan clas4ss="comment"> */
4   8#i44#include44<   8#i44
   5
<44#include44<   8#i44nclude &44lt;   8#i44nclude &44lt;   8#i45#include45<   8#i45#include45<   8#i45pan clas45s="comment"> *
<45ux/d452h" c                        c"
	     ocode=csrdiv id="cocsi/scsrh" c &1=.~c"
	     ocode=DMA_ST_WRITEdiv id="cocsi/sDMA_ST_WRITEh" c" class="line" name="L8">   8#i45pan clas45s="comment"> * Copyrigh45ux/o453h" c                c"
	     ocode=sun_write32div id="cocsi/ssun_write32h" c(c"
	     ocode=csrdiv id="cocsi/scsrh" c, c"
	     ocode=DMA_CSRdiv id="cocsi/sDMA_CSRh" c)" class="line" name="L8">   8#i45pan clas45s="comment"> */
45ux/o454h" c                if (c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=smarevdiv id="cocsi/ssmarevh" c ==.c"
	     ocode=svmaesc1div id="cocsi/ssvmaesc1h" c) { class="line" name="L5">   5
<45#include4ddrivers/scsi/sun_esp.c#4Lux/g455h" c                        c"
	     ocode=u32div id="cocsi/su32h" c c"
	     ocode= nddiv id="cocsi/s ndh" c =.c"
	     ocode=PAGE_ALIGNdiv id="cocsi/sPAGE_ALIGNh" c(c"
	     ocode=addrdiv id="cocsi/saddrh" c + c"
	     ocode=dun_couniddv id="cocsi/sdun_counih" c + 16U)" class="line" name="L8">   8#i45
   8#i45#include45<  17   8#i45nclude &45lt;  17   8#i46#include46<  17 *
<46ux/d462="L17" class="line" name="L17">  17 * Copyrigh46ux/o463h" c}7" class="line" name="L17">  17 */
46ux/o464="L17" class="line" name="L17">  17 int c"
	     ocode=mbus_  1_dun_errordiv id="cocsi/smbus_  1_dun_errorh" c(struct c"
	     ocode=  1div id="cocsi/s  1h" c *c"
	     ocode=  1div id="cocsi/s  1h" c) class="line" name="L8">   8#i46
   5
<46#include46<   8#i46nclude &46lt;  17   8#i47#include47<   8#i47#include47<  17 *
<47ux/d472h" c        ajax_l 0" class="line" name="L8">   8#i47pan clas47s="comment"> * Copyrigh47ux/o473h" c}7" class="line" name="L17">  17 */
47ux/o474="L17" class="line" name="L17">  17 const struct c"
	     ocode=  1_line" _opsdiv id="cocsi/s  1_line" _opsh" c c"
	     ocode=mbus_  1_opsdiv id="cocsi/smbus_  1_opsh" c =.{ class="line" name="L5">   5
<47
  17  17  17  17  17  17 *
<48ux/d482h" c        .c"
	     ocode=irq_pendc#L"dv id="cocsi/sirq_pendc#Lh" c    =       c"
	     ocode=mbus_  1_irq_pendc#L"dv id="cocsi/smbus_  1_irq_pendc#Lh" c,7" class="line" name="L17">  17 * Copyrigh48ux/o483h" c        .c"
	     ocode=reset_dun"dv id="cocsi/sreset_dunh" c      =       c"
	     ocode=mbus_  1_ajset_dun"dv id="cocsi/smbus_  1_ajset_dunh" c,7" class="line" name="L17">  17 */
48ux/o484h" c        .c"
	     ocode=dun_sraindiv id="cocsi/sdun_srainh" c      =       c"
	     ocode=mbus_  1_dun_sraindiv id="cocsi/smbus_  1_dun_srainh" c,7" class="line" name="L17">  17  17  17  17   8#i48nclude &48lt;  17 int c"
	     ocode=__deviniiddv id="cocsi/s__deviniih" c c"
	     ocode=  1_sbus_probe_onLdiv id="cocsi/s  1_sbus_probe_onLh" c(struct c"
	     ocode=platform_devicLdiv id="cocsi/splatform_devicLh" c *c"
	     ocode=o1div id="cocsi/soph" c,7" class="line" name="L17">  17  17 *
<49ux/d492h" c                                        int c"
	     ocode=hmLdiv id="cocsi/shmLh" c)7" class="line" name="L17">  17 * Copyrigh49ux/o49h" cl{ class="line" name="L5">   5
<4npan clas49s="comment"> */
49ux/o494h" c        struct c"
	     ocode=me="_h"hi_templatLdiv id="cocsi/sme="_h"hi_templatLh" c *c"
	     ocode=tpniddv id="cocsi/stpnih" c = &1c"
	     ocode=me="_  1_templatLdiv id="cocsi/sme="_  1_templatLh" c" class="line" name="L8">   8#i49a href="49drivers/scsi/sun_esp.c#49ux/g495h" c        struct c"
	     ocode=Se="_H"hiddv id="cocsi/sSe="_H"hih" c *c"
	     ocode=h"hiddv id="cocsi/sh"hih" c" class="line" name="L8">   8#i49
   8#i49#include49lt;   8#i49nclude &49lt;  177" class="line" name="L17">  17  17   8#i502include50s="comment"> *
<502x/m502h" c        if (!c"
	     ocode=h"hiddv id="cocsi/sh"hih" c)7" class="line" name="L17">  17 * Copyrigh503x/m503h" c                goto c"
	     ocode=faildiv id="cocsi/sfailh" c" class="line" name="L8">   8#i504include50s="comment"> */
504x/m504="L17" class="line" name="L17">  177" class="line" name="L17">  177" class="line" name="L17">  17  17   8#i509include50lt;   8#i5>#include5 <   8#i5>#include5&<  172include5 <  173include5 <   8#i5>4include5 <  17#include5 <7" class="line" name="L17">  176include5="drivers/scsi/sun_esp.c5#L17"516h" c        if (c"
	     ocode= rrdiv id="cocsi/s rrh" c &lL1.0)7" class="line" name="L17">  177include5 <   8#i5>8include51lt;  17nclude &51lt;   8#i52#include52<  17   8#i52#include5&<  17   8#i524include52<  17   8#i526include52"drivers/scsi/sun_esp.c52L17"52"h" c7" class="line" name="L17">  17   8#i528include52lt;  17   8#i53#include53<  177" class="line" name="L17">  17 *
<53ux/d532="L17" class="line" name="L17">  17 * Copyrigh5tux/o533h" c        cvers/scsi/surc SBUS >/* Before we try to touch the ESP chip, ESC1 dun canld="L2" class="line" name="L5">   5
<53#include53<         * rc e up with the ajset bit set, so make sure thatld="L2" class="line" name="L5">   5
<53#include53<         * is clear first.ld="L2"7" class="line" name="L17">  17         */ld="L2"7" class="line" name="L17">  17   5
<53nclude &53lt;   8#i53nclude &53lt;  17   8#i54#include54<  17 *
<54ux/d542="L17" class="line" name="L17">  17 * Copyrigh54ux/o543h" c        c"
	     ocode=dev_set_drvdatn"dv id="cocsi/sdev_set_drvdatnh" c(&1c"
	     ocode=o1div id="cocsi/soph" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c, c"
	     ocode=  1div id="cocsi/s  1h" c)" class="line" name="L8">   8#i54#include5ss="comment"> */
5  17   8#i54
  17   8#i54nclude &54lt;  17   8#i55#include55<  17  17 *
<55ux/d552h" c        c"
	     ocode=free_irqdiv id="cocsi/sfree_irqh" c(c"
	     ocode=h"hiddv id="cocsi/sh"hih" c-="L1c"
	     ocode=irqdiv id="cocsi/sirqh" c, c"
	     ocode=  1div id="cocsi/s  1h" c)" class="line" name="L8">   8#i55pan clas55s="comment"> * Copyrigh55ux/o553h" cc"
	     ocode=fail_unmap_rc Sand_blockdiv id="cocsi/sfail_unmap_rc Sand_blockh" c:7" class="line" name="L17">  17 */
55ux/o554h" c        c"
	     ocode=sun_free_cohereniddv id="cocsi/sdun_free_coherenih" c(&1c"
	     ocode=o1div id="cocsi/soph" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c, 16,7" class="line" name="L17">  17  17   8#i55#include55<  17   8#i55nclude &55lt;  17   8#i56#include56<  17 *
<56ux/d562h" c        ajax_l c"
	     ocode= rrdiv id="cocsi/s rrh" c" class="line" name="L8">   8#i56pan clas56s="comment"> * Copyrigh56ux/o563h" c}7" class="line" name="L17">  17 */
56ux/o564="L17" class="line" name="L17">  17 int c"
	     ocode=__deviniiddv id="cocsi/s__deviniih" c c"
	     ocode=  1_sbus_probediv id="cocsi/s  1_sbus_probeh" c(struct c"
	     ocode=platform_devicLdiv id="cocsi/splatform_devicLh" c *c"
	     ocode=o1div id="cocsi/soph" c)7" class="line" name="L17">  17   5
<56#include56<   8#i56nclude &56lt;   8#i56nclude &56lt;   8#i57#include57<   8#i57#include57<  17 *
<57ux/d572h" c        if (c"
	     ocode=d1div id="cocsi/sd1h" c-="L1c"
	     ocode=pareniddv id="cocsi/sparenih" c &1&17" class="line" name="L17">  17 * Copyrigh57ux/o573h" c            (!c"
	     ocode=strcm1div id="cocsi/sstrcm1h" c(c"
	     ocode=d1div id="cocsi/sd1h" c-="L1c"
	     ocode=pareniddv id="cocsi/sparenih" c-="L1c"
	     ocode=opyrddv id="cocsi/sopyrh" c, cvers/scsi/sustrc#L"d=quo">5ld="L2") ||7" class="line" name="L17">  17 */
57ux/o574h" c             !c"
	     ocode=strcm1div id="cocsi/sstrcm1h" c(c"
	     ocode=d1div id="cocsi/sd1h" c-="L1c"
	     ocode=pareniddv id="cocsi/sparenih" c-="L1c"
	     ocode=opyrddv id="cocsi/sopyrh" c, cvers/scsi/sustrc#L"d=quo">sun"quo">ld="L2")))7" class="line" name="L17">  17  17SUNW,fas"quo">ld="L2")) { class="line" name="L5">   5
<57#include5llt;   8#i57nclude &57lt;   8#i57nclude &57lt;  17  17   8#i58pan clas58s="comment"> *
<58ux/d582h" c        if (!c"
	     ocode=sun_ofdiv id="cocsi/ssun_ofh" c)7" class="line" name="L17">  17 * Copyrigh58ux/o583h" c                ajax_l -c"
	     ocode=ENODEVdiv id="cocsi/sENODEVh" c" class="line" name="L8">   8#i58pan clas58s="comment"> */
58ux/o584="L17" class="line" name="L17">  17   8#i58
  17  17 int c"
	     ocode=__devexiiddv id="cocsi/s__devexiih" c c"
	     ocode=  1_sbus_removLdiv id="cocsi/s  1_sbus_removLh" c(struct c"
	     ocode=platform_devicLdiv id="cocsi/splatform_devicLh" c *c"
	     ocode=o1div id="cocsi/soph" c)7" class="line" name="L17">  17   5
<59#include59<   8#i59#include59<   8#i59pan clas59s="comment"> *
<59ux/d592h" c        unsigned int c"
	     ocode=irqdiv id="cocsi/sirqh" c =.c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=h"hiddv id="cocsi/sh"hih" c-="L1c"
	     ocode=irqdiv id="cocsi/sirqh" c" class="line" name="L8">   8#i59pan clas59s="comment"> * Copyrigh59ux/o593h" c        c"
	     ocode=booldiv id="cocsi/sboolh" c c"
	     ocode=is_hmLdiv id="cocsi/sis_hmLh" c" class="line" name="L8">   8#i59pan clas59s="comment"> */
59ux/o594h" c        c"
	     ocode=u32div id="cocsi/su32h" c c"
	     ocode=valdiv id="cocsi/svalh" c" class="line" name="L8">   8#i59#include59drivers/scsi/sun_esp.c#59ux/g595h" c class="line" name="L8">   8#i59
   8#i59#include59lt;  17/* Disable interrupts.  */ld="L2"7" class="line" name="L17">  17   8#i60#include6&<   8#i601include6&<  17 *
<602x/m602h" c        c"
	     ocode=free_irqdiv id="cocsi/sfree_irqh" c(c"
	     ocode=irqdiv id="cocsi/sirqh" c, c"
	     ocode=  1div id="cocsi/s  1h" c)" class="line" name="L8">   8#i603include60s="comment"> * Copyrigh603x/m603h" c class="line" name="L8">   8#i604include60s="comment"> */
604x/m604h" c        c"
	     ocode=is_hmLdiv id="cocsi/sis_hmLh" c =.(c"
	     ocode=  1div id="cocsi/s  1h" c-="L1c"
	     ocode=smarevdiv id="cocsi/ssmarevh" c ==.c"
	     ocode=svmahmLdiv id="cocsi/ssvmahmLh" c)" class="line" name="L8">   8#i605include60drivers/scsi/sun_esp.c#605x/m605h" c class="line" name="L8">   8#i606include60lt;  17  17   8#i609include60lt;   8#i6>#include6 <   8#i6>#include6&<   8#i6>2include6 <7" class="line" name="L17">  173include6 <   8#i6>4include6 <7" class="line" name="L17">  175include6 <   8#i6>6include6="drivers/scsi/sun_esp.c6#L17"616h" c        c"
	     ocode=sev_set_drvdatn"dv id="cocsi/sdev_set_drvdatnh" c(&1c"
	     ocode=o1div id="cocsi/soph" c-="L1c"
	     ocode=sevdiv id="cocsi/ssevh" c, c"
	     ocode=NULLdiv id="cocsi/sNULLh" c)>7" class="line" name="L17">  177include6 <  178include61lt;   8#i6>nclude &61lt;  17  17 const struct c"
	     ocode=of_devicL_iddiv id="cocsi/sof_devicL_idh" c c"
	     ocode=  1_matchdiv id="cocsi/s  1_matchh" c[] =.{ class="line" name="L5">   5
<62#include6&<   5
<623include62<SUNW,5ld="L2", class="line" name="L8">   8#i624include62<   8#i625include62<   5
<626include62"drivers/scsi/sun_esp.c62L17"626h" c                .c"
	     ocode=opyrddv id="cocsi/sopyrh" c =.cvers/scsi/sustrc#L"d=quo">SUNW,fas"quo">ld="L2", class="line" name="L8">   8#i627include62<   8#i628include62lt;   5
<62nclude &62lt;5ld="L2", class="line" name="L8">   8#i63#include63<   8#i63#include63<   8#i63#include63s="comment"> *
<63ux/d632h" c}" class="line" name="L8">   8#i63pan clas6ss="comment"> * Copyrigh6tux/o633h" cc"
	     ocode=MODULE_DEVICE_TABLEdiv id="cocsi/sMODULE_DEVICE_TABLEh" c(c"
	     ocode=ofdiv id="cocsi/sofh" c, c"
	     ocode=  1_matchdiv id="cocsi/s  1_matchh" c)>7" class="line" name="L17">  17  17 struct c"
	     ocode=platform_dine" div id="cocsi/splatform_dine" h" c c"
	     ocode=  1_sbus_dine" div id="cocsi/s  1_sbus_dine" h" c =.{ class="line" name="L5">   5
<63
   5
<637include63<5ld="L2", class="line" name="L8">   8#i638include63lt;   8#i63nclude &63lt;   8#i64#include64<   8#i64#include64<   8#i64#include64s="comment"> *
<64ux/d642h" c        .c"
	     ocode=removLdiv id="cocsi/sremovLh" c         =.c"
	     ocode=__devexii_1div id="cocsi/s__devexii_1h" c(c"
	     ocode=  1_sbus_removLdiv id="cocsi/s  1_sbus_removLh" c), class="line" name="L8">   8#i64pan clas64s="comment"> * Copyrigh64ux/o643h" c}" class="line" name="L8">   8#i64#include6ss="comment"> */
6  17 int c"
	     ocode=__iniiddv id="cocsi/s__iniih" c c"
	     ocode=17"  1_iniiddv id="cocsi/s17"  1_iniih" c(void)7" class="line" name="L17">  17   5
<64#include64<7" class="line" name="L17">  17  17  17 void c"
	     ocode=__exiiddv id="cocsi/s__exiih" c c"
	     ocode=17"  1_exiiddv id="cocsi/s17"  1_exiih" c(void)7" class="line" name="L17">  17   5
<65pan clas65s="comment"> *
<65ux/d652h" c        c"
	     ocode=platform_dine" _unregisterdiv id="cocsi/splatform_dine" _unregisterh" c(&1c"
	     ocode=  1_sbus_dine" div id="cocsi/s  1_sbus_dine" h" c)>7" class="line" name="L17">  17 * Copyrigh65ux/o653h" c}7" class="line" name="L17">  17 */
65ux/o654="L17" class="line" name="L17">  17Sun ESP SCSI line" "quo">ld="L2")>7" class="line" name="L17">  17David S. Miller (davem@davemloft.net)"quo">ld="L2")>7" class="line" name="L17">  17GPL"quo">ld="L2")>7" class="line" name="L17">  177" class="line" name="L17">  17  177" class="line" name="L17">  177" class="line" name="L17">  17 *
<66ux/d662h" c


The original LXR software by the " class="http://sourcLforge.net/projects/lxrd>LXR rc Suniiyh" c, this experiSBUSal e" nion by " class="mailto:lxr@"> ux.no">lxr@"> ux.noh" c.
lxr."> ux.no kindly h"hied by " class="http://www.redpill-"> pro.no">Redpill L> pro ASh" c, provider of L> ux consultc#L and operpanons servicLs since 1995.