//
"; for( var i=0; i < ajax.length; i++ ) { tmp += '' + decodeURI(ajax[i].url) + ' <' + '/a>
'; } document.getElementById('pjxdebugrequest').innerHTML = tmp + "<" + "/pre>";}function pjx_search() { var args = pjx_search.arguments; cache = 1; for( var i=0; i
Searchv "div id file_contents"
= =1"/a>"span class="comment">/*"/span v= =2"/a>"span class="comment"> * driver/dma/coh901318.c"/span v= =3"/a>"span class="comment"> *"/span v= =4"/a>"span class="comment"> * Copyright (C) 2007-2009 ST-Ericsson"/span v= =5"/a>"span class="comment"> * License terms: GNU General Public License (GPL) vers4.112"/span v= =6"/a>"span class="comment"> * DMA driver for COH 901 3
  = =7"/a>"span class="comment"> * Author: Per Friden <per.friden@stericsson.com> = =8"/a>"span class="comment"> */ = =9"/a><= 
  #include <linux/init.h ><= 11 #include <linux/module.h ><= 12 #include <linux/kernel.h > "span class="comment">/* printk() */ = 13 #include <linux/fs.h > "span class="comment">/* everything... */ = 14 #include <linux/scatterlist.h ><= 15 #include <linux/slab.h > "span class="comment">/* kmalloc() */ = 16 #include <linux/dmaengine.h ><= 17 #include <linux/platform_device.h ><= 18 #include <linux/device.h ><= 19 #include <linux/irqreturn.h ><= 2  #include <linux/interrupt.h ><= 21 #include <linux/io.h ><= 22 #include <linux/uaccess.h ><= 23 #include <linux/debugfs.h ><= 24 #include <mach/coh901318.h ><= 25"/a><= 26 #include "coh901318_lli.h "<= 27 #include "dmaengine.h "<= 28"/a><= 29 #define="a href="+code=COHC_2_DEV" class="sref">COHC_2_DEV ("a href="+code=cohc" class="sref">cohc ) (&"a href="+code=cohc" class="sref">cohc -> a href="+code=chan" class="sref">chan . a href="+code=dev" class="sref">dev -> a href="+code=device" class="sref">device )v= 30"/a><= 31 #ifdef="a href="+code=VERBOSE_DEBUG" class="sref">VERBOSE_DEBUG"/a><= 32 #define="a href="+code=COH_DBG" class="sref">COH_DBG ("a href="+code=x" class="sref">x ) ({ if (1)="a href="+code=x" class="sref">x ; 0; })v= 33 #elsev= 34 #define="a href="+code=COH_DBG" class="sref">COH_DBG ("a href="+code=x" class="sref">x ) ({ if (0)="a href="+code=x" class="sref">x ; 0; })v= 35 #endifv= 36"/a><= 37 struct="a href="+code=coh901318_desc" class="sref">coh901318_desc  {<= 38"/a>        struct="a href="+code=dma_async_tx_descriptor" class="sref">dma_async_tx_descriptor"/a>  a href="+code=desc" class="sref">desc ;<= 39"/a>        struct="a href="+code=list_head" class="sref">list_head"/a>  a href="+code=node" class="sref">node ;<= 40"/a>        struct="a href="+code=scatterlist" class="sref">scatterlist"/a> *"a href="+code=sg" class="sref">sg ;<= 41"/a>        unsigned int="a href="+code=sg_len" class="sref">sg_len ;<= 42"/a>        struct="a href="+code=coh901318_lli" class="sref">coh901318_lli"/a> *"a href="+code=lli" class="sref">lli"/a>;<= 43"/a>        enum="a href="+code=dma_transfer_direction" class="sref">dma_transfer_direction"/a>  a href="+code=dir" class="sref">dir"/a>;<= 44"/a>        unsigned long  a href="+code=flags" class="sref">flags"/a>;<= 45"/a>         a href="+code=u32" class="sref">u32   a href="+code=head_config" class="sref">head_config"/a>;<= 46"/a>         a href="+code=u32" class="sref">u32   a href="+code=head_ctrl" class="sref">head_ctrl"/a>;<= 47 };<= 48"/a><= 49 struct="a href="+code=coh901318_base" class="sref">coh901318_base  {<= 50"/a>        struct="a href="+code=device" class="sref">device  *"a href="+code=dev" class="sref">dev ;<= 51"/a>        void="a href="+code=__iomem" class="sref">__iomem  *"a href="+code=virtbase" class="sref">virtbase ;<= 52"/a>        struct="a href="+code=coh901318_pool" class="sref">coh901318_pool   a href="+code=lass="comment"> *"/pool   a href="+code=lass="comment5 class="sref">u32   a href="+code=dion value="v3.15     53ruct="a href="+code=coh901318_poolpow5 cav">virtbase ;">__iomem  *"pm+code=lass="comment5 class="sref">u32 ass="lin5" nam   L44">= 44"/a>  5     54ruct="a href="+code=device" class="rec"sref">device  *"a rec"sref"+code=dir" class="srerecslav">virtbase ;u32 ss="line"" nam   L5">= =5"/a>"spa     55ruct="a href="+code=device" class="rec"sref">device  *"a rec"sref"+code=dir" class="srerecef=cpy>device  *"a recef=cpy+code=lass="comment5 class="sref">u32 ass="lin5" nam   L46">= 46"/a>  5     56ruct="a href="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clasref"">flags"/a>;<u32 ass="lin5" nam   L47">= 47 };5&>coh901318_poole.h &"+coe=lass="comment5 class="sref">u32 ass="lin5" nam   L48">= 48"/a><<5 href58="drivers/dma/coh901318.c#L48" id  L48" c5ass="lin5" nam   L49">= 49 st5uct="5"drivers/dma/coh901318.c#L10" id  L10" c6ass="lin6" nam   L50">= 50"/a>  6     60href="+code=coh901318_base" class="sref">chan . a hre class="sref""+codvers/dma/coh901318.c#L50" id  L50" c6ass="lin6" nam   L51">= 51"/a>  6     6oid="a href="=sg_len" class="pinlock_">scatterlist"/a>pinlock_"+code=dir" class="srlock>lli"/a>;<u32 = 52"/a>  6     6truct="a hrefcode=sg_len" class=an vlist_head"/a> an vu32 list_head"/a> i""+coe=lass="comment5 class="sref">u32 = 44"/a>  6     64ruct="a hrefcode=sg_len" class=stoppe">list_head"/a> stoppe""+coe=lass="comment5 class="sref">u32 = =5"/a>"sp6     6"drivers/dma/coh901318.c#L26" id  L26" c6ss="line"" nam   L6">= =6"/a>"spa     66ruct="a href="+code=coh901318_poolwork_="+cod>list_head"/a> work_="+cod+code=dir" class="srfree_work>flags"/a>;<u32 = 47 };6chan . a hr recref"+code=dir" class="srref">chan . a href="+code=lass="comment5 class="sref">u32 = 48"/a><<6 href6"drivers/dma/coh901318.c#L49" id  L49" c6ass="lin6" nam   L49">= 49 st6uct="6truct="a href="+code=list_head" clatasklet_="+cod>list_head"/a> tasklet_="+cod+code=dir" class="srtasklet>list_head"/a> tasklet+code=lass="comment5 class="sref">u32 = 50"/a>  7     7"drivers/dma/coh901318.c#L31" id  L31" c7ass="lin7" nam   L51">= 51"/a>  7     71ruct="a href="+code=list_head" class="sref">list_head"/a>  a href="+code=node" class="s" mev">virtbase ;<" mev"+code=lass="comment5 class="sref">u32 = 52"/a>  7     7truct="a href="+code=coh901318_poolss="sref">list_head"/a>  a href="+code=node" class="squeu">virtbase ;u32 list_head"/a>  a href="+code=node" class="shree>flags"/a>;<u32 = 44"/a>  7     74drivers/dma/coh901318.c#L31" id  L31" c7ss="line7" nam   L5">= =5"/a>"sp7     75ruct="a href a href="+code=flags" class="nbr_" mev"_f/8a16ode ;<u32 = =6"/a>"sp7     76ruct="a href a href="+code=flags" class="busy>device  *"abusy+code=lass="comment5 class="sref">u32 = =7"/a>"spa= 48"/a><<7 href7truct="a href=u32" class="sref">u32   a href="+code=head_ctrl" claruntime_add">dir"/a>;<u32 = 49 st7uct="79ruct="a href=u32" class="sref">u32   a href="+code=head_ctrl" claruntime_ref">head_ctrl"/a>;runtime_ref"+code=lass="comment5 class="sref">u32 = 50"/a>  8     8"drivers/dma/coh901318.c#L31" id  L31" c8ass="lin8" nam   L51">= 51"/a>  8     81ruct="a href="+code=list_head" cla" class="sref">coh901318_base  {<coh901318_baseref="drivers/dma/coh901318.c#L52" id  L52" c8ass="lin8" nam   L52">= 52"/a>  8     82="drivers/dma/coh901318.c#L48" id  L48" c8  a href8"+code=dion value="v3.18     83drivers/dma/coh901318.c#L31" id  L31" c8ass="lin8" nam   L44">= 44"/a>  8     84href=".png"+code=__iomem" class/a> *"a hrea hrpan v>coh901318_lli"/a> *"a hrea hrpan v+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clasref">cohc -> a href=",ers/dma/coh901318.c#L31" id  L31" c8ss="line8" nam   L5">= =5"/a>"sp8     85ruct="a hreffffffffffffffffffffffffff="+code=coh901318_lli" class="sref">coh901318_lli"/a> *"a href="+code=lli" class="sref">lli"/a>;<= =6"/a>"sp8     86ructvers/dma/coh901318.c#L50" id  L50" c8ss="line8" nam   L7">= =7"/a>"sp8coh901318_lli"/a> *"a href="+code=lli" class="sre>lli"/a>;<lli"/a>;<= =8"/a>"spa href8truct="a hrefcode=sg_len" class=i>list_head"/a> i"+cod=e0vers/dma/coh901318.c#L43" id  L43" c8ass="lin8" nam   L49">= 49 st8uct="8"drivers/dma/coh901318.c#L10" id  L10" c9ass="lin9" nam   L50">= 50"/a>  9     9truct="a hrefwhile e=x" class="srefe>lli"/a>;<= 51"/a>  9     91ruct="a hrefffffffff=dev" class="sref"_vdb">head_config"/aef"_vdb"+code=dev" class="srass="sref">COHC_2_DEV ("a href="+code=cohc" class="sref">cohc ) (&"a href,comment">/* km="+ing"f="drivi %d, ef= %p, ref" 0x%x,ic/g 0x%x"driver="drivers/dma/coh901318.c#L9" id  L9" clasass="lin9" nam   L52">= 52"/a>  9     92ruct="a hreffffffffffffffffffomment">/* km="+ing"f="driv, dst 0x%x,i2">k 0x%x k_add" 0x%p\n"driver="driv,ers/dma/coh901318.c#L31" id  L31" c9  a href9"+code=dion value="v3.19     93ruct="a hreffffffffffffffffffosg_len" class=i>list_head"/a> i"+co,e=coh901318_pools>lli"/a>;<lli"/a>;<coh901318_pool lli"/a>;<dir"/a>;<lli"/a>;<dir"/a>;<= 44"/a>  9     94ruct="a hreffffffffffffffffffosg_len" class=s>lli"/a>;<k_add">list_head"/a>  a>k_add""+co,e=coh901318_pools>lli"/a>;<k_add">virtbase ;<k_add""+co)vers/dma/coh901318.c#L43" id  L43" c9ss="line9" nam   L5">= =5"/a>"sp9     95ruct="a hrefffffffffosg_len" class=i>list_head"/a> i"+co++vers/dma/coh901318.c#L43" id  L43" c9ss="line9" nam   L6">= =6"/a>"sp9     96ruct="a hrefffffffffosg_len" class=e>lli"/a>;<lli"/a>;<k_add">virtbase ;<k_add""+covers/dma/coh901318.c#L43" id  L43" c9ss="line9" nam   L7">= =7"/a>"sp9= =8"/a>"sp9 href98="driers/dma/coh901318.c#L43" id  L43" c9ss="line"" nam   L9">= =9"/a><= 
  #inc    nc driv="+code=VERBOSE_DEBUG"CONFIGhref="_FS>COHC_2_DEV ("NFIGhref="_FSdrivers/dma/coh901318.c#L10" id  L10" claass="line0" nam   L11">= 11 #in01   nc1drivers/dma/coh901318.c#L10" id  L10" claass="line0" nam   L12">= 12 #in02   nca href="+code=COH_DBG" class="s *"a hrref="FS_ASSIGN>COHC_2_DEV ("a *"a hrref="FS_ASSIGN+code=cohc" class="s">x ; 0; })vdevice  *"ay"+co)de=cohc" class="s">x ; 0; })vdevice  *"ay"+co)ers/dma/coh901318.c#L10" id  L10" claass="line0" nam   L13">= 13 #in03   nc3drivers/dma/coh901318.c#L31" id  L31" c10ass="line0" nam   L14">= 14 #in04   nc4href=".png"="+code=list_head" cla" class="sref">coh901318_base  {<coh901318_basegt;<= 15 #in05   nc5href=".png"="+code=list_head" cladentry>device  *"a entry="drie=virtbase" clasgrec"sntry>device  *"a rec"sntry"+covers/dma/coh901318.c#L43" id  L43" c10ass="line0" nam   L16">= 16 #in06   nc"drivers/dma/coh901318.c#L37" id  L37" c10ass="line0" nam   L17">= 17 #in07   nc7href=".png"code=sg_len" class=  {<list_head"/a>   {<;<flags"/a>;<virtbase ;<="use"="drie=virtbase" clasruf>device  *"abufef=",ers/dma/coh901318.c#L31" id  L31" c10ass="line0" nam   L18">= 18 #in08   nc8ruct="a hrefffffffffffffffffffffffffffosg_len" class=size_">scatterlist"/a>ize_"+code=dir" class="srrou v>coh901318_lli"/au v+cod,e=coh901318_poolsoff_">scatterlist"/asoff_"="drie=virtbase" clas _po">flags"/a>;<= 19 #in09   nc9ructvers/dma/coh901318.c#L50" id  L50" c1lass="linee" nam   L10">= 
  #innclud11truct="a href=u32" class="sre6" nam   L4 a href64ruct==sg_len" class=startedsref"nel">flags"/a>;<coh901318_basegt;<__iomem  *"pm+code=dev" class="srstartedsref"nel">flags"/a>;<= 11 #inc1   n11ruct="a hrefcode=sg_len" class=ef="_rou v>coh901318_lli"ef="_rou v hred=e=coh901318_poolgt;<coh901318_basegt;<  a href="+code=dev" class="sref;<virtbase ;= 12 #innclud11truct="a hrefcode=sg_len" class=i>list_head"/a> i"+covers/dma/coh901318.c#L11" id  L11" claass="linee" nam   L13">= 13 #innclud113ruct="a hrefcode=sg_len" class=ret>list_head"/a> rev hred=e0vers/dma/coh901318.c#L43" id  L43" c1lass="linee" nam   L14">= 14 #innclud114ruct="a hrefrharee=dev" class="sref"_ruf>device  *"aef"_ruf"+covers/dma/coh901318.c#L11" id  L11" claass="linee" nam   L15">= 15 #innclud115ruct="a hrefrharee=dev" class="srtmp>list_head"/a> tmp"+covers/dma/coh901318.c#L11" id  L11" claass="linee" nam   L16">= 16 #innclud116ruct="a hrefcode=sg_len" class=ef"_>ize>device  *"aef"_>ize"+covers/dma/coh901318.c#L11" id  L11" claass="linee" nam   L17">= 17 #innclud117drivers/dma/coh901318.c#L31" id  L31" c1lass="linee" nam   L18">= 18 #innclud11truct="a href=u32" class="sref"_ruf>device  *"aef"_ruf"+cod=e=coh901318_poolspan v<>device  *"aspan v<+code4*nca4,e=coh901318_poolGFP_KERNEL>device  *"aGFP_KERNEL"+co)vers/dma/coh901318.c#L43" id  L43" c1lass="linee" nam   L19">= 19 #innclud119ruct="a href="+c=u32" class="sref"_ruf>device  *"aef"_ruf"+cod==e=coh901318_poolNULL>device  *"aNULL"+co)ers/dma/coh901318.c#L10" id  L10" cllass="lin1e" nam   L20">= 2  #i1nclud12truct="a hrefffffffffgotoe=coh901318_poolerr_span v<>device  *"aerr_span v<"+covers/dma/coh901318.c#L11" id  L11" cllass="lin1e" nam   L21">= 21 #i1nclud12oid="a href="=sg_len" class=tmp>list_head"/a> tmp"+cod=e=coh901318_poolgt"_ruf>device  *"aef"_ruf"+covers/dma/coh901318.c#L11" id  L11" cllass="lin1e" nam   L22">= 22 #i1nclud1 <= 23 #i1nclud123id="a href="=sg_len" class=tmp>list_head"/a> tmp"+cod+=e=coh901318_poolspan vf>device  *"aspan vf+code=cohc" class="stmp>list_head"/a> tmp"+co,comment">/* km="+ing"f="driv COH-- enabled c#L ref"nel"\n"driver="driv)vers/dma/coh901318.c#L43" id  L43" c1lass="lin1e" nam   L24">= 24 #i1nclud124drivers/dma/coh901318.c#L31" id  L31" c1lass="lin1e" nam   L25">= 25"/a><<1a hre125ruct="a href   i"+cod=e0ve=sg_len" class=i>list_head"/a> i"+codnclue=coh901318_poolgt;<coh901318_basegt;<flags"/a>;<list_head"/a> i"+co++)ers/dma/coh901318.c#L10" id  L10" cllass="linee" nam   L26">= 26 #i1nclud126ruct="a hrefffffffff="+c=u32" class="srstartedsref"nel">flags"/a>;<list_head"/a> i"+co))ers/dma/coh901318.c#L10" id  L10" cllass="linee" nam   L27">= 27 #i1nclud127ruct="a hrefffffffffa href="=sg_len" class=tmp>list_head"/a> tmp"+cod+=e=coh901318_poolspan vf>device  *"aspan vf+code=cohc" class="stmp>list_head"/a> tmp"+co,comment">/* km="+ing"f="drivref"nel %d\n"driver="driv,e=coh901318_pooli>list_head"/a> i"+co)vers/dma/coh901318.c#L43" id  L43" c1lass="linee" nam   L28">= 28"/a><<1a hre1="drivers/dma/coh901318.c#L29" id  L29" c1lass="lin1e" nam   L29">= 29 #d1efine129ruct="a href=u32" class="srtmp>list_head"/a> tmp"+cod+=e=coh901318_poolspan vf>device  *"aspan vf+code=cohc" class="stmp>list_head"/a> tmp"+co,comment">/* km="+ing"f="drivPf=" an v< nbr %d\n"driver="driv,e=coh901318_poolef="_rou v>coh901318_lli"ef="_rou v hre)vers/dma/coh901318.c#L43" id  L43" c1lass="lin1e" nam   L30">= 30"/a><<1a hre13truct="a href=u32" class="sref"_>ize>device  *"aef"_>ize"+cod=e=coh901318_pooltmp>list_head"/a> tmp"+cod -e=coh901318_poolgt"_ruf>device  *"aef"_ruf"+covers/dma/coh901318.c#L11" id  L11" cllass="lin1e" nam   L31">= 31 #i1fdef=131drivers/dma/coh901318.c#L10" id  L10" cllass="lin1e" nam   L32">= 32 #d1efine13truct="a hrefomment">/* kmalloc() */ = 13 #incclud133ruct="a hrefc"+ce=virtbase" clas _po">flags"/a>;<ize>device  *"aef"_>ize"+co)ers/dma/coh901318.c#L10" id  L10" cllass="lin1e" nam   L34">= 34 #d1efine134ruct="a hrefffffffffgotoe=coh901318_poolouv>coh901318_lli"ouv"+covers/dma/coh901318.c#L11" id  L11" cllass="lin1e" nam   L35">= 35 #e1ndifv13"drivers/dma/coh901318.c#L26" id  L26" c1lass="lin1e" nam   L36">= 36"/a><<1a hre136ruct="a hrefc"+c=dir" class="srrou v>coh901318_lli"/au v+cod ss="cou32" class="sref"_>ize>device  *"aef"_>ize"+co -ee=virtbase" clas _po">flags"/a>;<= 37 st1ruct=137ruct="a hrefffffffff=dir" class="srrou v>coh901318_lli"/au v+cod =e=coh901318_poolgt"_>ize>device  *"aef"_>ize"+co -ee=virtbase" clas _po">flags"/a>;<= 38"/a>  1     13"drivers/dma/coh901318.c#L29" id  L29" c1lass="lin1e" nam   L39">= 39"/a>  1     139ruct="a href="+c=u32" class="srcopy_to"use">virtbase ;device  *"aef"_ruf"+cod+ee=virtbase" clas _po">flags"/a>;<= 40"/a>  1     14truct="a hrefffffffff=sg_len" class=ret>list_head"/a> rev hred=e-=sg_len" class=EINVAL>device  *"aEINVAL"+covers/dma/coh901318.c#L11" id  L11" cllass="lin1e" nam   L41">= 41"/a>  1     14oid="a href="=sg_len" class=ret>list_head"/a> rev hred=e=u32" class="srrou v>coh901318_lli"/au v+codvers/dma/coh901318.c#L11" id  L11" cllass="lin1e" nam   L42">= 42"/a>  1     1struct="a hrefe=virtbase" clas _po">flags"/a>;<coh901318_lli"/au v+codvers/dma/coh901318.c#L11" id  L11" cllass="linee" nam   L43">= 43"/a>  1     143drivers/dma/coh901318.c#L31" id  L31" c1lass="lin1e" nam   L44">= 44"/a>  1     144ruct==sg_len" class=ouv>coh901318_lli"ouv"+co:ers/dma/coh901318.c#L31" id  L31" c1lass="lin1e" nam   L45">= 45"/a>  1     1 a href="+code=u32" class="srkhree>flags"/a>;<device  *"aef"_ruf"+co)vers/dma/coh901318.c#L43" id  L43" c1lass="lin1e" nam   L46">= 46"/a>  1     1 a href="+code>list_head"/a> rev hrevers/dma/coh901318.c#L43" id  L43" c1lass="lin1e" nam   L47">= 47 };1<= 48"/a><<1a hre1="drive=coh901318_poolerr_span v<>device  *"aerr_span v<"+co:ers/dma/coh901318.c#L31" id  L31" c1lass="lin1e" nam   L49">= 49 st1ruct=149 href="+code>= 50"/a>  1     1structiers/dma/coh901318.c#L43" id  L43" c1lass="lin1e" nam   L51">= 51"/a>  1     151drivers/dma/coh901318.c#L10" id  L10" cllass="lin1e" nam   L52">= 52"/a>  1     1struct=".png"const"="+code=list_head" cla flags"/a>;<flags"/a>;< {<  a href1="+code=dion value="v3.115    153ruct="a hrefe=dev" class="srowne">virtbase ;virtbase ;ass="lin15" nam   L44">= 44"/a>  15    154ruct="a hrefe=dev" class="sropf">sg_len ;<sg_len ;<ass="lin1"" nam   L5">= =5"/a>"sp1a    155ruct="a hrefe=dev" class="srref">list_head"/a> ref"+cod="a hreffff=e=coh901318_pool  {<list_head"/a>   {<ass="lin15" nam   L46">= 46"/a>  15    156ruct="a hrefe=dev" class="srllseek>lli"/a>;<;<ass="lin15" nam   L47">= 47 };15ass="lin15" nam   L48">= 48"/a><<15 hre15"drivers/dma/coh901318.c#L29" id  L29" c15ass="lin15" nam   L49">= 49 st15uct=15"drivers/dma/coh901318.c#L10" id  L10" c16ass="lin16" nam   L50">= 50"/a>  16    160href=".png"code=sg_len" class=__<lli"/a>;< i {<= 51"/a>  16    16oid="vers/dma/coh901318.c#L50" id  L50" c16ass="lin16" nam   L52">= 52"/a>  16    16<device  *"a rec"sntry"+cod=e=coh901318_poolgt;<dir"/a>;</* km="+ing"f="driv re"driver="driv,e=coh901318_poolNULL>device  *"aNULL"+co)vers/dma/coh901318.c#L48" id  L48" c16ass="lin16" nam   L44">= 44"/a>  16    164drivers/dma/coh901318.c#L31" id  L31" c16ss="line16" nam   L5">= =5"/a>"sp16    165ruct="a hrefc+cod)e=coh901318_poolgt;<flags"/a>;</* km="+ing"f="driv=".pus"driver="driv,ers/dma/coh901318.c#L31" id  L31" c16ss="line1"" nam   L6">= =6"/a>"sp1a    166ruct="a hreffffffffffffffffffffffffffff=coh901318_poolS_IFRE">COH_DBG ("aS_IFRE"ruct=|f=coh901318_poolS_IRUGO>COH_DBG ("aS_IRUGO+cod,ers/dma/coh901318.c#L31" id  L31" c16ass="lin16" nam   L47">= 47 };16device  *"a rec"sntry"+co,e=coh901318_poolNULL>device  *"aNULL"+co,ers/dma/coh901318.c#L31" id  L31" c16ass="lin16" nam   L48">= 48"/a><<16 hre168ruct="a hrefffffffffffffffffffffffffff +code=cohc" class="sref> {<flags"/a>;< {<= 49 st16uct=169 href="+code>= 50"/a>  17    17tructiers/dma/coh901318.c#L43" id  L43" c17ass="lin17" nam   L51">= 51"/a>  17    171drivers/dma/coh901318.c#L10" id  L10" cl7ass="lin17" nam   L52">= 52"/a>  17    17truct=".png"+code=__iomem" class="exa >lli"/a>;< {<list_head"/a> exa _  {<= 44"/a>  17    174id="a href="=sg_len" class=gr;<virtbase ;device  *"a rec"sntry"+co)vers/dma/coh901318.c#L48" id  L48" c17ss="line17" nam   L5">= =5"/a>"sp17    175ructiers/dma/coh901318.c#L43" id  L43" c17ss="line17" nam   L6">= =6"/a>"sp17    17"drivers/dma/coh901318.c#L37" id  L37" c17ss="line1"" nam   L7">= =7"/a>"sp1a;< i {<= 48"/a><<17 hre17truct=chan" class="sm;<lli"/a>;< exa _  {<= 49 st17uct=179ruct"drivers/dma/coh901318.c#L34" id  L34" c18ass="lin18" nam   L50">= 50"/a>  18    18"drivers/dma/coh901318.c#L31" id  L31" c18ass="lin18" nam   L51">= 51"/a>  18    181ructf="+code=COH_DBG" class="s *"a hrref="FS_ASSIGN>COHC_2_DEV ("a *"a hrref="FS_ASSIGN+code=cohc" class="s">x ; 0; })vdevice  *"ay"+co)ers/dma/coh901318.c#L31" id  L31" c18ass="lin18" nam   L52">= 52"/a>  18    18</* kmalloc() */ <("NFIGhref="_FShref="drivers/dma/coh901318.c#L13" id  L13" cl8ass="lin18" nam   L44">= 44"/a>  18    184drivers/dma/coh901318.c#L31" id  L31" c18ss="line18" nam   L5">= =5"/a>"sp18    185href=".png"=u32" class="sr<<">= =5ist_head"/a> i<">= id="a="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clasto_" class="sref">chan . a hrto_" class="sref"+code="+code=coh901318_pool recref">chan . a hr recref"+codee=virtbase" clasref">chan . a href="+cod)ers/dma/coh901318.c#L31" id  L31" c18ss="line18" nam   L6">= =6"/a>"sp18    186ructvers/dma/coh901318.c#L50" id  L50" c18ss="line18" nam   L7">= =7"/a>"sp18= r_of>device  *"a = r_of+code=cohc" class="sref">chan . a href="+cod,a="+code=coh901318_pool" class="sref">chan . a hre class="sref""+co,f=u32" class="srref">chan . a href="+cod)vers/dma/coh901318.c#L18" id  L18" claass="line"" nam   L18">= 18 #inc hre188="driers/dma/coh901318.c#L43" id  L43" c18ass="lin18" nam   L49">= 49 st18uct=18"drivers/dma/coh901318.c#L10" id  L10" c19ass="lin19" nam   L50">= 50"/a>  19    190href=".png"=u32" class="sr<<">= =5ist_head"/a> i<">= id="a=coh901318_pool recadd"_">scatterlist"/a recadd"_"drivers/dma/coh901318.c#L10" id  L10" c19ass="lin19" nam   L51">= 51"/a>  19    191ruct=coh901318_pool" cc_ef"_add">virtbase ;<" cc_ef"_add"+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c19ass="lin19" nam   L52">= 52"/a>  19    192ructvers/dma/coh901318.c#L50" id  L50" c19  a href19"+code=dion value="v3.119    193ruct="a hrefomment">/* kmalloc() */ = 44"/a>  19    194ruct="a href="+c=u32" class="srcof">cohc -> a href="+code=chan" class="sruntime_add">dir"/a>;<= =5"/a>"sp19    195ruct="a hrefffffffff>cohc -> a href="+code=chan" class="sruntime_add">dir"/a>;<= =6"/a>"sp19    19a href="+code>cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>.h &>coh901318_poole.h &"+co+code=chan" class="sref"_ hre>chan . a href="_ hre"+co[=sg_len" class= cohc -> a href="+code=chan" class="si">list_head"/a> i""+co]e=dev" class="sref"_add">dir"/a>;<= =7"/a>"sp19= =8"/a>"sp19 hre19"drivers/dma/coh901318.c#L29" id  L29" c19ss="line1"" nam   L9">= =9"/a><= =5ist_head"/a> i<">= id="aconst"="+code=list_head" clae class="sparam">flags"/a>;< {<= 
  #i2c    2c driv=coh901318_pool" cc_ef="_param>virtbase ;<" cc_ef="_param+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c2aass="lin20" nam   L11">= 11 #i201   20oid="vers/dma/coh901318.c#L50" id  L50" c2aass="lin20" nam   L12">= 12 #i202   202 href="+code>cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>.h &>coh901318_poole.h &"+co+code=chan" class="sref"_ hre>chan . a href="_ hre"+co[=sg_len" class= cohc -> a href="+code=chan" class="si">list_head"/a> i""+co]e=dev" class="srparam>virtbase ;= 13 #i203   2c3driviers/dma/coh901318.c#L43" id  L43" c20ass="lin20" nam   L14">= 14 #i204   204drivers/dma/coh901318.c#L31" id  L31" c20ass="lin20" nam   L15">= 15 #i205   205href=".png"=u32" class="sr<<">= =5ist_head"/a> i<">= id="aconst"="+code=list_head" clae c_ recref"ne">coh901318_pool = 16 #i206   2c"driv=coh901318_pool" cc_ef="_ hre>chan . a hre cc_ef="_ hre+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c2aass="line0" nam   L17">= 17 #i207   2c7hrefvers/dma/coh901318.c#L50" id  L50" c2aass="line0" nam   L18">= 18 #i208   2c8ruct="a href>cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>.h &>coh901318_poole.h &"+co+code=chan" class="sref"_ hre>chan . a href="_ hre"+co[=sg_len" class= cohc -> a href="+code=chan" class="si">list_head"/a> i""+co]vers/dma/coh901318.c#L20" id  L20" claass="line0" nam   L19">= 19 #i209   2c9ructiers/dma/coh901318.c#L43" id  L43" c2lass="lin2e" nam   L10">= 
  #i2nclud21"drivers/dma/coh901318.c#L31" id  L31" c2aass="lin2"" nam   L11">= 11 #i2c1   211ruct=".png"+code=__iomem" classenable_pow5 cav">virtbase ;chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c2aass="lin2e" nam   L12">= 12 #i2nclud212ructvers/dma/coh901318.c#L50" id  L50" c2aass="lin2e" nam   L13">= 13 #i2nclud213ruct="a href a href="+code=flags" class="sref">flags"/a>;<= 14 #i2nclud214ruct="a href="+code=coh901318_poolpow5 cav">virtbase ;">__iomem  *"pm+cod =p+code=cohc" class="sref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>">__iomem  *"pm+code=lass="comment5 class="sref">u32 = 15 #i2nclud21"drivers/dma/coh901318.c#L26" id  L26" c2aass="lin2e" nam   L16">= 16 #i2nclud216ruct="a href=chan" class="s>pin_lock_irqcav">virtbase ;<>pin_lock_irqcav"+code+code=cohc" class="s>">__iomem  *"pm+cod+code=chan" class="s2ock>lli"/a>;<flags"/a>;<= 17 #i2nclud217drivers/dma/coh901318.c#L31" id  L31" c2lass="lin2e" nam   L18">= 18 #i2nclud21truct="a href=u32" class="sr>">__iomem  *"pm+cod+code=chan" class="sstartedsref"nel">flags"/a>;<cohc -> a href="+code=chan" class="si">list_head"/a> i""+co)vers/dma/coh901318.c#L18" id  L18" c2aass="linee" nam   L19">= 19 #i2nclud21"drivers/dma/coh901318.c#L10" id  L10" c2lass="lin2e" nam   L20">= 2  #i2nclud22truct="a href="+c!=u32" class="sr>">__iomem  *"pm+cod+code=chan" class="sstartedsref"nel">flags"/a>;<= 21 #i2nclud221ruct="a hrefffffffff=mment">/* kmalloc() */ < COHno"+coder"codends toeaccess memoryhref="drivers/dma/coh901318.c#L13" id  L13" c2lass="lin2e" nam   L22">= 22 #i2nclud222ruct="a hrefffffffff=cohc" class="sref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>.h &>coh901318_poole.h &"+co+code=chan" class="saccess_memory_=".p">coh901318_baseaccess_memory_=".p"+code=cohc" class="sref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="sef">dev ;<= 23 #i2nclud223id="a href="""""""""""""""""""""""""""""""""""""""""""""""""""=u32" class="srsalf">coh901318_basesalf""+co)vers/dma/coh901318.c#L18" id  L18" c2lass="lin2e" nam   L24">= 24 #i2nclud224ruct="a hrefiers/dma/coh901318.c#L43" id  L43" c2lass="lin2e" nam   L25">= 25"/a><<2a hre22"drivers/dma/coh901318.c#L26" id  L26" c2lass="lin2e" nam   L26">= 26 #i2nclud226ruct="a href=chan" class="s>pin_unlock_irqrestor">virtbase ;<>pin_unlock_irqrestor"+code+code=cohc" class="s>">__iomem  *"pm+cod+code=chan" class="s2ock>lli"/a>;<flags"/a>;<= 27 #i2nclud227ructiers/dma/coh901318.c#L43" id  L43" c2lass="lin2e" nam   L28">= 28"/a><<2a hre2="driv=".png"+code=__iomem" classdisable_pow5 cav">virtbase ;chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c2lass="lin2e" nam   L29">= 29 #d2efine229ructvers/dma/coh901318.c#L50" id  L50" c2lass="lin2e" nam   L30">= 30"/a><<2a hre23truct="a href a href="+code=flags" class="sref">flags"/a>;<= 31 #i2fdef=231ruct="a href="+code=list_head" clapow5 cav">virtbase ;">__iomem  *"pm+cod =p+code=cohc" class="sref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>">__iomem  *"pm+code=lass="comment5 class="sref">u32 = 32 #d2efine23<= 13 #i2cclud233ruct="a href=chan" class="s>pin_lock_irqcav">virtbase ;<>pin_lock_irqcav"+code+code=cohc" class="s>">__iomem  *"pm+cod+code=chan" class="s2ock>lli"/a>;<flags"/a>;<= 34 #d2efine234drivers/dma/coh901318.c#L31" id  L31" c2lass="lin2e" nam   L35">= 35 #e2ndifv235ruct="a href="+c!=u32" class="sr>">__iomem  *"pm+cod+code=chan" class="sstartedsref"nel">flags"/a>;<= 36"/a><<2a hre236ruct="a hrefffffffffomment">/* kmalloc() */ < COHcodends toeaccess memoryhref="drivers/dma/coh901318.c#L13" id  L13" c2lass="lin2e" nam   L37">= 37 st2ruct=237ruct="a hrefffffffff=dir" class="srrof">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="s>.h &>coh901318_poole.h &"+co+code=chan" class="saccess_memory_=".p">coh901318_baseaccess_memory_=".p"+code=cohc" class="sref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="sef">dev ;<= 38"/a>  2     238ruct="a hrefffffffffffffffffffffffffff """""""""""""""""""""""=u32" class="sr"+c">coh901318_base"+c""dri)vers/dma/coh901318.c#L18" id  L18" c2lass="lin2e" nam   L39">= 39"/a>  2     239ruct="a hrefiers/dma/coh901318.c#L43" id  L43" c2lass="lin2e" nam   L40">= 40"/a>  2     24"drivers/dma/coh901318.c#L31" id  L31" c2lass="lin2e" nam   L41">= 41"/a>  2     24oid="a href="=sg_len" class=>">__iomem  *"pm+cod+code=chan" class="sstartedsref"nel">flags"/a>;<cohc -> a href="+code=chan" class="si">list_head"/a> i""+co)vers/dma/coh901318.c#L18" id  L18" c2lass="lin2e" nam   L42">= 42"/a>  2     24<= 43"/a>  2     243ruct="a href=chan" class="s>pin_unlock_irqrestor">virtbase ;<>pin_unlock_irqrestor"+code+code=cohc" class="s>">__iomem  *"pm+cod+code=chan" class="s2ock>lli"/a>;<flags"/a>;<= 44"/a>  2     244ructiers/dma/coh901318.c#L43" id  L43" c2lass="lin2e" nam   L45">= 45"/a>  2     24"drivers/dma/coh901318.c#L26" id  L26" c2lass="lin2e" nam   L46">= 46"/a>  2     2 a hre=".png"=u32" class="sr<<">= =5ist_head"/a> i<">= id="acode=sg_len" class=  {<head_ctrl"/a>;  {<chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,f=u32" class="sref">u32   a href="+code=head_ctrl" clarontrf">coh901318_pool = 47 };2<= 48"/a><<2a hre24truct="a hrefcode=sg_len" class=ref"ne">coh901318_pool ef"ne""+cod=e=coh901318_pool cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L18" id  L18" c2lass="lin2e" nam   L49">= 49 st2ruct=249 href="+code+code=__iomem" class="iomem>list_head"/a> ="iomem"+code=virtbase" clascoh901318_basecohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= 50"/a>  2     25"drivers/dma/coh901318.c#L31" id  L31" c2lass="lin2e" nam   L51">= 51"/a>  2     25oid="a href="=sg_len" class=write">coh901318_poolwrite"+code=cohc" class="srentrf">coh901318_pool = 52"/a>  2     252ruct="a hreffffffff=virtbase" clascoh901318_basedevice  *"a="s *"a hrCX_CTRL"+cod+ers/dma/coh901318.c#L31" id  L31" c2lass="lin2="+code=dion value="v3.125    253id="a href=""""""""=COH_DBG" class="s *"a hrCX_CTRL_SPACIN">COH_DBG ("a="s *"a hrCX_CTRL_SPACIN""+codee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c2>ass="lin25" nam   L44">= 44"/a>  25    254ruct="a href>ass="lin2"" nam   L5">= =5"/a>"sp2a    255ructiers/dma/coh901318.c#L43" id  L43" c2>ass="lin25" nam   L46">= 46"/a>  25    25"drivers/dma/coh901318.c#L37" id  L37" c2>ass="lin25" nam   L47">= 47 };25= =5ist_head"/a> i<">= id="acode=sg_len" class=  {<chan . a hre c> {<chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,f=u32" class="sref">u32   a href="+code=head_ctrl" claronf>device  *"a ass="lin25" nam   L48">= 48"/a><<25 hre25"drivvers/dma/coh901318.c#L50" id  L50" c25ass="lin25" nam   L49">= 49 st25uct=259ruct="a hrefcode=sg_len" class=ref"ne">coh901318_pool ef"ne""+cod=e=coh901318_pool cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L18" id  L18" c26ass="lin26" nam   L50">= 50"/a>  26    260 href="+code+code=__iomem" class="iomem>list_head"/a> ="iomem"+code=virtbase" clascoh901318_basecohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= 51"/a>  26    261drivers/dma/coh901318.c#L10" id  L10" c26ass="lin26" nam   L52">= 52"/a>  26    262id="a href="=sg_len" class=write">coh901318_poolwrite"+code=cohc" class="srenf>device  *"a coh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L31" id  L31" c26ass="lin26" nam   L44">= 44"/a>  26    264ruct="a hreffffffff=COH_DBG" class="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN"ructe=virtbase" clasref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c26ss="line26" nam   L5">= =5"/a>"sp26    265ruct="a href>= =6"/a>"sp2a    266ructiers/dma/coh901318.c#L43" id  L43" c26ass="lin26" nam   L47">= 47 };26= 48"/a><<26 hre26"drivers/dma/coh901318.c#L29" id  L29" c26ass="lin26" nam   L49">= 49 st26uct=269href=".png"code=sg_len" class=  {<chan . a hre c> {<chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c27ass="lin27" nam   L50">= 50"/a>  27    27tructvers/dma/coh901318.c#L50" id  L50" c27ass="lin27" nam   L51">= 51"/a>  27    27oid="a href="=sg_len" class=ef">u32   a href="+code=head_ctrl" clava">coh901318_poolva""+covers/dma/coh901318.c#L18" id  L18" c27ass="lin27" nam   L52">= 52"/a>  27    27truct="a hrefcode=sg_len" class=ref"ne">coh901318_pool ef"ne""+cod=e=coh901318_pool cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L18" id  L18" c27  a href27"+code=dion value="v3.127    273 href="+code+code=__iomem" class="iomem>list_head"/a> ="iomem"+code=virtbase" clascoh901318_basecohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= 44"/a>  27    274drivers/dma/coh901318.c#L31" id  L31" c27ss="line27" nam   L5">= =5"/a>"sp27    27a href="+code=u32" class="srdisable_pow5 cav">virtbase ;cohc ) (&"a hrefvers/dma/coh901318.c#L18" id  L18" c27ss="line27" nam   L6">= =6"/a>"sp27    27"drivers/dma/coh901318.c#L37" id  L37" c27ss="line2"" nam   L7">= =7"/a>"sp2acoh901318_poolva""+cod=e=coh901318_poolref"">coh901318_poolref""+code=virtbase" clascoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L31" id  L31" c27ass="lin27" nam   L48">= 48"/a><<27 hre278ruct="a hrefffffffffffff=COH_DBG" class="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN"ructdee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c27ass="lin27" nam   L49">= 49 st27uct=27"drivers/dma/coh901318.c#L10" id  L10" c28ass="lin28" nam   L50">= 50"/a>  28    28truct="a href=mment">/* kmalloc() */ = 51"/a>  28    28oid="a href="=sg_len" class=va">coh901318_poolva""+cod|=e=coh901318_pool="s *"a hrCX_CF"_CH_ENABLE>virtbase ;<="s *"a hrCX_CF"_CH_ENABLE"+covers/dma/coh901318.c#L18" id  L18" c28ass="lin28" nam   L52">= 52"/a>  28    282id="a href="=sg_len" class=write">coh901318_poolwrite"+code=cohc" class="sva">coh901318_poolva""+co,f=u32" class="srcoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L31" id  L31" c28  a href28"+code=dion value="v3.128    283id="a href=""""""""=COH_DBG" class="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN"ructdee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c28ass="lin28" nam   L44">= 44"/a>  28    284drivers/dma/coh901318.c#L31" id  L31" c28ss="line28" nam   L5">= =5"/a>"sp28    285ruct="a href>= =6"/a>"sp28    286ructiers/dma/coh901318.c#L43" id  L43" c28ss="line28" nam   L7">= =7"/a>"sp28= 18 #i2c hre28"driv=".png"code=sg_len" class=  {<ked_8"st>chan . a hre c> {<ked_8"st+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,ers/dma/coh901318.c#L31" id  L31" c2aass="lin28" nam   L49">= 49 st28uct=289ruct="a hrefffffffffffffffffffffffffffffff="+code=coh901318_pool" class="slli>list_head"/a> " class="slli"+code=virtbase" claslli>list_head"/a> lli"+cofers/dma/coh901318.c#L10" id  L10" c29ass="lin29" nam   L50">= 50"/a>  29    29tructvers/dma/coh901318.c#L50" id  L50" c29ass="lin29" nam   L51">= 51"/a>  29    291ruct="a hrefcode=sg_len" class=ref"ne">coh901318_pool ef"ne""+cod=e=coh901318_pool cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L18" id  L18" c29ass="lin29" nam   L52">= 52"/a>  29    292id="a href="+code=__iomem" class="iomem>list_head"/a> ="iomem"+code=virtbase" clascoh901318_basecohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= 44"/a>  29    294id="a href="=sg_len" class=f="_ON>COHC_2_DEV f="_ON+code=cohc" class="sref"">coh901318_poolref""+code=virtbase" clascoh901318_baseCOH_DBG ("a="s *"a hrCX_STAT"+cod+ers/dma/coh901318.c#L31" id  L31" c29ss="line29" nam   L5">= =5"/a>"sp29    295ruct="a hrefffffffff"""""=COH_DBG" class="s *"a hrCX_STAT_SPACIN">COH_DBG ("a="s *"a hrCX_STAT_SPACIN"ructe=virtbase" clasref"ne">coh901318_pool ef"ne""+co)p+codeers/dma/coh901318.c#L31" id  L31" c29ss="line29" nam   L6">= =6"/a>"sp29    296ruct="a hreffffffff=COH_DBG" class="s *"a hrCX_STAT_ACTIVE>virtbase ;<="s *"a hrCX_STAT_ACTIVE"+co)vers/dma/coh901318.c#L18" id  L18" c2ass="line29" nam   L7">= =7"/a>"sp29= =8"/a>"sp29 hre29truct="a href=u32" class="srwrite">coh901318_poolwrite"+code=cohc" class="slli>list_head"/a> lli"+co+code=chan" class="ssrc_add">dir"/a>;<= =9"/a><coh901318_basevirtbase ;<="s *"a hrCX_SRC_ADDR"+cod+ers/dma/coh901318.c#L31" id  L31" c3aass="lin3"" nam   L10">= 
  #i3c    30truct="a hreffffffff=COH_DBG" class="s *"a hrCX_SRC_ADDR_SPACIN">COH_DBG ("a="s *"a hrCX_SRC_ADDR_SPACIN"ructdee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c3aass="lin30" nam   L11">= 11 #i301   301drivers/dma/coh901318.c#L10" id  L10" c3aass="lin30" nam   L12">= 12 #i302   302id="a href="=sg_len" class=write">coh901318_poolwrite"+code=cohc" class="slli>list_head"/a> lli"+co+code=chan" class="sdst_add">dir"/a>;<coh901318_basevirtbase ;<="s *"a hrCX_DST_ADDR"+cod+ers/dma/coh901318.c#L10" id  L10" c3a4ss="lin30" nam   L44">= 44"/a>  304   304ruct="a hreffffffff=COH_DBG" class="s *"a hrCX_DST_ADDR_SPACIN">COH_DBG ("a="s *"a hrCX_DST_ADDR_SPACIN"ructdee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c3a5ss="lin30" nam   L5">= =5"/a>"sp305   30"drivers/dma/coh901318.c#L26" id  L26" c3aass="lin30" nam   L16">= 16 #i306   306ruct="a href=chan" class="swrite">coh901318_poolwrite"+code=cohc" class="slli>list_head"/a> lli"+co+code=chan" class="s8">k_add">dir"/a>;<k_add""+co,f=u32" class="srcoh901318_basevirtbase ;<="s *"a hrCX_LNK_ADDR"+cod+ers/dma/coh901318.c#L10" id  L10" c3a7ss="lin30" nam   L7">= =7"/a>"sp307   307ruct="a hreffffffff=COH_DBG" class="s *"a hrCX_LNK_ADDR_SPACIN">COH_DBG ("a="s *"a hrCX_LNK_ADDR_SPACIN"ructdee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c3a8ss="lin30" nam   L8">= =8"/a>"sp308   30"drivers/dma/coh901318.c#L29" id  L29" c3aass="lin30" nam   L19">= 19 #i309   309ruct="a href=u32" class="srwrite">coh901318_poolwrite"+code=cohc" class="slli>list_head"/a> lli"+co+code=chan" class="srentrf">coh901318_pool coh901318_basedevice  *"a="s *"a hrCX_CTRL"+cod+ers/dma/coh901318.c#L31" id  L31" c3lass="lin3e" nam   L10">= 
  #i3nclud31truct="a hreffffffff=COH_DBG" class="s *"a hrCX_CTRL_SPACIN">COH_DBG ("a="s *"a hrCX_CTRL_SPACIN""+codee=sg_len" class=ref"ne">coh901318_pool ef"ne""+co)vers/dma/coh901318.c#L18" id  L18" c3aass="lin3"" nam   L11">= 11 #i3c1   311drivers/dma/coh901318.c#L10" id  L10" c3aass="lin3e" nam   L12">= 12 #i3nclud312 href="+code>= 13 #i3nclud313driviers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L14">= 14 #i3nclud314drivers/dma/coh901318.c#L31" id  L31" c3aass="lin3e" nam   L15">= 15 #i3nclud315href=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+codeers/dma/coh901318.c#L31" id  L31" c3aass="lin3e" nam   L16">= 16 #i3nclud31"driv=coh901318_pool" class="sdes"_get>list_head"/a> " class="sdes"_get+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c3aass="lin3e" nam   L17">= 17 #i3nclud317hrefvers/dma/coh901318.c#L50" id  L50" c3lass="lin3e" nam   L18">= 18 #i3nclud31truct="a href="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sdes">cohc -> des""+covers/dma/coh901318.c#L43" id  L43" c3aass="lin3e" nam   L19">= 19 #i3nclud31"drivers/dma/coh901318.c#L10" id  L10" c3lass="lin3e" nam   L20">= 2  #i3nclud32truct="a href="+c=chan" class="s8"st_empty>device  *"a8"st_empty+code+code=cohc" class="sref">cohc -> a href="+code=chan" class="shree>flags"/a>;<= 21 #i3nclud321ruct="a hrefffffffff=mment">/* kmalloc() */ = 22 #i3nclud322ruct=mment">/* kmalloc() *="a hrefffffffffdeeTODO:= 23 #i3nclud323id="=mment">/* kmalloc() *="a hrefffffffffdeea+codemany span = 24 #i3nclud324ruct=mment">/* kmalloc() *="a hrefffffffffdeef="drivers/dma/coh901318.c#L13" id  L13" c3lass="lin3e" nam   L25">= 25"/a><<3a hre325ruct="a hrefffffffff=chan" class="sdes">cohc -> des""+cod=e=coh901318_poolkzan v<>device  *"akzan v<+code=izeofe="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+co),f=virtbase" clasGFP_NOWAIT>COH_DBG ("aGFP_NOWAIT"+co)vers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L26">= 26 #i3nclud326ruct="a hrefffffffff="+c=chan" class="sdes">cohc -> des""+cod==e=coh901318_poolNULL>device  *"aNULL"+co)ers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L27">= 27 #i3nclud327ruct="a hrefffffffffa href="gotoe=coh901318_poolout>device  *"aout"+covers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L28">= 28"/a><<3a hre328ruct="a hrefffffffff=coh901318_poolINIT_LIST_HEAD>device  *"aINIT_LIST_HEAD+code+code=cohc" class="sdes">cohc -> des""+co+code=chan" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L29">= 29 #d3efine329ruct="a hrefffffffff=cohc" class="sdrecasync_txsdes"riptor_<lli"/a>;<cohc -> des""+co+code=chan" class="sdes">cohc -> des""+co,p+code=cohc" class="sref">cohc -> a href="+code=chan" class="sref">chan . a href="+cod)vers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L30">= 30"/a><<3a hre33truct="a href} drivdvers/dma/coh901318.c#L50" id  L50" c3lass="lin3e" nam   L31">= 31 #i3fdef=331ruct="a hrefffffffff=mment">/* kmalloc() */ = 32 #d3efine332ruct="a hrefffffffff=cohc" class="sdes">cohc -> des""+cod=e=coh901318_pool8"st_first_entry>device  *"a8"st_first_entry+code+code=cohc" class="sref">cohc -> a href="+code=chan" class="shree>flags"/a>;<= 13 #i3cclud333id="a href="""""""""""""""""""""""""""""""""="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+co,ers/dma/coh901318.c#L31" id  L31" c3aass="lin3e" nam   L34">= 34 #d3efine334ruct="a hrefffffffffffffffffffffffffffffffff=chan" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L35">= 35 #e3ndifv335ruct="a hrefffffffff=chan" class="s8"st_de">coh901318_pool8"st_de"+code+code=cohc" class="sdes">cohc -> des""+co+code=chan" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L36">= 36"/a><<3a hre336ruct="a hrefffffffffomment">/* kmalloc() */ = 37 st3ruct=337ruct="a hrefffffffff=dir" class="srdes">cohc -> des""+co+code=chan" class="ssg>dir"/a>;<device  *"aNULL"+covers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L38">= 38"/a>  3     338ruct="a hrefffffffff=dir" class="srdes">cohc -> des""+co+code=chan" class="ssg_le">chan . a hrsg_le""+cod=e0vers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L39">= 39"/a>  3     339ruct="a hrefffffffff=cohc" class="sdes">cohc -> des""+co+code=chan" class="sdes">cohc -> des""+coe=dev" class="srcan back>lli"/a>;<device  *"aNULL"+covers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L40">= 40"/a>  3     34truct="a hrefffffffff=cohc" class="sdes">cohc -> des""+co+code=chan" class="sdes">cohc -> des""+coe=dev" class="srcan back_param>virtbase ;<"an back_param"+cod=e=coh901318_poolNULL>device  *"aNULL"+covers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L41">= 41"/a>  3     34oid="a href="iers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L42">= 42"/a>  3     34<= 43"/a>  3     343ruct==coh901318_poolout>device  *"aout"+co:ers/dma/coh901318.c#L11" id  L11" c3lass="lin3e" nam   L44">= 44"/a>  3     344ruct="a href>cohc -> des""+covers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L45">= 45"/a>  3     345ructiers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L46">= 46"/a>  3     34"drivers/dma/coh901318.c#L37" id  L37" c3lass="lin3e" nam   L47">= 47 };3<= 48"/a><<3a hre34truct=chan" class="s" class="sdes"_hree>flags"/a>;<chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,a="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sa h">list_head"/a> a h""+co)ers/dma/coh901318.c#L18" id  L18" c3lass="lin3e" nam   L49">= 49 st3ruct=349ructvers/dma/coh901318.c#L50" id  L50" c3lass="lin3e" nam   L50">= 50"/a>  3     35truct="a href=chan" class="s8"st_add_tai">coh901318_pool8"st_add_tai"+code+code=cohc" class="sref">list_head"/a> a h""+co+code=chan" class="sns=">cohc -> ns=""+co,p+code=cohc" class="sref">cohc -> a href="+code=chan" class="shree>flags"/a>;<= 51"/a>  3     35oid="iers/dma/coh901318.c#L43" id  L43" c3lass="lin3e" nam   L52">= 52"/a>  3     35</* kmalloc() */ <"an  with irq eock held ref="drivers/dma/coh901318.c#L13" id  L13" c3>ass="lin35" nam   L44">= 44"/a>  35    354ruct=".png"+coders/dma/coh901318.c#L37" id  L37" c3>ass="lin3"" nam   L5">= =5"/a>"sp3a    355ruct=chan" class="s" class="sdes"_subma >lli"/a>;<chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,a="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sdes">cohc -> des""+co)ers/dma/coh901318.c#L18" id  L18" c3>ass="lin35" nam   L46">= 46"/a>  35    356ructvers/dma/coh901318.c#L50" id  L50" c3>ass="lin35" nam   L47">= 47 };35coh901318_pool8"st_add_tai"+code+code=cohc" class="sdes">cohc -> des""+co+code=chan" class="sns=">cohc -> ns=""+co,p+code=cohc" class="sref">cohc -> a href="+code=chan" class="sactiv">virtbase ;= 48"/a><<35 hre358="driers/dma/coh901318.c#L43" id  L43" c35ass="lin35" nam   L49">= 49 st35uct=35"drivers/dma/coh901318.c#L10" id  L10" c36ass="lin36" nam   L50">= 50"/a>  36    360href=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+codeers/dma/coh901318.c#L31" id  L31" c36ass="lin36" nam   L51">= 51"/a>  36    361ruct=coh901318_pool" class="sfirst_activ"_get>list_head"/a> " class="sfirst_activ"_get+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c36ass="lin36" nam   L52">= 52"/a>  36    362ructvers/dma/coh901318.c#L50" id  L50" c36  a href36"+code=dion value="v3.136    363id="a href="="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sd>cohc -> d"+covers/dma/coh901318.c#L43" id  L43" c36ass="lin36" nam   L44">= 44"/a>  36    364drivers/dma/coh901318.c#L31" id  L31" c36ss="line36" nam   L5">= =5"/a>"sp36    365ruct="a href="+c=chan" class="s8"st_empty>device  *"a8"st_empty+code+code=cohc" class="sref">cohc -> a href="+code=chan" class="sactiv">virtbase ;= =6"/a>"sp3a    366ruct="a hrefffffffff>device  *"aNULL"+covers/dma/coh901318.c#L18" id  L18" c36ass="lin36" nam   L47">= 47 };36= 48"/a><<36 hre36truct="a href=u32" class="srd>cohc -> d"+cod=e=coh901318_pool8"st_first_entry>device  *"a8"st_first_entry+code+code=cohc" class="sref">cohc -> a href="+code=chan" class="sactiv">virtbase ;= 49 st36uct=369ruct="a hreffffffffffffffffffffff="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+co,ers/dma/coh901318.c#L31" id  L31" c37ass="lin37" nam   L50">= 50"/a>  37    37truct="a hrefffffffff hrefffffffff=cohc" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c37ass="lin37" nam   L51">= 51"/a>  37    37oid="a href=">cohc -> d"+covers/dma/coh901318.c#L43" id  L43" c37ass="lin37" nam   L52">= 52"/a>  37    37tructiers/dma/coh901318.c#L43" id  L43" c37  a href37"+code=dion value="v3.137    373drivers/dma/coh901318.c#L31" id  L31" c37ass="lin37" nam   L44">= 44"/a>  37    374ruct=".png"+coders/dma/coh901318.c#L37" id  L37" c37ss="line37" nam   L5">= =5"/a>"sp37    375ruct=chan" class="s" class="sdes"_remov">virtbase ;<" class="sdes"_remov"+code="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sa h">list_head"/a> a h""+co)ers/dma/coh901318.c#L18" id  L18" c37ss="line37" nam   L6">= =6"/a>"sp37    376ructvers/dma/coh901318.c#L50" id  L50" c37ss="line3"" nam   L7">= =7"/a>"sp3acoh901318_pool8"st_de"+code+code=cohc" class="sref">list_head"/a> a h""+co+code=chan" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c37ass="lin37" nam   L48">= 48"/a><<37 hre378="driers/dma/coh901318.c#L43" id  L43" c37ass="lin37" nam   L49">= 49 st37uct=37"drivers/dma/coh901318.c#L10" id  L10" c38ass="lin38" nam   L50">= 50"/a>  38    380ruct=".png"+coders/dma/coh901318.c#L37" id  L37" c38ass="lin38" nam   L51">= 51"/a>  38    381ruct=coh901318_pool" class="sdes"_quec">coh901318_base" class="sdes"_quec"+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,a="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sdes">cohc -> des""+co)ers/dma/coh901318.c#L18" id  L37" c38ass="lin38" nam   L52">= 52"/a>  38    382ructvers/dma/coh901318.c#L50" id  L50" c38  a href38"+code=dion value="v3.138    383id="a href="=u32" class="sr8"st_add_tai">coh901318_pool8"st_add_tai"+code+code=cohc" class="sdes">cohc -> des""+co+code=chan" class="sns=">cohc -> ns=""+co,p+code=cohc" class="sref">cohc -> a href="+code=chan" class="squec">coh901318_basequec"+cod)vers/dma/coh901318.c#L18" id  L18" c38ass="lin38" nam   L44">= 44"/a>  38    384ructiers/dma/coh901318.c#L43" id  L43" c38ss="line38" nam   L5">= =5"/a>"sp38    38"drivers/dma/coh901318.c#L26" id  L26" c38ss="line38" nam   L6">= =6"/a>"sp38    38a hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+codeers/dma/coh901318.c#L31" id  L31" c38ss="line38" nam   L7">= =7"/a>"sp38list_head"/a> a hlass="sfirst_quec""+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hrefers/dma/coh901318.c#L10" id  L10" c3aass="lin3"" nam   L18">= 18 #i3c hre38"drivvers/dma/coh901318.c#L50" id  L50" c3aass="lin38" nam   L49">= 49 st38uct=389ruct="a href="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sd>cohc -> d"+covers/dma/coh901318.c#L43" id  L43" c39ass="lin39" nam   L50">= 50"/a>  39    39"drivers/dma/coh901318.c#L31" id  L31" c39ass="lin39" nam   L51">= 51"/a>  39    391ruct="a hrefc"+c=chan" class="s8"st_empty>device  *"a8"st_empty+code+code=cohc" class="sref">cohc -> a href="+code=chan" class="squec">coh901318_basequec"+cod)fers/dma/coh901318.c#L10" id  L10" c39ass="lin39" nam   L52">= 52"/a>  39    392ruct="a hrefffffffff>device  *"aNULL"+covers/dma/coh901318.c#L18" id  L18" c39  a href39"+code=dion value="v3.139    393drivers/dma/coh901318.c#L31" id  L31" c39ass="lin39" nam   L44">= 44"/a>  39    394id="a href="=sg_len" class=d>cohc -> d"+cod=e=coh901318_pool8"st_first_entry>device  *"a8"st_first_entry+code+code=cohc" class="sref">cohc -> a href="+code=chan" class="squec">coh901318_basequec"+cod,ers/dma/coh901318.c#L31" id  L31" c39ss="line39" nam   L5">= =5"/a>"sp39    395ruct="a hrefffffffff"""""ffffffff="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+co,ers/dma/coh901318.c#L31" id  L31" c39ss="line39" nam   L6">= =6"/a>"sp39    396ruct="a hrefffffffff hrefffffffff=cohc" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c3ass="line39" nam   L7">= =7"/a>"sp39= =8"/a>"sp39 hre398="driers/dma/coh901318.c#L43" id  L43" c39ss="line3"" nam   L9">= =9"/a><= 
  #i4c    400ruct=".png"=chan" class="s<<">= =5ist_head"/a> i<">= id="a=chan" class="sef">u32   a href="+code=head_ctrl" clarohlass="sget_bytes_in_lli>list_head"/a> " class="sget_bytes_in_lli+code="+code=coh901318_pool" class="slli>list_head"/a> " class="slli"+code=virtbase" clasin_lli>list_head"/a> in_lli+codfers/dma/coh901318.c#L10" id  L10" c4aass="lin40" nam   L11">= 11 #i401   401drivvers/dma/coh901318.c#L50" id  L50" c4aass="lin40" nam   L12">= 12 #i402   402id="a href="="+code=coh901318_pool" class="slli>list_head"/a> " class="slli"+code=virtbase" claslli>list_head"/a> lli"+cod=e=coh901318_poolin_lli>list_head"/a> in_lli+codvers/dma/coh901318.c#L43" id  L43" c4a3ss="lin40"+code=dion value="v3.1403   403id="a href="=u32" class="sref">u32   a href="+code=head_ctrl" clabytes>u32   a hrebytes"+cod=e0vers/dma/coh901318.c#L43" id  L43" c4a4ss="lin40" nam   L44">= 44"/a>  404   404drivers/dma/coh901318.c#L31" id  L31" c4a5ss="lin40" nam   L5">= =5"/a>"sp405   405ruct="a hrefwhile e=cohc" class="slli>list_head"/a> lli"+co)dvers/dma/coh901318.c#L50" id  L50" c4aass="lin40" nam   L16">= 16 #i406   406ruct="a hrefffffffffohead_ctrl" clabytes>u32   a hrebytes"+cod+=e=coh901318_pool8li>list_head"/a> lli"+co+code=chan" class="srentrf">coh901318_pool coh901318_pool="s *"a hrCX_CTRL_TC_VALUE_MASK+codvers/dma/coh901318.c#L43" id  L43" c4a7ss="lin40" nam   L7">= =7"/a>"sp407   407ruct="a hreffffffffe=coh901318_pool8li>list_head"/a> lli"+cod=e=coh901318_pool8li>list_head"/a> lli"+co+code=chan" class="sk_add">dir"/a>;<k_add"+codvers/dma/coh901318.c#L43" id  L43" c4a8ss="lin40" nam   L8">= =8"/a>"sp408   40truct="a hrefiers/dma/coh901318.c#L43" id  L43" c4aass="lin40" nam   L19">= 19 #i409   409ruct="a href>u32   a hrebytes"+covers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L10">= 
  #i4nclud41tructiers/dma/coh901318.c#L43" id  L43" c4aass="lin4"" nam   L11">= 11 #i4c1   411drivers/dma/coh901318.c#L10" id  L10" c4aass="lin4e" nam   L12">= 12 #i4nclud412ruct=mment">/* kmalloc() */*f="drivers/dma/coh901318.c#L13" id  L13" c4aass="lin4e" nam   L13">= 13 #i4nclud413id="=mment">/* kmalloc() *=* Get the number of bytes left toetransfer on this ref"nel,f="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L14">= 14 #i4nclud414ruct=mment">/* kmalloc() *=* it is unwise toe"an  this before"="opping the ref"nelhforf="drivers/dma/coh901318.c#L13" id  L13" c4l5ss="lin4e" nam   L15">= 15 #i4nclud415href=mment">/* kmalloc() *=* absolute measures, buthfor a rough guess youe"an"="in  "an f="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L16">= 16 #i4nclud41"driv=mment">/* kmalloc() *=* it.f="drivers/dma/coh901318.c#L13" id  L13" c4aass="lin4e" nam   L17">= 17 #i4nclud417href=mment">/* kmalloc() *=*ef="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L18">= 18 #i4nclud41"driv=".png"=chan" class="sef">u32   a href="+code=head_ctrl" clarohlass="sget_bytes_left>list_head"/a> " class="sget_bytes_left+code="+code=coh901318_pooldrecref">chan . a hrdrecref""+code=virtbase" clascef">chan . a href="+cod)ers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L19">= 19 #i4nclud419ructvers/dma/coh901318.c#L50" id  L50" c4lass="lin4e" nam   L20">= 2  #i4nclud42truct="a href="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hred=e=coh901318_poolto_" class="sref">chan . a hrto_" class="sref"+code=virtbase" clascef">chan . a href="+cod)vers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L21">= 21 #i4nclud421ruct="a href="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=chan" class="sa h">list_head"/a> a h""+covers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L22">= 22 #i4nclud422id="a href="="+code=coh901318_pool8"st_hea">list_head"/a> 8"st_hea""+code=chan" class="spos>u32   a hrepos"+covers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L23">= 23 #i4nclud423id="a href="unsigned long =chan" class="ssref">flags"/a>;<= 24 #i4nclud424id="a href="=sg_len" class=ef">u32   a href="+code=head_ctrl" claleft>list_head"/a> left+codd=e0vers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L25">= 25"/a><<4a hre425ruct="a hrefcode=sg_len" class=i>list_head"/a> i+codd=e0vers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L26">= 26 #i4nclud42"drivers/dma/coh901318.c#L37" id  L37" c4lass="lin4e" nam   L27">= 27 #i4nclud427 href="+code=u32" class="srspin_lock_irqcav">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= 28"/a><<4a hre42"drivers/dma/coh901318.c#L29" id  L29" c4lass="lin4e" nam   L29">= 29 #d4efine429ruct="a href=mment">/* kmalloc() */*f="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L30">= 30"/a><<4a hre43truct=mment">/* kmalloc() *="a hreff* If there"are"many quec"" jobs, we iterate end add thef="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L31">= 31 #i4fdef=431ruct=mment">/* kmalloc() *="a hreff* =ize of them= 32 #d4efine432ruct=mment">/* kmalloc() *="a hreff* job though, =ince it is probably activ".f="drivers/dma/coh901318.c#L13" id  L13" c4aass="lin4"" nam   L13">= 13 #i4cclud433id="=mment">/* kmalloc() *="a hreff*ef="drivers/dma/coh901318.c#L13" id  L13" c4aass="lin4e" nam   L34">= 34 #d4efine434id="a href="=sg_len" class=8"st_for_each>device  *"a8"st_for_each+code=virtbase" claspos>u32   a hrepos"+co,p+code=cohc" class="sref">cohc -> a href="+code=chan" class="sactiv">virtbase ;= 35 #e4ndifv435ruct="a hrefffffffff=mment">/* kmalloc() */*f="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L36">= 36"/a><<4a hre43"driv=mment">/* kmalloc() *=================* The first job in the 8"st win  be working on thef="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L37">= 37 st4ruct=437href=mment">/* kmalloc() *=================* hardware. The job "an"be"="opp"" buth="in  activ",f="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L38">= 38"/a>  4     438ruct=mment">/* kmalloc() *=================* so that the transfer counter is somewhere"insidef="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L39">= 39"/a>  4     439ruct=mment">/* kmalloc() *=================* the buffer.f="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L40">= 40"/a>  4     44truct=mment">/* kmalloc() *="a hreff"a hreff*ef="drivers/dma/coh901318.c#L13" id  L13" c4lass="lin4e" nam   L41">= 41"/a>  4     441ruct="a hrefffffffff=chan" class="sa h">list_head"/a> a h""+cod=e=coh901318_pool8"st_entry>device  *"a8"st_entry+code=virtbase" claspos>u32   a hrepos"+co,p="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+co,f=cohc" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L18" id  L18" c4lass="lin4e" nam   L42">= 42"/a>  4     44<= 43"/a>  4     443id="a href="""""""""c"+c=chan" class="si>list_head"/a> i+codd==e0)dvers/dma/coh901318.c#L50" id  L50" c4lass="lin4e" nam   L44">= 44"/a>  4     444ruct="a hrefffffffffffffffff="+code=coh901318_pool" class="slli>list_head"/a> " class="slli"+code=virtbase" claslli>list_head"/a> lli"+covers/dma/coh901318.c#L18" id  L18" c4lass="lin4e" nam   L45">= 45"/a>  4     445ruct="a hrefffffffff"""""fff=coh901318_pooldrecadd"_ >lli"/a>;<list_head"/a> ladd"+covers/dma/coh901318.c#L18" id  L18" c4lass="lin4e" nam   L46">= 46"/a>  4     44"drivers/dma/coh901318.c#L37" id  L37" c4lass="lin4e" nam   L47">= 47 };4</* kmalloc() */ = 48"/a><<4a hre448ruct="a hrefffffffffffff"fff=coh901318_poolleft>list_head"/a> left+codd=e=coh901318_poolref"">coh901318_poolref""+code=virtbase" clasref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= 49 st4ruct=449ruct="a hreffffffffffffffffffffffffffffff=COH_DBG" class="s *"a hrCX_CTRL>coh901318_pool="s *"a hrCX_CTRL"+cod+ers/dma/coh901318.c#L31" id  L31" c4lass="lin4e" nam   L50">= 50"/a>  4     45truct="a hrefffffffff hrefffffffffffffffff=COH_DBG" class="s *"a hrCX_CTRL_SPACIN">COH_DBG ("a="s *"a hrCX_CTRL_SPACIN""+codee=sg_len" class=rcohc -> a href="+code=chan" class="si">list_head"/a> i""+co)p+codeers/dma/coh901318.c#L31" id  L31" c4lass="lin4e" nam   L51">= 51"/a>  4     451ruct="a hrefffffffffffffffffffffffff=COH_DBG" class="s *"a hrCX_CTRL_TC_VALUE_MASK>coh901318_pool="s *"a hrCX_CTRL_TC_VALUE_MASK+codvers/dma/coh901318.c#L43" id  L43" c4lass="lin4e" nam   L52">= 52"/a>  4     45</* kmalloc() */ ked...deef="drivers/dma/coh901318.c#L13" id  L13" c4>ass="lin45" nam   L44">= 44"/a>  45    454ruct="a hrefffffffffffffffff=head_ctrl" claladd>list_head"/a> ladd"+cod=e=coh901318_poolref"">coh901318_poolref""+code=virtbase" clasref">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_baseass="lin4"" nam   L5">= =5"/a>"sp4a    455ruct="a hrefffffffff"""""ffffffffffffffff=COH_DBG" class="s *"a hrCX_LNK_ADDR>virtbase ;<="s *"a hrCX_LNK_ADDR"+cod+ers/dma/coh901318.c#L10" id  L10" c4>ass="lin45" nam   L46">= 46"/a>  45    456ruct="a hrefffffffff hrefffffffffffffffff=COH_DBG" class="s *"a hrCX_LNK_ADDR_SPACIN">COH_DBG ("a="s *"a hrCX_LNK_ADDR_SPACIN"ructdeers/dma/coh901318.c#L10" id  L10" c4>ass="lin45" nam   L47">= 47 };45cohc -> a href="+code=chan" class="si">list_head"/a> i""+co)p+codeers/dma/coh901318.c#L31" id  L31" c4lass="lin45" nam   L48">= 48"/a><<45 hre458ruct="a hrefffffffffffff"fffffffffff~=COH_DBG" class="s *"a hrCX_LNK_LINK_IMMEDIATE>COH_DBG ("a="s *"a hrCX_LNK_LINK_IMMEDIATE+codvers/dma/coh901318.c#L43" id  L43" c4lass="lin45" nam   L49">= 49 st45uct=459ruct="a hrefffffffffffffffff=mment">/* kmalloc() */ = 50"/a>  46    46truct="a hrefffffffff hreffffc"+c!=head_ctrl" claladd>list_head"/a> ladd"+co)ers/dma/coh901318.c#L13" id  L13" c46ass="lin46" nam   L51">= 51"/a>  46    461ruct="a hrefffffffffffffffffffffffff = 52"/a>  46    46</* kmalloc() */ f="drivers/dma/coh901318.c#L13" id  L13" c46ass="lin46" nam   L44">= 44"/a>  46    464ruct=mment">/* kmalloc() *="a hrefffffffffddddddddd* L">ked transaction, follow the 8li, find thef="drivers/dma/coh901318.c#L13" id  L13" c46ss="line46" nam   L5">= =5"/a>"sp46    465href=mment">/* kmalloc() *="a hrefffffffffddddddddd* currc()ly processing 8li, end proceed to the nextf="drivers/dma/coh901318.c#L13" id  L13" c46ass="lin4"" nam   L6">= =6"/a>"sp4a    46"driv=mment">/* kmalloc() *=================dddddddd*ef="drivers/dma/coh901318.c#L13" id  L13" c46ass="lin46" nam   L47">= 47 };46list_head"/a> lli"+cod=e=coh901318_poola h">list_head"/a> a h""+co+code=chan" class="slli>list_head"/a> lli"+covers/dma/coh901318.c#L18" id  L18" c46ass="lin46" nam   L48">= 48"/a><<46 hre468ruct="a hrefffffffffffff"fffwhile e=cohc" class="slli>list_head"/a> lli"+cop+code+codef=COH_DBG" classlli>list_head"/a> lli"+co+code=chan" class="s8">k_add">dir"/a>;<k_add""+co !=e=coh901318_pool8add>list_head"/a> ladd"+co)ers/dma/coh901318.c#L13" id  L13" c46ass="lin46" nam   L49">= 49 st46uct=469ruct="a hrefffffffffffffffffffffff="=coh901318_pool8li>list_head"/a> lli"+cod=e=coh901318_pool8li>list_head"/a> lli"+co+code=chan" class="sk_add">dir"/a>;<k_add"+codvers/dma/coh901318.c#L43" id  L43" c47ass="lin47" nam   L50">= 50"/a>  47    47"drivers/dma/coh901318.c#L31" id  L31" c47ass="lin47" nam   L51">= 51"/a>  47    471ruct="a hrefffffffffffffffffc"+c=chan" class="s8li>list_head"/a> lli"+cofers/dma/coh901318.c#L10" id  L10" c47ass="lin47" nam   L52">= 52"/a>  47    472ruct="a hrefffffffffffffffffffffff="=coh901318_pool8li>list_head"/a> lli"+cod=e=coh901318_pool8li>list_head"/a> lli"+co+code=chan" class="sk_add">dir"/a>;<k_add"+codvers/dma/coh901318.c#L43" id  L43" c47  a href47"+code=dion value="v3.147    473drivers/dma/coh901318.c#L31" id  L31" c47ass="lin47" nam   L44">= 44"/a>  47    474ruct="a hrefffffffffffffffff=mment">/* kmalloc() */ f="drivers/dma/coh901318.c#L13" id  L13" c47ss="line47" nam   L5">= =5"/a>"sp47    475href=mment">/* kmalloc() *="a hrefffffffffddddddddd* Follow remaining 8li l">ks around to count the tota f="drivers/dma/coh901318.c#L13" id  L13" c47ss="line47" nam   L6">= =6"/a>"sp47    47"driv=mment">/* kmalloc() *=================dddddddd* number of bytes leftf="drivers/dma/coh901318.c#L13" id  L13" c47ass="lin4"" nam   L7">= =7"/a>"sp4a/* kmalloc() *=================dddddddd*ef="drivers/dma/coh901318.c#L13" id  L13" c47ass="lin47" nam   L48">= 48"/a><<47 hre478ruct="a hrefffffffffffff"fff=coh901318_poolleft>list_head"/a> left+codd+=e=coh901318_poolrohlass="sget_bytes_in_lli>list_head"/a> " class="sget_bytes_in_lli+code=chan" class="s8li>list_head"/a> lli"+cofvers/dma/coh901318.c#L43" id  L43" c47ass="lin47" nam   L49">= 49 st47uct=479ruct="a hrefffffffff} drivdvers/dma/coh901318.c#L50" id  L50" c48ass="lin48" nam   L50">= 50"/a>  48    48truct="a hrefffffffff hreffff=coh901318_poolleft>list_head"/a> left+codd+=e=coh901318_poolrohlass="sget_bytes_in_lli>list_head"/a> " class="sget_bytes_in_lli+code=chan" class="sa h">list_head"/a> a h""+co+code=chan" class="slli>list_head"/a> lli"+cofvers/dma/coh901318.c#L43" id  L43" c48ass="lin48" nam   L51">= 51"/a>  48    481ruct="a hrefffffffffiers/dma/coh901318.c#L43" id  L43" c48ass="lin48" nam   L52">= 52"/a>  48    482ruct="a hrefffffffff=cohc" class="si>list_head"/a> i+cod++vers/dma/coh901318.c#L43" id  L43" c48  a href48"+code=dion value="v3.148    483id="a href="iers/dma/coh901318.c#L43" id  L43" c48ass="lin48" nam   L44">= 44"/a>  48    484drivers/dma/coh901318.c#L31" id  L31" c48ss="line48" nam   L5">= =5"/a>"sp48    485ruct="a href=mment">/* kmalloc() */ = =6"/a>"sp48    486ruct="a href=chan" class="s8"st_for_each>device  *"a8"st_for_each+code=virtbase" claspos>u32   a hrepos"+co,p+code=cohc" class="sref">cohc -> a href="+code=chan" class="squec">coh901318_basequec"+cod)dvers/dma/coh901318.c#L50" id  L50" c48ass="lin48" nam   L7">= =7"/a>"sp48list_head"/a> a h""+cod=e=coh901318_pool8"st_entry>device  *"a8"st_entry+code=virtbase" claspos>u32   a hrepos"+co,p="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+co,f=cohc" class="sns=">cohc -> ns=""+co)vers/dma/coh901318.c#L50" id  L50" c48ass="lin4"" nam   L18">= 18 #i4c hre488ruct="a hrefffffffff=dir" class="srleft>list_head"/a> left+codd+=e=coh901318_poolrohlass="sget_bytes_in_lli>list_head"/a> " class="sget_bytes_in_lli+code=chan" class="sa h">list_head"/a> a h""+co+code=chan" class="slli>list_head"/a> lli"+cofvers/dma/coh901318.c#L43" id  L43" c48ass="lin48" nam   L49">= 49 st48uct=489ruct="a hrefiers/dma/coh901318.c#L43" id  L43" c49ass="lin49" nam   L50">= 50"/a>  49    49"drivers/dma/coh901318.c#L31" id  L31" c49ass="lin49" nam   L51">= 51"/a>  49    491ruct="a href=chan" class="sspin_unlock_irqrestor">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= 52"/a>  49    49< left+codvers/dma/coh901318.c#L43" id  L43" c49ass="lin49" nam   L44">= 44"/a>  49    494ructiers/dma/coh901318.c#L43" id  L43" c49ss="line49" nam   L5">= =5"/a>"sp49    49"drivers/dma/coh901318.c#L26" id  L26" c49ss="line49" nam   L6">= =6"/a>"sp49    49"driv=mment">/* kmalloc() */ f="drivers/dma/coh901318.c#L13" id  L13" c4ass="line49" nam   L7">= =7"/a>"sp49/* kmalloc() *=* Pauses a transfer without losing data. Enables power cav".f="drivers/dma/coh901318.c#L13" id  L13" c49ss="line49" nam   L8">= =8"/a>"sp49 hre498ruct=mment">/* kmalloc() *=* Use this functiondin conjunctiondwith " class="sresum".f="drivers/dma/coh901318.c#L13" id  L13" c49ass="lin4"" nam   L9">= =9"/a></* kmalloc() *=*ef="drivers/dma/coh901318.c#L13" id  L13" c5aass="lin5"" nam   L10">= 
  #i5c    500ruct=".png"+code=coh901318_poolrohlass="spause>list_head"/a> " class="spause+code="+code=coh901318_pooldrecref">chan . a hrdrecref""+code=virtbase" clascef">chan . a href="+cod)ers/dma/coh901318.c#L13" id  L13" c5aass="lin50" nam   L11">= 11 #i501   501drivvers/dma/coh901318.c#L50" id  L50" c5aass="lin50" nam   L12">= 12 #i502   502id="a href="=virtbase" clasef">u32   a href="+code=head_ctrl" clava">coh901318_poolval+codvers/dma/coh901318.c#L43" id  L43" c5a3ss="lin50"+code=dion value="v3.1503   503id="a href="unsigned long =chan" class="ssref">flags"/a>;<= 44"/a>  504   504ruct="a href="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hred=e=coh901318_poolto_" class="sref">chan . a hrto_" class="sref"+code=virtbase" clascef">chan . a href="+cod)vers/dma/coh901318.c#L43" id  L43" c5a5ss="lin50" nam   L5">= =5"/a>"sp505   505ruct="a hrefcode=sg_len" class=ref"nel>chan . a href="ne"+codd=e=coh901318_poola h">cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L43" id  L43" c5a6ss="lin50" nam   L6">= =6"/a>"sp506   506ruct="a href+code=coh901318_pool__iomem>virtbase ;<__iomem"+code=virtbase" clascoh901318_basecohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= =7"/a>"sp507   507drivers/dma/coh901318.c#L31" id  L31" c5a8ss="lin50" nam   L8">= =8"/a>"sp508   50truct="a href=u32" class="srspin_lock_irqcav">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= 19 #i509   50"drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L10">= 
  #i5nclud51truct="a href=mment">/* kmalloc() */ = 11 #i5c1   511ruct="a href=chan" class="sva">coh901318_poolval+codd=e=coh901318_poolref"">coh901318_poolref""+code=virtbase" clascoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L10" id  L10" c5aass="lin5e" nam   L12">= 12 #i5nclud512ruct="a hrefffffffffffff=COH_DBG" class="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN""+codee=sg_len" class=ref"nel>chan . a href="ne"+cod)vers/dma/coh901318.c#L43" id  L43" c5aass="lin5e" nam   L13">= 13 #i5nclud513drivers/dma/coh901318.c#L31" id  L31" c5lass="lin5e" nam   L14">= 14 #i5nclud514ruct="a href=mment">/* kmalloc() */ = 15 #i5nclud515ruct="a href="+ce=virtbase" clascoh901318_poolval+codd+codef=COH_DBG" class="s *"a hrCX_CTRL_TC_ENABLE>COH_DBG ("a="s *"a hrCX_CTRL_TC_ENABLE+cod)d==e0p+code+codeers/dma/coh901318.c#L13" id  L13" c5a6ss="lin5e" nam   L16">= 16 #i5nclud516ruct="a hrefffffe=virtbase" clascoh901318_poolval+codd+codef=COH_DBG" class="s *"a hrCX_CF"_CH_ENABLE>COH_DBG ("a="s *"a hrCX_CF"_CH_ENABLE+cod))ers/dma/coh901318.c#L13" id  L13" c5aass="lin5e" nam   L17">= 17 #i5nclud517ruct="a hreffffffffe=coh901318_poola h">cohc -> a href="+code=chan" class="s="opp"">virtbase ;= 18 #i5nclud51"drivers/dma/coh901318.c#L29" id  L29" c5lass="lin5e" nam   L19">= 19 #i5nclud51"drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L20">= 2  #i5nclud52truct="a href=chan" class="scoh901318_poolval+codd+code=f~=COH_DBG" class="s *"a hrCX_CF"_CH_ENABLE>COH_DBG ("a="s *"a hrCX_CF"_CH_ENABLE+codeers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L21">= 21 #i5nclud521ruct="a href=mment">/* kmalloc() */ = 22 #i5nclud522id="a href="=virtbase" claswra e">coh901318_poolwra e"+code=virtbase" clascoh901318_poolval+cod,f=virtbase" clascoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L23">= 23 #i5nclud523id="a href=""""""""=COH_DBG" class="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN""+codee=sg_len" class=ref"nel>chan . a href="ne"+cod)vers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L24">= 24 #i5nclud524id="a href="=sg_len" class=wra e">coh901318_poolwra e"+code=virtbase" clascoh901318_poolval+cod,f=virtbase" clascoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L10" id  L10" c5l5ss="lin5e" nam   L25">= 25"/a><<5a hre525ruct="a hreffffffff=COH_DBG" class="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN""+codee=sg_len" class=ref"nel>chan . a href="ne"+cod)vers/dma/coh901318.c#L43" id  L43" c5l6ss="lin5e" nam   L26">= 26 #i5nclud52"drivers/dma/coh901318.c#L37" id  L37" c5lass="lin5e" nam   L27">= 27 #i5nclud527 href="+code=mment">/* kmalloc() */ = 28"/a><<5a hre52truct="a hrefwhile e=cohc" class="sref"">coh901318_poolref""+code=virtbase" clascoh901318_baseCOH_DBG ("a="s *"a hrCX_STAT+cod+=COH_DBG" class="s *"a hrCX_STAT_SPACIN">COH_DBG ("a="s *"a hrCX_STAT_SPACIN""+codeers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L29">= 29 #d5efine529ruct="a hreffffffffffffff=sg_len" class=ref"nel>chan . a href="ne"+cod)d+codef=COH_DBG" class="s *"a hrCX_STAT_ACTIVE>COH_DBG ("a="s *"a hrCX_STAT_ACTIVE+cod)ers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L30">= 30"/a><<5a hre53truct="a hrefffffffff=sg_len" class=rpu_relax>chan . a hrepu_relax+code)vers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L31">= 31 #i5fdef=531drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L32">= 32 #d5efine532 href="+code=mment">/* kmalloc() */ = 13 #i5cclud533id="a href="="+ce=virtbase" clasref"">coh901318_poolref""+code=virtbase" clascoh901318_basecoh901318_pool="s *"a hrCX_CTRL"+co+=COH_DBG" class="s *"a hrCX_CTRL_SPACIN">COH_DBG ("a="s *"a hrCX_CTRL_SPACIN""+codeers/dma/coh901318.c#L13" id  L13" c5aass="lin5e" nam   L34">= 34 #d5efine534ruct="a hreffffffffffff=sg_len" class=ref"nel>chan . a href="ne"+cod)d+codef=COH_DBG" class="s *"a hrCX_CTRL_TC_VALUE_MASK>coh901318_pool="s *"a hrCX_CTRL_TC_VALUE_MASK+cod)d+ode 0)ers/dma/coh901318.c#L13" id  L13" c5l5ss="lin5e" nam   L35">= 35 #e5ndifv535ruct="a hrefffffffff=coh901318_poola h">cohc -> a href="+code=chan" class="s="opp"">virtbase ;= 36"/a><<5a hre53"drivers/dma/coh901318.c#L37" id  L37" c5lass="lin5e" nam   L37">= 37 st5ruct=537 href="+code=u32" class="srenable_powercav">virtbase ;cohc ) (&"a hrefeers/dma/coh901318.c#L13" id  L13" c5l8ss="lin5e" nam   L38">= 38"/a>  5     53"drivers/dma/coh901318.c#L29" id  L29" c5lass="lin5e" nam   L39">= 39"/a>  5     539 href="+code=u32" class="srspin_unlock_irqrestor">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= 40"/a>  5     54tructiers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L41">= 41"/a>  5     541drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L42">= 42"/a>  5     542ruct=mment">/* kmalloc() */* Resum"s a transfer that has been"="opp"" via 300_drec="op(..).f="drivers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L43">= 43"/a>  5     543id="=mment">/* kmalloc() *="aPower cav" is f="dled.f="drivers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L44">= 44"/a>  5     544ruct=mment">/* kmalloc() **ef="drivers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L45">= 45"/a>  5     545ruct=".png"+code=coh901318_poolrohlass="sresum">chan . a hre class="sresum"+code="+code=coh901318_pooldrecref">chan . a hrdrecref""+code=virtbase" clascef">chan . a href="+cod)ers/dma/coh901318.c#L13" id  L13" c5lass="lin5e" nam   L46">= 46"/a>  5     546ructvers/dma/coh901318.c#L50" id  L50" c5lass="lin5e" nam   L47">= 47 };5<u32   a href="+code=head_ctrl" clava">coh901318_poolval+codvers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L48">= 48"/a><<5a hre548ruct="a hrefunsigned long =chan" class="ssref">flags"/a>;<= 49 st5ruct=549ruct="a href="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hred=e=coh901318_poolto_" class="sref">chan . a hrto_" class="sref"+code=virtbase" clascef">chan . a href="+cod)vers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L50">= 50"/a>  5     55truct="a hrefcode=sg_len" class=ref"nel>chan . a href="ne"+codd=e=coh901318_poola h">cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L51">= 51"/a>  5     551drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L52">= 52"/a>  5     552id="a href="=virtbase" classpin_lock_irqcav">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<ass="lin55" nam   L44">= 44"/a>  55    554id="a href="=sg_len" class=disable_powercav">virtbase ;cohc ) (&"a hrefeers/dma/coh901318.c#L13" id  L13" c5>ass="lin5"" nam   L5">= =5"/a>"sp5a    55"drivers/dma/coh901318.c#L26" id  L26" c5>ass="lin55" nam   L46">= 46"/a>  55    556ruct="a hrefc"+c=chan" class="sa h">cohc -> a href="+code=chan" class="s="opp"">virtbase ;ass="lin55" nam   L47">= 47 };55/* kmalloc() */ = 48"/a><<55 hre558ruct="a hrefffffffff=chan" class="sva">coh901318_poolval+codd=e=coh901318_poolref"">coh901318_poolref""+code=virtbase" clasa h">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L10" id  L10" c5lass="lin55" nam   L49">= 49 st55uct=559ruct="a hrefffffffffffffffffffff=chan" class="s="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN""+codee=sg_len" class=ref"nel>chan . a href="ne"+cod)vers/dma/coh901318.c#L43" id  L43" c56ass="lin56" nam   L50">= 50"/a>  56    56"drivers/dma/coh901318.c#L31" id  L31" c56ass="lin56" nam   L51">= 51"/a>  56    561ruct="a hrefffffffff=chan" class="sva">coh901318_poolval+codd|=e=coh901318_pool="s *"a hrCX_CF"_CH_ENABLE>COH_DBG ("a="s *"a hrCX_CF"_CH_ENABLE+codeers/dma/coh901318.c#L13" id  L13" c56ass="lin56" nam   L52">= 52"/a>  56    56<coh901318_poolwra e"+code=virtbase" clascoh901318_poolval+cod,f=virtbase" clasa h">cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_baseCOH_DBG ("a="s *"a hrCX_CFG"+cod+ers/dma/coh901318.c#L10" id  L10" c56ass="lin56" nam   L44">= 44"/a>  56    564ruct="a hreffffffffffffffff=chan" class="s="s *"a hrCX_CF"_SPACIN">COH_DBG ("a="s *"a hrCX_CF"_SPACIN""+coe=virtbase" clascef"nel>chan . a href="ne"+cod)vers/dma/coh901318.c#L43" id  L43" c56ass="lin56" nam   L5">= =5"/a>"sp56    56"drivers/dma/coh901318.c#L26" id  L26" c56ass="lin5"" nam   L6">= =6"/a>"sp5a    566ruct="a hrefffffffffohead_ctrl" claa h">cohc -> a href="+code=chan" class="s="opp"">virtbase ;= 47 };56= 48"/a><<56 hre56"drivers/dma/coh901318.c#L29" id  L29" c56ass="lin56" nam   L49">= 49 st56uct=569 href="+code=u32" class="srspin_unlock_irqrestor">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= 50"/a>  57    57tructiers/dma/coh901318.c#L43" id  L43" c57ass="lin57" nam   L51">= 51"/a>  57    571drivers/dma/coh901318.c#L10" id  L10" c57ass="lin57" nam   L52">= 52"/a>  57    572ruct=chan" class="srof">coh901318_poolrof"+code=head_ctrl" cla" class="sfilter_i">list_head"/a> " class="sfilter_i"+code="+code=coh901318_pooldrecref">chan . a hrdrecref""+code=virtbase" clascef">chan . a href="+cod,"+codee=virtbase" clascef"_i">list_head"/a> "ef"_i"+cod)ers/dma/coh901318.c#L13" id  L13" c57  a href57"+code=dion value="v3.157    573drivvers/dma/coh901318.c#L50" id  L50" c57ass="lin57" nam   L44">= 44"/a>  57    574ruct="a hrefunsigned code=sg_len" class=re_n">dir"/a>;<list_head"/a> "ef"_i"+codvers/dma/coh901318.c#L43" id  L29" c57ass="lin57" nam   L5">= =5"/a>"sp57    57"drivers/dma/coh901318.c#L26" id  L26" c57ss="line57" nam   L6">= =6"/a>"sp57    576ruct="a hrefc"+c=chan" class="sae_n">dir"/a>;<chan . a hrto_" class="sref"+code=virtbase" clascef">chan . a href="+cod)+code=chan" class="si">list_head"/a> i""+co)ers/dma/coh901318.c#L26" id  L26" c57ass="lin5"" nam   L7">= =7"/a>"sp5avirtbase ;<"+c"+codvers/dma/coh901318.c#L43" id  L29" c57ass="lin57" nam   L48">= 48"/a><<57 hre57"drivers/dma/coh901318.c#L29" id  L29" c57ass="lin57" nam   L49">= 49 st57uct=579ruct="a href>coh901318_basefalf"+codvers/dma/coh901318.c#L43" id  L29" c58ass="lin58" nam   L50">= 50"/a>  58    58tructiers/dma/coh901318.c#L43" id  L43" c58ass="lin58" nam   L51">= 51"/a>  58    581ruct=chan" class="sEXPORT_SYMBOL>coh901318_poolEXPORT_SYMBOL+code=virtbase" clasa hlass="sfilter_i">list_head"/a> " class="sfilter_i"+cod)vers/dma/coh901318.c#L43" id  L29" c58ass="lin58" nam   L52">= 52"/a>  58    58</* kmalloc() */ f="drivers/dma/coh901318.c#L13" id  L13" c58ass="lin58" nam   L44">= 44"/a>  58    584ruct=mment">/* kmalloc() *=* DMA ref"nelhallocationf="drivers/dma/coh901318.c#L13" id  L13" c58ass="lin58" nam   L5">= =5"/a>"sp58    585href=mment">/* kmalloc() *=*ef="drivers/dma/coh901318.c#L13" id  L13" c58ss="line58" nam   L6">= =6"/a>"sp58    586ruct=".png"code=sg_len" class=r class="sronfig>chan . a hre class="sronfig+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre,ers/dma/coh901318.c#L13" id  L13" c58ass="lin58" nam   L7">= =7"/a>"sp58flags"/a>;<flags"/a>;<= 18 #i5c hre588ructvers/dma/coh901318.c#L50" id  L50" c58ass="lin58" nam   L49">= 49 st58uct=589ruct="a hrefunsigned long =chan" class="ssref">flags"/a>;<= 50"/a>  59    59truct="a hrefronste="+code=coh901318_pool" class="sparam">flags"/a>;<flags"/a>;<= 51"/a>  59    591ruct="a hrefcode=sg_len" class=ref"nel>chan . a href="ne"+codd=e=coh901318_poola h">cohc -> a href="+code=chan" class="si">list_head"/a> i""+covers/dma/coh901318.c#L43" id  L43" c59ass="lin59" nam   L52">= 52"/a>  59    592id="a href="+code=coh901318_pool__iomem>virtbase ;<__iomem"+code=virtbase" clascoh901318_basecohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="scoh901318_base= 44"/a>  59    594id="a href="=sg_len" class=spin_lock_irqcav">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= =5"/a>"sp59    59"drivers/dma/coh901318.c#L26" id  L26" c59ss="line59" nam   L6">= =6"/a>"sp59    596ruct="a hrefc"+c=chan" class="sparam>flags"/a>;<= =7"/a>"sp59;<flags"/a>;<= =8"/a>"sp59 hre598ruct="a hrefdrivers/dma/coh901318.c#L43" id  L43" c59ass="lin5"" nam   L9">= =9"/a><flags"/a>;<cohc -> a href="+code=chan" class="sref">coh901318_baseref="dri+code=chan" class="splatform>flags"/a>;<list_head"/a> "ef"_ronf"dri[=sg_len" class=ref"nel>chan . a href="ne"+cod].=coh901318_poolparam>flags"/a>;<= 
  #i6c    60"drivers/dma/coh901318.c#L31" id  L31" c6aass="lin60" nam   L11">= 11 #i601   601ruct="a href=mment">/* kmalloc() */ = 12 #i602   602id="a href="c"+c=chan" class="saef"nel>chan . a href="ne"+codd< 32)dvers/dma/coh901318.c#L50" id  L50" c6a3ss="lin60"+code=dion value="v3.1603   603id="a href="""""""""=sg_len" class=wra e">coh901318_poolwra e"+code1d<< =chan" class="saef"nel>chan . a href="ne"+cod,f=virtbase" clascoh901318_basecoh901318_base="s *"a hrBE_INT_CLEAR1"dri)vers/dma/coh901318.c#L43" id  L43" c6a4ss="lin60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len" class=wra e">coh901318_poolwra e"+code1d<< =chan" class="saef"nel>chan . a href="ne"+cod,f=virtbase" clascoh901318_basecoh901318_base="s *"a hrTC_INT_CLEAR1"dri)vers/dma/coh901318.c#L43" id  L43" c6a5ss="lin60" nam   L5">= =5"/a>"sp605   605ruct="a href} drivdvers/dma/coh901318.c#L50" id  L50" c6a6ss="lin60" nam   L6">= =6"/a>"sp606   606ruct="a hrefffffffffohead_ctrl" clawra e">coh901318_poolwra e"+code1d<< c=chan" class="saef"nel>chan . a href="ne"+codd- 32),f=virtbase" clascoh901318_base= =7"/a>"sp607   607ruct="a hreffffffffeeeeeeee=COH_DBG" class="s *"a hrBE_INT_CLEAR">u32   a hre="s *"a hrBE_INT_CLEAR""dri)vers/dma/coh901318.c#L43" id  L43" c6a8ss="lin60" nam   L8">= =8"/a>"sp608   608ruct="a hrefffffffff=chan" class="swra e">coh901318_poolwra e"+code1d<< c=chan" class="saef"nel>chan . a href="ne"+codd- 32),f=virtbase" clascoh901318_base= =9"/a><u32   a hre="s *"a hrTC_INT_CLEAR""dri)vers/dma/coh901318.c#L43" id  L43" c6lass="lin6e" nam   L10">= 
  #i6nclud61truct="a hrefiers/dma/coh901318.c#L43" id  L43" c6aass="lin6"" nam   L11">= 11 #i6c1   611drivers/dma/coh901318.c#L10" id  L10" c6aass="lin6e" nam   L12">= 12 #i6nclud612id="a href="=virtbase" clas" class="sset_ronf>list_head"/a> " class="sset_ronf+code=virtbase" clasa h">cohc ) (&"a hre,f=coh901318_poolp>flags"/a>;<chan . a hre nfig+cod)vers/dma/coh901318.c#L43" id  L43" c6l3ss="lin6e" nam   L13">= 13 #i6nclud613id="a href="=virtbase" clas" class="sset_rtrl>chan . a hre class="sset_rtrl+code=virtbase" clasa h">cohc ) (&"a hre,f=coh901318_poolp>flags"/a>;<list_head"/a> "trl_lli_agst+cod)vers/dma/coh901318.c#L43" id  L43" c6l4ss="lin6e" nam   L14">= 14 #i6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="a href=u32" class="srspin_unlock_irqrestor">virtbase ;cohc -> a href="+code=chan" class="slock>list_head"/a> lock"+co,f=virtbase" classref">flags"/a>;<= 16 #i6nclud61"drivers/dma/coh901318.c#L37" id  L37" c6aass="lin6e" nam   L17">= 17 #i6nclud617ruct="a href>= 18 #i6nclud61"driviers/dma/coh901318.c#L43" id  L43" c6a9ss="lin6e" nam   L19">= 19 #i6nclud61"drivers/dma/coh901318.c#L10" id  L10" c6lass="lin6e" nam   L20">= 2  #i6nclud62truct=mment">/* kmalloc() */ = 21 #i6nclud621ruct=mment">/* kmalloc() *=* start quec"" jobs,"c"+anyf="drivers/dma/coh901318.c#L13" id  L13" c6lass="lin6e" nam   L22">= 22 #i6nclud622ruct=mment">/* kmalloc() *=* TODO: start all quec"" jobsdin one gof="drivers/dma/coh901318.c#L13" id  L13" c6l3ss="lin6e" nam   L23">= 23 #i6nclud623id="=mment">/* kmalloc() *= f="drivers/dma/coh901318.c#L13" id  L13" c6lass="lin6e" nam   L24">= 24 #i6nclud624ruct=mment">/* kmalloc() *=* R= 25"/a><<6a hre625href=mment">/* kmalloc() *=* If the quec" is emptydNULL is >= 26 #i6nclud62"driv=mment">/* kmalloc() *=*ef="drivers/dma/coh901318.c#L13" id  L13" c6lass="lin6e" nam   L27">= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" clasceflass="squec"_start>cohc -> a hlass="squec"_start+code="+code=coh901318_pool" class="sref">chan . a hre class="sref""+code=virtbase" clascef">cohc ) (&"a hre)ers/dma/coh901318.c#L26" id  L26" c6l8ss="lin6e" nam   L28">= 28"/a><<6a hre628ructvers/dma/coh901318.c#L50" id  L50" c6lass="lin6e" nam   L29">= 29 #d6efine629ruct="a href="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" clascef">list_head"/a> a h""+covers/dma/coh901318.c#L43" id  L43" c6lass="lin6e" nam   L30">= 30"/a><<6a hre63"drivers/dma/coh901318.c#L31" id  L31" c6lass="lin6e" nam   L31">= 31 #i6fdef=631ruct="a href=mment">/* kmalloc() */ f="drivers/dma/coh901318.c#L13" id  L13" c6lass="lin6e" nam   L32">= 32 #d6efine632ruct=mment">/* kmalloc() *=========* start quec"" jobs,"c"+anyf="drivers/dma/coh901318.c#L13" id  L13" c6aass="lin6"" nam   L13">= 13 #i6cclud633id="=mment">/* kmalloc() *="a======* TODO: transmit all quec"" jobsdin one gof="drivers/dma/coh901318.c#L13" id  L13" c6aass="lin6e" nam   L34">= 34 #d6efine634ruct=mment">/* kmalloc() *="a hreff*ef="drivers/dma/coh901318.c#L13" id  L13" c6l5ss="lin6e" nam   L35">= 35 #e6ndifv635ruct="a href=u32" class="srcef">list_head"/a> a h""+cod=e=coh901318_poola hlass="sfirstsquec"">list_head"/a> " class="sfirstsquec""+code=virtbase" clasa h">cohc ) (&"a hre)vers/dma/coh901318.c#L43" id  L29" c6lass="lin6e" nam   L36">= 36"/a><<6a hre63"drivers/dma/coh901318.c#L37" id  L37" c6lass="lin6e" nam   L37">= 37 st6ruct=637 href="+codec"+c=chan" class="sa h">list_head"/a> a h""+cod!=e=coh901318_poolNULL>list_head"/a> NULL hre)dvers/dma/coh901318.c#L50" id  L50" c6l8ss="lin6e" nam   L38">= 38"/a>  6     638ruct="a hrefffffffff=mment">/* kmalloc() */* Remove from quec" *ef="drivers/dma/coh901318.c#L13" id  L13" c6lass="lin6e" nam   L39">= 39"/a>  6     639ruct="a hrefffffffff=coh901318_poola hlass="sdes"_remove>cohc -> a hlass="sdes"_remove+code=virtbase" clasa h">list_head"/a> a h""+co)vers/dma/coh901318.c#L43" id  L29" c6lass="lin6e" nam   L40">= 40"/a>  6     64truct="a hrefffffffff=mment">/* kmalloc() */* <= 41"/a>  6     641ruct="a hrefffffffff=chan" class="sref">cohc -> a href="+code=chan" class="srusy>device  *"arusy"+cod=e1eers/dma/coh901318.c#L13" id  L13" c6lass="lin6e" nam   L42">= 42"/a>  6     64<= 43"/a>  6     643id="a href="""""""""=sg_len" class=a hlass="sdes"_submit>cohc -> a hlass="sdes"_submit+code=virtbase" clasa h">cohc ) (&"a hre,f=coh901318_poola h">list_head"/a> a h""+co)vers/dma/coh901318.c#L43" id  L29" c6lass="lin6e" nam   L44">= 44"/a>  6     644drivers/dma/coh901318.c#L31" id  L31" c6lass="lin6e" nam   L45">= 45"/a>  6     645ruct="a hrefffffffff=mment">/* kmalloc() */* Program the transaction head *ef="drivers/dma/coh901318.c#L13" id  L13" c6lass="lin6e31" id  L31" c59ass="li9013131" id  L31" c59ass="li90f="a hrefc"+c=c4id  L13" ">/* kmall c6lass="lin6e" " idf="drivers/dma/coh9013" idf="drivit>cohc -> a hlass="sdes"_submit+codehre)vers/ma/coh901318.c#L13" id  613" c64>COH_DBG ("a="s *"a hrCX_CF"_CH_ENABa hre nfig+cod)vers/dma/coh901318.c#L43" id  L43" c6l3ss="lin6e" nam   L13">= 13 #i6nclud613id="a href="=virt hrefc"+c=c4id  L13" ">/* kmall c6lass="lin6e" " idf=od)vers/dma/coh901" idf=od)it>cohc -> a hlass="sdes"_submit+codean" class2" class="sref">u32  6a hre64AR">u32   a hre="s *"a hrBE_INT_Cid  L43" c5reppool8ed_= =7vers/dma/coh901318.c#L43"5reppool8ed_= =7" c6l3ss="lin6e" nam   L13">= 13 #i6nclud613id="a href="=virt hrefc"+c=c4id  L13" ">/* kmall c6lass="lin6e" sget_bytes_in_lli>list_head"/a> " class="sget_bytes_in_lli+cod6 48"/a><<6a hre548ruct="a hrefunsi6ned l648ss="lin6e" nam   L18">= 18 #i6nclud61s="sref">6han . a hrto_" class=6sref"65ode=virtbase" clasa h">list_head"/a> a h""+co)/ f="d= 190131onma/coh() */ f= L31" c6lass="lin6e" nam   L45">= 45"/a>  6  d=e=coh906318_poola h">cohc -&g6; a h65nt">/* kmalloc() */* <list_head"/a> a h""+cod=e=coh901318_poola hlass="sfirstsque""+covers6dma/coh901318.c#L43" id 6L43" 65=chan" class="srusy>device  *"arusy"+cchan" cla6s="slock>list_head"/a> l6ck"+c65ffffffff=cohc" class="si>list_head"/a> i+cod++ver6"dri)vers6dma/coh901318.c#L43" id 6L43" 65e,f=coh901318_poola h">list_head"/a> a h"owercav">6irtbase ;= 48"/a><<5   L29">= 29 #d6efine629ruct="a href="+code=coh901318_pool" c hrefeers6dma/coh901318.c#L13" id 6L13" 65>ass=" class="si>list_head"/a> i+cod++ver6"hre)vers/>cohc -> a href="+6ode=c65n" class="scoh901318_base};55= 13 #i6cclG ("a=6s *"a hrCX_CF"_SPACIN""+6odee=66a9ss="lin6e" nam   L19">= 1as rivers c#L1*= f="driver(coh9013)rs/dma8.c#">=/coh9h() */ f13" id  L13" c6l5ss="lin6e" nam   L25">= 25"+cod)vers6dma/coh901318.c#L43" id 6L43" 66*/ = 45"/a>  6  =e=coh901618_pool="s *"a hrCX_CF"_6H_ENA6LE>COH    544ruct=mment">/* kmallf"+ctasklet29">= 29 #d6f"+ctaskletpool"am   L18">= 18 #i5c hre5888.c#29">= 29 #d6f.c#quec"_start+code="+code=coh901318_pool" cE+codeers6dma/coh901318.c#L13" id 6L13" 66irtbase" clascef"_i">list_head"/a> "ef"_i68_baseCOs="ssref">flags"/a>;<= 49 st5ruct=549ruc" class="sdes">cohc -> a hlass="sdes""+code=virtbase" clasceflass=s="lin57" nam   L8.c#29">= 29 #d6f.c#quecruct="a href="+code=coh901318_pool" cDBG ("6="s *"a hrCX_CF"_SPACIN"6+coe=665 hrCX_CF">COs="ssref">flags"/a>;<= 18 #i5c hre588ructvers/dma/coh901318.c#L50" id  L50" c58ass="lin58" nam   L49">6 claa h">6ohc -> a href="+co6e=cha66ass="lin5e" nam   L46">= 46"f"+casync_tx_iverbaock_irqrestor">vif"+casync_tx_iverbaocss="lass="lin6e" nam verbaock_irqrestor">viiverbaocss=" id  L50" c58ass="lin58" nam   L49">6 a>};55u32   class="sfilter_i"+codeverbaoc_ri+code=chan" class=everbaoc_ri+coss=" id  L50" c58ass="lin58" nam   L49">6 _base= 18 #i6nclud61chan" cla6s="slock>list_head"/a> l6ck"+c67lass="lin5e" nam   L19">= 19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2_DEVpool"f=u32" class="srcef">list_head"/a> a h""+co,h">list_head"/s="ing">"[%s] 4ruct=" %d"31" c6lass="lin6e" nam   L45">= 45"/a>  6  dri)vers/6ma/coh901318.c#L43" id  629" c67nt">/* kmalloc() */* h">list_head"/s="ing">" nbr_318.c#_did  %ld\n"31" c6lid="a href="=virt__9013__">list_head"/a>__9013__d613iass="lin6e" nam   L45">= 45"/a>  6  de=coh9016dma/coh901318.c#L43" id 6L43" 67a hrCX_CF">COH_DBG <coh9nbr_318.c#_did "a href="""""""nbr_318.c#_did ""+cod=e=coh901318_poola hlass="sfirstsque clascef"6chan . a href="+cod,"6codee67n" class="scoh901318_basecoh901318401318.c#L50" id  L50" c3318401318.c#L50"h901318.c#L29" id  L29" c57ass="lin57" nam/coh901318.c#L50" id  L50" c5>ass="lin55" nam   L47">= 47 };55= 26 #i6nclud62"driv=mment">/* kmalloc() X_CF">COH_DBG <cohc list_he6d"/a> "ef"_i"+han . a hrto_" class=6g" cL13" in5e" na""+6odee=66 clry5ondin5reph901318.c#L43" id 6L43" 66*/ chan . a hrt6_" cl67am   L49">6 claa h">6ohc vers/dma/coh901318.c#L50" id  L50" 4ruct=mment">/* kmalloc() *="a hre" classgCF"_6H_ENA6LE>COHalloc() *="a hre" classgCFe DMA job *.c#L43" #i6nclud627 hre=".png"="+code1318_pool"f=u32" class="srcef">list_h/coh901316.c#L26" id  L26" c57ass=6lin5"6 nam   L7">= =7"/a>"sp5avirt6ase ;<"+c"+re)vers/dma/coh901318.c/dma/coh901318.c#L50" id  L50" 4rn6e" nam   L36">= 36"/a><<6a hre63"drivers/dm L7">= =7"/a>"sp5a#i6nclud61s="sref">6go>= e" nam   L36">=cti/a><<6a hre63"dctiter_i"+codeverbaoc_ri+code=chan" class=eva href>6oh90168R""dri)vers/dma/coh901318.c#L43" id  L43"581ruct=c6an" class="sEXPORT_SYMBO6>coh968repu_relax+code)vers/dma/coh901318.c#L value >  class">= cliL19"901318.c#L43" id 6L43" 66*/ list_head"/a> 6 clas68mp;"a hre,f=coh901318_poolp>fqrestor">vif"+casync_tx_iverbaocss4ruct=mment">/* kmallc/dma/coh901318.c#L50" id  L50" c#L50"h901318.c#L29"6+coe=665 hrCX_CF">">flags"318_baseref="drirqrestor">vif"+casync_tx_iverbaocss="lass="lin6e" nam verbaock_irqrestorL52">= 526/a>  58    58<u32   class="sfilter_4ruct=mment">/* kmallc/dma/coh901318.c#L50" id  L50" c#L50"h901318.c#L29"6+coe=665 hrCX_CF">">flags"318_baseref="drirqrestorc566ss="l66AR">u32   class="sfilter_i"+codeverbaoc_ri+code=chan" class=ev"drivers/6ma/coh901318.c#L13" id  613" c68 X_CF">COH_DBG < "ef"_i"+han . a hrto_" class=6feerase" c=viras to_plemmentnn conlasa h">list_head"/a> a h""+co)/ f="d= 190131onma/coh>. a hre 6lass="sronfig+code="+cod6=coh968am   L49">6 claa h">6ohc ->cookie_to_plemmha66ass="lin5e" namcookie_to_plemma href">coh901318401318.c#L5c/dma/coh901318.c#L50" id  L50" c#L50"h901318.c#L29"6+coe=665 hrCX_CF">">flags"e1318_pool"f=u32" class="srcef">list_heffffffff6eeeeeeeeeeee="+code=coh961318_68nam   L7">= =7"/a>"sp5a6lags"6a>;<. a hrto_" class=6releasen conlliion value=" and ec" *en con""+6odee=66list_head"/a> a h""+co)/ f="d= 190131onma/cohcoh9013186c#L50" id  L50" c58ass="6in58"69>#i6nclud61chan" cla6s="slocalloc() *=et_rfre/* kmalloc() */* Remove fret_rfre/a href">coh901318401318.c#L50" id  L50" c3318401318.c#L50"h901318.c#L29"  L43" c59ass="lin5"" nam   L9">= =9"/a><= =8"/a>"sp59 hre59c/dma/coh901318.c#L50" id  L50" c#L50"h901318.c#L29""=virt hrefc"+c=c4id  L13" ">/* kmall c6lass="lin6e" sget_bytes>  59    69truct="a hrefronste="+c6de=co69R""dri)vers/dma/coh901318.c#L43" id  L43"fcode=sg_6en" class=ref"nel>chan <6>. a 69repu_relax+code)vers/dma/coh901318.c#Lercav">""+6">= fre/-5reph901318.c#L43" id 6L43" 66*/ cohc -> a h6ef="+69mp;"a hre,f=coh901318_poolp>flags"/a>;ff=mment">/* kmalloc() */* Remove from quec" *ef="drivers/dma/coh901318/dma/coh901318.c#L50" id  L50" " ">/* kmall c6lass="lin6e" sget_bytes>52">= 526han" class="sco6901316_base/* kmall c6lass="lin6e" sget_bytes>drivers/6" class="sref">cohc -6gt; a6href="+code=chan" class="slock>list_head"6a> lock"+6o,f=virtbase" classref">6lags"6a>;<= 14 #i6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="a href=u32" class="srspin_unlock_irqrestor">virtbase ;cohc -> a hreline59" n6m   L7">= =7"/a>"sp59flags"/a>;<6a par69se ;<"+c"+re)vers/dma/coh90131qrestor">vif"+casync_tx_iverbaocssm L7">= =7"/a>"sp5alist_head"/a> "7f"_ro70="ne"+cod)d+codef=COH_DBG" class="s *qrestor">vif"+casync_tx_iverbaocssvers/dma/coh90131qrestorc566ss="l66AR">u32   class="sfilter_tbase ;70_head"/a> i""+covers/dma/coh901318.c#L43" id  L43" c5lass="lin5e" nam   L51">= 51"/a>  5     551drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" nam   L52">= 52"/a>  5     552id="a href="=virtbase" classpin_lock_irqcav">virtbase ;cohc -> a h7" nam70"sfirstsque clascef"6chan . a href="+7"+cod,f=v7rtbase" clascoh7013187base};55coh70131870ud624ruct=mment">/* kmalloc((((((((() *=*ant">/*njunctiondwfirmen href=ass="_DBG" cwas schedu3" c,="a hrefffffffff6mment65without losing dat7"6cod,f=v7r,f=virtbase" classref">7R1"dr70 L25">= 25"/a><<6a hre625hre(((((((() won"al't6g" cs="s 65twice, so wonha*en c" cnumb/*nofin5e" n="a hrefffffffff6mment65without losing dat7"7cod,f=v7roh901318.c#L26" id  L267chan"7class=>= 25"/a><<6a hre625hre(((((((() couunct6e" nakeep="liss"o=* R= =7"/a>"sp607   607r7ct="a70base};55= beam>#i6e"  nam   L19">= 19 #i6nclud61"drivers/dma/7901318_po7lwra e"+code1d<< c7chan"701" id  L31"8_base= beaiss:ed,L43" i_ply schedu3en c" c"_DBG" cagains c#L1*= f="driver(coh9013)rs/dma8.c#">=/co70" nam   79">= =9"/a><u37   a hre="s *"a hrTC_7NT_CL711ase-->virtbase ;= 
  #i601   601ruct="a href=mme id  L13" c6="a hrefcode=sg_len" cllue="v3.156    563id="a href="""""""""=sg_len" class=wra e">ca/coh901318.c#L37" id  L37" c6lass="l7ronf+code7virtbase" clasa h">cohc 7a>) (71 *"arusy"+cod=e1eers/dma/coh901318.c67lat_head"/a> l6ck"+c67las="lin5e" nam   L19">= 19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2_DEVpool"f=u32" class="srcefschedu3" cc"_DBG" cagain, newiIRQs o,h">list_head"/s="ing">"[%s] 4ruct=" &7base" cla7a h">cohc ) (&"a 7re,f=71f">coh901318_baselist_head"/">virtbase ;list_hea7"/a> 71ad"/a> a h""+co)vers/ 601ruct="a href=mme id_ p"drid=e+code=cohc" clas id_ p"drid=eol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_ L9">= =9"/a><= =7"/a>"sp5acohc -7gt; a7145"/a>  6     645ruct=e1eers/dma/coh901318.c"_DBG" _hi_schedu3e/coh901318.c#L4"_DBG" _hi_schedu3e= 51"/a>  5     551drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" hrCX_CF"_6H_ENA6LE>COH544ruct=mme">virtbase ;7lags"71_submit+codehre)vers/ffe=coh901318_poolp>flags"/a>;<= 16 #i6nclu761"dr71_submit+codean" class=e1eers/dma/coh901318.c"_DBG" _schedu3e/coh901318.c#L4"_DBG" _schedu3e= 51"/a>  5     551drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" hrCX_CF"_6H_ENA6LE>COH544ruct=mme">virtbase ;= 17 #i6nclud717ruc71se ;<"+c"+ool" c hrefeers6dma/coh901318.c#L13"7id  L43" 76a8ss="lin6e" nam   L18"7= 18 72318_pool" class="sdes">cohc -> a h7oh901318.7#L10" id  L10" c6lass="l7n6e" 721ase= 14 #i6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="a href=u32" class="srspin_unlock_irqrestor">virtbase ;;= 24 <7>#i6n7lud624 e" nam   L36">=cti/a><<6a hre63"dctiter_:++ver6"dri)vers6dma/coh901318.c#L437"code=coh73" id  L13" c6l5ss="lin67" nam72>;<= 14 #i6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="a href=u32" class="srspin_unlock_irqrestor">virtbase ;6 claa h">6ohc -7lacti/a><<6a hre63"d-7lactilin5e" nam   L19">= 19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2_DEVpool"f=u32" class="srcef">list_heNoin5e" na"ma>""+6 h">list_head"/s="ing">" nbr_318.c#_did  %ld\n"31" c6tbase ;6 _base#d6e7ine629ruct="a href="+cod7=coh971318_pool" class="sdes">cohc -> a h7ass="sdes7"+code=virtbase" clascef7>list73 L25">= 25"+cod)vers6dma/co/*6s="s 65ondinjunctiondwid=texph901318.c#L43" id 6L43" 66*/ <<6a7hre63"drivers/dma/coh901718.c#7345"/a>  6  =e=coh901618_pool="s *"a hc_nsfer ha66ass="lin5e" namhc_nsfer ol"f== 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" clasceflass="squec"_start>cohc -&g7a/coh901378.c#L13" id  L13" c6lass7"lin673318_pool" cE+codeers6dma/coh901318.c#L13"713" id  L73" c6aass="lin6"" nam   713">=73ase};55/* kmalloc((((((((() *=* conlasa h">" cnotion valued,Lt id we shouldl't6ha n="a hrefffffffff6mment65without losing dat7ead"/a> a7h""+cod=e=coh901318_pool7 hlas73 L25">= 25"/a><<6a hre625hre(((((((()   L46"" nam   L1sntnnits c#L1*= f="driver(coh9013)rs/dma8.c#">=/co7rstsquec"7+code=virtbase" clasa h"7cohc 73lass=>= 25"/a><<6a hre625hre(((((((()01318.c#L43" id 6L43" 66*/ = 37 st6ruct=637 href7"+codec"+c=cha 601!rivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"on valued8.c#L31" id  L3on valued e">ca/coh901318.c#L37" id  L37" c6lass="l7oh901318.7#L50" id  L50" c6l8ss="l7n6e" 7am   L38">= 38"/a>  6     638ruct="a -7lacti/a><<6a hre63"d-7lactilin5e" nam   L19">= 19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2_DEVpool"f=u32" class="srcefspuriousnjunctiondwfndino,h">list_head"/s="ing">"[%s] 4ruct=" &79ruct="a 7refffffffff=coh901318_po7la hl7ss="sdes"_remove>cohc  href""+a hre6};55" class="srcefunon valuednlasa h" h">list_head"/">virtbase ;= 40"/a>  6ercav"base ;7 41"/a>  6     641ruct="7 href7411 #i601  ma/coh901318.c#L37" id  L37" c6aass=7 href="+c7de=chan" class="srusy>de7ice <74"sfirstsque clascef"6chan . a href="+7"sdes"_su7mit>cohc -> a hlas7="sde74base= 15 #i6nclud615ruct="a">virtbase ;74"/a> "ef"_i"+han . a hrto_" class=ist_head"/s="ing">"[%s] 4ruct=" &79stsquec"7vit>cohc -> a hlas7="sde74lass=>= 25"/a><<6a hre625hre(((((((() W id we rPACIN"c" cpojun, at least allo"ins dete=cht_head"/s="ing">"[%s] 4ruct=" &79lin6e" n7)it>cohc -> a hlas7="sde74base};55l7st_head"/a> " class="sge7_byte741" id  L31"8_base= to_plemion,6e" nam  why we'ro T/cohtaskletoh90iveredma/coh/cohc#L31" id7unsi6ned 7648ss="lin6e" nam   L18"7= 18 753 #i6cclG ("a=6s *"a h(((((((()6g" t" cca nctminon couunnjunctiondwm  itcnot? T/cohtaskletoh90iveredma/coh/cohc#L31" id7uoh901318731" c6lass="lin6e" nam  7L45">75 L25">= 25"+cod)vers6dma/coh(((((((() *=*you6g" c"c" cBUG()* conmost probablonl us des"e" n T/cohtaskletoh90iveredma/coh/cohc#L31" id7u   L41">7h""+cod=e=coh901318_pool7 hlas751" id  L31" c6lass="lin6e" nam   L31"> conjudividuon nL15 star conlliilastarha*enIRQ enablod,="a hrefffffffff6mment65without losing dat7 id 6L43"765=chan" class="srusy>de7ice <75 nam   L32">= 32 #d6efine632ruct=mms= theck*your ff=coh90  kmall43" clliilastar/* ks c#L1*= f="driver(coh9013)rs/dma8.c#">=/co7c65ffffff7f=cohc" class="si>list_h7ad"/a753 #i6cclud633id="=mment">/* kmalloc() *="a======* TODO: transmit all quec"" j7 id 6L43"765e,f=coh901318_poola h"7list_75" id  L13" c6aass="lin6e" naBUG_ON5 #i6nclud61BUG_ONol"f=u32" class="sCO5rep_ripto5 #i6nclud615rep_ripto6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"n5e" n8.c#L31" id  L3o5e" n=""a"">virtbase ;#d6e7ine629ruct="a href="+cod7=coh975"sfirstsquec"">list_head"/a> " class="sf7id 6L13" 75>ass=" class="si>list_h7ad"/a75am   L49">6 claa h">6ohc verd  L13" c6="a hrefcode=sg_len" cllue="v3.156    563id="a href="""""""""=sg_len" class=wra e">++>virtbase ;co79013175nam   L7">= =7"/a>"sp5a;<. a hrto_" class=() *="a======* TODO: transmit all quec"" j7riversr t73" c6aass="lin6"" nam   713">=713 #i6cclG ("a=6s *"a h632ruct=mm+f=COattript >= taknaac=virfndin1" cs="li"ins , pudwmn T/cohtaskletoh90iveredma/coh/cohc#L31" id79h() */ f73" id  L13" c6l5ss="lin67" nam7  L25">= 25"+cod)vers6dma/coh632ruct=mmjuno 1" cs="lin5e" naand sref"6its c#L1*= f="driver(coh9013)rs/dma8.c#">=/co7alling th731" c6lass="lin6e" nam  7L45">761" id  L31" c6lass="lin6e" nam   L31"c() *="a======* TODO: transmit all quec"" j79 #d6f7c#quec"_start+code="+cod7=coh976 *"arusy"+cod 601ruct="a href=mme iclass="coh901318.c#L13" id  L13" c6lass="lin6e" nam   L27">u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_4rn6e" nam   L36">= 36"/a><<6a hre63"drivers/dm L7">= =7"/a>"sp5ali7t_hea76f">coh901318_base6ohc verd  L13" c6="a hrefcode=sg_len" cllue="v3.156DMA job *ef="drivers/dma/coh90/dma/coh901318.c#L43" id  L29" c6a6ss79 #d6f7c#quecruct="a href="+cod7=coh976ref="+code=chan" class="slock>list_head"7e=virtbL_7i=quecruct="a href="+cod7=coh976>;<= 15 #i6nclud615ruct="a">virtbase ;cohc -> a hr7">viiverb7ocss=" id  L50" c58ass="7in58"76="a hreffffff+covers/dma/coh901318.c#() *="a======* TODO: transmit all quec"" j79 Enablea7coss=" id  L50" c58ass="7in58"761" id  L31"8_base#i6cclG ("a=6s *"a h632ruct=mmand thus nctminotes"e"ems c#L1*= f="driver(coh9013)rs/dma8.c#">=/co737;d"731" c6lass="lin6e" nam  7L45">77 L25">= 25"+cod)vers6dma/coh632ruct=mc() *="a======* TODO: transmit all quec"" j7"/a>__9017__d613iass="lin6e" nam  7L45">7711 #i601   601ruct="a href=mme id_ p"drid=e+code=cohc" clas id_ p"drid=eol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_ L9">= =9"/a><= =7"/a>"sp5a  5     551drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" hrCX_CF"_6H_ENA6LE>COH544ruct=mme">virtbase ;co7901317_baseflags"/a>;<#i7nclud62"driv=mment">/* k7alloc77ad"/a> a h""+co)vers/dma/coh901318.c"_DBG" _schedu3e/coh901318.c#L4"_DBG" _schedu3e= 51"/a>  5     551drivers/dma/coh901318.c#L10" id  L10" c5lass="lin5e" hrCX_CF"_6H_ENA6LE>COH544ruct=mme">virtbase ;cohc l7st_he77318_pool" c hrefeers6dma/coh901318.c#L13"7lto_" cla7s="sref">chan . a hrt7_" cl77i+cod++ver6"hre)vers/>cohc -> a hr7/coh901317.c#L26" id  L26" c57ass=7lin5"7 nam   L7">= =7"/a>"sp5avirt7ase   6  =c5lass="lin5e" = 14 cav"_F"_6H_ENA6LE>COH= 14 cav"_Fd624 e" nam   L36">= nam= 1_nsfer i/a><<6a hre63"d-nam= 1_nsfer i= 51"jun=c5lass="lin5e" = 1"_6H_ENA6LE>COH= 1t="a h>};55= =7"/a>"sp5a#i6n/coh901318.c#L37" id  L37" c6lass="l7a href>7oh901781asecoh901318_pool1  6us"5"/a>virtbase ; i""+covers/dma/cohuhre63"drive="drivu345"/adod)ers/6a/coh901  6usre63"drive="driv1  6usr5"/a>virtbase ;list_head"/a> 7 clas78mp;"a hre,f=cjun=c5lass="lin5e" ="_6H_ENA6LE>COH=5"/a>virtbase ;  58    58<virtbase ;#i7ma/coh901318.c#L13" id  713" c78318_pool" cDBG ("6="s *"a hrCX_CF"_SPACIN"  L43" c59ass="lin5F"_SPACIN"  L4">cohc -> a hla  L43" c59ass="lin5"" nam   4ruct=mment">/* km-7laDMA job *ef="driv-7laDMocss>virtbase ; "ef"_i"+= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c>virtbase ;6 ce=coh901618_pool="s __iomes="l66AR">u32 cohc -> a hlam   L8">= =8"/a>"sp608   608ruct="a ruct=mment">/* km  L43" c59ass="lin5"" nam   L9">= =9"/a><= =8"/a>"sp608   608ruct="a>virtbase ;= =7"/a>"sp5a7lags"7a>;<coh901318_pool1  6us"5"/a ruct=mment">/* kmreada/coh901318.c#L4readaol"f=u32" class="sCOn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len""+coSTATUS">coh901318_poolwra e"+cod"+coSTATUS"=mme">virtbase ;#i6nclud61chan" cla6s="sloc1  6usre63"drive="driv1  6usr5"/a ruct=mment">/* kmreada/coh901318.c#L4readaol"f=u32" class="sCOn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len""+coSTATUS href">coh901318_basevirtbase ;chan <7>. a 7911 #i601   601ruct="a href=mmunlikel job *ef="driverunlikel ol"f=u32" class="sCO1  6us">coh901318_pool1  6us"5"/a r= 0 L8">=L8">=han" cla6s="sloc1  6usre63"drive="driv1  6usr5"/a r= 0)ca/coh901318.c#L37" id  L37" c6lass="l7h901318_p7ola h">cohc -> a h7ef="+79 *"arusy"+cod=e1eers/dma/coh901318.c67lawarde=coh901318_poo67lawardol"f=u32" class="sCO  L43" c59ass="lin5"" nam   L9">= =9"/a><list_head"/">virtbase ;52">= 527han" class="sco79013179f">coh901318_base6irtbase ;virtbase ;drivers/7" class="sref">cohc -7gt; a79318_pool" cDBool" c hrefeers6dma/coh901318.c#L13"7a> lock"+7o,f=virtbase" classref">7lags"79"sfirstsquec"">list_head"/a> " class="sf7ivers/dma7coh901318.c#L26" id  L267 c59s79am   L49">6 cl= 25"+cod)vers6dma/co/*6ent">/considerCX_CF"_SIRQ tar _DBG" cR= =7"/a>"sp59};55flags"/a>;<7a par79am   L49">6 _baselist_head"/a> "8f"_ro80="ne"+cod)d+c+covers/dma/coh901318.c#L4heck* conL13" i32n9ss=lasa h"s43" cIRQ mc() *="a======* TODO: transmit all quec"" j8ref="ne"+8od].=coh901318_poolparam8flags801asecoh901318_pool1  6us"5"/aca/coh901318.c#L37" id  L37" c6lass="l8L31" id  831" c6aass="lin60" nam  8L11">8045"/a>  6  de=coh9016+covers/dma/coh901318.c#LFindnL13" ibit set,hercav">as a/numb/*. mc() *="a======* TODO: transmit all quec"" j8r31" id  83la h">cohc -> a h8" nam80 *"arusy"+cod=e1eers/dma/coh901318.c="_6H_ENA6LE>COH=5"/a ruct=mment">/* kmffpin_unlock_irqresfsol"f=u32" class="sCO1  6us">coh901318_pool1  6us"5"/a) -01318.c#L13" id  L13" c6lass="lin6e" n8"+cod,f=v8rtbase" clascoh80131880f">coh901318_base6ohc vh/coh901318.c#L4ch5"/a ruct=mment">/* km="_6H_ENA6LE>COH=5"/a>virtbase ;coh80131880ref="+code=chan" class="slock>list_head"8"6cod,f=v8r,f=virtbase" classref">8R1"dr8045"/a>  6     645ruct="a hrefffffffff=ms/dma/coh901318.c#L43" id  /a>  5     551driver  L43" c59ass="lin5"" nam   L9">= =9"/a><6ohc vh/coh901318.c#L4ch5"/a]>virtbase ;= 15 #i6nclud615ruct="a">virtbase ;= =7"/a>"sp607   607r8ct="a80nam   L7">= =7"/a>"sp5a= 38"/a>  6  covers/dma/coh901318.c#LM_DB offc"c" cbit mc() *="a======* TODO: transmit all quec"" j80" nam   89">= =9"/a><coh901318_pool1  6us"5"/a d614d= ~(1 <<uct=mment">/* km="_6H_ENA6LE>COH=5"/a">virtbase ;u38   a hre="s *"a hrTC_8NT_CL8145"/a>  6  d=e=coh9063covers/dma/coh901318.c#L4heck* conjudividuon lasa h">bits mc() *="a======* TODO: transmit all quec"" j8031" id  8in6e" nam   L10">= 
    6  de=coh9016 601ruct="a href=mmtest_bss="lin6e" nam   test_bssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"BE""+coSTATUS">coh901318_poolwra e"+codBE""+coSTATUS"5"/a"ca/coh901318.c#L37" id  L37" c6lass="l8ronf+code8virtbase" clasa h">cohc 8a>) (81 *"arusy"+cod=e1eers/odef=COH_DBG" class="s 67lacrss="lin6e" nam   67lacrssol"f=u32" class="sCO19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2coh901318.c#L37" id  L37" c6lass="l8r+cod,f=v8a h">cohc ) (&"a 8re,f=81f">coh901318_base h""+c! h">list_head"/d_= =7" c6l3ss="lih/coh901318.c#L4ch5"/a">virtbase ;list_hea8"/a> 81ad"/a> a h""+co)vers/odef=COH_DBG" class="s BUG_ON5 #i6nclud61BUG_ONol"f=1">virtbase ;cohc -8gt; a8145"/a>  6     645ruct=e1eers/dcovers/dma/coh901318.c#L4lear BEnjunctiondwmc() *="a======* TODO: transmit all quec"" j807cod,f=v8o,f=virtbase" classref">8lags"81_submit+codehre)vers/odef=COH_DBG" class="s _CX_CFbss="lin6e" nam   _CX_CFbssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"BE""+coCLEAR">coh901318_poolwra e"+codBE""+coCLEAR"5"/a">virtbase ;= 16 #i6nclu861"dr81_submit+codean" class}cffe=a/coh901318.c#L37" id  L37" c6lass="l8r01318_po8   L17">= 17 #i6nclud817ruc81m   L38">= 38"/a>  6 =e1eers/dcovers/dma/coh901318.c#L4 us d bL46",herally?wmc() *="a======* TODO: transmit all quec"" j8id  L43" 86a8ss="lin6e" nam   L18"8= 18 82s="sdes"_remove>cohc  href""+ 601ruct="a href=mmunlikel job *ef="driverunlikel ol"f=!rivers/dma/coh9test_bss="lin6e" nam   test_bssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ru======* TODO: transmit all quec"" j8iLEAR">u38#L10" id  L10" c6lass="l8n6e" 8245"/a>  6  dri)vers/6mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmt="a hrefffffffff=sg_len"TC""+coSTATUS">coh901318_poolwra e"+codTC""+coSTATUS"5"/a"cca/coh901318.c#L37" id  L37" c6lass="l8ivers/dma8coh901318.c#L13" id  L138 c6la8245"/a>  6  de=coh9016dmmmmmmmmmmmmmmmt="a hrefffffff67lawarde=coh901318_poo67lawardol"f=u32" class="sCO19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2coh901318.c#L37" id  L37" c6lass="l8h901318.c8L13" id  L13" c6lass="li86e" n82 *"arusy"+cod=e1eers/odef=COH6dmmmmmmmmmmmmmmmtcovers/dma/c" class="srcefignoclasnjunctiondwnotic us d bL4nctminon couunnon lasa h"> h""+c h">list_head"/d_= =7" c6l3ss="lih/coh901318.c#L4ch5"/a">virtbase ;coh901318_base= 24 <8>#i6n82ad"/a> a h""+co)vers/odef=COHmmmmmmmmt="a hrefffffffBUG_ON5 #i6nclud61BUG_ONol"f=1">virtbase ;  6     645ruct=e1eers/mmmmmmmmt="a hrefffffff_CX_CFbss="lin6e" nam   _CX_CFbssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"TC""+coCLEAR">coh901318_poolwra e"+codTC""+coCLEAR"5"/a">virtbase ;= 38"/a>  6 =e1eers///////// 601!=u32" class="sCOreada/coh901318.c#L4readaol"f=u32" class="sCOn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"CXoSTAT>coh901318_poolwra e"+codCXoSTAT 604ru======* TODO: transmit all quec"" j89 #d6e8ine629ruct="a href="+cod8=coh983s="sdes"_remove>cohc  href""+ruct=e1eers/mmmmmmmmt="a hrefffffffwra e"+codCXoSTAT_SPACING>coh901318_poolwra e"+codCXoSTAT_SPACING="sdc -> a hlash/coh901318.c#L4ch5"/a" d614d======* TODO: transmit all quec"" j89LEAR">u38"+code=virtbase" clascef8>list8345"/a>  6  dri)vers/6mmmmmmmmmmmmmmmmmmmmmmt="a hrefffffffwra e"+codCXoSTAT_ENABLEDe=coh901318_poowra e"+codCXoSTAT_ENABLED5"/a"ca/coh901318.c#L37" id  L37" c6lass="l80"/a><<6a8hre63"drivers/dma/coh901818.c#8345"/a>  6  de=coh9016dmmmmmmmmmmmmmmmmmmmmmmmt="a hrefffffffenablo_pow7" a*ee=coh901318_pooenablo_pow7" a*eol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_d======* TODO: transmit all quec"" j89901318.c88.c#L13" id  L13" c6lass8"lin683 *"arusy"+cod=e1eers/odef=COH6dmmmmmmool" c hrefeers6dma/coh901318.c#L13"813" id  L83" c6aass="lin6"" nam   813">=83i+cod++ver6"dri)vers6dma/coh901318.c#L438bsdin one8gof="drivers/dma/coh901388.c#L83ad"/a> a h""+co)vers/odef=COHmmmmmmmmtcovers/dma/coh901318.c#LMusticlear 6"" nam   L1wbef>#i6s="slas() *="a======* TODO: transmit all quec"" j8ead"/a> a8h""+cod=e=coh901318_pool8 hlas83 L25">= 25"/a><<6a hre625hre((((((((((((((((((((((((((((((((*  namhc_nsfer ol *="a======* TODO: transmit all quec"" j8e7cod,f=v8+code=virtbase" clasa h"8cohc 83lass=>= 25"/a><<6a hre625hre((((((((((((((((((((((((((((((((* tar/asen c_nsfer  taitilue a newi"ma>jobol *="a======* TODO: transmit all quec"" j8elin6e" n8 L37">= 37 st6ruct=638 href83base};55= 38"/a>  6 odef=COHmmmmmmmmt="a hrefffffff_CX_CFbss="lin6e" nam   _CX_CFbssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"TC""+coCLEAR">coh901318_poolwra e"+codTC""+coCLEAR"5"/a">virtbase ;cohc -> a h8coh9013188c#L43" id  L29" c6lass="8in6e"8nam   L40">= 40"/a>  6odef=COHmmmmmmmmt="a hrefffffff*"a hc_nsfer ha66ass="lin5e" namhc_nsfer ol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_d======* TODO: transmit all quec"" j8m   L41">8 41"/a>  6     641ruct="8 href8445"/a>  6  de=coh9016dmmmmmmmool" c hrefeers6dma/coh901318.c#L13"8 href="+c8de=chan" class="srusy>de8ice <84 *"arusy"+cod=e1eers/ool" c hrefeers6dma/coh901318.c#L13"8 3" id  L8mit>cohc -> a hlas8="sde84f">coh901318_base6ohc 1318.8.c#L4 c6l4ss="lin6e" nam   L14"6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="a">virtbase ;84"sfirstsquec"">list_head"/a> " class="sf89stsquec"8vit>cohc -> a hlas8="sde84am   L49">6 cl= 25"+cod)vers6dma/co/*64heck* conremataingi32n9ss=lasa h"s43" cIRQ mc() *="a======* TODO: transmit all quec"" j89lin6e" n8)it>cohc -> a hlas8="sde84_submit+codea href==u32" class="sCO1  6usre63"drive="driv1  6usr5"/aca/coh901318.c#L37" id  L37" c6lass="l8_in_lli>l8st_head"/a> " class="sge8_byte84m   L38">= 38"/a>  6  covers/dma/coh901318.c#LFindnL13" ibit set,hercav">as a/numb/*. mc() *="a======* TODO: transmit all quec"" j8unsi6ned 8648ss="lin6e" nam   L18"8= 18 85="ne"+cod)d+codef=COH_DBG" class="s ="_6H_ENA6LE>COH=5"/a ruct=mment">/* kmffpin_unlock_irqresfsol"f=u32" class="sCO1  6usre63"drive="driv1  6usr5"/aca-01318.c#L13" id  L13" c6lass="lin6e" n8uoh901318831" c6lass="lin6e" nam  8L45">8545"/a>  6  d=e=coh9063aa h">6ohc vh/coh901318.c#L4ch5"/a ruct=mment">/* km="_6H_ENA6LE>COH=5"/aruc32318.c#L13" id  L13" c6lass="lin6e" n8u   L41">8h""+cod=e=coh901318_pool8 hlas8545"/a>  6  de=coh9016+"a hrefffffffff=ms/dma/coh901318.c#L43" id  /a>  5     551driver  L43" c59ass="lin5"" nam   L9">= =9"/a><6ohc vh/coh901318.c#L4ch5"/a]>virtbase ;= 15 #i6nclud615ruct="a">virtbase ; a h""+co)vers/dcovers/dma/coh901318.c#LM_DB offc"c" cbit mc() *="a======* TODO: transmit all quec"" j89 #d6e8ine629ruct="a href="+cod8=coh98545"/a>  6     645ruct="a hreffffffff1  6usre63"drive="driv1  6usr5"/a d614d= ~(1 <<uct=mment">/* km="_6H_ENA6LE>COH=5"/a">virtbase ;ass=" class="si>list_h8ad"/a85_submit+codehre)vers/mcovers/dma/coh901318.c#L4heck* conjudividuon lasa h">bits mc() *="a======* TODO: transmit all quec"" j89lin6e" n865n" class="sco89013185_submit+codean" class 601ruct="a href=mmtest_bss="lin6e" nam   test_bssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"BE""+coSTATUS href">coh901318_base= 38"/a>  6 =e1eers/dDBG" class="s 67lacrss="lin6e" nam   67lacrssol"f=u32" class="sCO19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2coh901318.c#L37" id  L37" c6lass="l8riversr t83" c6aass="lin6"" nam   813">=86s="sdes"_remove>cohc  href""+ruct=e1ee3covers/dma/c" class="srcef9ss=busncti" con lasa h"> h""+c! h">list_head"/d_= =7" c6l3ss="lih/coh901318.c#L4ch5"/a">virtbase ;= 40"/a>  6odef=COHdcovers/dma/coh901318.c#L4lear BEnjunctiondwmc() *="a======* TODO: transmit all quec"" j8alling th831" c6lass="lin6e" nam  8L45">8645"/a>  6  de=coh9016dmmmmmmmt="a hrefffffffBUG_ON5 #i6nclud61BUG_ONol"f=1">virtbase ;#d6f8c#quec"_start+code="+cod8=coh986 *"arusy"+cod=e1eers/odef=COH_DBG" class="s _CX_CFbss="lin6e" nam   _CX_CFbssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"BE""+coCLEAR href">coh901318_basevirtbase ;li8t_hea86f">coh901318_base a h""+co)vers/odef=COH_covers/dma/coh901318.c#L4 us d bL46",herally?wmc() *="a======* TODO: transmit all quec"" j8e=virtbL_8i=quecruct="a href="+cod8=coh98645"/a>  6     645ruct=e1eers/ 601ruct="a href=mmunlikel job *ef="driverunlikel ol"f=!rivers/dma/coh9test_bss="lin6e" nam   test_bssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ru======* TODO: transmit all quec"" j8coh9013188c#L50" id  L50" c58ass="8in58"86_submit+codehre)vers/odef=COHsy"+cod=e1eers/odef=COH_DBG" class="s wra e"+codTC""+coSTATUS href">coh901318_baseviiverb8ocss=" id  L50" c58ass="8in58"86_submit+codean" class=e1eers/=e=coh90d="a hrefffffff67lawarde=coh901318_poo67lawardol"f=u32" class="sCO19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2coh901318.c#L37" id  L37" c6lass="l89 Enablea8coss=" id  L50" c58ass="8in58"86m   L38">= 38"/a>  6 odef=COHmmmmmmmm/=e=coh90dcovers/dma/c" class="srcefignoclasnjunctiondwnotic us d bL4nctminon couunnon lasa h"> h""+c h">list_head"/d_= =7" c6l3ss="lih/coh901318.c#L4ch5"/a">virtbase ;cohc  href""+ruct=e1edcovers/dma/coh901318.c#L4lear 6"" nam   L1wmc() *="a======* TODO: transmit all quec"" j837;d"831" c6lass="lin6e" nam  8L45">87am   L40">= 40"/a>  6odef=COHmmmmmmmmt="a hrefffffff_CX_CFbss="lin6e" nam   _CX_CFbssol"f=u32" class="sCO="_6H_ENA6LE>COH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"TC""+coCLEAR href">coh901318_basevirtbase ;__9018__d613iass="lin6e" nam  8L45">8745"/a>  6  de=coh9016dmmmmmmmmmmmmmmmt="a hrefffffffBUG_ON5 #i6nclud61BUG_ONol"f=1">virtbase ;co89013187f">coh901318_base#i8nclud62"driv=mment">/* k8alloc87ad"/a> a h""+co)vers///////////////// 601!=u32" class="sCOreada/coh901318.c#L4readaol"f=u32" class="sCOn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"CXoSTAT>coh901318_poolwra e"+codCXoSTAT 604ru======* TODO: transmit all quec"" j8h class="8ref">cohc l8st_he8745"/a>  6     645ruct=e1eers/mmmmmmmmmmmmmmmmmmmmt="a hrefffffffwra e"+codCXoSTAT_SPACING>coh901318_poolwra e"+codCXoSTAT_SPACING="sdc -> a hlash/coh901318.c#L4ch5"/a" d614d======* TODO: transmit all quec"" j8lto_" cla8s="sref">chan . a hrt8_" cl87_submit+codehre)vers/odef=COHsy"+cod=e1eerst="a hrefffffffwra e"+codCXoSTAT_ENABLEDe=coh901318_poowra e"+codCXoSTAT_ENABLED5"/a"ca/coh901318.c#L37" id  L37" c6lass="l8/coh901318.c#L26" id  L26" c57ass=8lin5"87_submit+codean" class=e1eers/=e=coh90d=e1eerst="a hrefffffffenablo_pow7" a*ee=coh901318_pooenablo_pow7" a*eol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_d======* TODO: transmit all quec"" j8fffffffff8virt87m   L38">= 38"/a>  6 odef=COHmmmmmmmmool" c hrefeers6dma/coh901318.c#L13"8rs/dma/co8901318.c#L29" id  L29" c87ass=88s="sdes"_remove>cohc  href""+ruct=e1edcovers/dma/coh901318.c#LMusticlear 6"" nam   L1wbef>#i6s="slas() *="a======* TODO: transmit all quec"" j8a href>8oh90188 L25">= 25"+cod)vers6dma/coh632ruct=========================*  namhc_nsfer ol *="a======* TODO: transmit all quec"" j8581ruct=c8an" class="sEXPORT_SYMBO8>coh9881" id  L31" c6lass="lin6e" nam   L31========================* tar/asen c_nsfer  taitilue a newi"ma>jobol *="a======* TODO: transmit all quec"" j8518.c#_di8filter_i">list_head"/a> 8 clas88 nam   L32">= 32 #d6efine632ruct=========================*c() *="a======* TODO: transmit all quec"" j85d,"6code8/a>  58    58<coh901318_baseCOH=5"/as="ing">" nbn60" nam   L44">= 44"/a>  604   604ruct="a hrefffffffff=sg_len"TC""+coCLEAR href">coh901318_basevirtbase ;#i8ma/coh901318.c#L13" id  813" c88ref="+code=chan" class="slock>list_head"85 class="8allocationf="drivers/dma8coh908845"/a>  6     645ruct=e1eers/mmmmmmmmt="a hrefffffff*"a hc_nsfer ha66ass="lin5e" namhc_nsfer ol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_d======* TODO: transmit all quec"" j85to_" cla8lass="sronfig+code="+cod8=coh988_submit+codehre)vers/odef=COH}======* TODO: transmit all quec"" j85coh901318eeeeeeeeeeee="+code=coh981318_88_submit+codean" class}======* TODO: transmit all quec"" j85ffffffff8ode=virtbase" clasparam>8lags"88m   L38">= 38"/a>  6  aa h">6ohc 1318.8.c#L4 c6l4ss="lin6e" nam   L14"6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="a">virtbase ;#i6nclud61ch}======* TODO: transmit all quec"" j8c href>chan <8>. a 8911 #i601  ercav">6irtbase ;virtbase ;cohc -> a h8ef="+89 *"ar}======* TODO: transmit all quec"" j8cd,"6code8han" class="sco89013189i+cod++ver6"dri)vers6dma/coh901318.c#L438>drivers/8" class="sref">cohc -8gt; a89318_p>  6  =jun=c5lass="lin5e" c" class="on va_ p"drresourcepin_unlock_irqrel" class="on va_ p"drresourcep6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 = =7"/a>"sp5a8lags"89"sfir/coh901318.c#L37" id  L37" c6lass="l8ivers/dma8coh901318.c#L26" id  L268 c59s89am   L49">6 c= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">coh hc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOHhode=coh901318_poolcod1 virtbase ;= =7"/a>"sp59vir>virtbase ;flags"/a>;<8a par89am   L49">6 _baselist_head"/a> "9f"_ro90>#i6nclud61chan" cla6s="sloc67lavdbge=coh901318_poo67lavdbgol"f=u32" class="sCO19dev_vdbvers/dma/coh9013dev_vdbvpool"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2_DEVpool"f=u32" class="srcef">list_he9ss=lasa h"> h""+c h">list_head"/dL49">6 _base= 40"/a>  6od="a hrefffffff_C318.c#_did  %ld\n"31" c6d_= =7" c6l3ss="li1318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"DMA job *ef="drivDMocssm>virtbase ;9045"/avirtbase ;cohc -> a h9" nam90 *"arusy"+cod 601ruct="a href=mmehode=coh901318_poolcod1 = =9"/a>< 1m L7">= =7"/a>"sp5acoh90131890f">coh901318_base-= =9"/a><vir>virtbase ;coh90131890ref="+code=chan" class="slock>list_head"9"6cod,f=v9r,f=virtbase" classref">9R1"dr90>;<= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;cohc -> a hr90" nam   97">= =7"/a>"sp607   607r9ct="a908;<<<6a hre63"drivers/dm>virtbase ;flags"/a>;<9chan"90am   L49">6 _base= =9"/a>< ru1318.c#L13" id  L13" c6lass="lin6e" n9CLEAR">u39   a hre="s *"a hrTC_9NT_CL911ase= 
  ;cohc 9a>) (91 *"arusy"+cod aa h">6ohc 1318.8.c#L4_= 14 storee=coh901318_poo1318.8.c#L4_= 14 store6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;cohc ) (&"a 9re,f=91i+cod++ver6"dri)vers6dma/coh901318.c#L439C+cod,f=v9"s"trl_lli_agst>list_hea9"/a> 91ad"/a> a h""+ercav">1318.c#L13" id  L13" c6lass="lin6e" n9C6cod,f=v9" class="sref">cohc -9gt; a91318_pool" c hrefeers6dma/coh901318.c#L13"907cod,f=v9o,f=virtbase" classref">9lags"91i+cod++ver6"hre)vers/>cohc -> a hr9C" nam   9m   L16">= 16 #i6nclu961"dr91_subm>  6  =e=co++ver6"hre)vers/>cohc -> a hr9C9 nam   9   L17">= 17 #i6nclud917ruc91m   Lod)ers/6a/coh90e=".png"="free_ p"drresourcepin_unlock_irqrel" class="free_ p"drresourcep6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 = =7"/a>"sp5a#i6n/coh901318.c#L37" id  L37" c6lass="l9iLEAR">u39#L10" id  L10" c6lass="l9n6e" 9245"/a>  6  dr= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">coh hc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOHhode=coh901318_poolcod1 virtbase ;  6  dejun=c5lass="lin5e" chsa h"e=coh901318_poolcod h"e" c ruct=mment">/* kmi1318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"DMA job *ef="drivDMocss>virtbase ;vir>virtbase ;= 24 <9>#i6n92ad"/a> a h""+od)ers/6a/coh901318.5rucm= 1 a*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;list_head"/a> " class="sf9i7cod,f=v9 >6 cl= 25"+cod)vers6dma/co/*6Disablo HW=*c() *="a======* TODO: transmit all quec"" j9"lin6e" n9"squec"_start+code="+cod9=coh9928;<= =9"/a><= =8"/a>"sp608   608ruct="aruct="a hrefffffffff=sg_len"CXoCFG>coh901318_poolwra e"+codCXoCFG 604ru======* TODO: transmit all quec"" j9i01318_po9+code=virtbase" clascef"9cohc 92m   L38">= 38"/a>  6t="a hrefffffffff=sg_len"CXoCFG_SPACING>coh901318_poolwra e"+codCXoCFG_SPACING="sdc -> a hlashsa h"e=coh901318_poolcod h"e" cm>virtbase ;#d6e9ine629ruct="a href="+cod9=coh993>#i6nclud61chan" cla6s="slocwrith"e=coh901318_poowrith"6nclu0x00000000Ud_= =7" c6l3ss="li1318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"  L43" c59ass="lin5"" nam   L9">= =9"/a><= =8"/a>"sp608   608ruct="aruct="a hrefffffffff=sg_len"CXoCTR"/a><<6a hre63"dff=sg_len"CXoCTR" 604ru======* TODO: transmit all quec"" j99LEAR">u39"+code=virtbase" clascef9>list9345"/a>  6  dri)vers/t="a hrefffffffff=sg_len"CXoCTR"_SPACING>coh901318_poolwra e"+codCXoCTR"_SPACING="sdc -> a hlashsa h"e=coh901318_poolcod h"e" cm>virtbase ;;6ohc 01318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"on valued8.c#L31" id  L3on valued e"> ru/dma/coh901318.c#L43" id  L29" c6a6ss913" id  L93" c6aass="lin6"" nam   913">=93i+cod++ver6"dri)vers6dma/coh901318.c#L439bsdin one9gof="drivers/dma/coh901398.c#L93ad"/a> a h""+od)ers/6a/coh901318.8.c#L4_= 14 storee=coh901318_poo1318.8.c#L4_= 14 store6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ; a9h""+cod=e=coh901318_pool9 hlas93"sfirstsquec"">list_head"/a> " class="sf9e7cod,f=v9+code=virtbase" clasa h"9cohc 937*"arusy"+cod aa h">6ohc 0hode=coh901318_poolcod1 = =9"/a><= =9"/a><<<6a hre63"dDMA_TERMINATE_A6"1 virtbase ;= 37 st6ruct=639 href93base6 _basecohc -> a h9coh9013189c#L43" id  L29" c6lass="9in6e"9nam   >  6  =c5lass="lin5e"  nam+ookie_te=coh901318_poo nam+ookie_t18_pool" class="sdes">cohc -> a h9c31" id  9 41"/a>  6     641ruct="9 href9445"/a>#i6nclud627 hre=".png"="tx_submite=coh901318_pooe=".png"="tx_submit6nclu= 27 #i6nclud627 hr namasync"tx_descriptore=coh901318_poo namasync"tx_descriptor1 c -> a hlatxe=coh901318_pootx1 = =7"/a>"sp5acohc -> a hlas9="sde94f">coh901318_= 27 #i6nclud627 hre=".png"="desce=coh901318_pooe=".png"="desc1 c -> a hlasohd8.c#L31" id  L3sohde" c ruct=mment">/* kmi1nta-&gr_oe+code=cohc" clas nta-&gr_oeol"f=u32" class="sCOtxe=coh901318_pootx1 #i6nclud627 hre=".png"="desce=coh901318_pooe=".png"="desc1 6 _base a h""+co)vers////////////////////////////////////= =9"/a><virtbase ;94"/a> "ef"_i"+= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOtxe=coh901318_pootx1 = =9"/a><virtbase ;cohc -> a hlas9="sde94am   L49">6 cunsigned longhref=u32" class="srspin_unlock_irqrestor">vir>virtbase ;cohc -> a hlas9="sde948;<vir>virtbase ; " class="sge9_byte94am   L49">6 _base#i6nclud61chan" cla6s="sloc1318.5rucm= 1 a*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;951asevir4ruct=mment">/* km-nam+ookie_""+igne=coh901318_poo nam+ookie_""+ignol"f=u32" class="sCOtxe=coh901318_pootx1 virtbase ;;6ohc 013.png"="desc_queuesdes""+code=virtb3.png"="desc_queueol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aCd_= =7" c6l3ss="lsohd8.c#L31" id  L3sohde" cm>virtbase ; a h""+od)ers/6a/coh901318.8.c#L4_= 14 storee=coh901318_poo1318.8.c#L4_= 14 store6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;list_head"/a> " class="sf9id 6L13" 95>ass=" class="si>list_h9ad"/a95_submit+codehercav">6irtbase ;vir>virtbase ;co99013195base6 _base=96s="sd>  6  == 27 #i6nclud627 hr namasync"tx_descriptore=coh901318_poo namasync"tx_descriptor1 cL49">6 _base6ohc 013.png"="prep_memcp job *ef="driver013.png"="prep_memcp 6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 6 _base9645"/a>  6  de=coh9016dmmmmm>#i6nclud627 hrsize_te=coh901318_poosize_t18_pa>#i6nclud627 hrsizee=coh901318_poosize1 virm L7">= =7"/a>"sp5ali9t_hea96f">coh901318_= 27 #i6nclud627 hre=".png"="ll="_6H_ENA6LE>COHe=".png"="ll=1 c -> a hlall="_6H_ENA6LE>COHll=1 virtbase ;#d6f9c#quecruct="a href="+cod9=coh996ad"/a> a h""+= 27 #i6nclud627 hre=".png"="desce=coh901318_pooe=".png"="desc1 c -> a hlasohd8.c#L31" id  L3sohde" c>virtbase ;  6    unsigned longhref=u32" class="sle=coh901318_poo"sle" c>virtbase ;6 c= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1 virtbase ;viiverb9ocss=" id  L50" c58ass="9in58"96_submit+codeajun=c5lass="lin5e" ll=_leae=coh901318_pooll=_leae" c>virtbase ;= 38c5lass="lin5e" u3 href">coh901318u345"/a>u32" class="sCOltrl_f">te=coh901318_pooetrl_f">te" c ruct=mment">/* kmi1ha_ p"drparamsdes""+code=virtbas_ p"drparamol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC) L9">= =9"/a><te=coh901318_pooetrl_fl=_l">te" c>virtbase ;virtbase ;97R""dri)vers/dma/coh901318.c#L43" id  L439"/a>__9019__d613iass="lin6e" nam  9L45">9745"/a>  6  dean" cla6s="sloc1318.5rucm= 1 a*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"sle=coh901318_poo"sle" cm>virtbase ;;co99013197f">coh901318_= =9"/a><;#d6f9nclud62"driv=mment">/* k9alloc97ad"/a> a h""+co)vers//DEVpool"f=u32" class="srcef">list_helasa h"> h""+c sr1 0x h""+x 67st 0x h""+x size> h""+c h">list_head"/dL49">6 _basecohc l9st_he9745"/a>  6     645ruct=u32" class="sCO_C318.c#_did  %ld\n"31" c6d_= =7" c6l3ss="li1318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"DMA job *ef="drivDMocssd_= =7" c6l3ss="lsr18.c#L31" id  L3sr11 #i6nclud627 hrdess="lin6e" nam   67st1 chan . a hrt9_" cl97i+cod++ver6"hre)vers/>cohc -> a hr9/coh901319.c#L26" id  L26" c57ass=9lin5"97_submit+codea 601ruct="a href=mm"srspin_unlock_irqrestor">vir d614d_= =7" c6l3ss="lDMA_PREP""+cERRUPT>coh901318_poolDMA_PREP""+cERRUPT>virm L7">= =7"/a>"sp5avirt97m   L38">= 38"/a>  6 l= 25"+cod)vers6dma/co/*6Trigger" nam   L1wafam  l">t fl==*c() *="a======* TODO: transmit all quec"" j9rs/dma/co9901318.c#L29" id  L29" c97ass=98s="sdes"_remove>cohc u32" class="sCOltrl_f">te=coh901318_pooetrl_f">te" c |ruct=mment">/* kmwra e"+codCXoCTR"_TC""RQ_ENABLEers/dma/coh9013dev e"+codCXoCTR"_TC""RQ_ENABLEe" c>virtbase ;9oh90198R""dri)vers/dma/coh901318.c#L43" id  L439581ruct=c9an" class="sEXPORT_SYMBO9>coh99845"/a>  6  dean" cla6s="slocll=_leae=coh901318_pooll=_leae" c ruct=mment">/* kmsizee=coh901318_poosize1 d9"> ct=mment">/* kmMAX_DMA_PACKET_SIZE_SHIFT>coh901318_poolMAX_DMA_PACKET_SIZE_SHIFTe" c>virtbase ;list_head"/a> 9 clas98 *"arusy"+cod 6011ruct="a href=mmll=_leae=coh901318_pooll=_leae" c <<uct=mment">/* kmMAX_DMA_PACKET_SIZE_SHIFT>coh901318_poolMAX_DMA_PACKET_SIZE_SHIFTe" c) <uct=mment">/* kmsizee=coh901318_poosize1 ;  58    58<coh901318_basevirtbase ;#d6f9ma/coh901318.c#L13" id  913" c98ref="+code=chan" class="slock>list_head"95 class="9allocationf="drivers/dma9coh9098>;<COHll=1 /* kmi1h.png"="ll="on va"_6H_ENA6LE>COHe=".png"="ll="on va6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"  L43" c59ass="lin5"" nam   L9">= =9"/a><virtbase ;cohc -> a hr95coh901319eeeeeeeeeeee="+code=coh991318_98_submit+codea 601ruct="a href=mmll="_6H_ENA6LE>COHll=1 /* km 36"/a><<6a hre63"drivers/dm++ver6"hre)vers/>cohc -> a hr95ffffffff9ode=virtbase" clasparam>9lags"98m   L38">= 38"/a>  6 gotost="a hreffffffferre=coh901318_pooerre" c>virtbase ;cohc -> a h9c href>/* kmi1h.png"="ll="fill_memcp job *ef="driver013.png"="ll="fill_memcp 6ncluool" class="sdes">cohc -> a h9c81ruct=c9en" class=ref"nel>chan <9>. a 9945"/a>  6  de=coh9016d614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"  L43" c59ass="lin5"" nam   L9">= =9"/a><COHll=1 #i6nclud627 hrsizee=coh901318_poosize1 #i6nclud627 hrdess="lin6e" nam   67st1 cohc -> a h9c18.c#_di9ola h">cohc -> a h9ef="+99 *"arusy"+cod=e1eers/dma/coh901318.ci1ha_ p"drparamsdes""+code=virtbas_ p"drparamol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC) L9">= =9"/a><d8.c#L31" id  L3strl_fl=_ p"d1 cohc -> a h9c65ffffff9han" class="sco99013199f">coh901318_basete=coh901318_pooetrl_f">te" cm>virtbase ;drivers/9" class="sref">cohc -9gt; a995submit+codea 601ruct="a href=mmerce=coh901318_pooerce" cm++ver6"hre)vers/>cohc -> a hr9a> lock"+9o,f=virtbase" classref">9lags"9945"/a>  6     645ructgotost="a hreffffffferre=coh901318_pooerre" c>virtbase ;cohc -> a hr9hcoh901319m   L7">= =7"/a>"sp59COHll=1 virtbase ;ffffffff918_poolparam>flags"/a>;<9a par99am   L49">6 _base;<10 cl>10 c;<49">6 _base/* kmi13.png"="desc_grce=coh901318_pooi13.png"="desc_grcol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC)>virtbase ;chan <10 n">10 45"/a>  6  dean" cla6s="sloce=hd8.c#L31" id  L3sohde" cs="lin6e" nam   L15">l="_6H_ENA6LE>COHll=1 /* kmll="_6H_ENA6LE>COHll=1 virtbase ;cohc -> a h10 la>10  *"arusy"+cod aa h">6ohc 013d8.c#L31" id  L3sohde" cs="lin6e" nam   L15""srspin_unlock_irqrestor">vir ruct=mment">/* kmfsrspin_unlock_irqrestor">vir>virtbase ;co10 an>10 f">coh901318_= =9"/a></* kmtx_submite=coh901318_pootx_submit6ncl ruct=mment">/* kmi13.png"="tx_submite=coh901318_pooe=".png"="tx_submit6ncl>virtbase ;cohc -10  c>10 ref="+code=chan" class="slock>list_head"10 6lass="s10 ,f=virtbase" classref">10 ,f>10 >;<= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"sle=coh901318_poo"sle" cm>virtbase ;10 i+cod++ver6"hre)vers/>cohc -> a hr10 8lass="s10    L7">= =7"/a>"sp5910 8;<d614drivers/dma/coh9013d8.c#L31" id  L3sohde" cs="lin6e" nam   L15"desce=coh901318_poodesc1 virtbase ;;<10 8_>10 95"/a>u32" class="sCOerre=coh901318_pooerre" c:virtbase ;= =9"/a><>109";<= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"sle=coh901318_poo"sle" cm>virtbase ;  a hre="s *"a hrTC_10 1091;<ct=mment">/* km 36"/a><<6a hre63"drivers/d>virtbase ;= 
  10945"/aool" c hrefeers6dma/coh901318.c#L13"1093lass="s10virtbase" clasa h">cohc 10vir>109 *"arvirtbase ;cohc ) (&"a 10a h>109f">co>  6  == 27 #i6nclud627 hr namasync"tx_descriptore=coh901318_poo namasync"tx_descriptor1 cL49">6 _baselist_hea10"s">109ref="ct=mment">/* kmi13.png"="prep_slave_sle=coh901318_pool" class="prep_slave_sl6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 #i6nclud627 hrscatterliste=coh901318_poo1catterlist1 c -> a hlasg"e=coh901318_poosg"1 cohc -> a h1096lass="s10" class="sref">cohc -10" c>10945"/a>  6     645ruct=e1eers/unsigned jun=c5lass="lin5e" sg_leae=coh901318_poosg_lea1 #i6nclud627 hr namtransfer_directiode=coh901318_poo namtransfer_directiod5"/a>u32" class="sCOdirectiode=coh901318_poo irectiod5"/adool" class="sdes">cohc -> a h1097lass="s10o,f=virtbase" classref">10o,f>109_submit+codehre)vers/odef=COHunsigned longhref=u32" class="srspin_unlock_irqrestor">vir,=e=cohc -> a hlassntexte=coh901318_pooe=ntexte" cm++ver6"hre)vers/>cohc -> a hr1098lass="s10m   L16">= 16 #i6nclu10m  >1098;<= 17 #i6nclud10   >109m   L38">= 38= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1 virtbase ;106a   L38">= 38= 27 #i6nclud627 hre=".png"="ll="_6H_ENA6LE>COHe=".png"="ll=1 c -> a hlall="_6H_ENA6LE>COHll=1 virtbase ;  6  dr= 27 #i6nclud627 hre=".png"="desce=coh901318_pooe=".png"="desc1 c -> a hlasohd8.c#L31" id  L3sohde" c>virtbase ;10645"/a>  6  dee=nstr= 27 #i6nclud627 hre=".png"="parampin_unlock_irqrel" class="paramp1 c -> a hlaparampin_unlock_irqreparamp1 virtbase ;  6  dr= 27 #i6nclud627 hrscatterliste=coh901318_poo1catterlist1 c -> a hlasge=coh901318_poosg1 virtbase ;106f">coh901318_jun=c5lass="lin5e" leae=coh901318_pooleae" c ru/dma/coh901318.c#L43" id  L29" c6a6ss1065lass="s10lin6e" nam   L24">= 24 <10lin>1065">coh901318_jun=c5lass="lin5e" sizee=coh901318_poosize1 1066">coh901318_jun=c5lass="lin5e" ="_6H_ENA6LE>COH=5"/adma/coh901318.c#L43" id  L29" c6a6ss1067lass="s10 ><>1067*"arusy"+cod aa h">6ohc u3 href">coh901318u345"/a>u32" class="sCOltrl_ p"d8.c#L31" id  L3strl_ p"d1 /* kmi1ha_ p"drparamsdes""+code=virtbas_ p"drparamol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC) L9">= =9"/a><d8.c#L31" id  L3strl_fl=_ p"d1 1068;<coh901318u345"/a>u32" class="sCOltrl8.c#L31" id  L3strl1 /* kmi1ha_ p"drparamsdes""+code=virtbas_ p"drparamol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC) L9">= =9"/a><106m   L38">= 38c5lass="lin5e" u3 href">coh901318u345"/a>u32" class="sCOltrl_f">te=coh901318_pooetrl_f">te" c ruct=mment">/* kmi1ha_ p"drparamsdes""+code=virtbas_ p"drparamol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC) L9">= =9"/a><te=coh901318_pooetrl_fl=_l">te" c>virtbase ;= 38c5lass="lin5e" u3 href">coh901318u345"/a>u32" class="sCOlkmalle=coh901318_pool"mallol"f>virtbase ;10i45"/a>  6  drunsigned longhref=u32" class="sle=coh901318_poo"sle" c>virtbase ;10i45"/a>  6  dejun=c5lass="lin5e" erce=coh901318_pooerce" c>virtbase ;10i *"arvirtbase ;10if">coh901318_j601! -> a hlasg"e=coh901318_poosg"1 cohc -> a hr1035lass="s10gof="drivers/dma/coh901310gof>10iad"/a> a h""+co)vers/gotost="a hrefffffffouce=coh901318_pooouce" c>virtbase ;10i6">coh901318_j601c5lass="lin5e" sg_ namleae=coh901318_poosg_ namleaol"f=u32" class="sCOsg"e=coh901318_poosg"1 cohc -> a hr1037lass="s10+code=virtbase" clasa h"10+co>10i_submit+codehre)vers/gotost="a hrefffffffouce=coh901318_pooouce" c>virtbase ;= 37 st6ruct=6310 L3>10i8*"arvirtbase ;= 38c5lass="lin5e" 1318.5rucm= 1 a*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"sle=coh901318_poo"sle" cm>virtbase ;10re*"arvirtbase ;list_hesg_lea> h""+c dir> h""+c h">list_head"/dL49">6 _base  6     641ruct="10 41>10r45"/a>  6  de=coh9016du32" class="sCO_C318.c#_did  %ld\n"31" c6d_= =7" c6l3ss="lsg_leae=coh901318_poosg_lea1 virtbase ;;cohc -> a hlas10mit>10rf">coh901318_j601n6e" nam   L15""srspin_unlock_irqrestor">vir d614d_= =7" c6l3ss="lDMA_PREP""+cERRUPT>coh901318_poolDMA_PREP""+cERRUPT>virm L7">= =7"/a>"sp5a10rad"/a> a h""+co)vers/l= 25"+cod)vers6dma/co/*6Trigger" nam   L1wafam  l">t fl==*c() *="a======* TODO: transmit all quec"" j10r6lass="s1031" c6lass="lin6e" nam  1031">10r45"/a>  6     645ructu32" class="sCOltrl_f">te=coh901318_pooetrl_f">te" c |ruct=mment">/* kmwra e"+codCXoCTR"_TC""RQ_ENABLEers/dma/coh9013dev e"+codCXoCTR"_TC""RQ_ENABLEe" c>virtbase ;cohc -> a hr1048lass="s10)it>cohc -> a hlas10)it>10r8;</* kmi1ha_ p"drparamsdes""+code=virtbas_ p"drparamol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC)>virtbase ; " class="sge10st_>10rm   L38">= 38c5lass="lin5e" lkmalle=coh901318_pool"mallol"f ruct=mment">/* kmparampin_unlock_irqreparamp1 = =9"/a><virtbase ;1064   L38">= 38c= 25"+cod)vers6dma/co/*() *="a======* TODO: transmit all quec"" j1051lass="s1031" c6lass="lin6e" nam  1031">106 L25">= 25"+cod)vers6dma/coh632ruct=* Add runtime-specific skmtro" on top, mak ol *="a======* TODO: transmit all quec"" j1062lass="s10h""+cod=e=coh901318_pool10h"">1061" id  L31" c6lass="lin6e" nam   L31* sur  "ce bits you set pm  pm ipheralelasa h">ar ol *="a======* TODO: transmit all quec"" j1063lass="s1065=chan" class="srusy>de1065=>106 nam   L32">= 32 #d6efine632ruct=*">=ear d ju "ce default l"mall from "ce platform.ol *="a======* TODO: transmit all quec"" j1064lass="s10f=cohc" class="si>list_h10f=c>1064nam   L32">= 32 #d6efine632ruct=*c() *="a======* TODO: transmit all quec"" j1055lass="s1065e,f=coh901318_poola h"1065e>106ad"/a> a h""+od)ers/6a/coh90ltrl_ p"d8.c#L31" id  L3strl_ p"d1 /* km01318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"runtime_ltrl8.c#L31" id  L3runtime_ltrlol"f>virtbase ;te=coh901318_pooetrl_f">te" c |ruct=mment">/* km01318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"runtime_ltrl8.c#L31" id  L3runtime_ltrlol"f>virtbase ;6ohc 0trl8.c#L31" id  L3strl1 /* km01318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"runtime_ltrl8.c#L31" id  L3runtime_ltrlol"f>virtbase ;co1065n>1068*"arvirtbase ;106m   L38">= 38j601n6e" nam   L15"directiode=coh901318_poo irectiod5"/a rruct=mment">/* kmDMA_MEM_TOvdbvers/dma/coh9013DMA_MEM_TOvdbv1 103"5"/a>  6     645ructu32" class="sCOu3 href">coh901318u345"/a>u32" class="sCOtx_"srspin_unlock_irqretx_"srspol"f ruct=mment">/* kmdev e"+codCXoCTR"_PRDD_SOURCEers/dma/coh9013dev e"+codCXoCTR"_PRDD_SOURCE1 103am   L40">= 40"/a>  6o645ructu32" class="sCOwra e"+codCXoCTR"_SRC_ADDR""+C_ENABLEers/dma/coh9013dev e"+codCXoCTR"_SRC_ADDR""+C_ENABLEol"f>virtbase ;10345"/avirtbase ;/* kmwra e"+codCXoCFG_RM_MEMORY_TOvPRIMARYe=coh901318_poowra e"+codCXoCFG_RM_MEMORY_TOvPRIMARYol"f>virtbase ;li106ir>103f">coh901318_based8.c#L31" id  L3strl_ p"d1 /* kmtx_"srspin_unlock_irqretx_"srspol"f>virtbase ; a h""+co)vers/ld)ers/6a/coh90ltrl_f">te=coh901318_pooetrl_f">te" c |ruct=mment">/* kmtx_"srspin_unlock_irqretx_"srspol"f>virtbase ;  6     645ructu32" class="sCOltrl8.c#L31" id  L3strl1 /* kmtx_"srspin_unlock_irqretx_"srspol"f>virtbase ;/* kmDMA_dbv_TOvMEMers/dma/coh9013DMA_dbv_TOvMEM1   6     645ructu32" class="sCOu3 href">coh901318u345"/a>u32" class="sCOrx_"srspin_unlock_irqrerx_"srspol"f ruct=mment">/* kmdev e"+codCXoCTR"_PRDD_DEST>coh901318_pooldev e"+codCXoCTR"_PRDD_DEST1 = 38"/a>  6 o645ructu32" class="sCOwra e"+codCXoCTR"_DST_ADDR""+C_ENABLEers/dma/coh9013dev e"+codCXoCTR"_DST_ADDR""+C_ENABLEol"f>virtbase ;10665"/avirtbase ;106am   L40">= 40"/a>  6dma/coh901318.ci1malle=coh901318_pool"mallol"f |ruct=mment">/* kmwra e"+codCXoCFG_RM_PRIMARY_TOvMEMORYe=coh901318_poowra e"+codCXoCFG_RM_PRIMARY_TOvMEMORYol"f>virtbase ;10645"/a>  6  de=coh9016ruct="a href=mmltrl_ p"d8.c#L31" id  L3strl_ p"d1 /* kmrx_"srspin_unlock_irqrerx_"srspol"f>virtbase ;106 *"arusy"+cod=e1eers/dma/coh901318.citrl_f">te=coh901318_pooetrl_f">te" c |ruct=mment">/* kmrx_"srspin_unlock_irqrerx_"srspol"f>virtbase ;co1067n>106f">coh901318_base/* kmrx_"srspin_unlock_irqrerx_"srspol"f>virtbase ;/* k10ncl>1065*"arusy"+cod} elsevirtbase ;cohc l10ref>10645"/a>  6     645ructgotost="a hreffffffferr_directiode=coh901318_pooerr_directiodol"f>virtbase ;chan . a hrt10s=">106i+cod++ver6"hre)vers/>cohc -> a hr1078lass="s10.c#L26" id  L26" c57ass=10.c#>1068;<1069nam   L32">= 32 #d6efine632ruct=*"MAX_DMA_PACKET_SIZE. Calculate tostotal number oeol *="a======* TODO: transmit all quec"" j108class="s10901318.c#L29" id  L29" c10901>1090nam   L32">= 32 #d6efine632ruct=*"dma elemt crequir d tossend "ce 6efir  sg list1  *="a======* TODO: transmit all quec"" j1081lass="s10inp=chan" class="sfalf">10inp>109 L25">= 25"+cod)vers6dma/coh632ruct=*c() *="a======* TODO: transmit all quec"" j1082lass="s10an" class="sEXPORT_SYMBO10an">10945"/a>  6  dean" cla6s="slocfor_each_sle=coh901318_poofor_each_slol"f=u32" class="sCOsg"e=coh901318_poosg"1 COH=5"/am /coh901318.c#L37" id  L37" c6lass="l1083lass="s10filter_i">list_head"/a> 10fil>109 *"arusy"+cod=e1eers/unsigned jun=c5lass="lin5e" factore=coh901318_poofactorol"f>virtbase ;coh901318_base/* kmsg_ namleae=coh901318_poosg_ namleaol"f=u32" class="sCOsge=coh901318_poosg" c6)>virtbase ;109ref="+code=chan" class="slock>list_head"1086lass="s10allocationf="drivers/dma10all>10945"/a>  6     645ructj601c5lass="lin5e" sizee=coh901318_poosize1 /* kmMAX_DMA_PACKET_SIZEe=coh901318_pooMAX_DMA_PACKET_SIZE5"/am /coh901318.c#L37" id  L37" c6lass="l1087lass="s10lass="sronfig+code="+cod10las>109_submit+codehre)vers/odef=COHn6e" nam   L15">eae=coh901318_pooleae" c++>virtbase ;10985"/a>  6     645ructttttttttskmtinue>virtbase ;10ode>109m   L38">= 38"/a>  6 ool" c hrefeers6dma/coh901318.c#L13"109class="s10c#L50" id  L50" c58ass="10c#L>10c#ef="+code=chan" class="slock>list_head"1091lass="s109truct="a hrefronste="+c109tr>10cam   L40">= 40"/a>  6dma/coh901318.cfactore=coh901318_poofactorol"f ruct=mment">/* kmsizee=coh901318_poosize1 d9"> ct=mment">/* kmMAX_DMA_PACKET_SIZE_SHIFT>coh901318_poolMAX_DMA_PACKET_SIZE_SHIFTe" c>virtbase ;chan <10en">10c45"/a>  6  de=coh9016 6011ruct="a href=mmfactore=coh901318_poofactorol"f <<uct=mment">/* kmMAX_DMA_PACKET_SIZE_SHIFT>coh901318_poolMAX_DMA_PACKET_SIZE_SHIFTe" c) <uct=mment">/* kmsizee=coh901318_poosize1 ;cohc -> a h10ola>10c *"arusy"+cod=e1eers/0"/a>  6dma/coh901318.cfactore=coh901318_poofactorol"f++>virtbase ;co10han>10ci+cod++ver6"dri)vers6dma/coh901318.c#L4310c5lass="s10" class="sref">cohc -10" c>10cad"/a> a h""+co)vers/ld)ers/6a/coh90leae=coh901318_pooleae" c +ruct=mment">/* kmfactore=coh901318_poofactorol"f>virtbase ;10o,f>10c45"/a>  6    ool" c hrefeers6dma/coh901318.c#L13"1097lass="s10coh901318.c#L26" id  L2610coh>10ci+cod++ver6"hre)vers/>cohc -> a hr1098lass="s10m   L7">= =7"/a>"sp5910c8;<list_head"/d/ld)ers/6a/coh90leae=coh901318_pooleae" c)>virtbase ;;<1018_>10cm   L38">= 38c5lass="lin5e" ll="_6H_ENA6LE>COHll=1 /* kmi1h.png"="ll="on va"_6H_ENA6LE>COHe=".png"="ll="on va6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"  L43" c59ass="lin5"" nam   L9">= =9"/a><virtbase ;;<11 cl>110#ef="+code=chan" class="slock>list_head"11 1lass="s11 truct="a hrefronste="+c11 tr>11 1aseCOHll=1 /* km 36"/a><<6a hre63"drivers/dm++ver6"hre)vers/>cohc -> a hr11 2lass="s11 n" class=ref"nel>chan <11 n">11045"/a>  6  de=coh9016gotost="a hreffffffferr_dnaman va"_6H_ENA6LE>COHerr_dnaman vaol"f>virtbase ;cohc -> a h11 la>110 *"arvirtbase ;co11 an>11 f">coh901318_== 25"+cod)vers6dma/co/*6initilue>an valuec lli list=*c() *="a======* TODO: transmit all quec"" j11 5lass="s11  class="sref">cohc -11  c>110ad"/a> a h""+od)ers/6a/coh90erce=coh901318_pooerce" c ruct=mment">/* kmi1h.png"="ll="fill_sle=coh901318_pool" class="ll="fill_sl6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"  L43" c59ass="lin5"" nam   L9">= =9"/a><COHll=1 11 ,f>11045"/a>  6     645ruct=e1eers/h""+co)vers/ld)ers/6a/coh90tbas_67laaddr8.c#L31" id  L31" c_67laaddrol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC_2======* TODO: transmit all quec"" j11 7lass="s11 oh901318.c#L26" id  L2611 oh>110_submit+codehre)vers/odef=COHh""+co)vers/ld)ers/6a/coh90ttrl_ p"d8.c#L31" id  L3strl_ p"d1 = =7"/a>"sp5911085"/a>  6     645ructtttttttth""+co)vers/ld)ers/6a/coh90ttrl8.c#L31" id  L3strl1 ;<11 8_>110m   L38">= 38"/a>  6 o645ructh""+co)vers/ld)ers/6a/coh90ttrl_f">te=coh901318_pooetrl_f">te" c2======* TODO: transmit all quec"" j111class="s119">= =9"/a><>111"5"/a>  6     645ructo645ructh""+co)vers/ld)ers/6a/coh90directiode=coh901318_poo irectiod5"/aduct=mment">/* kmwra e"+codCXoCTR"_TC""RQ_ENABLEers/dma/coh9013dev e"+codCXoCTR"_TC""RQ_ENABLEe" c)>virtbase ;1111asecohc -> a hr1112lass="s11in6e" nam   L10">= 
  11145"/a>  6  de=coh9016gotost="a hreffffffferr_ll="fill"_6H_ENA6LE>COHerr_ll="fillol"f>virtbase ;cohc 11vir>119 *"arvirtbase ;cohc ) (&"a 11a h>111i+cod++ver6"dri)vers6dma/coh901318.c#L431195lass="s11"s"trl_lli_agst>list_hea11"s">111ad"/a> a h""+od)ers/6a/coh90dev_DBG>coh901318_poolwra_DBGol"f=u32" class="sCOHC_.png"="list_priune=coh901318_poolC_.png"="list_priunol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aCd_= =7" c6l3ss="lll="_6H_ENA6LE>COHll=1 virtbase ;cohc -11" c>111"sfirstsquec"">list_head"/a> " class="sf1117lass="s11o,f=virtbase" classref">11o,f>119_submit+codeho= 25"+cod)vers6dma/co/*6Pick a descriptor tosnsfer  "c" ctransferC*c() *="a==squec"">list_head"/a> " class="sf1118lass="s11m   L16">= 16 #i6nclu11m  >1118;</* kmi13.png"="desc_grce=coh901318_pooi13.png"="desc_grcol"f=u32" class="sCOHC_2_DEV#L50" id  L50" c6aC)>virtbase ;= 17 #i6nclud11   >111m   L38">= 38c5lass="lin5e" lk3d8.c#L31" id  L3sohde" cs="lin6e" nam   L15"head_i1malle=coh901318_poohead_i1malle" c ruct=mment">/* kmi1malle=coh901318_pool"mallol"f>virtbase ;1124   L38">= 38c= 25"+cod)vers6dma/co/*() *="a======* TODO: transmit all quec"" j1161lass="s11#L10" id  L10" c6lass="l11#L1>112 L25">= 25"+cod)vers6dma/coh632ruct=* Set "ce default head etrl for tceelasa h">tostceeone from "ce() *="a======* TODO: transmit all quec"" j1162lass="s11coh901318.c#L13" id  L1311coh>1121" id  L31" c6lass="lin6e" nam   L31* ll=, "c"ngs maysnsveelasagec due tosodd bufferCalignin6e() *="a======* TODO: transmit all quec"" j1163lass="s11L13" id  L13" c6lass="li11L13>112 nam   L32">= 32 #d6efine632ruct=*"etc.ol *="a======* TODO: transmit all quec"" j1164lass="s11sdin one gof="drivers/dm11sdi>1124nam   L32">= 32 #d6efine632ruct=*c() *="a======* TODO: transmit all quec"" j1165lass="s11lin6e" nam   L24">= 24 <11lin>112ad"/a> a h""+od)ers/6a/coh90lk3d8.c#L31" id  L3sohde" cs="lin6e" nam   L15"head_itrl8.c#L31" id  L3head_itrle" c ruct=mment">/* kmll="_6H_ENA6LE>COHll=1 = =9"/a><virtbase ;112>;</* kmdirectiode=coh901318_poo irectiod5"/a>virtbase ;6ohc l13d8.c#L31" id  L3sohde" cs="lin6e" nam   L15""srspin_unlock_irqrestor">vir ruct=mment">/* kmfsrspin_unlock_irqrestor">vir>virtbase ;1168;</* kmtx_submite=coh901318_pootx_submit6ncl ruct=mment">/* kmi13.png"="tx_submite=coh901318_pooe=".png"="tx_submit6ncl>virtbase ;116m   L38">= 38c5lass="lin5e" l13d8.c#L31" id  L3sohde" cs="lin6e" nam   L15">l="_6H_ENA6LE>COHll=1 /* kmll="_6H_ENA6LE>COHll=1 virtbase ;1131ase= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"sle=coh901318_poo"sle" cm>virtbase ;11345"/avirtbase ;113 *"arusy"+codercav">d614drivers/dma/coh9013d8.c#L31" id  L3sohde" cs="lin6e" nam   L15"desce=coh901318_poodesc1 virtbase ;11if">coht="a hreffffffferr_ll="fill"_6H_ENA6LE>COHerr_ll="fillol"f:virtbase ;11iad"/a>t="a hreffffffferr_dnaman va"_6H_ENA6LE>COHerr_dnaman vaol"f:virtbase ;11i6">coht="a hreffffffferr_directiode=coh901318_pooerr_directiodol"f:virtbase ;1137*"arusy"+cod aa h">6ohc 1318.8.c#L4_= 14 storee=coh901318_poo1318.8.c#L4_= 14 store6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"sle=coh901318_poo"sle" cm>virtbase ;= 37 st6ruct=6311 L3>11i8*"arst="a hrefffffffouce=coh901318_pooouce" c:virtbase ;= 38ercav">ct=mment">/* km 36"/a><<6a hre63"drivers/d>virtbase ;11re*"arool" c hrefeers6dma/coh901318.c#L13"1141lass="s11c#L43" id  L29" c6lass="11c#L>114R""dri)vers/dma/coh901318.c#L43" id  L431142lass="s11 41"/a>  6     641ruct="11 41>11r45"/a>  6  =enuma>#i6nclud627 hr nam>  6upin_unlock_irqre nam>  6up""dri)vers/dma/coh901318.c#L43" id  L431143lass="s11de=chan" class="srusy>de11de=>11r *"arct=mment">/* kmi13.png"="tx_s  6upin_unlock_irqrei13.png"="tx_s  6up6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 #i6nclud627 hr nam+ookie_s="lin6e" nam   6nam+ookie_s*"arst="a hrefffffff+ookiein_unlock_irqrei1okiee" c2======* TODO: transmit all quec"" j1144lass="s11mit>cohc -> a hlas11mit>114f">coh901318_base#i6nclud627 hr namtx_s  6ein_unlock_irqre namtx_s  6e1 c -> a hlatxs  6ein_unlock_irqretxs  6ee" cm++ver6"hre)vers/>cohc -> a hr11r5lass="s11hre,f=coh901318_poola h"11hre>11rad"/a/coh901318.c#L37" id  L37" c6lass="l11r6lass="s1131" c6lass="lin6e" nam  1131">11r45"/a>  6    = 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1 virtbase ;cohc -> a hlas11vit>1147*"arusy"+codenuma>#i6nclud627 hr nam>  6upin_unlock_irqre nam>  6up""dr=c5lass="lin5e" erce=coh901318_pooerce" c>virtbase ;; " class="sge11st_>11rm   L38">= 38c5lass="lin5e" erce=coh901318_pooerce" c ruct=mment">/* km6nam+ookie_>  6upin_unlock_irqre nam+ookie_>  6upol"f=u32" class="sCOlasae=coh901318_poolcod1 #i6nclud627 hr+ookiein_unlock_irqrei1okiee" c2uct=mment">/* kmtxs  6ein_unlock_irqretxs  6ee" cm>virtbase ;1164   L38">= 38c= 25"+cod)vers6dma/co/* FIXME: should betskmditioda" on erc != DMA_SUCCESS?=*c() *="a======* TODO: transmit all quec"" j1151lass="s1131" c6lass="lin6e" nam  1131">1151aseet_4 siduein_unlock_irqre nam>et_4 sidueol"f=u32" class="sCOtxs  6ein_unlock_irqretxs  6ee" cd_>#i6nclud627 hr+o".png"="get_bytes_lefte=coh901318_pooe=".png"="get_bytes_leftol"f=u32" class="sCOlasae=coh901318_poolcod1 virtbase ;11545"/avirtbase ;/* kmDMA_IN_PROGRESSe=coh901318_pooDMA_IN_PROGRESSe" c d614dd614d_= =7" c6l3ss="l01318.c#L31" id  L31" c6a5ss="lin6e" nam   L15"stopp>d8.c#L31" id  L3stopp>de" cm++ver6"hre)vers/>cohc -> a hr1164lass="s11f=cohc" class="si>list_h11f=c>115f">coh901318_base/* kmDMA_PAUSEDe=coh901318_pooDMA_PAUSEDe" c>virtbase ;115ref="+code=chan" class="slock>list_head"1156lass="s11ine629ruct="a href="+cod11ine>116>;<ct=mment">/* kmerce=coh901318_pooerce" c>virtbase ;co1165n>1168*"arvirtbase ;116m   L>  6  =e=covirtbase ;113"5"/a>#i6nclud627 hr+o".png"="issue_pemdinle=coh901318_pool" class="issue_pemdinl6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 cohc -> a hr1161lass="s113" id  L13" c6l5ss="lin6113" >113am   /coh901318.c#L37" id  L37" c6lass="l1162lass="s1131" c6lass="lin6e" nam  1131">11645"/a>  6  de= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1 virtbase ;113 *"arusy"+codunsigned longhref=u32" class="srspin_unlock_irqrestor">vir>virtbase ;li116ir>116i+cod++ver6"dri)vers6dma/coh901318.c#L431165lass="s11c#quecruct="a href="+cod11c#q>116ad"/a> a h""+od)ers/6a/coh901318.5rucm= 1 a*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;list_head"/a> " class="sf1167lass="s11c#L50" id  L50" c58ass="11c#L>116_submit+codeho= 25"+cod)vers6dma/co/*() *="a======* TODO: transmit all quec"" j1168lass="s11ocss=" id  L50" c58ass="11ocs>11385"/a  L32">= 32 #d6efine632ruct=*"Busy means that pmmdinl jobs>ar  already being processed,() *="a======* TODO: transmit all quec"" j1169lass="s11coss=" id  L50" c58ass="11cos>1169nam   L32">= 32 #d6efine632ruct=*"and "ceu "cer  is no pojun=ine= arting tceequeue: "ce() *="a======* TODO: transmit all quec"" j117class="s11668ss="lin6e" nam   L18"11668>1170nam   L32">= 32 #d6efine632ruct=*"termida" couun=inam   L1won tceelasa h">will tak  "ce nexte" *="a======* TODO: transmit all quec"" j1171lass="s1131" c6lass="lin6e" nam  1131">117 L25">= 25"+cod)vers6dma/coh632ruct=* jobwon tceequeue"and execut  it"anyway.ol *="a======* TODO: transmit all quec"" j1172lass="s11__d613iass="lin6e" nam  11__d>1171" id  L31" c6lass="lin6e" nam   L31*c() *="a======* TODO: transmit all quec"" j1173lass="s11 ""+cod=e=coh901318_pool11 "">117 *"arusy"+cod 601! -> a hla01318.c#L31" id  L31" c6a5ss="lin6e" nam   L15" usy8.c#L31" id  L3 usy1 cohc -> a hr1174lass="s1167n" class="sco1167n>116f">coh901318_basevirtbase ;/* k11ncl>117ref="+code=chan" class="slock>list_head"1176lass="s11ref">cohc l11ref>117>;<= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>virtbase ;chan . a hrt11s=">1177*"arool" c hrefeers6dma/coh901318.c#L13"1178lass="s11.c#L26" id  L26" c57ass=11.c#>1178*"arvirtbase ;1169nam   L32">= 32 #d6efin/*() *="a======* TODO: transmit all quec"" j118class="s11901318.c#L29" id  L29" c11901>1190nam   L32">= 32 #d6efine* Her  w  wrap ju "ce runtime"dma skmtro" inam face() *="a======* TODO: transmit all quec"" j1181lass="s11inp=chan" class="sfalf">11inp>119 L25">= 25"+cod)vers6dma/coh*c() *="a======* TODO: transmit all quec"" j1182lass="s11an" class="sEXPORT_SYMBO11an">11845"/a> 27 #i6nclud627 hrburst_tabl43" c59ass="lin5"urst_tabl4;<list_head"/a> 11fil>119 *"arusy"+codjun=c5lass="lin5e" "urst_8bite=coh901318_poo"urst_8bit>vir>virtbase ;  58    58<>119f">coh901318_jun=c5lass="lin5e" "urst_16bite=coh901318_poo"urst_16bit>vir>virtbase ;1185">coh901318_jun=c5lass="lin5e" "urst_32bite=coh901318_poo"urst_32bit>vir>virtbase ;118>;<coh901318u345"/a>u32" class="sCOrele=coh901318_poorel>vir>virtbase ;119_subm}>virtbase ;1188*"arvirtbase ;11ode>118m   L>  6  =e=nstr= 27 #i6nclud627 hrburst_tabl43" c59ass="lin5"urst_tabl4;<#i6nclud627 hrburst_sizepin_unlock_irqreburst_sizep;<= 38/coh901318.c#L37" id  L37" c6lass="l1191lass="s119truct="a hrefronste="+c119tr>11cam   L40">= 40"/a>  6.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 642======* TODO: transmit all quec"" j11c2lass="s11en" class=ref"nel>chan <11en">11c45"/a>  6  de=coh9016.ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 322======* TODO: transmit all quec"" j11c3lass="s11ola h">cohc -> a h11ola>11c *"arusy"+cod=e1eers/.ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 162======* TODO: transmit all quec"" j11c4lass="s11han" class="sco11han>119f">coh901318_base/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_64_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_64_BYTESe" c2======* TODO: transmit all quec"" j11c5lass="s11" class="sref">cohc -11" c>11cad"/a> a h""+}2======* TODO: transmit all quec"" j11c6lass="s11o,f=virtbase" classref">11o,f>11c45"/a>  6    /coh901318.c#L37" id  L37" c6lass="l1197lass="s11coh901318.c#L26" id  L2611coh>119_submit+codehre)vers/.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 482======* TODO: transmit all quec"" j11c8lass="s11m   L7">= =7"/a>"sp5911985"/a>  6     645ruct.ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 242======* TODO: transmit all quec"" j11c9lass="s1118_poolparam>flags"/a>;<1118_>119m   L38">= 38"/a>  6 .ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 122======* TODO: transmit all quec"" j12 class="s12 claoolparam>flags"/a>;<12 cl>120"5"/a>  6     645ruct.ct=mment">/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_48_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_48_BYTESe" c2======* TODO: transmit all quec"" j12 1lass="s12 truct="a hrefronste="+c12 tr>12 1asechan <12 n">12045"/a>  6  de/coh901318.c#L37" id  L37" c6lass="l12 3lass="s12 la h">cohc -> a h12 la>120 *"arusy"+cod=e1eers/.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 322======* TODO: transmit all quec"" j12 4lass="s12 an" class="sco12 an>120f">coh901318_base/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 162======* TODO: transmit all quec"" j12 5lass="s12  class="sref">cohc -12  c>120ad"/a> a h""+co)vers/.ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 82======* TODO: transmit all quec"" j12 6lass="s12 ,f=virtbase" classref">12 ,f>12045"/a>  6     645ruct.ct=mment">/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_32_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_32_BYTESe" c2======* TODO: transmit all quec"" j12 7lass="s12 oh901318.c#L26" id  L2612 oh>120_submit+codeh}2======* TODO: transmit all quec"" j12 8lass="s12    L7">= =7"/a>"sp5912085"/a>  6    /coh901318.c#L37" id  L37" c6lass="l12 9lass="s12 8_poolparam>flags"/a>;<12 8_>120m   L38">= 38"/a>  6 .ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 162======* TODO: transmit all quec"" j121class="s129">= =9"/a><>121"5"/a>  6     645ruct.ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 82======* TODO: transmit all quec"" j1211lass="s12   a hre="s *"a hrTC_12 121am   L40">= 40"/a>  6.ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 42======* TODO: transmit all quec"" j1212lass="s12in6e" nam   L10">= 
  12145"/a>  6  de=coh9016.ct=mment">/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_16_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_16_BYTESe" c2======* TODO: transmit all quec"" j1293lass="s12virtbase" clasa h">cohc 12vir>1213submit+codeh}2======* TODO: transmit all quec"" j1294lass="s12a h">cohc ) (&"a 12a h>12145"/a>  6    /coh901318.c#L37" id  L37" c6lass="l1295lass="s12"s"trl_lli_agst>list_hea12"s">121ad"/a> a h""+co)vers/.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 82======* TODO: transmit all quec"" j1216lass="s12" class="sref">cohc -12" c>12145"/a>  6     645ruct.ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 42======* TODO: transmit all quec"" j1217lass="s12o,f=virtbase" classref">12o,f>121_submit+codehre)vers/.ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 22======* TODO: transmit all quec"" j1218lass="s12m   L16">= 16 #i6nclu12m  >12185"/a>  6     645ruct.ct=mment">/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_8_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_8_BYTESe" c2======* TODO: transmit all quec"" j1299lass="s12   L17">= 17 #i6nclud12   >121m   L38">= 38}2======* TODO: transmit all quec"" j122class="s126a8ss="lin6e" nam   L18"126a8>1224   L38">= 38/coh901318.c#L37" id  L37" c6lass="l1261lass="s12#L10" id  L10" c6lass="l12#L1>122am   L40">= 40"/a>  6.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 42======* TODO: transmit all quec"" j1262lass="s12coh901318.c#L13" id  L1312coh>12245"/a>  6  de=coh9016.ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 22======* TODO: transmit all quec"" j1263lass="s12L13" id  L13" c6lass="li12L13>122 *"arusy"+cod=e1eers/.ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 12======* TODO: transmit all quec"" j1264lass="s12sdin one gof="drivers/dm12sdi>122f">coh901318_base/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_4_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_4_BYTESe" c2======* TODO: transmit all quec"" j1265lass="s12lin6e" nam   L24">= 24 <12lin>122ad"/a> a h""+}2======* TODO: transmit all quec"" j1226lass="s123" id  L13" c6l5ss="lin6123" >12245"/a>  6    /coh901318.c#L37" id  L37" c6lass="l1227lass="s12 ><>122_submit+codehre)vers/.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 22======* TODO: transmit all quec"" j1268lass="s12"squec"_start+code="+cod12"sq>12285"/a>  6     645ruct.ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 12======* TODO: transmit all quec"" j1269lass="s12+code=virtbase" clascef"12+co>122m   L38">= 38"/a>  6 .ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 02======* TODO: transmit all quec"" j123class="s12ine629ruct="a href="+cod12ine>123"5"/a>  6     645ruct.ct=mment">/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_2_BYTESe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_2_BYTESe" c2======* TODO: transmit all quec"" j1231lass="s12"+code=virtbase" clascef12"+c>1231ase12345"/a>  6  de/coh901318.c#L37" id  L37" c6lass="l12i3lass="s128.c#L13" id  L13" c6lass128.c>123 *"arusy"+cod=e1eers/.ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir = 12======* TODO: transmit all quec"" j1234lass="s123" c6aass="lin6"" nam   123" >123f">coh901318_base/* km"urst_16bite=coh901318_poo"urst_16bit>vir = 02======* TODO: transmit all quec"" j1235lass="s12gof="drivers/dma/coh901312gof>123ad"/a> a h""+co)vers/.ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir = 02======* TODO: transmit all quec"" j1236lass="s12h""+cod=e=coh901318_pool12h"">12345"/a>  6     645ruct.ct=mment">/* kmrele=coh901318_poorel>vir ruct=mment">/* kmdev e"+codCXoCTR"_BURST_COUNT_1_BYTEe=coh901318_poodev e"+codCXoCTR"_BURST_COUNT_1_BYTEe" c2======* TODO: transmit all quec"" j1237lass="s12+code=virtbase" clasa h"12+co>123_submit+codeh}2======* TODO: transmit all quec"" j12i8lass="s12 L37">= 37 st6ruct=6312 L3>12i8*"ar}>virtbase ;  6  =e=couct=mment">/* kmi13.png"="dnam>et_4untimei1malle=coh901318_pool"3.png"="dnam>et_4untimei1mall6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> a hlashode=coh901318_poolcod1 ;= 40"/a>  6o645ruct= 27 #i6nclud627 hr namslave_i1malle=coh901318_poo namslave_i1mall1 c -> a hlas1malle=coh901318_pool"mallol"fm++ver6"hre)vers/>cohc -> a hr1242lass="s12 41"/a>  6     641ruct="12 41>12r45"/a/coh901318.c#L37" id  L37" c6lass="l1243lass="s12de=chan" class="srusy>de12de=>124 *"arusy"+cod= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1 virtbase ;cohc -> a hlas12mit>124f">coh901318_>#i6nclud627 hr namaddr_s="lin6e" nam   6namaddr_s;<#i6nclud627 hraddr8.c#L31" id  L3addrol"f>virtbase ;124ad"/a> a h""+enuma>#i6nclud627 hr nam>lave_buswidthe=coh901318_poo namslave_buswidth;<#i6nclud627 hraddr_widthe=coh901318_pooaddr_widthol"f>virtbase ;124>;<coh901318u345"/a>u32" class="sCOmax"ursthref">coh901318max"urstol"f>virtbase ;cohc -> a hlas12vit>1247*"arusy"+cod aa h">6ohc u3 href">coh901318u345"/a>u32" class="sCOruntime_itrl8.c#L31" id  L3runtime_itrl>vir = 0>virtbase ;cohc -> a hlas12)it>12485"/a>  6    jun=c5lass="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>virtbase ; " class="sge12st_>124m   Lvirtbase ;1264   L38">= 38c= 25"+cod)vers6dma/co/* We only support mem tosper orsper tosmem transfersh*c() *="a======* TODO: transmit all quec"" j1251lass="s1231" c6lass="lin6e" nam  1231">1251ase/* kmDMA_dbv_TOvMEMers/dma/coh9013DMA_dbv_TOvMEM1 12545"/a>  6  de=coh9016ruct="a href=mmaddr8.c#L31" id  L3addrol"f ruct=mment">/* kmi1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"srcaaddr8.c#L31" id  L3srcaaddrol"f>virtbase ;#i6nclud627 hraddr_widthe=coh901318_pooaddr_widthol"f ruct=mment">/* kmi1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"srcaaddr_widthe=coh901318_poosrcaaddr_widthol"f>virtbase ;coh901318_basecoh901318max"urstol"f ruct=mment">/* kmi1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"srcamax"ursthref">coh901318srcamax"urstol"f>virtbase ;1255*"arusy"+cod} else" 601ruct="a href=mms1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"directiode=coh901318_poo irectiod5"/a rruct=mment">/* kmDMA_MEM_TOvdbvers/dma/coh9013DMA_MEM_TOvdbv1 12545"/a>  6     645ructruct="a href=mmaddr8.c#L31" id  L3addrol"f ruct=mment">/* kmi1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"dstaaddr8.c#L31" id  L3dstaaddrol"f>virtbase ;ass=" class="si>list_h125>a>125_submit+codehre)vers/>#i6nclud627 hraddr_widthe=coh901318_pooaddr_widthol"f ruct=mment">/* kmi1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"dstaaddr_widthe=coh901318_poodstaaddr_widthol"f>virtbase ;co1265n>12585"/a>  6     645ructruct="a href=mmmax"ursthref">coh901318max"urstol"f ruct=mment">/* kmi1malle=coh901318_pool"mallol"fs="lin6e" nam   L15"dstamax"ursthref">coh901318dstamax"urstol"f>virtbase ;1259*"arusy"+cod} else"/coh901318.c#L37" id  L37" c6lass="l126class="s123" c6aass="lin6"" nam   123" >126"5"/a>  6     645ructn6e" nam   L15"dev_err8.c#L31" id  L3dev_errol"f=u32" class="sCOCOHC_2vdbvers/dma/coh9013COHC_2vdbvol"f=u32" class="sCOlC_2_DEV#L50" id  L50" c6aC_2 uEVpool"f=u32" class="srcefillega" casa h">m"sC h">list_head"/m>virtbase ;126am   L40">= 40"/a>  6ercav">virtbase ;12645"/a>  6  deool" c hrefeers6dma/coh901318.c#L13"1263lass="s12c#quec"_start+code="+cod12c#q>126 *"arvirtbase ;li126ir>126f">coh901318_>#i6nclud627 hr ev_dble=coh901318_poo ev_dblol"f=u32" class="sCOCOHC_2vdbvers/dma/coh9013COHC_2vdbvol"f=u32" class="sCOlC_2_DEV#L50" id  L50" c6aC_2 uEVpool"f=u32" class="srcefl"mallureelasa h">for  h""+c byte transfers h">list_head"/dvirtbase ; a h""+co)vers/>#i6nclud627 hraddr_widthe=coh901318_pooaddr_widthol"fm>virtbase ;  6    =witch01ruct="a href=mmaddr_widthe=coh901318_pooaddr_widthol"fmde/coh901318.c#L37" id  L37" c6lass="l1267lass="s12c#L50" id  L50" c58ass="12c#L>126_submit+codehcase"ct=mment">/* kmDMA_SLAVE_BUSWIDTH_1_BYTEe=coh901318_pooDMA_SLAVE_BUSWIDTH_1_BYTEsubm:virtbase ;  6     645ructruct="a href=mmruntime_itrl8.c#L31" id  L3runtime_itrl>vir |=virtbase ;= 38"/a>  6 o645ructct=mment">/* kmdev e"+codCXoCTR"_SRC_BUS_SIZE_8_BITSe=coh901318_poodev e"+codCXoCTR"_SRC_BUS_SIZE_8_BITS>vir |virtbase ;127"5"/a>  6     645ructo645ructct=mment">/* kmdev e"+codCXoCTR"_DST_BUS_SIZE_8_BITSe=coh901318_poodev e"+codCXoCTR"_DST_BUS_SIZE_8_BITSol"f>virtbase ;127R""dri)vers/dma/coh901318.c#L43" id  L431272lass="s12__d613iass="lin6e" nam  12__d>12745"/a>  6  de=coh9016while01ruct="a href=mm="_6H_ENA6LE>COH=5"/a <uct=mment">/* kmARRAY_SIZE"_6H_ENA6LE>COHARRAY_SIZEol"f=u32" class="sCOburst_sizepin_unlock_irqreburst_sizep;<127 *"arusy"+cod=e1eers///////// 601ruct="a href=mmburst_sizepin_unlock_irqreburst_sizep;<COH=5"/a].ct=mment">/* km"urst_8bite=coh901318_poo"urst_8bit>vir <ruct=mment">/* kmmax"ursthref">coh901318max"urstol"fm++ver6"hre)vers/>cohc -> a hr1274lass="s1267n" class="sco1267n>126f">coh901318_basevirtbase ;/* k12ncl>127ad"/a> a h""+co)vers/o645ructct=mment">/* km="_6H_ENA6LE>COH=5"/a++>virtbase ;cohc l12ref>12745"/a>  6     645ructool" c hrefeers6dma/coh901318.c#L13"1277lass="s12s="sref">chan . a hrt12s=">127i+cod++ver6"hre)vers/>cohc -> a hr1278lass="s12.c#L26" id  L26" c57ass=12.c#>12785"/a>  6     645ructbreak>virtbase ;1279submit+codehcase"ct=mment">/* kmDMA_SLAVE_BUSWIDTH_2_BYTESe=coh901318_pooDMA_SLAVE_BUSWIDTH_2_BYTESsubm:virtbase ;128"5"/a>  6     645ructn6e" nam   L15"runtime_itrl8.c#L31" id  L3runtime_itrl>vir |=virtbase ;12inp>128am   L40">= 40"/a>  6o645ructct=mment">/* kmdev e"+codCXoCTR"_SRC_BUS_SIZE_16_BITSe=coh901318_poodev e"+codCXoCTR"_SRC_BUS_SIZE_16_BITS>vir |virtbase ;12845"/a>  6  de=coh9016o645ructct=mment">/* kmdev e"+codCXoCTR"_DST_BUS_SIZE_16_BITSe=coh901318_poodev e"+codCXoCTR"_DST_BUS_SIZE_16_BITSol"f>virtbase ;list_head"/a> 12fil>128 *"arvirtbase ;  58    58<>128f">coh901318_baseCOH=5"/a <uct=mment">/* kmARRAY_SIZE"_6H_ENA6LE>COHARRAY_SIZEol"f=u32" class="sCOburst_sizepin_unlock_irqreburst_sizep;<128ad"/a> a h""+co)vers/o645ruct 601ruct="a href=mmburst_sizepin_unlock_irqreburst_sizep;<COH=5"/a].ct=mment">/* km"urst_16bite=coh901318_poo"urst_16bit>vir <ruct=mment">/* kmmax"ursthref">coh901318max"urstol"fm++ver6"hre)vers/>cohc -> a hr1286lass="s12allocationf="drivers/dma12all>12845"/a>  6     645ruct=e1eers/h""+co)vbreak>virtbase ;128_submit+codehre)vers/odef=COHct=mment">/* km="_6H_ENA6LE>COH=5"/a++>virtbase ;12885"/a>  6     645ructool" c hrefeers6dma/coh901318.c#L13"1299lass="s12ode=virtbase" clasparam>12ode>128m   Lvirtbase ;  6     645ructbreak>virtbase ;= 4case"ct=mment">/* kmDMA_SLAVE_BUSWIDTH_4_BYTESe=coh901318_pooDMA_SLAVE_BUSWIDTH_4_BYTESsubm:virtbase ;chan <12en">12c45"/a>  6  de=coh9016c= 25"+cod)vers6dma/co/* Directiod doesn't matter cer , it's 32/32 bitsh*c() *="a======* TODO: transmit all quec"" j12c3lass="s12ola h">cohc -> a h12ola>12c *"arusy"+cod=e1eers/n6e" nam   L15"runtime_itrl8.c#L31" id  L3runtime_itrl>vir |=virtbase ;co12han>129f">coh901318_basevir |virtbase ;cohc -12" c>129ad"/a> a h""+co)vers/o645ructct=mment">/* kmdev e"+codCXoCTR"_DST_BUS_SIZE_32_BITSe=coh901318_poodev e"+codCXoCTR"_DST_BUS_SIZE_32_BITSol"f>virtbase ;12o,f>129"sfirstsquec"">list_head"/a> " class="sf1297lass="s12coh901318.c#L26" id  L2612coh>129_submit+codehre)vers/while01ruct="a href=mm="_6H_ENA6LE>COH=5"/a <uct=mment">/* kmARRAY_SIZE"_6H_ENA6LE>COHARRAY_SIZEol"f=u32" class="sCOburst_sizepin_unlock_irqreburst_sizep;<= =7"/a>"sp5912985"/a>  6     645ructtttttttt 601ruct="a href=mmburst_sizepin_unlock_irqreburst_sizep;<COH=5"/a].ct=mment">/* km"urst_32bite=coh901318_poo"urst_32bit>vir <ruct=mment">/* kmmax"ursthref">coh901318max"urstol"fm++ver6"hre)vers/>cohc -> a hr12c9lass="s1218_poolparam>flags"/a>;<1218_>129m   L38">= 38"/a>  6                 break>virtbase ;;<13 cl>130"5"/a>  6     645ructo645ructct=mment">/* km="_6H_ENA6LE>COH=5"/a++>virtbase ;= 40"/a>  6ool" c hrefeers6dma/coh901318.c#L13"13 2lass="s13 n" class=ref"nel>chan <13 n">13045"/avirtbase ;cohc -> a h13 la>130 *"arusy"+cod=e1eers/break>virtbase ;co13 an>130f">coh901318_r+n">1>coh3O: transmi3transmit all quec"" j12 53ass="312  class="sref">cohc m   123" >126"5"/a>  6     645ructn6e" nam   L15"dev_err8.c#L31" id  L3dev_errol"f=u32" class="sCOCOHC_2vdbvers/dma/coh9013COHC_2vdbvol"f=u32" class">co13 an>130f">coh901318_r+n">1>coh3O6 transmi3tpin_lock_irq6lass="l12c63ass="312 ,f=virtbase" classrf">cohc msCOlC_2_DEV#L50" id  L50" bad le=coh901318_:maysen a hress f=mma" class="srcefillega" casa h">m"sC h">list_head"/m>vi3===* TODO:3transmit all quec"" j12 73ass="302coh901318.c#L26" id lin6123" >126am   L40">= 40"/a>  6ercav">vi3===* TODO:3transmit all quec"" j12 83ass="312    L7">= =7="+c13 tr>130am   L40">= 40"/a>  6ool" 9=* TODO:3t/>cohc -> a hr12c93ass="302ode=virtbase" clasparam>12ode>128m   Lvi3===* TODO:3transmit all quec"" j121c3ass="3129">= =9"/a>< a h12ola>12c *"arusy"+cod=e1eers/n6e" nam   L15"runtime_itrlabl43" c59ass="lin5"urst_tabl4;<#i6nclud627 hrburst_sizepin_unlock_irqreburst_sizep;<coh901318u345"/a>u32" class="sCOrele=coh901318_poorel>vir>vi3===* TODO:3transmit all quec"" j12113ass="31131" c6lass="lin6e" nam  1131r>126f">coh901318_>#i6nclud627 hr ev_dble=coh901318_poo ev_dblol"f=u32" class="sCOCOHC_2vdbvers/dma/coh9013COHC_2vdbvol"f=u32" classass="sCOrele=coh901318_poorel>vir>vi3=c hrefeerstransmit all quec"" j12123ass="312in6e" nam   L10">= 
msCOlC_2_DEV#L50" id  L50" seloh9ed ud627 hrbu class="srcesu32" a hress f=mma class="srces, ment">/* class=elasa h">for  h""+c byte transfers h">list_head"/dvi3===* TODO:3transmit all quec"" j12933ass="312ola h">cohc -> a h12ola>12c *e1eers///////// 601ruct="a href=mmburst_sizepin_unlock_irqreburst_sizep;<COH=5"/a].ct=mment">/* km"urst   L15">= 15 #"/a>  6    =witch01ruct="a href=mmaddr_   L15">= 15 #st_32bit>vir <ruct=mment">/* kmmalass="sCOrele=coh901318_poorel>vir>vi3=base ;li116ir>116i+cod++3901318.c#L37" id  L37" c6lass="l12953ass="311c#quecruct="a href="+cod11c9013COHC_2vdbvol"f=u32" cla kmi1malle=coh901318   L15"rl"mallol"fs="lin6e"   L15"rl"ma=mmmax"ursthref">coh90m   6namaddr_s;<#i6nclud627 hraddr8.c#L31" id  L3addrol"f>vi3===* TODO:3transmit all quec"" j12163ass="31231" c6lass="lin6e" nam  1239013COHC_2vdbvol"f=u32" cla kmi1malle=coh901318   L15"r318u345"/a>u32" class="sCOruntime_itrlmalle=coh901318   L15"r318u345"/a>u32" class="sCOruntime_id627 hraddr8.c#L31" id  L3addrol"f>vi3===* TODO:3transmit all quec"" j12173ass="311s="sref">chan . a hrt11s=">1177*"arool3===* TODO:3transmit all quec"" j12183ass="311eeeeeeeeeeee="+code=coh911eee>1188*"arvi3===* TODO:3transmit all quec"" j12993ass="311ode=virtbasinteeeeeeee="+code=coh911eee>1188*"arvi3===* TODO:3transmit all quec"" j122c3ass="3213" c6aass="lin6"" nam   113" * Her  COHC_2vdbvol"f=u32  113" * Her  OHC_2lock_irqrei13.png"="tx_s  6up6nclu= 27 #i6nclud627 hr nam+code=coh901318_poo nam+cod1 c -> 318_poola h"12hre>124ad"unti_cm1" c6a5ss="lin6e4ad"unti_cm1 hr nm+code=coh901318m1" c6a5ss="lin6ecm1 hr ""+c byte transfers h">list_head"/dvi3901318.c#L37" id  L37" c6lass="l12613ass="312#L10" id  L10" c6lasart+code="+cod11c#q>113 *"arusyarf">coh901318_>#iarf kmmax"ursthref">coh901318max"urstol"fm++3===* TODO:3transmit all quec"" j12623ass="322 41"/a>  6     641ruct="12 41>12r45"/a/co3===* TODO:3transmit all quec"" j12633ass="312L13" id  L13t+code="+cod11c#q>113 *"arusy"+codunsigned longhref=u32" class="srspin_unlock_irqrestor">vir>vi3===* TODO:3transmit all quec"" j12643ass="312sdin one gofss="srusy>de12de=>124 *"arusy"+cod= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc -> a hlass="sdes""+code=virtbase" c ruct=mment">/* kmto_e=".png"="+code=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1>vir>vi3=01318.c#L3transmit all quec"" j12653ass="312lin6e" nam  ss="srusy>de12de=>124 *"arusy"+cdeslass="sdes">cohc vir>vi3===* TODO:3transmit all quec"" j12263ass="3123" id  L13" =coh901318_po12ref>1__iomem" c6a5ss="lin6e__iomem"+code=coh901318_poolvirtbase" c6a5ss="lin6evirtbase-> a hlass="sdes""+9013COHC_2vdbvol"f=u32" cla kmi1malle=coh901318base" c6a5ss="lin6ebase-> kmi1malle=coh901318virtbase" c6a5ss="lin6evirtbase->lass="srspin_unlock_irqrestor">vir>vi3===* TODO:37" id  L37" c6lass="l12273ass="322s="sref">chan . a hrt12s=">127i+cod++3===* TODO:3transmit all quec"" j12683ass="312"squec"_starla h"1265e>1255*"arum1" c6a5ss="lin6ecm1 hr ectiode=coh901318_poo iUSWIDTCONFIGt">/* kmDMA_SLAVE_BUSWIDTCONFIG clasepin_unlock_irqreburst_sizep;<124am   L40">= 40"/a>  6o645ruct= 27 #i6nclud627 hr namslave_i1malle=coh901318_poo namslave_i1mall1 c -> a  l8.c#L31" id  L3runtime_itrl>vir |=vi3===* TODO:3transmit all quec"" j123c3ass="312ine629ruct="a href="""""""""2lock_irqrei13.png"="tx_s  o645ruct= 27 #i6nclud627 hr namslave_i1malle=c)1c#q>113 *"arusyarf">coh901318_>#iarf kmmlass="srspin_unlock_irqrestor">vir>vi3===* TODO:3transmit all quec"" j12313ass="33231" c6lass="lin6e" nam  1231">127R""dri)3===* TODO:3transmit all quec"" j12i23ass="332h""+cod=e=coh901318_pool12h"">125452re*"ar>  6  =e=couct=mment">/* kmi13.png"="dnam>et_4untimei1malle=coh901318_pool"m+code=coh901318_poo nam+cod1 c -> oh901318_poo namslave_i1mall1 c -> a ss="sCOlasae=coh901318_poolcod1>vir>vi3901318.c#L37" id  L37" c6lass="l12i33ass="3128.c#L13" id  L13" c6a href=s="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3===* TODO:3transmit all quec"" j12343ass="3123" c6aass="linref">chan . a hrt11s=">1177*"arool3===* TODO:3transmit all quec"" j12353ass="331nclud62"driv=mment">/* k11ncl>117ref="+c3===* TODO:3transmit all quec"" j12363ass="312h""+cod=e=cola h"1265e>1255*"arum1" c6a5ss="lin6ecm1 hr ectiode=coh901318_poo i/* kmt">/* kmDMA_SLAVE_B/* km clasepin_unlock_irqreburst_sizep;<= =7"/a>"sp5a href=s="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3===* TODO:3spin_lock_irq6lass="l12393ass="332hre63"drivers"lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3tbase ;3spin_lock_irq6lass="l124c3ass="312reff"lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3t==* TODO:3spin_lock_irq6lass="l12413ass="34231" c6lass="lin6e" nam  1231">12m1" c6a5ss="lin6ecm1 hr ectiode=coh901318_poo iRESUMmt">/* kmDMA_SLAVE_BRESUMm clasepin_unlock_irqreburst_sizep;<cohc -> a hr12423ass="342h""+cod=e=coh901318_pool12h"">125452re*"ar>  resume" c6a5ss="lin6eam>et_4untresumeode=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1>vir>vi3901318.c#L37" id  L37" c6lass="l12433ass="3428.c#L13" id  L13" c6a href=s="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3tbase ;3spin_lock_irq6lass="l12443ass="312mit>cohc s"lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3t==* TODO:3spin_lock_irq6lass="l12453ass="341nclud62"driv=mment">/* k11ncl>117ref="+c3tbase ;3spin_lock_irq6lass="l12463ass="342h""+cod=e=cola h"1265e>1255*"arum1" c6a5ss="lin6ecm1 hr e!tiode=coh901318_poo iTERMINATE_ALLt">/* kmDMA_SLAVE_BTERMINATE_ALL kmmax"ursthref">coh901318max"urstol"fm++3tbase ;3spin_lock_irq6lass="l12473ass="342coh901318.c#L26" id lin612 -ode=coh901318_pENXIOt">/* kmDMA_SLAENXIO kmmlass="srspin_unlock_irqrestor">vir>vi3tbase ;3spin_lock_irq6lass="l12483ass="341eeeeeeeeeeee="+code=coh911eee>1188*"arvi3tbase ;3spin_lock_irq6lass="l12493ass="342hre63"driveran <12en">12c45"/a>  6  dT 32 emaind6dmaf this funh9016c   L32"cesu= 32l"mallurt matter cer , it's 32/32 bitsh*c() *="a==3tbase ;3spin_lock_irq6lass="l125c3ass="3529">= =9"/a>< a h12ola>12c *am>et_4untpause" c6a5ss="lin6eam>et_4untpauseode=coh901318_pooto_e=".png"="+codol"f=u32" class="sCOlasae=coh901318_poolcod1>vir>vi3===* TODO:3transmit all quec"" j12513ass="35131" c6lass="lin6e" nam  113#q>116ad"/a> a h""+od)ers/6a/coh901318.5rucm= 1 a*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>vi3901318.c#L37" id  L37" c6lass="l12523ass="353 n" class=ref"nel>chan <13 n">13045"/avirtbase ;3spin_lock_irq6lass="l12633ass="31265=chan" claan <12en">12c45"/a>  6  dClear=* j>#d6efineBEma/cTCa>#d6efine6 matter cer , it's 32/32 bitsh*c() *="a==3tbase ;3spin_lock_irq6lass="l12643ass="312f=cohc" clasla h"1265e>1255*"arus= 1 a*e6nclud614drivers/dma/coh901318.c#L31" i1" c6a5ss="lin6eidst_32bite 32sepin_unlock_irqreburst_sizep;<;3spin_lock_irq6lass="l12653ass="352  class="sref">cohc m   123" >126"5write COHC_2vdbvol"f=write *ee=c12bitet="a href=mm="_6H_ENus= 1 a*e6nclud614drivers/dma/coh901318.c#L31" i1" c6a5ss="lin6eidst_3   L15">= 15 #virtbase" c6a5ss="lin6evirtbase->+ c>129ad"/a> a h""+co)versBE_INT_CLEAR1" c6a5ss="lin6e""+co)versBE_INT_CLEAR1c6l3ss="l"srspin_unlock_irqrestor">virm>vi39base ;37" id  L37" c6lass="l12563ass="312ine629ruct="a href="+cod12ine>12545write COHC_2vdbvol"f=write *ee=c12bitet="a href=mm="_6H_ENus= 1 a*e6nclud614drivers/dma/coh901318.c#L31" i1" c6a5ss="lin6eidst_3   L15">= 15 #virtbase" c6a5ss="lin6evirtbase->+ c>129ad"/a> a h""+co)versTC_INT_CLEAR1" c6a5ss="lin6e""+co)versTC_INT_CLEAR1c6l3ss="l"srspin_unlock_irqrestor">virm>vi39base ;3spin_lock_irq6lass="l12673ass="3125>ass=" class/dma/coh90112hre>1259*"arusy"+cod} else"/co3tbase ;3spin_lock_irq6lass="l12683ass="31265n" class="sco1265n>12585write COHC_2vdbvol"f=write *ee=c12bitet="a h"1265e>1255*"arus= 1 a*e6nclud614drivers/dma/coh901318.c#L31" i1" c6a5ss="lin6eidst_32- 32s   L15">= 15 #virtbase" c6a5ss="lin6evirtbase->+h90112hre>1259*"arusy"+cod} else"/co3tbase ;3spin_lock_irq6lass="l12693ass="35218_poolparam>flags"/a>;<121c>129ad"/a> a h""+co)versBE_INT_CLEAR>1247*"arusy"+co""+co)versBE_INT_CLEAR>c6l3ss="l"srspin_unlock_irqrestor">virm>vi3901318.c#L37" id  L37" c6lass="l126c3ass="3123" c6aass="lin6"" nam   123" >126"5write COHC_2vdbvol"f=write *ee=c12bitet="a h"1265e>1255*"arus= 1 a*e6nclud614drivers/dma/coh901318.c#L31" i1" c6a5ss="lin6eidst_32- 32s   L15">= 15 #virtbase" c6a5ss="lin6evirtbase->+h90112hre>1259*"arusy"+cod} else"/co3tbase ;3spin_lock_irq6lass="l12613ass="3123" id  L13" c6l5ss="a>;<121c>129ad"/a> a h""+co)versTC_INT_CLEAR>1247*"arusy"+co""+co)versTC_INT_CLEAR>c6l3ss="l"srspin_unlock_irqrestor">virm>vi3901318.c#L3spin_lock_irq6lass="l12623ass="31231" c6lass="lin6e" nam  1231">12645"/a>  6  deool3 c hrefeer36dma/coh901318.c#L13"12633ass="312c#quec"_start+code="+cod12c#q>126 *"arvi3tbase ;3spin_lock_irq6lass="l12643ass="3126irtbase" clascef"_i">li126enrbur_pow="+ h""+od)ers/6a/cohenrbur_pow="+ h"ode=coh901318_pooto_e013COHC_2vdbvol"f=u32" class="l"srspin_unlock_irqrestor">virm>vi39base ;3spin_lock_irq6lass="l12653ass="361nclud62"driv=mment">/* k11ncl>117ref="+c3tbase ;3spin_lock_irq6lass="l12663ass="312i=quecruct=" L2612ccoh901318_pooto_e011" c6a5ss="lin6ec c12" c; a hlass="sdes""+901co)versfi">/*ah90ve_get>vir <ruct=m901co)versfi">/*ah90ve_getode=coh901318_pooto_e013COHC_2vdbvol"f=u32" clasizepin_unlock_irqreburst_sizep;<ass=" class="si>lisn <12en">12c45"/a>  6  dreleaa/c= 32lli aln6ea9016 matter cer , it's 32/32 bitsh*c() *="a==3tbase ;3spin_lock_irq6lass="l12683ass="312ocss=" id  L50" c58ass="12ocs>12685901co)verslli_free" c6a5ss="lin6eam>et_4untlli_free*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" base" c6a5ss="lin6ebase-> kmi1malle=coh901318po  COHC_2vdbvol"f=po  st_3  oh901318_poo1318.5rucm=1" c6a5ss="lin6ec c12" cma/coh901318.c#L31" ilqreburst_sizep;virm>vi39base ;3spin_lock_irq6lass="l12693ass="362ode=virtbase" clasparam>12ode>128m   Lvi3tbase ;3spin_lock_irq6lass="l127c3ass="312668ss="lin6e" nam   sn <12en">12c45"/a>  6  dren612 desl We free-lise6 matter cer , it's 32/32 bitsh*c() *="a==3tbase ;3spin_lock_irq6lass="l12713ass="3723" id  L13" c6l5ss="sy>de12de=>124 *"arusy"+cdesl_remoh""+od)ers/6a/coh*"arusy"+cdesl_remoh"ode=coh901318_pooto_e011" c6a5ss="lin6ec c12" css="l"srspin_unlock_irqrestor">virm>vi3ers/dma/co3901318.c#L43" id  L4312723ass="312__d613iass="lin6e" nsy>de12de=>124 *"arusy"+cdesl_free" c6a5ss="lin6eam>et_4untdesl_freeode=coh901318_pooto_e013COHC_2vdbvol"f=u32" cla; oh901318_poo nams11" c6a5ss="lin6ec c12" css="l"srspin_unlock_irqrestor">virm>vi3ec hrefeer37" id  L37" c6lass="l12733ass="312 ""+cod=e=colin6e" nam  1231">12645"/a>  6  deool3er6"hre)ve3s/>cohc -> a hr12743ass="3716irtbase" clascef"_i">li116ir>116i+cod++3tbase ;3spin_lock_irq6lass="l12753ass="312nclud62"driv L2612ccoh901318_pooto_e011" c6a5ss="lin6ec c12" c; a hlass="sdes""+901co)versfi">/*queue1" c6a5ss="lin6ec cco)versfi">/*queue1ode=coh901318_pooto_e013COHC_2vdbvol"f=u32" clasizepin_unlock_irqreburst_sizep;<;3spin_lock_irqcav"+co 12763ass="312ref">cohc 12c45"/a>  6  dreleaa/c= 32lli aln6ea9016 matter cer , it's 32/32 bitsh*c() *="a==3 c hrefeer36dma/coh901318.c#L13"12773ass="3725>ass=" class="si>list_h125>a>125_sam>et_4untlli_free" c6a5ss="lin6eam>et_4untlli_free*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" base" c6a5ss="lin6ebase-> kmi1malle=coh901318po  COHC_2vdbvol"f=po  st_3  oh901318_poo1318.5rucm=1" c6a5ss="lin6ec c12" cma/coh901318.c#L31" ilqreburst_sizep;virm>vi3er6"hre)ve3s/>cohc -> a hr12783ass="371eeeeeeeeeeee="+code=coh911eee>1188*"arvi3tbase ;3spin_lock_irq6lass="l12793ass="37218_poolparam>flags"/sn <12en">12c45"/a>  6  dren612 desl We free-lise6 matter cer , it's 32/32 bitsh*c() *="a==3tbase ;3spin_lock_irq6lass="l128c3ass="312901318.c#L29" id  L29" c12901>128"5*"arusy"+cdesl_remoh""+od)ers/6a/coh*"arusy"+cdesl_remoh"ode=coh901318_pooto_e011" c6a5ss="lin6ec c12" css="l"srspin_unlock_irqrestor">virm>vi3tbase ;3spin_lock_irq6lass="l12813ass="312inp=chan" class="sfasy>de12de=>124 *"arusy"+cdesl_free" c6a5ss="lin6eam>et_4untdesl_freeode=coh901318_pooto_e013COHC_2vdbvol"f=u32" cla; oh901318_poo nams11" c6a5ss="lin6ec c12" css="l"srspin_unlock_irqrestor">virm>vi3tbase ;3spin_lock_irq6lass="l12823ass="38231" c6lass="lin6e" nam  1231">12645"/a>  6  deool3tbase ;3spin_lock_irq6lass="l12833ass="312filter_i">list_head"/a> 12fil>128 *"arvi3tbase ;3spin_lock_irq6lass="l12843ass="3816irtbase" clascef"_i">li116ir>116i+cod++3901318.c#L37" id  L37" c6lass="l12853ass="381c#quecruct="a href="+cod11c9013COHC_2vdbvol"f=u32" cla kmi1malle=coh901318nbr*ah90ve_done" c6a5ss="lin6enbr*ah90ve_done2" c; as="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3er6"hre)ve3s/>cohc -> a hr12863ass="38231" c6lass="lin6e" nam  1239013COHC_2vdbvol"f=u32" cla kmi1malle=coh901318busy" c6a5ss="lin6ebusy2" c; as="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3ec hrefeer3spin_lock_irq6lass="l12873ass="382s="sref">chan . a hrt12s=">127i+cod++3tbase ;3spin_lock_irqcav"+co 12883ass="312eeeeeeeeeeeelin6e" nam  113#q>11un8.5rucm=restor""+od)ers/6a/coh90131un8.5rucm=restor"*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" nam   L15">= 15 #i6nclud615ruct="ad_= =7" c6l3ss="l"srspin_unlock_irqrestor">virm>vi3 c hrefeer36dma/coh901318.c#L13"12993ass="312ode=virtbase" clasparam>12ode>128m   Lvi3tbase ;3spin_lock_irq6lass="l129c3ass="312c#L50" id  La href=s="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3tbase ;3spin_lock_irq6lass="l12913ass="3129trulin6e" nam  1231">12645"/a>  6  deool3tbase ;3spin_lock_irq6lass="l12c23ass="393 n" class=ref"nel>chan <13 n">13045"/avir===* TODO:3transmit all quec"" j12c33ass="312ola =coh901318_po12ref>12re*"ar>  base_in>COH=5"/a].ct=mme2re*"ar>  base_in>C*ee=clock_irqrei13.png"="tx_s  devic""+od)ers/6a/coh_s  devic"c#L50coh901318_poo na_s "+od)ers/6a/coh_s  nam  conse6->coh901318_poo napi5ruu32"lud615ruct="ad_=pi5ruu32"l nam class=ref"nel>chan <13 n">13045"/avir=base ;3spin_lock_irq6lass="l12c43ass="312han" class="sco12ha ss="srusy>de12de=>124 *"arusy"+cbase" c6a5ss="lin6e*"arusy"+cbasec#L50coh901318_poo nabase" c6a5ss="lin6ebase->ax"ursthref">coh901318max"urstol"fm++3tbase ;3spin_lock_irq6lass="l12c53ass="312" clpin_unlock_irqreburst_sizep;<;3spin_lock_irq6lass="l12c63ass="392h""+cod=e=col> a hlas12)it>1u32"l_qreburst_sizep;vir>vi3quec"">lis3_head"/a> " class="sf12973ass="312coh901318.c#-> a hlas12)it>12485"/a>  6    jun=c5lass="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi3901318.c#L37" id  L37" c6lass="l12c83ass="312m   L7">= =7ss="srusy>de12de=>124 *"arusy"+cod= 27 #i6nclud627 hre=".png"="+code=coh901318_pool" class="sdes">cohc ->="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi39c hrefeer3s/>cohc -> a hr12c93ass="392ode=virtbase" clasparam>12ode>128m   Lvi4tbase ;4spin_lock_irq6lass="l13 c4ass="4029">= =9"/a>< a h12ola>12c *INIT_LIST_HEADass="sdes">cohcINIT_LIST_HEAD*ee=coh901318_poo1318.5ru_s "+od)ers/6a/coh_s  namma/coh901318.c#L31" pool"f=lud615ruct="ad_=pool"f=lc6l3ss="l"srspin_unlock_irqrestor">virm>vi4tbase ;4spin_lock_irqcav"+co 13 14ass="40231" c6lass="lin6e" nam  1231">127R""dri)4 c hrefeer46dma/coh901318.c#L13"13 24ass="40231" c6lass="32" coh901318_pooto_e=".l_qreburst_sizep;12c *pi5ruu32"lud615ruct="ad_=pi5ruu32"l namizepin_unlock_ire=".l_qreburst_sizep;;4spin_lock_irqcav"+co 13 34ass="413 la h">cohc ->32" coh901318_pooto_2485"/a>  6    jun=c5las a h12ola>12c *pi5ruu32"lud615ruct="ad_=pi5ruu32"l namizepin_unlock_ire=".l_qreburst_sizep;12c *pi5ruu32"lud615ruct="ad_=pi5ruu32"l namizepin_unlock_ire=".l_qreburst_sizep;;4spin_lock_irq6lass="l12c44ass="402han" class="sco12ha=coh901318_pool" class="sdes">cohc ->lasoh901318_poo1318.5rubase" c6a5ss="lin6ebase-> kmi1malle=coh901318u32"lud615ruct="ad_=u32"l namizepin_unlock_irqreburst_sizep;<virm>vi4t5ase ;4spin_lock_irq6lass="l12c54ass="401nclud62"driv=mment">/* k11ncl>117ref="+c4O6 transmi4tpin_lock_irq6lass="l12c64ass="412 ,f=virtbase" classrf">cohc m18_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" base" c6a5ss="lin6ebase->las a h12ola>12c *base" c6a5ss="lin6ebase->s="l"srspin_unlock_irqrestor">virm>vi4t7 transmi4thead"/a> " class="sf12974ass="402coh901318.c#L26" id f">cohc m18_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" e=".png"="+codol"f=u32" clat="a href=mm="_6devic""+od)ers/6a/coh_evic"c#L50as a h12ola>12c *_s "+od)ers/6a/coh_s  nams="l"srspin_unlock_irqrestor">virm>vi4t8 transmi4t" id  L37" c6lass="l12c84ass="402m   L7">= =7"/a>"sp591255*"arus= 1 a*e6nclud614drivers/dma/coh901318.c#L31" i1" c6a5ss="lin6eidst_32as a h12ola>12c *qreburst_sizep;<virm>vi4t9 transmi4t/>cohc -> a hr12c94ass="402ode=virtbase" clasparam>12ode>128m   Lvi4===* TODO:4transmit all quec"" j121c4ass="413 claoolparam>flags"/a>;<13 cln <12en">12c45"/a>  6  dTODO: do w32 eally need this n6e"sla ">= 3one2"ter cer , it's 32/32 bitsh*c() *="a==4===* TODO:4transmit all quec"" j12114ass="41131" ln <12en">12c45"/a>  6oolparam>flags"/a>;<13 c *2enia>  is connoh9ed to eachVpool"f=?2"ter cer , it's 32/32 bitsh*c() *="a==4=c hrefeer4transmit all quec"" j12124ass="412in6eln <12en">12c45"/a>  6oolparam>flags"/a>;<13 c *matter cer , it's 32/32 bitsh*c() *="a==4===* TODO:4transmit all quec"" j12934ass="412filter_i">list_head"/a> 12fil>128 *"arvi4=base ;4transmit all quec"" j12944ass="412han" class="sco12ha=coh901318_pool901318.5rucn>COH=5"/a].ct=mme901318.5rucn>C*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" id  L31" c6a5ss="lin6e" namss="l"srspin_unlock_irqrestor">virm>vi4901318.c#L47" id  L37" c6lass="l12954ass="411nclud62"driv=mment">/* k11ncl>117ref="+c4===* TODO:4transmit all quec"" j12164ass="412 ,f=virtbase" classrf">cohc m18_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" nbr*ah90ve_done" c6a5ss="lin6enbr*ah90ve_done2" c; as="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi4===* TODO:4transmit all quec"" j12174ass="412coh901318.c#L26" id f">cohc m18_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" busy" c6a5ss="lin6ebusy2" c; as="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi4===* TODO:4transmit all quec"" j12184ass="412m   L7">= =7"/a>"sp591255*"arINIT_LIST_HEADass="sdes">cohcINIT_LIST_HEAD*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" free" c6a5ss="lin6efreeode=ss="l"srspin_unlock_irqrestor">virm>vi499 transmi4transmit all quec"" j12994ass="412coss=" id  L50" c58ass="12cos>126m   L38">=INIT_LIST_HEADass="sdes">cohcINIT_LIST_HEAD*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" ah90ve1 a*e6nclud614dah90veode=ss="l"srspin_unlock_irqrestor">virm>vi4===* TODO:4transmit all quec"" j122c4ass="423 claoolparam>flags"/a>;<13 cl>130"5"/a>  6 INIT_LIST_HEADass="sdes">cohcINIT_LIST_HEAD*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" queue1 a*e6nclud614dqueueode=ss="l"srspin_unlock_irqrestor">virm>vi4===* TODO:47" id  L37" c6lass="l12614ass="42231" c6lass="lin6e" nam  1231">127R""dri)4===* TODO:4transmit all quec"" j12624ass="422an" class="sEXPORT_SYMBO12an">12845"/a>  6 taskletucn>COH=5"/a].ct=mmetaskletucn>C*ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" taskletOH=5"/a].ct=mmetasklet nam   L15">= 15 #_s  taskletOH=5"/a].ct=mme_s  tasklet nam class=ref"nel>chan <13 n">13045"/avi4===* TODO:4transmit all quec"" j12634ass="423 la h">cohc ->;;;;;;;;;;;;;;;;;;;;;(t+code="+cod1)1c#q>113 *"arusye013COHC_2vdbvol"f=u32" class="l"srspin_unlock_irqrestor">virm>vi4=base ;4transmit all quec"" j12644ass="4216irtbase" clascef"_i">li116ir>116i+cod++4=01318.c#L4transmit all quec"" j12654ass="412lin6e" nam  EXPORT_SYMBO12an">12845"/a>  6 liserl"m tai COHC_2vdbvol"f=liserl"m tai *ee=coh901318_poo1318.5rucm= 1 a*e6nclud614drivers/dma/coh901318.c#L31" e=".png"="+codol"f=u32" clat="a href=mm="_6devic"_n="_"+od)ers/6a/coh_evic"_n="_ nam class=ref"nel>chan <13 n">13045"/avi4===* TODO:4transmit all quec"" j12264ass="422allocationf="drivers/dma12all>12845"""""""oh901318_poo1318.5ru_s "+od)ers/6a/coh_s  namma/coh901318.c#L31" pool"f=lud615ruct="ad_=pool"f=lc6l3ss="l"srspin_unlock_irqrestor">virm>vi4===* TODO:47" id  L37" c6lass="l12274ass="422coh901318.c#L26" id lin6e" nam  1231">12645"/a>  6  deool4===* TODO:4transmit all quec"" j12684ass="422    L7">= =7="+c13 tr>130am   L40">= 40"/a>  6ool4===* TODO:4transmit all quec"" j12694ass="412+cod="+c13 tr>130am   L40">= 40"/a>  6ool4===* TODO:4transmit all quec"" j123c4ass="432reff"lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi4===* TODO:4transmit all quec"" j12314ass="43231" virtbasint901318_po12ref>1__in>COH=5"/a].ct=mme_ucn>C*ee=< a h12ola>12c *am>et_4untprobe" c6a5ss="lin6eam>et_4untprobe*ee=clock_irqrei13.png"="txplatform devic""+od)ers/6a/cohplatform devic""+code=coh901318_poolpdev"+od)ers/6a/cohpdev->ax"ursthref">coh901318max"urstol"fm++4===* TODO:4transmit all quec"" j12i24ass="432 41"/a>  6     641ruct="12 41>12r45"/a/co4901318.c#L47" id  L37" c6lass="l12i34ass="4128.c#L13" id int901318_po12ref>1  6     645ructn6em   L15; as="lin5e" ="_6H_ENA6LE>COH=5"/a = 0>vi4===* TODO:4transmit all quec"" j12344ass="4123" c6aass="lss="srusy>de12de=>124 *"arusy"+cplatform" c6a5ss="lin6eam>et_4untplatform"+code=coh901318_poolpdat "+od)ers/6a/cohpdat a[rus="l"srspin_unlock_irqrestor">virm>vi4===* TODO:4transmit all quec"" j12354ass="432lin6e" nam  ss="srusy>de12de=>124 *"arusy"+cbase" c6a5ss="lin6e*"arusy"+cbasec#L50coh901318_poo nabase" c6a5ss="lin6ebase->s="l"srspin_unlock_irqrestor">virm>vi4===* TODO:4transmit all quec"" j12364ass="432h""+cod=e=col> a hlas12)it>1irqreburst_sizep;<virm>vi4===* TODO:4transmit all quec"" j12374ass="4325>ass=" classs="srusy>de12de=>124 resourc""+od)ers/6a/cohresourc"c#L50coh901318_poo naioreburst_sizep;<virm>vi4===* TODO:4transmit all quec"" j12i84ass="431eeeeeeeeeeee="+code=coh911eee>1188*"arvi4===* TODO:4spin_lock_irq6lass="l12394ass="432hre63"driveroh901318_poo naioreburst_sizep;<12c *platform gmallesourc""+od)ers/6a/cohplatform gmallesourc"*ee=c=coh901318_poolpdev"+od)ers/6a/cohpdev->   L15">= 15 #IORESOURCE_MEMass="sdes">cohcIORESOURCE_MEM->  0ss="l"srspin_unlock_irqrestor">virm>vi4tbase ;4spin_lock_irq6lass="l124c4ass="443 claoolparamla h!oh901318_poo naioreburst_sizep;<coh901318max"urstol"fm++4t==* TODO:4spin_lock_irq6lass="l12414ass="4423" id  L13" c6l5ss="lin612 -ode=coh901318_pENO ev_dblol"f=u32" cENO ev->s="l"srspin_unlock_irqrestor">virm>vi4er6"hre)ve4s/>cohc -> a hr12424ass="443 n" class=ref"nel>chan <13 n">13045"/avi4901318.c#L47" id  L37" c6lass="l12434ass="4428.c#L13" id ln <12en">12c45"/a>  6  dMap DMA * Her  ler"ligisecha to virtual memory *matter cer , it's 32/32 bitsh*c() *="a==4tbase ;4spin_lock_irq6lass="l12444ass="412mit>cohc la h"1265e>1255*"ardevmllequesermem_ligio6nclu= 27 #i6nevmllequesermem_ligio6*ee=coh901318_poo1318.5rupdev"+od)ers/6a/cohpdev->ma/coh901318.c#L31" dev"+od)ers/6a/cohdev-> er , it's 32/32 bitsh*c() *="a==4t==* TODO:4spin_lock_irq6lass="l12454ass="442lin6e" nam  EXPORT_SYMBO12annnnnnnnnnnnnoh901318_poo naioreburst_sizep;<12845"""""sy>de12de=>124 resourc"=mmbu"+od)ers/6a/cohresourc"=mmbu*ee=c=coh901318_poolioreburst_sizep;<12845"""""sy>de12de=>124 pdev"+od)ers/6a/cohpdev->ma/coh901318.c#L31" dev"+od)ers/6a/cohdev->t="a href=mm="_6d;s 32"+od)ers/6a/cohd;s 32rs/dma/coh901318.c#L31" name" c6a5ss="lin6ename->aectiode=coh901318_pNULLt">/* kmDMA_SLANULL->ax"ursthref">coh901318max"urstol"fm++4t==* TODO:4spin_lock_irq6lass="l12484ass="442m   L7">= =7"/a>"sp5a href=-ode=coh901318_pENOMEMass="sdes">cohcENOMEM->s="l"srspin_unlock_irqrestor">virm>vi4e==* TODO:4spin_lock_irq6lass="l12494ass="442ode=virtbase" clasparam>12ode>128m   Lvi4tbase ;4spin_lock_irq6lass="l125c4ass="4529">= =9"/a>< a h12ola>12c *pdat "+od)ers/6a/cohpdat a[rulas a h12ola>12c *pdev"+od)ers/6a/cohpdev->ma/coh901318.c#L31" dev"+od)ers/6a/cohdev->t="a href=mm="_6platform dat "+od)ers/6a/cohplatform dat ->s="l"srspin_unlock_irqrestor">virm>vi4===* TODO:4transmit all quec"" j12514ass="45231" c6lass="lin6!oh901318_poo napdat "+od)ers/6a/cohpdat a[ruax"ursthref">coh901318max"urstol"fm++4901318.c#L47" id  L37" c6lass="l12524ass="452an" class="sEXPORT_Slin612 -ode=coh901318_pENO ev_dblol"f=u32" cENO ev->s="l"srspin_unlock_irqrestor">virm>vi4tbase ;4spin_lock_irq6lass="l12634ass="452filter_i">list_head"/a> 12fil>128 *"arvi4tbase ;4spin_lock_irq6lass="l12644ass="4526irtbase" clascef"_i">li126base" c6a5ss="lin6ebase->las a h12ola>12c *nevmlkzaln6enclu= 27 #i6nevmlkzaln6e*ee=coh901318_poo1318.5rupdev"+od)ers/6a/cohpdev->ma/coh901318.c#L31" dev"+od)ers/6a/cohdev-> er , it's 32/32 bitsh*c() *="a==4tbase ;4spin_lock_irq6lass="l12654ass="452  class="sref">cohc l>12845"""""sy>de12de=>124 ALIGN"+od)ers/6a/cohALIGN*ee=clmbuofclock_irqrei13.png"="tx*"arusy"+cbase" c6a5ss="lin6e*"arusy"+cbasec#L5), 4);+h90112hre>1259*"arusy"+cod} else"/co49base ;47" id  L37" c6lass="l12564ass="412ine629ruct="a href="l>12845"""""sy>de12de=>124 pdat "+od)ers/6a/cohpdat a[ruma/coh901318.c#L31" max_pool"f=lud615ruct="ad_=max_pool"f=lc#L50ch90112hre>1259*"arusy"+cod} else"/co49==* TODO:4spin_lock_irq6lass="l12674ass="452coh901318.c#L26" id /dma12all>12lmbuofclock_irqrei13.png"="tx*"arusy"+cod= 27 #i6nclud627 hre=".png"="+coa er , it's 32/32 bitsh*c() *="a==4tbase ;4spin_lock_irq6lass="l12684ass="41265n" class="s12845"""""sy>de12de=>124 GFP_KERNELt">/* kmDMA_SLAGFP_KERNELc6l3ss="l"srspin_unlock_irqrestor">virm>vi4tbase ;4spin_lock_irq6lass="l12694ass="45218_poolparamlin6!oh901318_poo nabase" c6a5ss="lin6ebase->ax"ursthref">coh901318max"urstol"fm++4901318.c#L47" id  L37" c6lass="l126c4ass="4123" c6aass="lin6"" naa href=-ode=coh901318_pENOMEMass="sdes">cohcENOMEM->s="l"srspin_unlock_irqrestor">virm>vi4tbase ;4spin_lock_irq6lass="l12614ass="46231" c6lass="lin6e" nam  1231">127R""dri)4901318.c#L4spin_lock_irq6lass="l12624ass="41231" c6lass="oh901318_poo nabase" c6a5ss="lin6ebase-> kmi1malle=coh901318u32"lud615ruct="ad_=u32"l namlas((=coh9*)oh901318_poo nabase" c6a5ss="lin6ebase->a;+ c>129ad"/a> a hALIGN"+od)ers/6a/cohALIGN*ee=clmbuofclock_irqrei13.png"="tx*"arusy"+cbase" c6a5ss="lin6e*"arusy"+cbasec#L5), 4)s="l"srspin_unlock_irqrestor">virm>vi4tbase ;46dma/coh901318.c#L13"12634ass="412c#quec"_start+code="+cod12c#q>126 *"arvi4tbase ;s a/cohdev-;3>128m   Lvi4tb231">127R""dri)490131pref">coh901318max"urstol"fm++3tbase <31pref"983m>vi0Lvi4tb231">1272 *="a==4t=4t==* BM2e ;46o4spin_lockse" c6a5ss901318.c#L31" dev"+od)er5ass="l12654ass="452  cla75"dri)4901318.c#L9*)oh901318_poo nabase" c6a5ss="lin6ebase->a;+ c>129aa12all>12lmbuofclock_irqrei13.png"="tx*7 #i6ne 6  deool3 c hrefeer36dma4coh9046rupdev"+od)ers/6a/coh/32 bitsh*c() *="a==4tbase ;4spin_lock_irq6lass="l12684ass="41265n" class="s128452845"""""s_irqrestor">virm>vi39base4;3461c#quecruct="a href="+cod11c9013COHC_2vdb4i=quecruct4" L2612ccoh901318_pooto_e411" c46done" c6a5ss="lin6enbr*ah90v"452  cla75"dri)4901318.c#L9*)oh901318_poo nabain_unlock_irqrestor">virmamizepin_unlock_ire=".l" c6a5ss="lin6e*"arusy"+cbasec#L5), 4)s="l"srspin_unlock_irqrestor">virm2684ass="41265n" class="s128450112hre>12q6lass="l12683ass="312ocs4=" id46a hlas12)it>1irqreburst_sizenlock_irqreburst_sizep;<;3spinoh901318_poolpdev"+od)pdev->ax"urDMA_SLANULL->ax"uax"urstol"fm++4===* TODO:4transmit all quec"" j12i24ass="432 41"/" c6a5ss="4in6eam>et_4untlli_free*ee4coh9047ame" c6a5ss="lin6ename->ae*2enia>  is connoh9ed to eachVpool"f=?2"ter cer , it's 32/32 bitnlock_irqreburst_sizep;<;3spin18_poolpdev"+od)pm12484ass="442m   L7"2124ass="412in6eln <12en">12c45"/a>  6oolparam>flags"/a>;<13 c *ma2vdbvol"f=4o  st_3  oh901318_poo131845rucm4712493ass="342hre63"driveran nlock_irqreburst_sizep;<;3spin18_poolpdev"+od)pm12484ass="442m   L7"26 *"ed*c() *="a==4tbase ;4s26 *"ed*c() *="a12ola>12c *am>et_4untprobe" c6a5ss="lin6eam>etde>128m   4vi3tbase ;3spin_lock_i4q6las47ORESOURCE_MEM->  0ss="l"srspin_unlock_ir+cdesl_rem4h""+od)ers/6a/coh*"arusy"4cdesl4remoh"ode=coh9ass="442m   L7"26c3ass="3DEBUGFS_ASSref=-ode=coh90131826c3ass="3DEBUGFS_ASSref0131pref">coh901318mdebugfs_="l"nlock_irqreburst_sidebugfs_="l"nlocarvi4tbase ;s a/co7" c6lass="l126c4ass="4123" c *am>et_4untprobe" c6a5ss="lin6eam>etd901318_pooin_unlock_irqrestor">virm4vi3er4/dma/co3901318.c#L43" id  L4312723ass="3124_d613iass=4lin6e" nsy>de12de=>124 *"4rusy"4cdesl_free" c6platform" c6a5ss="lin6eam>et_4untplatfornlock_irqrestor">virm>vi4===* Ts="lin6eam>et_4untirm>vi4===* Ts="=" classs="srusy>de12de=>124 resourc""+od)ers/6a/in_unlock_irqrestor">virm>vi4===* TODO:4olin6e" na4  1231">12645"/a>  6  deo4l3er647png"="+codol"f=u32" class="sCOlas="lin6eam>et_4untplatforn L15"0a12all>12lmbuofclock_irqrei13.png"="txass="312nc4ud62"driv L2612ccoh9013184pooto4e011" c6a5ss="lin6ec c/32 bitplatform" c6a5ss="lin6eam>et_4untplatform"+code=coh901318_poolpdat "+od)ers/6adma/coh901418.c#L13"12773ass="3725>a4s=" c4ass="si>list_h125>a>125_sam>et_4untlli_fre4" c6a5ss="4in6eam>et_4untlli_free*ee4coh9047a hlas12)it>1irqreburst_sizect=mme_ucn>C*ee=< a h12ola>101318_pENO ev_dblol"f=u32" cs="lin6eam>et_4untblol"f=u32" cs="13.png"="tx*"arusy"+cbase" c6a5ss="lin6e*"arusy"+cbasec#L5), 4)s="l"srspin_unlock_irqrestor">virm>vi4tbase ;46dm="lin6eam>et_4untplatfor1318.c#L31" queue1 a*pla_() dlock_irq6lass="l124 a*pla_() dlocrs/6a/cohresourc"c#L50RQF_DISABLElock_irqrestor">vRQF_DISABLEl_dblol"f=u32" cENO ev->s="l"srspin_unloc2vdbvol"f=4o  st_3  oh901318_poo131845rucm41" c6a5ss="lin6ec c12""""""""""""""""izep;<;s a/co7" c6lass="l126c4ass="4123" c *am>et_4untprobe" c6a5ss="lin6eam>etee>1188*"a4vi3tbase ;3spin_lock_i4q6las48rq6lass="l12494asirqreburst_sizect=mme_ucn>C*ee=< a h12ola12all>12lmbuofclock_irqrei13.png"="tx+cdesl_rem4h""+od)ers/6a/coh*"arusy"4cdesl48d)ers/6a/cohpdat a[rulas a hirqreburst_sizect=mme_ucn>C*ee=< a h12olc *am>et_4untprobe" c6a5ss="lin6eam>etecdesl_rem4in_unlock_irqrestor">virm4vi3tb4se ;3spin_lock_irq6lass="l12813ass="3124np=chan" c4ass="sfasy>de12de=>124 *"4rusy"48ck_irq6lass="l12613ass="3123"t=mme_ucn>C*ee=< a h12ola>101318_pENO ev_ders/6a/cohpool_creatODO:4transmit all quec"" j1ool_creatO cer , it's 32/32 bitnlock_irqreburst_sizep;<;3spin_lock_irqcav"+co 12763ass="312ref">cohc cohcENOMEM->s="l"srspin_unloea9016 matter cer rspin_unloea9259*"arusy"+cod} else"/co49base ;47" id 5"/a>  6  4eool3tbase ;3spin_lock4irq6l48em_ligio6*ee=coh901318_poo1318.5rupdev"+o32 c *am>et_4untprobe" c6a5ss="lin6eam>etess="312nc47" id  L37" c6lass="l12854ass="487q6lass="l12494asirqreburst_sizect=mme_ucn>C*ee=< a h12ola12all>12lmbuofclock_irqrei13.png"="tx+ma/coh9014la kmi1malle=coh901318nbr4ah90v48==4t==* TODO:4spin_lock_irq6irqreburst_sizect=mme_ucn>C*ee=< a h12olc *am>et_4untprobe" c6a5ss="lin6eam>ete c6a5ss="4n_lock_irq6lass="l12873as4="3824="sref">chan . a hrt12s=">127i+cod++3tb4se ;3sp4n_lock_irqcav"+co 12883as4="3124eeeeeeeeeeelin="443 claoolparamla h!oh9"tert9 transs">127O:4traref">coh9s">coh901318max"urstol"fm++4t==* TODO:4spin_lockcoh90131un4.5rucm=restor"*ee=coh901348_poo4912493ass="342hre63"driveran vi4tbase ;4e=virtbase" clasparam>12ode>128m   Lvi3tbase, it's 32/32 bitnlock_irqreburst_sizep;<;3spidG clasepk_irq6lass="l124 a*lasepass="31irqreburst_sizenlock_irqreburst_sizep;<;3spinoh901318_poolpdev"+od)pdev->ax"u5ss="lin6ebase->ax"urstclasepk_irq6lass="l12"urstclasep_dblol"f=u32" cENO ev->s="l"srspin_unloc18.c#L31" 4d  L31" c6a5ss="lin6e" na4   L149* TODO:4transmit all quec"" j"342hre63"driveran 7" c6lass="l126c4ass="4123" c *am>et_4untprobe" c6a5ss="lin6eam>et"l"srspin_4nlock_irqrestor">virm>vi34c hre49e ;3spin_lock_irq6lass="l12813ass="3124q6lass="l14c23ass="393 n" class=ref"4el>ch49ck_irq6lass="l12613ass="31234 a*cap_zerx"urstol"fm++3tb4 a*cap_zerx=" classs="srusy>de1nlock_irqreburst_sizep;<;3spidG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"cap_mas4ass="412in6eln cap_mas4123" c *am>et_4untprobe" c6a5ss="lin6eam>et"ode=coh904h_s  devic"c#L50coh9013184poo n49desl_free" c6platform" c6a5s4 a*cap_sud614dqueueode=ss="l"cap_sud=" classs="srusy>de1HC_2vdbvo614dqueueode=ssHC_2vdbvoarvi4tbase ;s a/co7" c6lass="l126c4ass="4123"m /co3tbase ;3spidG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"cap_mas4ass="412in6eln cap_mas4123" c *am>et_4untprobe" c6a5ss="lin6eam>et""/a>  6  45ruu32"lud615ruct="ad_=pi4ruu324l nam  *am>et_4untprobe" c6a5ss="lin6eam>et"ss="312nc4a ss="srusy>de12de=>124 *4arusy4+cbase" c6a5ssbase ;s a/co7" c6lass="l126c4ass="4123"m /co3tbase ;3spidG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"class="m++49*c() "4325>assa==4tbase ;4sclass="m++49*c() "4325>assa12ola>101318_pENO ev_ders/6a/cohm++49*c() "4325>assa==4tbase ;4sers/6a/cohm++49*c() "4325>assa12olc *am>et_4untprobe" c6a5ss="lin6eam>etcoh901318m4x"urstol"fm++3tbase ;34pin_l49done" c6a5ss="lin6enbr*ah90v"452  cla75"dri)4901318.c#L9*)oh901318_poo nabaiG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"class=""" j*c() "4325>assa==4tbase ;4sclass=""" j*c() "4325>assa12ola>101318_pENO ev_ders/6a/coh"" j*c() "4325>assa==4tbase ;4sers/6a/coh"" j*c() "4325>assa12olc *am>et_4untprobe" c6a5ss="lin6eam>etc c6a5ss="4mmlass="srspin_unlock_irq4estor49a hlas12)it>1irqreburst_sizenlock_irqreburst_sizep;<;3spiiG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"class="prepclasepisLAVE_BUSWIDTCONFIlass="prepclasepisL12ola>101318_pENO ev_ders/6a/cohprepclasepisLAVE_BUSWIDTCONFers/6a/cohprepclasepisL12olc *am>et_4untprobe" c6a5ss="lin6eam>e573ass="3125oh901318.c#-> a hlas125it>12585"/a>  6    jun=c5lass="lin5nlock_irqreburst_sizep;<;3spiiG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"class="tx_ c6lua==4tbase ;4sclass="tx_ c6lua12ola>101318_pENO ev_ders/6a/cohtx_ c6lua==4tbase ;4sers/6a/cohtx_ c6lua12olc *am>et_4untprobe" c6a5ss="lin6eam>e571ass="3125o5rucm=restor"*ee=coh90135COH=55012493ass="342hre63"driveran nlock_irqreburst_sizep;<;3spiiG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"class="issu="p h""+o==4tbase ;4sclass="issu="p h""+o12ola>101318_pENO ev_ders/6a/cohissu="p h""+o==4tbase ;4sers/6a/cohissu="p h""+o12olc *am>et_4untprobe" c6a5ss="lin6eam>e572ass="3125o  L31" c6a5ss="lin6e" na52ode>50l12694ass="45218_poolparamlin6!oh901318_poo nabase" c6a5ss="lin6ebase->axiG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"class="o naior==4tbase ;4sclass="o naior12ola>101318_pENO ev_ders/6a/coho naior==4tbase ;4sers/6a/coho naior12olc *am>et_4untprobe" c6a5ss="lin6eam>e573ass="3125olock_irqrestor">virm>vi351" c650emoh"ode=coh9ass="442m   L7"n6!oh901318_poo nabase" c6a5ss="lin6ebase->axiG clasepk_irq6lass="l124 a*lasepass=4ass="442m   L7"claunlock_irqrestor">virmamizepin_unlock_ire=".l" c6a5ss="lin6e*"arusy"+cbasec#L5), 4)s="l"srspin_unlock_irqrestor">virm2684ass="41265n" class="s1285la h">cohc5->32" coh901318_poo5o_24850dma/co3901318.c#L43" id  L4312723ass="3125eburst_siz5p;C*ee=< a h12ola>101318_pENO ev_db a*async_class="st_sizepk_irq6lass="l124 a*async_class="st_sizeptbase, it's 32/32 bitnlock_irqreburst_sizep;<;3spidG clasepk_irq6lass="l124 a*lasepass= c *am>et_4untprobe" c6a5ss="lin6eam>e5burst_size5;<;4spi5_lock50 nam  *am>et_4untprobe" c6a5ss="lin6eam>e5lock_irqre5urst_sizep;<C*ee=< a h12ola12all>12lmbuofclock_irqrei13.png"="t5se" c6a5ss5"lin6ebase->las a h12ol5>12c 5base" c6a5ss="lin6ebasgoto6platform" c6a5sct="st_sizepclasepk_irq6lass="l12ct="st_sizepclasepvirm2684ass="41265n" class="s1285l9" c6a5ss5"mlass="srspin_unlock_irq5"a hr5f=mm="_6devic""+od)ers/6a/coh_evic"c#L50as5a h12ola>15c *_s "+od)ers/6a/coh_s  5ams="51eeeeeeeeeelin="443 claoolparamla h!oh9"tert9 transs">127memcpf">coh901318max"urstol"fm++4t==* TODO:4spin_loc5ers/dma/co5901318.c#L31" i1" c6a5ss=5lin6e5112493ass="342hre63"driveran vi4tbase ;4e=virtbase" clasparam>12ode>128m   Lvi3tbase, it's 32/32 bitnlock_irqreburst_sizep;<;3spidG cmemcpfk_irq6lass="l124 a*memcpfarvi4tbase ;s a/co7" c6lass="l126c4ass="4123"m /co3tbase ;3spinoh901318_poolpdev"+od)pdev->ax"u5ss="lin6ebase->ax"urstcmemcpfk_irq6lass="l12"urstcmemcpf_dblol"f=u32" cENO ev->s="l"srspin_unlo5base" clas5aram>12ode>128m   Lvi4===5 TODO51* TODO:4transmit all quec"" j"342hre63"driveran 7" c6lass="l126c4ass="4123" c *am>et_4untprobe" c6a5ss="lin6eam>e52 eally ne5d this n6e"sla ">= 3one2"5er ce5 , it's 32/32 bitsh*c() *="a==4===* TO5O:4transmi5 all quec"" j12114ass="41531" l51ck_irq6lass="l12613ass="31234 a*cap_zerx"urstol"fm++3tb4 a*cap_zerx=" classs="srusy>de1nlock_irqreburst_sizep;<;3spidG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"cap_mas4ass="412in6eln cap_mas4123" c *am>et_4untprobe" c6a5ss="lin6eam>e5tter cer ,5it's 32/32 bitsh*c() 5="a==51desl_free" c6platform" c6a5s4 a*cap_sud614dqueueode=ss="l"cap_sud=" classs="srusy>de1HC_2MEMCPY614dqueueode=ssHC_2MEMCPYarvi4tbase ;s a/co7" c6lass="l126c4ass="4123"m /co3tbase ;3spidG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"cap_mas4ass="412in6eln cap_mas4123" c *am>et_4untprobe" c6a5ss="lin6eam>e5turst_size5>list_head"/a> 12fil>128 5"arvi51 nam  *am>et_4untprobe" c6a5ss="lin6eam>e5ma/coh901358.c#L31" id  L31" c6a5ss=5lin6e51cbase" c6a5ssbase ;s a/co7" c6lass="l126c4ass="4123"m /co3tbase ;3spidG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"class="m++49*c() "4325>assa==4tbase ;4sclass="m++49*c() "4325>assa12ola>101318_pENO ev_ders/6a/cohm++49*c() "4325>assa==4tbase ;4sers/6a/cohm++49*c() "4325>assa12olc *am>et_4untprobe" c6a5ss="lin6eam>e512164ass="512 ,f=virtbase" classrf">5ohc m51done" c6a5ss="lin6enbr*ah90v"452  cla75"dri)4901318.c#L9*)oh901318_poo nabaiG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"class=""" j*c() "4325>assa==4tbase ;4sclass=""" j*c() "4325>assa12ola>101318_pENO ev_ders/6a/coh"" j*c() "4325>assa==4tbase ;4sers/6a/coh"" j*c() "4325>assa12olc *am>et_4untprobe" c6a5ss="lin6eam>e58_poo1318.5rucm= 1 a*e6nclud614drive5s/dma51a hlas12)it>1irqreburst_sizenlock_irqreburst_sizep;<;3spiiG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"class="prepciG cmemcpfk_irq6lass="l124lass="prepciG cmemcpf12ola>101318_pENO ev_ders/6a/cohprepcmemcpfk_irq6lass="l12"rs/6a/cohprepcmemcpf12olc *am>et_4untprobe" c6a5ss="lin6eam>e5_poo1318.55ucm= 1 a*e6nclud614driver5/dma/525"/a>  6    jun=c5lass="lin5nlock_irqreburst_sizep;<;3spiiG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"class="tx_ c6lua==4tbase ;4sclass="tx_ c6lua12ola>101318_pENO ev_ders/6a/cohtx_ c6lua==4tbase ;4sers/6a/cohtx_ c6lua12olc *am>et_4untprobe" c6a5ss="lin6eam>e5oo1318.5ru5m= 1 a*e6nclud614drivers/5ma/co5212493ass="342hre63"driveran nlock_irqreburst_sizep;<;3spiiG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"class="issu="p h""+o==4tbase ;4sclass="issu="p h""+o12ola>101318_pENO ev_ders/6a/cohissu="p h""+o==4tbase ;4sers/6a/cohissu="p h""+o12olc *am>et_4untprobe" c6a5ss="lin6eam>e5e=ss="l"sr5pin_unlock_irqrestor">vir5>vi4=52l12694ass="45218_poolparamlin6!oh901318_poo nabase" c6a5ss="lin6ebase->axiG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"class="o naior==4tbase ;4sclass="o naior12ola>101318_pENO ev_ders/6a/coho naior==4tbase ;4sers/6a/coho naior12olc *am>et_4untprobe" c6a5ss="lin6eam>e5  L37" c6l5ss="l12614ass="42231" c6l5ss="l52emoh"ode=coh9ass="442m   L7"n6!oh901318_poo nabase" c6a5ss="lin6ebase->axiG cmemcpfk_irq6lass="l124 a*memcpfarvi4ass="442m   L7"claunlock_irqrestor">virmamizepin_unlock_ire=".l" c6a5ss="lin6e*"arusy"+cbasec#L5), 4)s="l"srspin_unlock_irqrestor">virm2684ass="41265n" class="s1285metaskletu5n>C*ee=coh901318_poo1318.5rucm=52ck_irq6lass="l"443 claoolparamla h!ohoh901318max"urstol"fm++4t==* TODO:4spin_loc5taskletOH=5"/a].ct=mmetasklet nam   515">=515 mit all quec"" j121c4ass="413 c* Th_irqreaioreburc al/a>"sacssas addrsas at even 32bit boundaries,oh901318max"urstol"fm++4t==* TODO:4spin_loc5turst_size5l quec"" j12644ass="4216i5tbase5 clascmit all quec"" j121c4ass="413 c* i.e. 2^2oh901318max"urstol"fm++4t==* TODO:4spin_loc5ta/coh90135e6nclud614drivers/dma/coh5013185c#L31"mit all quec"" j121c4ass="413 c*e=>124 resourc""+od)ers/6a/cohres_LIST_HEAD*ee=coh901318_poo1318.5rucm=443 claoolparamla h!ohoh901318maannnnnnnoh901318_p>C*ee=76e*"arusuntprobe" c6a5ss="lin6eam>e5oo1318.5ru5m=yhm+ig3.png"="tx*"arusy"=yhm+ig3mcpfarv2sec#L5), 4)s="l"srspin_unlock_irqrestorsa12olc *a45"/avi4===* TODO:4transm5t all52obe" c6a5ss="lin6eam>ete c6a5ss="4n_lock_irq6lass="l12873as4="3824="srefsct=mme_ucn>C*ee=< a h12ola>101318_pENO ev_db a*async_class="st_sizepk_irq6lass="l124 a*async_class="st_sizeptbase, it's 32/32 bitnlock_ass="srspin_unlock_irq4estor49a hla's 32/32 bitnlock_ass="srspin_unlock_i4_dev->t=" ;47" id  L1R5oo1318.5ru_s "+od)ers/6a/coh_s  namma/coh951318.c#L315 pool"f=lud615ruct="ad_=p5ol"f=535ss="lin6eam>etee>1188*"a4vi3tbase ;3spin_lock_i4q6las48rq6lass="l12494asirqreburst_sizect=5"412+cod="5c13 tr>130am   L40">= 40"5a>  653"l"srspin_unlo5base" a5ss5"lin6ebase->las a h12ol5>12/32 bitnlock_ass="sras a h12ol5>12/32 b"lin6e*"arusy"+cbasec#L5), 4)s="l"srspin_u"432reff"l5n5e" ="_6H_ENA6LE>COH=5"/5 = 0>535ss="lin6eam>e52 eally ne5d this n6e"sla "cn>C*ee=< 5 h12ola>12c *am>et_4untpr5be" c53*="a==4===* TO5O:4transmi5 auntplatfoset_drv=* TODO:4spin_lock_irq6lass=set_drv=* Tree" c6platform" c6atransmit all quec"" j12374ass="4325>ass=" cl===5 TODO51* TODO:4transmit all quec"" j"342hre63"driveran 7" c6latol"fm++4=5=* TODO:4transmit all que5"" j1535ss="lin6eam>e5tter cer ,5it&ev_inf12114ass="41531" ev_inf1ync_class="st_sizepk_irq6s="lin6eam>et_4untblol"f=u32" cs="13.png"="tx*"arusy"+cbase" c6a5ss="lin6e*901318_poo131845rucm41" c6Initi"txzed =coh9ass=;4spionass="443 tran 0x%08x\n6ec c12"""""""ll quec"" j"342hre63"driveran 7" c6latit boundar6LE>COH=5"/a = 0>vi4===* 5ODO:453ase ;47" id 5"/a>  c6platform" c6auc13 tr>130a" c6a5u3"l"srlin6e" nam  1231"spin_lockse" c6a5ss901318.c#L31" dev"+od)er5ass="l12654ass="452  cla75"dri)4901318.all quec"" j"342hre63"driveran 7" c6lat13 c* i.e.untplatform"+code=coh901358_poo53"s128452845"""""s_irqrestor">vir5rusy"+cbas5" c6a5ss="lin6e*"arusy"+c5asec#53res_LIST_HEADh9014la kmi1malle=coh901318nbr4ah90v48==4t==* TODO:4spin_lock_irq6irqreburst_sizect=5gts="l"srs5in_unlock_irqrestor">virm5vi4==53"s1285l9" c6a5ss5"mlass="srspin_uep;<;4spin_lock_irq65r">vi5rm>vi4="st_sizepk_i51* TOD3]ru3"l"srlin6e" nal quescef"n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohresoc6a5ss="li_*ee=coh905ss="lin612a5n_unl5ck_irqidG clasepk_irq6lass="l124 a*lasepass= c *am>et_4untprobe" c6a5ss="lin6sec#53res_LIST_HEADh9014la kmi1malle=co315 pool"f12i84ass="431eeeeeeeeeeee5"+cod54s="l"sr5pin_unlock_irqrestord)ers/6a/coh*"adequeo"4325>assa==4tbase ;4serh*"adequeo"s="srspin_uep;<;4spin_lock_irq65r">vi5rm>vi4="st_sizepk_2olc *am>et_4untprobe" c6a5n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohri4q6las48r gmallesourc""+od)ers/6a/5ohpla5form gmallesoum" c6auc13 tr>130a" c6a5u3"l"srlin6e" nam  1231"spin_lockse" c6a5ss901318.c#L31" dev" h!oh901315_poo naioreburst_sizep;<<5->a5"ursthc"" j12654ass="412lin6e" nam  EXPORT_5unlock_irq5estor">virm>vi4er6"hre)ve5s/>co54) 5="a==51desl_free" c6platform" c6a5s4 a*to virtual5memory *matter cer , it;s 35/32 bi e=".png"="+codol"f=u32" claex"a href=mm="_6devicex"a_irqidG clasepk_irq6se ;4seremopin_lockcoh90131une ;4seremopis="sr===* TODO:4transmit all quec"" j12264ass="422allocationf="drivers/dma12all>12845"""""""oh901318_poo1318.5ru_s "+od)ers/6a/coh_s  namma/coh901318.c#L31" 5_lock_irq65ass="l12454ass="442lin6e"5nam  5XPORT_lock_irqrestor">virm>vi4===* TODO:47"5 er , it;s 32/32 bitsh*c() *="a=54t==*54ll quec"" j121318_po12ref>1__in>COH=5"/a].ct=mme_ucn>C*ee=< a h12ola>12c *am>et_4untprobe" c6a5ss="lin6eam>et_4untprobe*ee=clo=coh90131826c3ass="3DEBUGFS_ASS  653"l"srspin_unlo5base" a5ss5glin6ebase->las a h12ol5>12/32 bitnlock_ass="sras a h12on_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohocationf="5rivers/dma12all>12845""""5sy>de55 c6a5ss="lin6eam>ete c6a5ss="4n_lock_irq6l/cohpdev-&5tma/coh901318.c#L31" dev"5od)er55rq6irqreburst_sizect=5gts="l"srs5in_unlock_irqrestor">virm5vi4==53"s1285l9" c6a5ss5"mlass="srspin_uep;<;4spin_lock_irq65r">vi5rm>vi4="st_sizepk_i51*png"="tx*"arusy"=yhm+ig3mcpfarv2sec#L5), 4)s="l"srspin_unlock_irqrestorsa1ame->aec5iode=coh901318_pNULLt">/*5kmDMA554drivers/5ma/co5212493ass="3"srs5in_unlock_irqrestor">virm5vi4==53"s1285l9" c6a5ss5"mlass="srspin_uep;<;4spin_lock_irq65r">vi5rm>vi4="st_sizepk_i51* TOD3]ru3"l"srlin6e" nal quescef"n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/coha href=-od5=coh901318_pENOMEMass="sd5s">co55s="l"sr5pin_unlock_irqrestord)ers/6a/coh*"adequeo"4325>assa==4tbase ;4serh*"adequeo"s="srspin_uep;<;4spin_lock_irq65r">vi5rm>vi4="st_sizepk_2olc *am>et_4untprobe" c6a5n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohrm>vi4e==*5TODO:4spin_lock_irq6lass=5l124955orm gmallesoum" c6au/32 bitnlock_irqreburst_sizep;<128 *"ar5i4tbase ;4spin_lock_ir56lass5542hre63"driveran 7" c6latit boundar6LE>COHrupdev"+od5ers/6a/cohpdev->ma/coh951318.5#L31"  e=".pn===* TODO:4transmit all quec"" jermem_ligio6*ee=coh9l quec"" jermem_irqidG clasepk_irq6se ;4sejermem_ligio6*ee=coh9se ;4sejermem=clo=colock_irqrestor">virm>vi4===* TODO:47"5">cohc l>15845"""""sy>de12de=>124 AL5GN"+o5)ers/6a/cohALIscmit all quec""remopin_lockcoh90131uremopis="s=coh90131826c3ass=icex"a_EM->s="l"srspiicex"a_E>las a h12ol5>12/3se ;4seremopin_lockcoh90131une ;4seremopis="s32 bitnlock_irqreburst_sizep;<1259*"arusy"+cod} els5"/co45base ;47" i#i6nevmllequesermem_ligio6*ee=coh901318_poo1=colock_irqrestor">virm>vi4===* TODO:47"5t a[ruma/c5h901318.c#L31" max_pool"f5lud6156nsmit all quec"" j123#i6nevmlleque6a/cohpdev->ma/coh901318.123=arusy"+cbase" c6a5ss="lin6e*"arusy"+cbasec#L5), 4)sock_irqrestor">virm>vi4===* TODO:47"5tme->aec5} else"/co49==* TODO:4spi5_lock5irq6lass="l126}sock_irqrestor">virm>vi4===* TODO:47"5t href=-od5vi4tbase ;4spin_lock_i5q6las5="l126}32 bitnlock_irqreburst_sizep;<virm>vi351" c650eN"+od)ers/5a/cohALIGN*ee=clmbuofcloc5_irqr5i13.png"="+codol"f=u32" clat="a href=mm="_6devic"_n="_"+od)ers/6a/coh_evic"_n="_ nsepvirm2684ass="41265n" class hrefl>12lud6ers/6a/coh_s  namma/coh901318.c#L31" 5_start+cod5="+cod12c#q>126 *"arvi4tb5se virm>vi4===* TODO:47"5t>128 *"ar5==4t=4t==* BM2e ;46o4s5in_lo567rm gmallesoum" c6auDO:4transmit all quec"" jermemnam class=ref"nel>chal quec"" jermemnam cls="srspin_uep;<;4sejermem_ligio6*ee=coh9se ;4sejermem=clol5>12/32 b"lin6e*se ;4sers class=ref"nel>chan <13 n">13045"/avin_unlos1=3Qref="l>1=mmbu"+od)ers/6a/coh2654ass="452  cla75"dri)4901318.c#L95)oh905318_poc"" j12654ass="412lin6e" nam  EXPORT_5efl>128452545"""""s_irqrestor">virm>5i39ba5e4;>12/32 b"lin6e*subsyss hrecalc *am>et_4untprosubsyss hrecalc>las a h12ol5>12/3se ;4sesepvirm2684ass="41265n" class hrefl>1n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohmizepin_un5ock_ire=".l" c6a5ss="lin65*"aru57 c6a5ss="lin6eam>ete c6a5ss="4n_lock_irq6lLANULL->5x"uax"urstol"fm++4===* TO5O:4tr5nsmit lud62+codol"f=u32" claex"a href=mm="_6devicex"a_irqidG clasepk_irq6se ;4seex"a href=mm="_6devse ;4seex"afl>12lud6ers/6a/coh_s  namma/coh901318.c#L31" 53tbase 53spin18_poolpdev"+od)pm12584ass57in_unlock_irqrestor">virm>vi4===* TODO:47"5/a>  6oolp5ram>flags"/a>;<13 c *ma2v5bvol"5=4o  st_3  oh901318_poo131845l quec"" jermemnqrestor">virm5vi4==53"svs="srspin_uep;<;4sejermem_ligio6*ee=coh9se ;4sejermem=clon_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohmo nabase"5base ;3spin_lock_i4q6l5s47OR5SOURCEc"" j12654ass="412lin6e" nam  EXPORT_5sl_rem4h""5od)ers/6a/coh*"arusy"4cde5l4rem5h"ode=uep;<12/3se ;4seex"a href=mm="_6devse ;4seex"afl>1n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohmstart+cod5obe" c6a5ss="lin6eam>etd951318_57) 5="a==51desl_free" c6platform" c6a5s4 a*de=>124 *"5rusy"4cdesl_free" c6platf5rm" c5a5ss="s a h12ol5>12/3MODULE_LICENSE href=mm="_6devMODULE_LICENSE>lasusy"+cbase" c6a5ss="lin6e*GPLbasec#L5), 4)n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohm654ass="45124 resourc""+od)ers/6a/i5_unlo5k_irqrs a h12ol5>12/3MODULE_AUTHOR href=mm="_6devMODULE_AUTHOR>lasusy"+cbase" c6a5ss="lin6e*Per Fridenbasec#L5), 4)n_unlos1=3Qref="l>1=mmbu"+od)ers/6a/cohmfl>128452545"/a>  6  deo4l3er647png5="+co5ol"f=u




6 foo">vi> The original LXR software by the nlos1=3Qrhttp://12olc ec"ge.net/projects/lxvi>LXR ct=muhre*_s "+ot L7experimmetal "l>1ion by nlos1=3Qrmailto:lxv@deoux.no">lxv@deoux.no clas
6 subfoo">vi> lxv.deoux.no kindly hor">d by nlos1=3Qrhttp://www.redpill-deopro.no">Redpill Leopro AS_s "+oprovider of Leoux7"clsult5ss and oper=".cls ser9" cs since 1995.