1iv> che;funct"linu';/claspan classid="currarg_pandspanan che;functx+v3.6.1/"> /drive'; che;funrs/crypt">rs/crypt'; che;funrs/crypto/atmel">o/atmel'; che;funrs/crypto/atmel-aes.c ">-aes.c 'an /claspan !-- --
prirgs
saves
,aruspan class="lxr_lng">crypjx_spanan canandyche;functx+v3.6.1/">ers/crypto/atmel-aes.c spanandy img"../.static/js/lxaviclefg type=alt="<<iv> a nan urle a pjx_="rs/crypto/atmel-aes.c "od=(meth"emespanandy classid="cry_ted ||spanandydy ced || or i="c"sid="c"s one = ha="up; }e>crypjx_,data) '//lxr.linux.no/linux+v3.6.1/"> ') '+v3.6') '') 'rs/crypto/atmel-aes.c ');s anandy /spa_ dy /form dy a anandy href="../linux+v3.6.2/drivers/crypto/atmel-aes.c">anandy img src="../.static/gfx/right.png" alt=">>">an /spa_ an spa_ class="lxr_search">anan
anandy input typa["hidden" nama["navtarget" =data["">anandy input typa["text" nama["search" id["search">anandy buttx_ltypa["submit">SearchanandyPrefs dy /a>an /spa_ andy y /div andy y form acpjx_="ajax+*" method="post" onsubmit="return false;">an input typa["hidden" nama["ajax_lookup" id["ajax_lookup" =data["">aandy y /form aandy y div class="headingbottxm">
div id["file_contents"
y y1 /a> spa_ class="comment">/* /spa_  y y2 /a> spa_ class="comment"> * Cryptographic API. /spa_  y y3 /a> spa_ class="comment"> * /spa_  y y4 /a> spa_ class="comment"> * Support for ATMEL AES HW accelerapjx_. /spa_  y y5 /a> spa_ class="comment"> * /spa_  y y6 /a> spa_ class="comment"> * Copyright (c) 2012 Eukréa Electromapjque - ATMEL /spa_  y y7 /a> spa_ class="comment"> * Author: Nicolas Royer <nicolas@eukrea.com> /spa_  y y8 /a> spa_ class="comment"> * /spa_  y y9 /a> spa_ class="comment"> * This program is free software; you ca_ redistribute it and/or modify /spa_  y 10 spa_ class="comment"> * it under the terms of the GNU General Public License versjx_l2 as published /spa_  y 11 /a> spa_ class="comment"> * by the Free Software Foundapjx_. /spa_  y 12 /a> spa_ class="comment"> * /spa_  y 13 /a> spa_ class="comment"> * Some ideas are from omap-aes.c driver. /spa_  y 14 /a> spa_ class="comment"> */ /spa_  y 15 /a> y 16 /a> y 17 /a>#include <linux/kernel.h /a>> y 18 /a>#include <linux/module.h /a>> y 19 /a>#include <linux/slab.h /a>> y 20 /a>#include <linux/err.h /a>> y 21 /a>#include <linux/clk.h /a>> y 22 /a>#include <linux/io.h /a>> y 23 /a>#include <linux/hw_random.h /a>> y 24 /a>#include <linux/platform_device.h /a>> y 25 /a> y 26 /a>#include <linux/device.h /a>> y 27 /a>#include <linux/module.h /a>> y 28 /a>#include <linux/init.h /a>> y 29 /a>#include <linux/errno.h /a>> y 30 /a>#include <linux/interrupt.h /a>> y 31 /a>#include <linux/kernel.h /a>> y 32 /a>#include <linux/clk.h /a>> y 33 /a>#include <linux/irq.h /a>> y 34 /a>#include <linux/io.h /a>> y 35 /a>#include <linux/platform_device.h /a>> y 36 /a>#include <linux/scatterlist.h /a>> y 37 /a>#include <linux/dma-mapping.h /a>> y 38 /a>#include <linux/delay.h /a>> y 39 /a>#include <linux/crypto.h /a>> y 40 /a>#include <linux/cryptohash.h /a>> y 41 /a>#include <crypto/scatterwalk.h /a>> y 42 /a>#include <crypto/algapi.h /a>> y 43 /a>#include <crypto/aes.h /a>> y 44 /a>#include <crypto/hash.h /a>> y 45 /a>#include <crypto/internal/hash.h /a>> y 46 /a>#include <linux/platform_data/atmel-aes.h /a>> y 47 /a>#include "atmel-aes-regs.h /a>" y 48 /a> y 49 /a>#definey a href="+code=CFB8_BLOCK_SIZE" class="sref">CFB8_BLOCK_SIZE /a>         1 y 50 /a>#definey a href="+code=CFB16_BLOCK_SIZE" class="sref">CFB16_BLOCK_SIZE /a>        2 y 51 /a>#definey a href="+code=CFB32_BLOCK_SIZE" class="sref">CFB32_BLOCK_SIZE /a>        4 y 52 /a>#definey a href="+code=CFB64_BLOCK_SIZE" class="sref">CFB64_BLOCK_SIZE /a>        8 y 53 /a> y 54 /a> spa_ class="comment">/* AES flags */ /spa_  y 55 /a>#definey a href="+code=AES_FLAGS_MODE_MASK" class="sref">AES_FLAGS_MODE_MASK /a>     0x01ff y 56 /a>#definey a href="+code=AES_FLAGS_ENCRYPT" class="sref">AES_FLAGS_ENCRYPT /a>        a href="+code=BIT" class="sref">BIT /a>(0) y 57 /a>#definey a href="+code=AES_FLAGS_CBC" class="sref">AES_FLAGS_CBC /a>            a href="+code=BIT" class="sref">BIT /a>(1) y 58 /a>#definey a href="+code=AES_FLAGS_CFB" class="sref">AES_FLAGS_CFB /a>            a href="+code=BIT" class="sref">BIT /a>(2) y 59 /a>#definey a href="+code=AES_FLAGS_CFB8" class="sref">AES_FLAGS_CFB8 /a>           a href="+code=BIT" class="sref">BIT /a>(3) y 60 /a>#definey a href="+code=AES_FLAGS_CFB16" class="sref">AES_FLAGS_CFB16 /a>          a href="+code=BIT" class="sref">BIT /a>(4) y 61 /a>#definey a href="+code=AES_FLAGS_CFB32" class="sref">AES_FLAGS_CFB32 /a>          a href="+code=BIT" class="sref">BIT /a>(5) y 62 /a>#definey a href="+code=AES_FLAGS_CFB64" class="sref">AES_FLAGS_CFB64 /a>          a href="+code=BIT" class="sref">BIT /a>(6) y 63 /a>#definey a href="+code=AES_FLAGS_OFB" class="sref">AES_FLAGS_OFB /a>            a href="+code=BIT" class="sref">BIT /a>(7) y 64 /a>#definey a href="+code=AES_FLAGS_CTR" class="sref">AES_FLAGS_CTR /a>            a href="+code=BIT" class="sref">BIT /a>(8) y 65 /a> y 66 /a>#definey a href="+code=AES_FLAGS_INIT" class="sref">AES_FLAGS_INIT /a>           a href="+code=BIT" class="sref">BIT /a>(16) y 67 /a>#definey a href="+code=AES_FLAGS_DMA" class="sref">AES_FLAGS_DMA /a>            a href="+code=BIT" class="sref">BIT /a>(17) y 68 /a>#definey a href="+code=AES_FLAGS_BUSY" class="sref">AES_FLAGS_BUSY /a>           a href="+code=BIT" class="sref">BIT /a>(18) y 69 /a> y 70 /a>#definey a href="+code=AES_FLAGS_DUALBUFF" class="sref">AES_FLAGS_DUALBUFF /a>       a href="+code=BIT" class="sref">BIT /a>(24) y 71 /a> y 72 /a>#definey a href="+code=ATMEL_AES_QUEUE_LENGTH" class="sref">ATMEL_AES_QUEUE_LENGTH /a>  1 y 73 /a>#definey a href="+code=ATMEL_AES_CACHE_SIZE" class="sref">ATMEL_AES_CACHE_SIZE /a>    0 y 74 /a> y 75 /a>#definey a href="+code=ATMEL_AES_DMA_THRESHOLD" class="sref">ATMEL_AES_DMA_THRESHOLD /a>         16 y 76 /a> y 77 /a> y 78 /a>structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a>; y 79 /a> y 80 /a>structy a href="+code=atmel_aes_ctx" class="sref">atmel_aes_ctx /a> { y 81 /a>        structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>; y 82 /a> y 83 /a>        int              a href="+code=keylen" class="sref">keylen /a>; y 84 /a>         a href="+code=u32" class="sref">u32 /a>              a href="+code=key" class="sref">key /a>[ a href="+code=AES_KEYSIZE_256" class="sref">AES_KEYSIZE_256 /a> / sizeof( a href="+code=u32" class="sref">u32 /a>)]; y 85 /a>}; y 86 /a> y 87 /a>structy a href="+code=atmel_aes_reqctx" class="sref">atmel_aes_reqctx /a> { y 88 /a>        unsigned longy a href="+code=mode" class="sref">mode /a>; y 89 /a>}; y 90 /a> y 91 /a>structy a href="+code=atmel_aes_dma" class="sref">atmel_aes_dma /a> { y 92 /a>        structy a href="+code=dma_chan" class="sref">dma_chan /a>                 * a href="+code=chan" class="sref">chan /a>; y 93 /a>        structy a href="+code=dma_slave_config" class="sref">dma_slave_config /a>  a href="+code=dma_conf" class="sref">dma_conf /a>; y 94 /a>}; y 95 /a> y 96 /a>structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> { y 97 /a>        structy a href="+code=list_head" class="sref">list_head /a>         a href="+code=list" class="sref">list /a>; y 98 /a>        unsigned longy           a href="+code=phys_base" class="sref">phys_base /a>; y 99 /a>        void  a href="+code=__iomem" class="sref">__iomem /a>            * a href="+code=io_base" class="sref">io_base /a>; y100 /a> y101 /a>        structy a href="+code=atmel_aes_ctx" class="sref">atmel_aes_ctx /a>    * a href="+code=ctx" class="sref">ctx /a>; y102 /a>        structy a href="+code=device" class="sref">device /a>           * a href="+code=dev" class="sref">dev /a>; y103 /a>        structy a href="+code=clk" class="sref">clk /a>              * a href="+code=iclk" class="sref">iclk /a>; y104 /a>        int      a href="+code=irq" class="sref">irq /a>; y105 /a> y106 /a>        unsigned longy           a href="+code=flags" class="sref">flags /a>; y107 /a>        int      a href="+code=err" class="sref">err /a>; y108 /a> y109 /a>         a href="+code=spinlock_t" class="sref">spinlock_t /a>               a href="+code=lock" class="sref">lock /a>; y110        structy a href="+code=crypto_queue" class="sref">crypto_queue      a href="+code=queue" class="sref">queue; y111 /a> y112 /a>        structy a href="+code=tasklet_struct" class="sref">tasklet_struct /a>    a href="+code=done_task" class="sref">done_task; y113 /a>        structy a href="+code=tasklet_struct" class="sref">tasklet_struct /a>    a href="+code=queue_task" class="sref">queue_task; y114 /a> y115 /a>        structy a href="+code=ablkcipher_request" class="sref">ablkcipher_request /a>       * a href="+code=req" class="sref">req; y116 /a>         a href="+code=size_t" class="sref">size_t /a>   a href="+code=total" class="sref">total; y117 /a> y118 /a>        structy a href="+code=scatterlist" class="sref">scatterlist /a>      * a href="+code=in_sg" class="sref">in_sg; y119 /a>        unsigned int             a href="+code=nb_in_sg" class="sref">nb_in_sg; y120 /a> y121 /a>        structy a href="+code=scatterlist" class="sref">scatterlist /a>      * a href="+code=out_sg" class="sref">out_sg; y122 /a>        unsigned int             a href="+code=nb_out_sg" class="sref">nb_out_sg; y123 /a> y124 /a>         a href="+code=size_t" class="sref">size_t /a>   a href="+code=bufcnt" class="sref">bufcnt; y125 /a> y126 /a>         a href="+code=u8" class="sref">u8 /a>       a href="+code=buf_in" class="sref">buf_in /a>[ a href="+code=ATMEL_AES_DMA_THRESHOLD" class="sref">ATMEL_AES_DMA_THRESHOLD /a>]  a href="+code=__aligned" class="sref">__aligned /a>(sizeof( a href="+code=u32" class="sref">u32 /a>)); y127 /a>        int      a href="+code=dma_in" class="sref">dma_in; y128 /a>        structy a href="+code=atmel_aes_dma" class="sref">atmel_aes_dma /a>     a href="+code=dma_lch_in" class="sref">dma_lch_in; y129 /a> y130 /a>         a href="+code=u8" class="sref">u8 /a>       a href="+code=buf_out" class="sref">buf_out /a>[ a href="+code=ATMEL_AES_DMA_THRESHOLD" class="sref">ATMEL_AES_DMA_THRESHOLD /a>]  a href="+code=__aligned" class="sref">__aligned /a>(sizeof( a href="+code=u32" class="sref">u32 /a>)); y131 /a>        int      a href="+code=dma_out" class="sref">dma_out; y132 /a>        structy a href="+code=atmel_aes_dma" class="sref">atmel_aes_dma /a>     a href="+code=dma_lch_out" class="sref">dma_lch_out; y133 /a> y134 /a>         a href="+code=u32" class="sref">u32 /a>      a href="+code=hw_versjx_" class="sref">hw_versjx_; y135 /a>}; y136 /a> y137 /a>structy a href="+code=atmel_aes_drv" class="sref">atmel_aes_drv /a> { y138 /a>        structy a href="+code=list_head" class="sref">list_head /a>         a href="+code=dev_list" class="sref">dev_list; y139 /a>         a href="+code=spinlock_t" class="sref">spinlock_t /a>               a href="+code=lock" class="sref">lock /a>; y140 /a>}; y141 /a> y142 /a>static structy a href="+code=atmel_aes_drv" class="sref">atmel_aes_drv /a>  a href="+code=atmel_aes" class="sref">atmel_aes /a> = { y143 /a>        . a href="+code=dev_list" class="sref">dev_list =  a href="+code=LIST_HEAD_INIT" class="sref">LIST_HEAD_INIT /a>( a href="+code=atmel_aes" class="sref">atmel_aes /a>. a href="+code=dev_list" class="sref">dev_list), y144 /a>        . a href="+code=lock" class="sref">lock /a> =  a href="+code=__SPIN_LOCK_UNLOCKED" class="sref">__SPIN_LOCK_UNLOCKED /a>( a href="+code=atmel_aes" class="sref">atmel_aes /a>. a href="+code=lock" class="sref">lock /a>), y145 /a>}; y146 /a> y147 /a>static int  a href="+code=atmel_aes_sg_length" class="sref">atmel_aes_sg_length /a>(structy a href="+code=ablkcipher_request" class="sref">ablkcipher_request /a> * a href="+code=req" class="sref">req, y148 /a>                        structy a href="+code=scatterlist" class="sref">scatterlist /a> * a href="+code=sg" class="sref">sg) y149 /a>{ y150 /a>        unsigned int  a href="+code=total" class="sref">total =  a href="+code=req" class="sref">req-> a href="+code=nbytes" class="sref">nbytes /a>; y151 /a>        int  a href="+code=sg_nb" class="sref">sg_nb /a>; y152 /a>        unsigned int  a href="+code=len" class="sref">len /a>; y153 /a>        structy a href="+code=scatterlist" class="sref">scatterlist /a> * a href="+code=sg_list" class="sref">sg_list /a>; y154 /a> y155 /a>         a href="+code=sg_nb" class="sref">sg_nb /a> = 0; y156 /a>         a href="+code=sg_list" class="sref">sg_list /a> =  a href="+code=sg" class="sref">sg; y157 /a>         a href="+code=total" class="sref">total =  a href="+code=req" class="sref">req-> a href="+code=nbytes" class="sref">nbytes /a>; y158 /a> y159 /a>        while ( a href="+code=total" class="sref">total) { y160 /a>                 a href="+code=len" class="sref">len /a> =  a href="+code=min" class="sref">min( a href="+code=sg_list" class="sref">sg_list /a>-> a href="+code=length" class="sref">length /a>,  a href="+code=total" class="sref">total); y161 /a> y162 /a>                 a href="+code=sg_nb" class="sref">sg_nb /a>++; y163 /a>                 a href="+code=total" class="sref">total -=  a href="+code=len" class="sref">len /a>; y164 /a> y165 /a>                 a href="+code=sg_list" class="sref">sg_list /a> =  a href="+code=sg_next" class="sref">sg_next( a href="+code=sg_list" class="sref">sg_list /a>); y166 /a>                if (! a href="+code=sg_list" class="sref">sg_list /a>) y167 /a>                         a href="+code=total" class="sref">total = 0; y168 /a>        } y169 /a> y170 /a>        return  a href="+code=sg_nb" class="sref">sg_nb /a>; y171 /a>} y172 /a> y173 /a>static  a href="+code=inline" class="sref">inline /a>  a href="+code=u32" class="sref">u32 /a>  a href="+code=atmel_aes_read" class="sref">atmel_aes_read /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>,  a href="+code=u32" class="sref">u32 /a>  a href="+code=offset" class="sref">offset /a>) y174 /a>{ y175 /a>        return  a href="+code=readl_relaxed" class="sref">readl_relaxed( a href="+code=dd" class="sref">dd /a>-> a href="+code=io_base" class="sref">io_base /a> +  a href="+code=offset" class="sref">offset /a>); y176 /a>} y177 /a> y178 /a>static  a href="+code=inline" class="sref">inline /a> void  a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>, y179 /a>                                         a href="+code=u32" class="sref">u32 /a>  a href="+code=offset" class="sref">offset /a>,  a href="+code=u32" class="sref">u32 /a>  a href="+code==data" class="sref">=data /a>) y180 /a>{ y181 /a>         a href="+code=writel_relaxed" class="sref">writel_relaxed( a href="+code==data" class="sref">=data /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=io_base" class="sref">io_base /a> +  a href="+code=offset" class="sref">offset /a>); y182 /a>} y183 /a> y184 /a>static void  a href="+code=atmel_aes_read_n" class="sref">atmel_aes_read_n /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>,  a href="+code=u32" class="sref">u32 /a>  a href="+code=offset" class="sref">offset /a>, y185 /a>                                         a href="+code=u32" class="sref">u32 /a> * a href="+code==data" class="sref">=data /a>, int  a href="+code=count" class="sref">count /a>) y186 /a>{ y187 /a>        for (;  a href="+code=count" class="sref">count /a>--;  a href="+code==data" class="sref">=data /a>++,  a href="+code=offset" class="sref">offset /a> += 4) y188 /a>                * a href="+code==data" class="sref">=data /a> =  a href="+code=atmel_aes_read" class="sref">atmel_aes_read /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=offset" class="sref">offset /a>); y189 /a>} y190 /a> y191 /a>static void  a href="+code=atmel_aes_write_n" class="sref">atmel_aes_write_n /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>,  a href="+code=u32" class="sref">u32 /a>  a href="+code=offset" class="sref">offset /a>, y192 /a>                                         a href="+code=u32" class="sref">u32 /a> * a href="+code==data" class="sref">=data /a>, int  a href="+code=count" class="sref">count /a>) y193 /a>{ y194 /a>        for (;  a href="+code=count" class="sref">count /a>--;  a href="+code==data" class="sref">=data /a>++,  a href="+code=offset" class="sref">offset /a> += 4) y195 /a>                 a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=offset" class="sref">offset /a>, * a href="+code==data" class="sref">=data /a>); y196 /a>} y197 /a> y198 /a>static void  a href="+code=atmel_aes_dualbuff_test" class="sref">atmel_aes_dualbuff_test /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y199 /a>{ y200 /a>         a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_MR" class="sref">AES_MR /a>,  a href="+code=AES_MR_DUALBUFF" class="sref">AES_MR_DUALBUFF /a>); y201 /a> y202 /a>        if ( a href="+code=atmel_aes_read" class="sref">atmel_aes_read /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_MR" class="sref">AES_MR /a>) &  a href="+code=AES_MR_DUALBUFF" class="sref">AES_MR_DUALBUFF /a>) y203 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> |=  a href="+code=AES_FLAGS_DUALBUFF" class="sref">AES_FLAGS_DUALBUFF /a>; y204 /a>} y205 /a> y206 /a>static structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=atmel_aes_find_dev" class="sref">atmel_aes_find_dev /a>(structy a href="+code=atmel_aes_ctx" class="sref">atmel_aes_ctx /a> * a href="+code=ctx" class="sref">ctx /a>) y207 /a>{ y208 /a>        structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=aes_dd" class="sref">aes_dd /a> =  a href="+code=NULL" class="sref">NULL /a>; y209 /a>        structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=tmp" class="sref">tmp /a>; y210 /a> y211 /a>         a href="+code=spin_lock_bh" class="sref">spin_lock_bh /a>(& a href="+code=atmel_aes" class="sref">atmel_aes /a>. a href="+code=lock" class="sref">lock /a>); y212 /a>        if (! a href="+code=ctx" class="sref">ctx /a>-> a href="+code=dd" class="sref">dd /a>) { y213 /a>                 a href="+code=list_for_each_entry" class="sref">list_for_each_entry /a>( a href="+code=tmp" class="sref">tmp /a>, & a href="+code=atmel_aes" class="sref">atmel_aes /a>. a href="+code=dev_list" class="sref">dev_list,  a href="+code=list" class="sref">list /a>) { y214 /a>                         a href="+code=aes_dd" class="sref">aes_dd /a> =  a href="+code=tmp" class="sref">tmp /a>; y215 /a>                        break; y216 /a>                } y217 /a>                 a href="+code=ctx" class="sref">ctx /a>-> a href="+code=dd" class="sref">dd /a> =  a href="+code=aes_dd" class="sref">aes_dd /a>; y218 /a>        } else { y219 /a>                 a href="+code=aes_dd" class="sref">aes_dd /a> =  a href="+code=ctx" class="sref">ctx /a>-> a href="+code=dd" class="sref">dd /a>; y220 /a>        } y221 /a> y222 /a>         a href="+code=spin_unlock_bh" class="sref">spin_unlock_bh /a>(& a href="+code=atmel_aes" class="sref">atmel_aes /a>. a href="+code=lock" class="sref">lock /a>); y223 /a> y224 /a>        return  a href="+code=aes_dd" class="sref">aes_dd /a>; y225 /a>} y226 /a> y227 /a>static int  a href="+code=atmel_aes_hw_init" class="sref">atmel_aes_hw_init /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y228 /a>{ y229 /a>         a href="+code=clk_prepare_enable" class="sref">clk_prepare_enable /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=iclk" class="sref">iclk /a>); y230 /a> y231 /a>        if (!( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_INIT" class="sref">AES_FLAGS_INIT /a>)) { y232 /a>                 a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_CR" class="sref">AES_CR /a>,  a href="+code=AES_CR_SWRST" class="sref">AES_CR_SWRST /a>); y233 /a>                 a href="+code=atmel_aes_dualbuff_test" class="sref">atmel_aes_dualbuff_test /a>( a href="+code=dd" class="sref">dd /a>); y234 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> |=  a href="+code=AES_FLAGS_INIT" class="sref">AES_FLAGS_INIT /a>; y235 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=err" class="sref">err /a> = 0; y236 /a>        } y237 /a> y238 /a>        return 0; y239 /a>} y240 /a> y241 /a>static void  a href="+code=atmel_aes_hw_versjx__init" class="sref">atmel_aes_hw_versjx__init /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y242 /a>{ y243 /a>         a href="+code=atmel_aes_hw_init" class="sref">atmel_aes_hw_init /a>( a href="+code=dd" class="sref">dd /a>); y244 /a> y245 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=hw_versjx_" class="sref">hw_versjx_ =  a href="+code=atmel_aes_read" class="sref">atmel_aes_read /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_HW_VERSION" class="sref">AES_HW_VERSION /a>); y246 /a> y247 /a>         a href="+code=clk_disable_unprepare" class="sref">clk_disable_unprepare /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=iclk" class="sref">iclk /a>); y248 /a>} y249 /a> y250 /a>static void  a href="+code=atmel_aes_finish_req" class="sref">atmel_aes_finish_req /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>, int  a href="+code=err" class="sref">err /a>) y251 /a>{ y252 /a>        structy a href="+code=ablkcipher_request" class="sref">ablkcipher_request /a> * a href="+code=req" class="sref">req =  a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">req; y253 /a> y254 /a>         a href="+code=clk_disable_unprepare" class="sref">clk_disable_unprepare /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=iclk" class="sref">iclk /a>); y255 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &= ~ a href="+code=AES_FLAGS_BUSY" class="sref">AES_FLAGS_BUSY /a>; y256 /a> y257 /a>         a href="+code=req" class="sref">req-> a href="+code=base" class="sref">base /a>. a href="+code=complete" class="sref">complete /a>(& a href="+code=req" class="sref">req-> a href="+code=base" class="sref">base /a>,  a href="+code=err" class="sref">err /a>); y258 /a>} y259 /a> y260 /a>static void  a href="+code=atmel_aes_dma_callback" class="sref">atmel_aes_dma_callback /a>(void * a href="+code=data" class="sref">data /a>) y261 /a>{ y262 /a>        structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a> =  a href="+code=data" class="sref">data /a>; y263 /a> y264 /a>         span class="comment">/* dma_lch_out - completed */ y265 /a>         a href="+code=tasklet_schedule" class="sref">tasklet_schedule /a>(& a href="+code=dd" class="sref">dd /a>-> a href="+code=done_task" class="sref">done_task); y266 /a>} y267 /a> y268 /a>static int  a href="+code=atmel_aes_crypt_dma" class="sref">atmel_aes_crypt_dma /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y269 /a>{ y270        structy a href="+code=dma_async_tx_descriptor" class="sref">dma_async_tx_descriptor  * a href="+code=in_desc" class="sref">in_desc /a>, * a href="+code=out_desc" class="sref">out_desc /a>; y271 /a>        int  a href="+code=nb_dma_sg_in" class="sref">nb_dma_sg_in /a>,  a href="+code=nb_dma_sg_out" class="sref">nb_dma_sg_out /a>; y272 /a> y273 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg =  a href="+code=atmel_aes_sg_length" class="sref">atmel_aes_sg_length /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">req,  a href="+code=dd" class="sref">dd /a>-> a href="+code=in_sg" class="sref">in_sg); y274 /a>        if (! a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg) y275 /a>                goto  a href="+code=exit_err" class="sref">exit_err /a>; y276 /a> y277 /a>         a href="+code=nb_dma_sg_in" class="sref">nb_dma_sg_in /a> =  a href="+code=dma_map_sg" class="sref">dma_map_sg /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dev" class="sref">dev /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=in_sg" class="sref">in_sg,  a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg, y278 /a>                         a href="+code=DMA_TO_DEVICE" class="sref">DMA_TO_DEVICE); y279 /a>        if (! a href="+code=nb_dma_sg_in" class="sref">nb_dma_sg_in /a>) y280 /a>                goto  a href="+code=exit_err" class="sref">exit_err /a>; y281 /a> y282 /a>         a href="+code=in_desc" class="sref">in_desc /a> =  a href="+code=dmaengine_prep_slave_sg" class="sref">dmaengine_prep_slave_sg /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=chan" class="sref">chan /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=in_sg" class="sref">in_sg, y283 /a>                                 a href="+code=nb_dma_sg_in" class="sref">nb_dma_sg_in /a>,  a href="+code=DMA_MEM_TO_DEV" class="sref">DMA_MEM_TO_DEV, y284 /a>                                 a href="+code=DMA_PREP_INTERRUPT" class="sref">DMA_PREP_INTERRUPT /a>  |   a href="+code=DMA_CTRL_ACK" class="sref">DMA_CTRL_ACK); y285 /a> y286 /a>        if (! a href="+code=in_desc" class="sref">in_desc /a>) y287 /a>                goto  a href="+code=unmap_in" class="sref">unmap_in /a>; y288 /a> y289 /a>         span class="comment">/* callback not needed */ y290 /a> y291 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_out_sg" class="sref">nb_out_sg =  a href="+code=atmel_aes_sg_length" class="sref">atmel_aes_sg_length /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">req,  a href="+code=dd" class="sref">dd /a>-> a href="+code=out_sg" class="sref">out_sg); y292 /a>        if (! a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_out_sg" class="sref">nb_out_sg) y293 /a>                goto  a href="+code=unmap_in" class="sref">unmap_in /a>; y294 /a> y295 /a>         a href="+code=nb_dma_sg_out" class="sref">nb_dma_sg_out /a> =  a href="+code=dma_map_sg" class="sref">dma_map_sg /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dev" class="sref">dev /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=out_sg" class="sref">out_sg,  a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_out_sg" class="sref">nb_out_sg, y296 /a>                         a href="+code=DMA_FROM_DEVICE" class="sref">DMA_FROM_DEVICE); y297 /a>        if (! a href="+code=nb_dma_sg_out" class="sref">nb_dma_sg_out /a>) y298 /a>                goto  a href="+code=unmap_out" class="sref">unmap_out /a>; y299 /a> y300 /a>         a href="+code=out_desc" class="sref">out_desc /a> =  a href="+code=dmaengine_prep_slave_sg" class="sref">dmaengine_prep_slave_sg /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=chan" class="sref">chan /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=out_sg" class="sref">out_sg, y301 /a>                                 a href="+code=nb_dma_sg_out" class="sref">nb_dma_sg_out /a>,  a href="+code=DMA_DEV_TO_MEM" class="sref">DMA_DEV_TO_MEM, y302 /a>                                 a href="+code=DMA_PREP_INTERRUPT" class="sref">DMA_PREP_INTERRUPT /a> |  a href="+code=DMA_CTRL_ACK" class="sref">DMA_CTRL_ACK); y303 /a> y304 /a>        if (! a href="+code=out_desc" class="sref">out_desc /a>) y305 /a>                goto  a href="+code=unmap_out" class="sref">unmap_out /a>; y306 /a> y307 /a>         a href="+code=out_desc" class="sref">out_desc /a>-> a href="+code=callback" class="sref">callback /a> =  a href="+code=atmel_aes_dma_callback" class="sref">atmel_aes_dma_callback /a>; y308 /a>         a href="+code=out_desc" class="sref">out_desc /a>-> a href="+code=callback_param" class="sref">callback_param /a> =  a href="+code=dd" class="sref">dd /a>; y309 /a> y310 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=total" class="sref">total -=  a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">req-> a href="+code=nbytes" class="sref">nbytes /a>; y311 /a> y312 /a>         a href="+code=dmaengine_submit" class="sref">dmaengine_submit /a>( a href="+code=out_desc" class="sref">out_desc /a>); y313 /a>         a href="+code=dma_async_issue_pending" class="sref">dma_async_issue_pending /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=chan" class="sref">chan /a>); y314 /a> y315 /a>         a href="+code=dmaengine_submit" class="sref">dmaengine_submit /a>( a href="+code=in_desc" class="sref">in_desc /a>); y316 /a>         a href="+code=dma_async_issue_pending" class="sref">dma_async_issue_pending /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=chan" class="sref">chan /a>); y317 /a> y318 /a>        return 0; y319 /a> y320 /a> a href="+code=unmap_out" class="sref">unmap_out /a>: y321 /a>         a href="+code=dma_unmap_sg" class="sref">dma_unmap_sg /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dev" class="sref">dev /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=out_sg" class="sref">out_sg,  a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_out_sg" class="sref">nb_out_sg, y322 /a>                 a href="+code=DMA_FROM_DEVICE" class="sref">DMA_FROM_DEVICE); y323 /a> a href="+code=unmap_in" class="sref">unmap_in /a>: y324 /a>         a href="+code=dma_unmap_sg" class="sref">dma_unmap_sg /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dev" class="sref">dev /a>,  a href="+code=dd" class="sref">dd /a>-> a href="+code=in_sg" class="sref">in_sg,  a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg, y325 /a>                 a href="+code=DMA_TO_DEVICE" class="sref">DMA_TO_DEVICE); y326 /a> a href="+code=exit_err" class="sref">exit_err /a>: y327 /a>        return - a href="+code=EINVAL" class="sref">EINVAL /a>; y328 /a>} y329 /a> y330 /a>static int  a href="+code=atmel_aes_crypt_cpu_start" class="sref">atmel_aes_crypt_cpu_start /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y331 /a>{ y332 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &= ~ a href="+code=AES_FLAGS_DMA" class="sref">AES_FLAGS_DMA /a>; y333 /a> y334 /a>         span class="comment">/* use cache buffers */ y335 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg =  a href="+code=atmel_aes_sg_length" class="sref">atmel_aes_sg_length /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">req,  a href="+code=dd" class="sref">dd /a>-> a href="+code=in_sg" class="sref">in_sg); y336 /a>        if (! a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg) y337 /a>                return - a href="+code=EINVAL" class="sref">EINVAL /a>; y338 /a> y339 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_out_sg" class="sref">nb_out_sg =  a href="+code=atmel_aes_sg_length" class="sref">atmel_aes_sg_length /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">req,  a href="+code=dd" class="sref">dd /a>-> a href="+code=out_sg" class="sref">out_sg); y340 /a>        if (! a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg) y341 /a>                return - a href="+code=EINVAL" class="sref">EINVAL /a>; y342 /a> y343 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=bufcnt" class="sref">bufcnt =  a href="+code=sg_copy_to_buffer" class="sref">sg_copy_to_buffer /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=in_sg" class="sref">in_sg,  a href="+code=dd" class="sref">dd /a>-> a href="+code=nb_in_sg" class="sref">nb_in_sg, y344 /a>                                         a href="+code=dd" class="sref">dd /a>-> a href="+code=buf_in" class="sref">buf_in,  a href="+code=dd" class="sref">dd /a>-> a href="+code=total" class="sref">total); y345 /a> y346 /a>        if (! a href="+code=dd" class="sref">dd /a>-> a href="+code=bufcnt" class="sref">bufcnt) y347 /a>                return - a href="+code=EINVAL" class="sref">EINVAL /a>; y348 /a> y349 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=total" class="sref">total -=  a href="+code=dd" class="sref">dd /a>-> a href="+code=bufcnt" class="sref">bufcnt; y350 /a> y351 /a>         a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_IER" class="sref">AES_IER /a>,  a href="+code=AES_INT_DATARDY" class="sref">AES_INT_DATARDY); y352 /a>         a href="+code=atmel_aes_write_n" class="sref">atmel_aes_write_n /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_IDATAR" class="sref">AES_IDATAR /a>(0), ( a href="+code=u32" class="sref">u32 /a> *)  a href="+code=dd" class="sref">dd /a>-> a href="+code=buf_in" class="sref">buf_in, y353 /a>                                 a href="+code=dd" class="sref">dd /a>-> a href="+code=bufcnt" class="sref">bufcnt >> 2); y354 /a> y355 /a>        return 0; y356 /a>} y357 /a> y358 /a>static int  a href="+code=atmel_aes_crypt_dma_start" class="sref">atmel_aes_crypt_dma_start /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y359 /a>{ y360 /a>        int  a href="+code=err" class="sref">err /a>; y361 /a> y362 /a>        if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB8" class="sref">AES_FLAGS_CFB8 /a>) { y363 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=dma_conf" class="sref">dma_conf. a href="+code=dst_addr_width" class="sref">dst_addr_width = y364 /a>                         a href="+code=DMA_SLAVE_BUSWIDTH_1_BYTE" class="sref">DMA_SLAVE_BUSWIDTH_1_BYTE /a>; y365 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=dma_conf" class="sref">dma_conf. a href="+code=src_addr_width" class="sref">src_addr_width = y366 /a>                         a href="+code=DMA_SLAVE_BUSWIDTH_1_BYTE" class="sref">DMA_SLAVE_BUSWIDTH_1_BYTE /a>; y367 /a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB16" class="sref">AES_FLAGS_CFB16 /a>) { y368 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=dma_conf" class="sref">dma_conf. a href="+code=dst_addr_width" class="sref">dst_addr_width = y369 /a>                         a href="+code=DMA_SLAVE_BUSWIDTH_2_BYTES" class="sref">DMA_SLAVE_BUSWIDTH_2_BYTES /a>; y370 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=dma_conf" class="sref">dma_conf. a href="+code=src_addr_width" class="sref">src_addr_width = y371 /a>                         a href="+code=DMA_SLAVE_BUSWIDTH_2_BYTES" class="sref">DMA_SLAVE_BUSWIDTH_2_BYTES /a>; y372 /a>        } else { y373 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=dma_conf" class="sref">dma_conf. a href="+code=dst_addr_width" class="sref">dst_addr_width = y374 /a>                         a href="+code=DMA_SLAVE_BUSWIDTH_4_BYTES" class="sref">DMA_SLAVE_BUSWIDTH_4_BYTES /a>; y375 /a>                 a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=dma_conf" class="sref">dma_conf. a href="+code=src_addr_width" class="sref">src_addr_width = y376 /a>                         a href="+code=DMA_SLAVE_BUSWIDTH_4_BYTES" class="sref">DMA_SLAVE_BUSWIDTH_4_BYTES /a>; y377 /a>        } y378 /a> y379 /a>         a href="+code=dmaengine_slave_config" class="sref">dmaengine_slave_config /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=chan" class="sref">chan /a>, & a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_in" class="sref">dma_lch_in. a href="+code=dma_conf" class="sref">dma_conf); y380 /a>         a href="+code=dmaengine_slave_config" class="sref">dmaengine_slave_config /a>( a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=chan" class="sref">chan /a>, & a href="+code=dd" class="sref">dd /a>-> a href="+code=dma_lch_out" class="sref">dma_lch_out. a href="+code=dma_conf" class="sref">dma_conf); y381 /a> y382 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> |=  a href="+code=AES_FLAGS_DMA" class="sref">AES_FLAGS_DMA /a>; y383 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=atmel_aes_crypt_dma" class="sref">atmel_aes_crypt_dma /a>( a href="+code=dd" class="sref">dd /a>); y384 /a> y385 /a>        return  a href="+code=err" class="sref">err /a>; y386 /a>} y387 /a> y388 /a>static int  a href="+code=atmel_aes_write_ctrl" class="sref">atmel_aes_write_ctrl /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd" class="sref">dd /a>) y389 /a>{ y390 /a>        int  a href="+code=err" class="sref">err /a>; y391 /a>         a href="+code=u32" class="sref">u32 /a>  a href="+code=valcr" class="sref">valcr /a> = 0,  a href="+code=valmr" class="sref">valmr /a> = 0; y392 /a> y393 /a>         a href="+code=err" class="sref">err /a> =  a href="+code=atmel_aes_hw_init" class="sref">atmel_aes_hw_init /a>( a href="+code=dd" class="sref">dd /a>); y394 /a> y395 /a>        if ( a href="+code=err" class="sref">err /a>) y396 /a>                return  a href="+code=err" class="sref">err /a>; y397 /a> y398 /a>         span class="comment">/* MR register must be set before IV registers */ y399 /a>        if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=ctx" class="sref">ctx /a>-> a href="+code=keylen" class="sref">keylen /a> ==  a href="+code=AES_KEYSIZE_128" class="sref">AES_KEYSIZE_128 /a>) y400 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_KEYSIZE_128" class="sref">AES_MR_KEYSIZE_128 /a>; y401 /a>        else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=ctx" class="sref">ctx /a>-> a href="+code=keylen" class="sref">keylen /a> ==  a href="+code=AES_KEYSIZE_192" class="sref">AES_KEYSIZE_192 /a>) y402 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_KEYSIZE_192" class="sref">AES_MR_KEYSIZE_192 /a>; y403 /a>        else y404 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_KEYSIZE_256" class="sref">AES_MR_KEYSIZE_256 /a>; y405 /a> y406 /a>        if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CBC" class="sref">AES_FLAGS_CBC /a>) { y407 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_OPMOD_CBC" class="sref">AES_MR_OPMOD_CBC /a>; y408 /a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB" class="sref">AES_FLAGS_CFB /a>) { y409 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_OPMOD_CFB" class="sref">AES_MR_OPMOD_CFB /a>; y410 /a>                if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB8" class="sref">AES_FLAGS_CFB8 /a>) y411 /a>                         a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_CFBS_8b" class="sref">AES_MR_CFBS_8b /a>; y412 /a>                else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB16" class="sref">AES_FLAGS_CFB16 /a>) y413 /a>                         a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_CFBS_16b" class="sref">AES_MR_CFBS_16b /a>; y414 /a>                else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB32" class="sref">AES_FLAGS_CFB32 /a>) y415 /a>                         a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_CFBS_32b" class="sref">AES_MR_CFBS_32b /a>; y416 /a>                else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB64" class="sref">AES_FLAGS_CFB64 /a>) y417 /a>                         a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_CFBS_64b" class="sref">AES_MR_CFBS_64b /a>; y418 /a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_OFB" class="sref">AES_FLAGS_OFB /a>) { y419 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_OPMOD_OFB" class="sref">AES_MR_OPMOD_OFB /a>; y420 /a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CTR" class="sref">AES_FLAGS_CTR /a>) { y421 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_OPMOD_CTR" class="sref">AES_MR_OPMOD_CTR /a>; y422 /a>        } else { y423 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_OPMOD_ECB" class="sref">AES_MR_OPMOD_ECB /a>; y424 /a>        } y425 /a> y426 /a>        if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_ENCRYPT" class="sref">AES_FLAGS_ENCRYPT /a>) y427 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_CYPHER_ENC" class="sref">AES_MR_CYPHER_ENC /a>; y428 /a> y429 /a>        if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=total" class="sref">total >  a href="+code=ATMEL_AES_DMA_THRESHOLD" class="sref">ATMEL_AES_DMA_THRESHOLD /a>) { y430 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_SMOD_IDATAR0" class="sref">AES_MR_SMOD_IDATAR0 /a>; y431 /a>                if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_DUALBUFF" class="sref">AES_FLAGS_DUALBUFF /a>) y432 /a>                         a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_DUALBUFF" class="sref">AES_MR_DUALBUFF /a>; y433 /a>        } else { y434 /a>                 a href="+code=valmr" class="sref">valmr /a> |=  a href="+code=AES_MR_SMOD_AUTO" class="sref">AES_MR_SMOD_AUTO /a>; y435 /a>        } y436 /a> y437 /a>         a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_CR" class="sref">AES_CR /a>,  a href="+code=valcr" class="sref">valcr /a>); y438 /a>         a href="+code=atmel_aes_write" class="sref">atmel_aes_write /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_MR" class="sref">AES_MR /a>,  a href="+code=valmr" class="sref">valmr /a>); y439 /a> y440 /a>         a href="+code=atmel_aes_write_n" class="sref">atmel_aes_write_n /a>( a href="+code=dd" class="sref">dd /a>,  a href="+code=AES_KEYWR" class="sref">AES_KEYWR /a>(0),  a href="+code=dd" class="sref">dd /a>-> a href="+code=ctx" class="sref">ctx /a>-> a href="+code=key" class="sref">key /a>, y4">y341 /a>                                             a href="+code=dd" class="sref">dd /a>-> a href="+code=ctx" class="sref">ctx /a>-> a href="+code=keylen" class="sref">keylen  clasers/crypto/atmel-aes.c#L4icryp5ers/crypto/atmeref="+code=nb/crypto/atmel-aes.c#L366" e=dd" class="sref">dd /a>-> /atmel-aesl-aes.c#L343" id["L343" 4lass=4line" nama["L3 /a>(>y406 /a>        if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CBC" class="sref"||/a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CFB" class="sref"||c#L366" e=dd" class="sref">dd /a>-> /ypto/atmel-aes.c#L344" id["L344" 4lass=4line" nama["L344"a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_OFB" class="sref"||/a>        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a href="+code=AES_FLAGS_CTR" class="sref)ass="sss="sc#L366" e=dd" class="sref">dd /a>-> /ypto/atmel-aes.c#L345" id["L345" 4lass=44ine" nama["L415">        } else if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">reqinfot; a href="+codinfoEL_AES_DMA_THRESHOLD /a>) { y41640">y440 /a>         a href="+code=atmel_aes_write_n" class="sref">atmel_aes_write_n /a>( a href="+code=dd" class="sref">dd /a>,IVref="+code=AES_IDATARVlass="sref">AES_KEYWR /a>(0),  a href="+code=dd" class="sref">dd /a>-> a href="+code=req" class="sref">reqinfot; a href="+codinfoEL_A, 4eylen  clasers/crypto/atmel-aes.c#L4icryp5ypto/atmel-aes.c#L347" id["L347" 4lass=44ine" nama["L377">y377 /a>        } y348 /a> y355 /a>        return 0; y377 /a>        } y381 /a> y388 /a>static int  a hrhandle_queu+code=atmel_aes_write" clahandle_queu+ass="_aes_write_ctrl /a>(structy a href="+code=atmel_aes_dev" class="sref">atmel_aes_dev /a> * a href="+code=dd"class="sref">key /a>, y353 /a>           _aes_write_ctrl /a>(strblkcipher_e=ruesode=atmel_aes_hw_blkcipher_e=rueso"sref">atmel_aes_dev -> a href="+code=req" S_FLAGS_DUALBUFF /a>) ) { (st { atmel_aes_dev g" clae=rde=atmel_aes_hw_" clae=rEL_A, ">atmel_aes_dev m" clomaengine_slave_cm" clomef">AES_MR_SMOD_AUTO /a>; (stt_dma" clas> a href="+codt_dma" clas&g"sref">atmel_aes_dev -> a href="+code=ctx" AES_MR_SMOD_AUTO /a>; (stt_dma" clae=rs> a href="+codt_dma" clae=rs&g"sref">atmel_aes_dev -s> a href="+codre=ctx" AES_MR_SMOD_AUTO /a>; (st-> a href="+code=flags" clAES_MR_SMOD_AUTO /a>; y390 /a>        int  a href="+code=err" ef">AES_KEYWR /a>55"t; a href="+code=" class=5 /a>        return 0; y350 /a> y391 /a>   spin_lock_irqsav+code=atmel_aes_spin_lock_irqsav+ass="ss="sref">chan /a>, & a href="+code=dd" class="sref">dd /a>lockmp; a href="+colockrr" ef">AES_KEYWR /a>-> a href="+code=flags" cleylen  clasers/crypto/atmel-aes.c#L4icryprypto/atm4l-aes.c#L362" id["L362" 4lass=4line" nama["L362">y362 /a>       -> a href="+code=req" S_FLAGS_DUALBUFF /a>) y363 /a>           55"t; a href="+code=" class=ite_ctrl /a>(strblkcipher_enqueu+_e=ruesode=atmel_aes_hw_blkcipher_enqueu+_e=ruesoass="ss="sref">chan /a>, & a href="+code=dd" class="sref">dd /a>queu+code=atmel_aes_queu+ass=ef">AES_KEYWR /a>55gt; a href="+code=req" Sylen  clasers/crypto/atmel-aes.c#L4icryprypto/atm4l-aes.c#L364" id["L364" 4lass=4line" nama["L3 /a>                if ( a href="+code=dd" class="sref">dd /a>-> a href="+code=flags" class="sref">flags /a> &  a hrBUS+code=AES_INT_DATARD  a hrBUS+EL_AES_DMA_THRESHOLD /a>) { y365 /a>           spin_unlock_irqresoor+code=atmel_aes_spin_unlock_irqresoor+ass="ss="sref">chan /a>, & a href="+code=dd" class="sref">dd /a>lockmp; a href="+colockrr" ef">AES_KEYWR /a>-> a href="+code=flags" cleylen  clasers/crypto/atmel-aes.c#L4icryprypto/atm4l-aes.c#L366" id["L366" 4lass=4line" nama["L366">y366 /a>                re55"t; a href="+code=" claylen  clasers/crypto/atmel-aes.c#L4icryprypto/atmel-aes.c#L367" id["L367" 4lass=46ine" nama["L377">y377 /a>        } y438 /a>   m" clomaengine_slave_cm" clomef">ss=ite_ctrl /a>(stode=atmget_rypto/2363">y363 /a>     L365" id["L365" 4lass=4line" nama["L365">y365363">y363 /a>  )ine_slave_config /a>( a rl /a>(stode=atmg72" id["Liotrs/cr 4lass=44ine" n registers */      L365"" id["L373" clasa hrecrt28(l44line" _DM4_73 /a>   A      -> a href="+co4o93p"ef">DMA_SLAVE_BUSWIDTH_1_BYTE /a>; -> a href="+cdl-aes.c#L365" id["L365"38">y438 /a>   m" clomaengm4lr2"+code=DMA_SLAV_1_h3" class="sref">dd /a>-& clom3="drivers/crypto/atmel-aes.c#L352" id["L352" class="line" nama["L352">y352 /a>         a href="+code=atmel_aes_write_n" class="sref">atmel_aes_write_n /a>( a href="+code=dd"2" class="sref">AES_KEYSIZE_192 /a>) atmel_aes_dev /a> * a href="+code=dd"4SLAVE_BUS4IDTH_2_BYTES /a>;  y474 /a>                  4     47ivers/crypto/atmel-aes.c#L433" id["L433" cla["L375">y475 /a>                 a4href=4+code=dd" clasave_config /a>( a rref="+code=dd" class="sref">dd /ass=44ine" n registers */ dma_lch_out. a 47"line" nama["L366">y366 /a>         ref="+code=dd" class="sref">dd /ay440 /a>         a hromplecrypto/atmel-aes.romplecrags /a> &  a hreref="+code=dd" class="sref">dd /a,uf_in,  a href="PROGRESDTH_4_BYTES /a>;f="PROGRESD="drivers/crypto/atmel-aes.c#L402" id["L402" chref="+co"+code=src_addr_width" c4ass="47"sref">dd /a>,  a href="+code=AES_CR" class=tmel-aes.4#L379" id["L379" class="4ine" 4ama["L379">y379 /a>         ato/atmel-aes.c#L4icryprypirqsav+code=atmel_aes_spin_loid["L36_ca id["L351" 4lass=45ine" nama["L381"_ca iags /a> &  a hrel /a>(stode=atmg72" id["Liotrs/cr 4lasvers/crypto/atmel-aes.c#L402" id["L402" -aes.c#L340" id["L380" class="line4 nama4"L380">y380 /a>         a href="+code=dmaeng4ne_slave_4onfig" class="sref">dmae4gine_4lave_config /a>394">y394 /a> y395 /a>        if ( a h4gt; a hre4="+code=dma_lch_out" cla4s="sr4f">dma_lch_out. a href="+tmel-aes.c#L345" id["L345" 4lass=44ine" nama["L415">        } else iirqsav+code=atmel_a["L415">        } else ivers/crypto/atmel-aes.c#L402" id["L402" -LAVE_BUS4ne" nama["L382">y382 /a>4     48  a href="+code=dd" class="sref="+code=AES_FLAGS_ENCRYPT" class="sref">AES_FLAGS_ENCRYPT /a>)         } else ief">EINVAL /a>; ) 4lags 482 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=341">y341 /a>                frqsav+code=atmel_a["L415">        } else ief">EINVAL /a>; y4d["L383" class="line" na4a["L3486 /a>         a href="+code=dd" class="sref">dd /a>-> a href="+code=rivers/crypto/atmel-aes.c#L338"frqsav+code=atmel_a["L415">        } else ief">EINVAL /a>; ) { err4/a> =  a href="+code=atm4l_aes4crypt_dma" class="sref">atmel_aes_crypt_dma 4a>( a hre4="+code=dd" class="sref"4dd /a48s="sref">chan /a>, & a hmel_aes_hw_" clae=rEL_A, ">irqsav+code=atmel_aes_spin_loid["L36_c{  &  a hreto/atmel-aes.c#L4icryprypto/atm4l-aes.c#L362" id["L362" 4lass=4lin"drivers/4rypto/atmel-aes.c#L386" 4d["L348el-aes.c#L4icryprypto/atmel-e" _DMA_THRESHOLD /a>) { ma["L377">y377 /a>       ses_spin_loe" _DMA_THRESHOLD /      ses_spin_loe" ags /a> &  a hre/      ses_spin_locrytfm_DMA_THRESHOLD /      ses_spin_locrytfmags /a> &  a hreto/atmel-aes.c#L4icrypryptto/atm4l-aes.c#L362" id["L362" 4lass=4lin"drivers/4rypto/atmel-aes.c#L387" 4d["L349ma["L379">y379 /a>         atel_aes_hw_" clae=rEL_A, ">ef">EINVAL /a>; ; -> a href="+cdl-aes.MODE_MASKMA_THRESHOLD /a>) { y388 /a>static int4 a hr4f="+code=atmel_aes_write_ctrle" _DM4_73 /a>   A      -> a href="+co4o93p"ef">DMA_SLAVE_BUSWIDTH_1_B=FLAGS_DUALBUFF /a>) ; -> a href="+cdl-aes.MODE_MASKMA_T) |79 /a>         atel_aes_hw_" clae=rEL_A, ">ef">EINVAL /a>; ) { ( a href="+code=dd" class="sref">dd /a>-> a href="+code" _DMA_THRESHOLD /a>) { ma["L377">y377 /a> " _DMA_THRESHOLD /a>) { y390 /aref="+code=atmel_aes_write_n" class="sref">ate=dd" class="sref">dd /ma["L377">y377 /a>e=dd" class="sref">dd /valcr /a> = 0,  a href="+code=valmr" 4lass="sre4">valmr /a> = 0;          a href="+code=>        int  a href="+code=err" class="sref">err /a>4" id["L384" class="line" nama["L384">y384 /a> y377 /a>e=dd" class="sref">dd /to/atm4l-aes.c#L362" id["L362" 4lass=4lin""L374">y4L393" id["L393" class="l4ne" n49in_sg, at4el_aes_hw_init /a>( a hr4f="+c494" id["L424" class="llags /a> &  a href="+code=AES_FLAGS_ENCRYPT" class="sref">AES_FLAGS_ENCRYPT /a>) y427 /a>        lkcipher_enqueu+_e=ruesode=atmel_aes_hw">( a hre4mel-aes.c#L394" id["L3944 clas49"line" nama["L366">y3         a href="+code=>        int  a href="+code=err" class="sref">err /a>["L381" cdrivers/crypto/atmel-aes.c#L354" id["L354" class="l"L377">y377 /a>e=dd" class="sref">dd /to/atm4l-aes.c#L362" id["L362" 4lass=4lin"drivers/4err" class="sref">err /a4)                   /a>-> a href="+code=ctx" class="sref">c5l-aes.c#L598" id["L398" class="lin5" nam5["L398">y398 /a>               a href="+code=>        int  a href="+code=err" class="sref">err /a>["L381cpudrivers/crypto/atmel-aes.c#L354" id["cpudriverss="l"L377">y377 /a>e=dd" class="sref">dd /to/atm4l-aes.c#L362" id["L362" 4lass=4li5y399 /a> 5      if ( a href="+code5dd" c5ass="sref">dd 65 /a>           spin_unlock_irqresoor+5/a>      5          a href="+code=5almr"50      return 0;       5 else if ( a href="+code5dd" c50361" id["L361" 4lass=4394">y394 /a> y395 /a>        if ( a h5x /a>->5 a href="+code=keylen" c5ass="5ref">keylen /a> ==  a href="+code=AESaes.c#L354finish(stode=atmg72" id["Les.c#L354finish(stoss="l"L377">y377 /a>e=dd" class="sref">dd / class="sref">AES392" class="line" nama["L3o/atm4l-aes.c#L362" id["L362" 4lass=4li5y5/a>->5 >valmr /a> = 0; , & a href="+code=dd" clatasklet_schedul aes_hw_" clae=rtasklet_schedul 8" 4lass=46ine" nama["L438">y438 /a>   m" clomaengine_slave_cm" clomef">s4tasks=ite_ctrl /a>(stode4taska["L3o/atm4l-aes.c#L362" id["L362" 4lass=4li5y6/a>->5 393" id["L393" class="l5/a>; 5a href="driver65 /a>           spin_unlock_irqresoor+5/7/a>->5 l_aes_hw_init /a>( a hr5href=50rypt_dma" class="sref">atmel_aes_crypt_dma 5el-aes.c#5406" id["L406" class="li5e" na5a["L406">y406 hrBUS+code=AES_INT_DATARD  a hrBUS+EL_AES_DMA_THRESHOLD /a>) { y40765 /a>           spin_unlock_irqresoor+5c#L408" i5["L408" class="line" nam5["L4051">atmel_aes_dev -s> a href="+codre=ctx" 5#L409" id5"L409" class="line" nama5"L4095>y409 lass="sref">bufcnt >> 2); y385 /a>        return  a href="+code=err" class="sref">err /a>; y450 /a> blkcipher_enqueu+_e=ruesode=atmel_aes_h5L411" cla5s="line" nama["L411">y415 /a> 5              x" AES_MR_SMOD_AUTO /a>; ;f="VALMA_THRESHOLD /a>) { y412 5a>   51sref">valcr /a> = 0,  a href="+code=valmr" 513" class5"line" nama["L413">y413 5a>   51s/crypto/atmel-aes.c#L392" id["L>-> a href="+code=total" class="sref">total >  a href="+code=ATMEL_AES_DMA_THRESHOLD" class="srchan" class="sref">chan /a>, &3rblkcipher_enqueu+_e=ruesode=atmel_aes_h514" class5"line" nama["L414">y414 5a>   5            else if ( s.c#L392" id["L>354unmapers/crypto/atmel-a>354unmapersss="l"L377">y377 /a>e=dd" class="sref">dd /e_n" class="sref">ateL385" id["L385" c" nama[ /a>-> /ypto/atmel-aes.c#L345" id["L345" 4lass=44ine" namrivers/crypto/atmel-aes.c#L338"">y355 /a>        return 0; y415 5a>   5                     a href="+code=valmr" clatmel-aes.c#L345" id["L345" 4lass=44ine" namnb_rivers/crypto/atmel-anb_riversama[ /a>-> /ypto/a">y4FROM_DEVICE/crypto/atmel-a">y4FROM_DEVICEa["L3o/atm4l-aes.c#L362" id["L362" 4lass=4li516" class5"line" nama["L416">y416 5a>   51"line" nama["L366">y366 /a>         >354unmapers/crypto/atmel-a>354unmapersss="l"L377">y377 /a>e=dd" class="sref">dd /e_n" class="sref">ateL385" id["L385" c" nama[ /a>-> /ypto/atmel-aes.c#L345" id["L345" 4lass=44ine" nam341">y341 /a>                ">y355 /a>        return 0; y415 /a>                   href="+code=valmr" clatmel-aes.c#L345" id["L345" 4lass=44ine" namnb_341">y341 /a>       nb_341">ama[ /a>-> /ypto/a">y4TO_DEVICE/crypto/atmel-a">y4TO_DEVICEa["L3o/atm4l-aes.c#L362" id["L362" 4lass=4li5c#L418" i5["L418" class="line" nam5["L4152R_ENC" class="sref">AES_MR_CYPHER_EN /a>; (stt_dma" cl5c#L419" i5["L419" class="line" nam5["L4152ss="sref">dd 65 /a>           spin_unlock_irqresoor+5c#L420" i5["L420" class="line" nam5["L4252"+code=dd" class="sref">dd /a>-> a href=5dd /a>-&g5; a href="+code=flags" c5ass="5ref">flags /a>     a href="+code=err" class="sref">err /a> =  a href="+code=atmel_aes_hw_init" class5         5 a href="+code=valmr" cl5ss="s5ef">va65 /a>           spin_unlock_irqresoor+5c3" class5ES_MR_OPMOD_CTR /a>; y422 /a>    5   } 5lse { lass="sref">bufcnt >> 2); y381 /a> err /a>; ; ) ) { ma["L377">y377 /a>       ses_spin_loe" _DMA_THRESHOLD /      ses_spin_loe" ags /lkcipher_enqueu+_e=ruesode=atmel_aes_h5##L407" i5 /a>-> a href="+code=5lags"52/a>                   href="+code=valmr" cla/      ses_spin_locrytfm_DMA_THRESHOLD /      ses_spin_locrytfmags /a> &  a hreto/atmel-aes.c#L4icrypryptto/atm4l-aes.c#L362" id["L362" 4lass=4li5">valmr /5> |=  a href="+code=AES_5R_CYP5ER_ENC" class= { atmel_aes_dev g" clae=rde=atmel_aes_hw_" clae=rEL_A, ">irqsav+code=atmel_aes_spin_loid["L36_c{  &  a hreto/atmel-aes.c#L4icryprypto/atm4l-aes.c#L362" id["L362" 4lass=4li5class="li5e" nama["L429">y429 /a> 5     5if ( a href="+href="drivers/crypto/atmel-aes.c#L385" id["L385" class="line" nama["L385">y385 /a>        return  a href="+o/atm4l-aes.c#L362" id["L362" 4lass=4li5c#L420" i5line" nama["L430">y430 /5>    53"+code=dd" class="sref">dd /a>-> a href=51" class=5line" nama["L431">y431 /5>    53f="+code=key" claf="drivers/cryptIS_ALIGNE7" class="line" IS_ALIGNE7ags /a> &  a hreto/atmel-aes.c#L4icryprypef">EINVAL /a>; ) chBLOCK_d["Lprypttrblkcipher_enqueu+_e=ruesode=atmel_aes_h5href="+co5e=flags" class="sref">fl5gs /a5 &  a href="+code=AES_FLAGS_DUALBpr_" class="sref">errpr_" cags /a394">y394 /ahreing">"["L381" size is not exa="damouef"of ">c bde=ds\n"s="lineto/atm4l-aes.c#L362" id["L362" 4lass=4li5c3" class5   a href="+code=valmr" 5lass=53"+code=dd" class="srehrBUS+cf_in,  a href="VALTH_4_BYTES /a>;f="VALMA_THRESHOLD /a>) { ;            spin_unlock_irqresoor+5ss="line"5nama["L433">y433 /a>    5   } 53rypt_dma" class="sref">atmel_aes_crypt_dma 5-aes.c#L455" id["L435" class="line5 nama5"L435">y435 /a>        } dd /ma["L377">y377 /a>Les.c#L354findc#L385" id["L385" class="linefindc#L3ags /a> &  a hree" _DMA_THRESHOLD /a>) { to/atm4l-aes.c#L362" id["L362" 4lass=4li5c#L407" i5te /a>( a href="+code=dd5 clas53lass="sref">flagsf="drivers/crypt      return  a href="+code=err" class="sref">err /a>; AE5_CR /a>,  a href="+code=5alcr"54R_ENC" class="sref">AhrBUS+cf_in,  a hrefNODEVTH_4_BYTES /a>;fNODEVMA_THRESHOLD /a>) { y380 /a>         a href="+code=dmaeng5R" class=5sref">AES_KEYWR /a>(0), 5a hre54ave_config /a>( a href="+codtel_aes_hw_" clae=rEL_A, ">ef">EINVAL /a>; y377 /a>m) { ctx /a>-&g5; a h54sref">atmel_aes_dev /a> * a href="+code=dd"5l-aes.c#L566" e=dd" class="sref">d5 /a>-5gt; /atmel-aes     a href="+code=err        } y377 /a>e=dd" class="sref">dd / class="sref">AESto/atmel-aes.c#L4icryprypto/atm4l-aes.c#L362" id["L362" 4lass=4li5#L366" e=5d" class="sref">dd /a>-&5t; /y5to/atm65 /a>           spin_unlock_irqresoor+5FLAGS_OFB5 class="sref"||/a>      5 } el54ivers/crypto/atmel-aes.c#L433" id["L433" cl5; a href=5+codinfoEL_AES_DMA_THRES5OLD /5>) { AESbooFLAGS_ENCRYPT /abooF; /at"L377">y377 /a>Les.c#L354filteclass="sref">errLes.c#L354filtec8" 4lhref="drivers/crypto/a>354c348/crypto/atmel-a>354c348 id["L354" 4lass=4line348/crypto/atmel-ac348 id[, void"L354" 4lass=4linsl" nama["L4unsigned l /a>(stcode=err" class="sref">err /a>; y416405>y4405/a>   blkcipher_enqueu+_e=ruesode=atmel_aes_h5class="sr5f">atmel_aes_write_n /a>5 a hr5f="+code=dd" chref="drivers/crypto/atm"L354"l" nama["L4unsignedtm"L354"l" n"+code=ddL354" 4lass=4linslama["L4unsigned lnama[a["L377">y377 /a>sl" nama["L4unsigned l /a>(sto/atm4l-aes.c#L362" id["L362" 4lass=4li5"sref">AE5_KEYWR /a>(0),  a href="5code=55">atmel_aes_dev -s> a href="+codre=ctx" 5 class="s5ef">reqinfot; a href5"+cod551ass="sref">flags354" 4lass=4linslama["L4unsigned lnama[mp;  a hre["L377">y377 /a>slama["L4unsigned lnamae_n" class="sref">ate354eL385" id["L385" c"354eL3nama[aa["L377">y377 /a> 348/crypto/atmel-ac348 id[e_n" class="sref">ateL3icnama["L4unsignedeL3icndd /e_n" class="sref">ateL385" id["L385" c" nama[trblkcipher_enqueu+_e=ruesode=atmel_aes_h54icryp5yp5o/atmel-aes.c#L347" id["5347" 55lass="sref">valmr /a> |=  a href="+c 348/crypto/atmel-ac348 id[e_n" class="sref">atpqueacrypto/atmel-aes.pqueacrnama[a["L377">y377 /a>slama["L4unsigned lnamao/atm4l-aes.c#L362" id["L362" 4lass=4li5"code=ctx5o/atm4l-aes.c#L350" id["5350" 5lass=4line" 77">y377 /     a href="+code=errref aes_hw_" clae=rtrua>(sto/atm4l-aes.c#L362" id["L362" 4lass=4li5"-aes.c#L5tatic int  a hrhandle_qu5u+cod55f">valmr /a> | a href="+code=dd" class="sref">dd /a>-> a5te_ctrl /5>(structy a href="+code=5tmel_55"+code=dd" class="srehrBUS+code=AES_INT_DATfa hra> >  a href=a hr>(sto/atm4l-aes.c#L362" id["L362" 4lass=4li5"LAGS_OFB5sref">atmel_aes_dev ->5 a hr55 href="driver65 /a>           spin_unlock_irqresoor+5" id["L355" 4lass=4line" nama["L3_5es_wr5te_ctr65 /a>           spin_unlock_irqresoor+5"aes.c#L45_MR_SMOD_AUTO /a>; atmel_aes_dev -5gt; a5href="lass="sref">bufcnt >> 2); "354inirs/crypto/atmel-aes.c#L354"354inir8" 4lhref="drivers/crypto/atmel-aes.c#L385" id["L385" class="line" nama["L385">y385 /a>        return  a href="+code=err" class="sref">err /a>; atmf="+code=dd" class="sref">dd /a>-> a5ES_MR_SMO5_AUTO /a>; ; 555t; a href="+code=" class55 /a>5       return href="drivers/crypto/atineplatform_data85" id["L385" clineplatform_data     return L385">y385 /a>  pdata85" id["L385" cpdata    o/atm4l-aes.c#L362" id["L362" 4lass=4li5Ycode=ctx5ef="drivers/4rypto/atm4l5aes.c56">dma_lch_out. a href="+t354cap_mask_id["L351" 4lass=d354cap_mask_i; /at"L377">y377 /a>mask_i8/crypto/atmel-amask_i8dd / class="sref">AESmask_ouid["L351" 4lass=mask_oui    o/atm4l-aes.c#L362" id["L362" 4lass=4li5Y-aes.c#L5362">y362 /a>       ->5 a hr56sref">valcr /a> = 0,  a href="+code=valmr" 5_blkciphe5_enqueu+_e=ruesoass="ss=5sref"562 /a>         a href="+code=pdata85" id["L385" cpdata    ma["L377">y377 /a>e=dd" class="sref">dd /e_n" class="sref">ateL385" id["L385" c" nama[e_n" class="sref">atplatform_data85" id["L385" cplatform_data    o/atm4l-aes.c#L362" id["L362" 4lass=4li5YLAGS_OFB5a href="+code=flags" cla5s="sr56ivers/crypto/atmel-aes.c#L433" id["L433" cl5atm4l-aes5c#L365" id["L365" 4lass=5line"56code=dd" clasave_config /a>( a rpdata85" id["L385" cpdata    mmp;  a hre["L377">y377 /a>pdata85" id["L385" cpdata    e_n" class="sref">ate354sl" nama["L4unsignedL354"l" n"+coCRYPT" class="sref">Axdata85" id["L385" cAxdata"+co.class="sref">ate354eL385" id["L385" c"354eL3nama[mp;  a href="+code=AES_FLAGS_CFB" class="sref"||5ode=atmel5aes_spin_unlock_irqresoo5+ass=56"line" nama["L366">y366 /a>         pdata85" id["L385" cpdata    e_n" class="sref">ate354sl" nama["L4unsignedL354"l" n"+coCRYPT" class="sref">rxdata85" id["L385" crxdata"+co.class="sref">ate354eL385" id["L385" c"354eL3namatrblkcipher_enqueu+_e=ruesode=atmel_aes_h5 href="+c5de=" claylen  clasers/cr5pto/a56"sref">dd /a>,  a href="+code=AES_CR" class565" 4lass54line" nama["L365">y365353">y357R_ENC" class="sref">AE394">y394 /a> y395 /a>        if ( a h5"drivers/5rt28(l44line" _DM4_73 /a5     5365"" id["L373" clasa hrecrt28(l44line354cap_zerlass="sref">dd /e354cap_zerl8" 4l"L377">y377 /a>mask_i8/crypto/atmel-amask_i8dd /to/atm4l-aes.c#L362" id["L362" 4lass=4li5"+code=DM5_SLAV_1_h3" class="sref"5dd /a57lass="sref">valmr /a> |=  a href="+ce354cap_sRD  a hrBUS+EL_AEe354cap_sRD8" 4l"L377">y377 /a>">y4SLAVE/crypto/atmel-a">y4SLAVEdd / class="sref">AESmask_i8/crypto/atmel-amask_i8dd /to/atm4l-aes.c#L362" id["L362" 4lass=4li5"code=ctx5tmel-de6>-> a href="+5dl-ae5psref">atmel_aes_dev /a> * a href="+code=dd"5SLAVE_BUS5IDTH_2_BYTES /a>; dd /e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">at 348/crypto/atmel-ac348 id[ma["L377">y377 /a>e354id["L36_c348na /crypto/atmel-ae354id["L36_c348na 8" 4l"L377">y377 /a>mask_i8/crypto/atmel-amask_i8dd /">y355 /a>        return 0;                 5a hre5="+code=dd" class="sre  a href="+code=AES_FLAGS_DUALBLes.c#L354filteclass="sref">errLes.c#L354filtec8" 4, ass=46ine" nama["L43pdata85" id["L385" cpdata    e_n" class="sref">ate354sl" nama["L4unsignedL354"l" n"+coCRYPT" class="sref">rxdata85" id["L385" crxdata"+coto/atm4l-aes.c#L362" id["L362" 4lass=4li5"LAGS_OFB574 /a>                  5     57           else if ( lagsf="drivers/crypt      return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">at 348/crypto/atmel-ac348 id[code=err" class="sref">err /a>; y575 /a>                 a5href=57                    a href="+goto ES_MR_SMOD_AUTO /a4"354in>; dma_lch_out. a 57a>         a href="+code=atmel_aes_write_n"5chref="+c5"+code=src_addr_width" c5ass="57/a>                         a href="      return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ateirectio8/crypto/atmel-aeirectio8 id[ma["L377">y377 /a>">y4MEM4TO_DEV/crypto/atmel-a">y4MEM4TO_DEV    o/atm4l-aes.c#L362" id["L362" 4lass=4li5tmel-aes.5#L379" id["L379" class="5ine" 58R_ENC" class="sref">AES_MR_CYPHER_EN      return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ate36_addclass="sref">erre36_addc    ma["L377">y377 /a>e=dd" class="sref">dd /e_n" class="sref">atphys_bahra> >  a hrefphys_bahr    m+/atm4l-aes.c#L362" id["L362" 4lass=4li5tdrivers/50" id["L380" class="line5 nama58439">y439 /a> atlass= hrefa> >  a hreflass= href8" 4l0to/atm4l-aes.c#L362" id["L362" 4lass=4li5ne_slave_5onfig" class="sref">dmae5gine_58lass="sref">valmr /a> |=  a href="+ce     return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">atsrc_maxbur id["L351" 4lass=src_maxbur i    ma[1o/atm4l-aes.c#L362" id["L362" 4lass=4li5ncode=ctx5="+code=dma_lch_out" cla5s="sr58361" id["L361" 4lass=46ine" nama["L3e     return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ate36_maxbur id["L351" 4lass=e36_maxbur i    ma[1o/atm4l-aes.c#L362" id["L362" 4lass=4li5nLAVE_BUS5ne" nama["L382">y382 /a>5     58&  a href="+code=AES_FLAGS_DUALBe=dd" class="sref">dd /e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ateL3icn_fc" class="line" eL3icn_fc    ma["L377">y377 /a>fa hra> >  a href=a hr>(sto/atm4l-aes.c#L362" id["L362" 4lass=4li5-blkciphe5ode=flags" class="sref">5lags 58ivers/crypto/atmel-aes.c#L422" id["L422" cl5-"L374">y5d["L383" class="line" na5a["L358           else if ( s.c#L392" id["L>354cap_zerlass="sref">dd /e354cap_zerl8" 4l"L377">y377 /a>mask_ouid["L351" 4lass=mask_oui    to/atm4l-aes.c#L362" id["L362" 4lass=4li5n"L375">y5/a> =  a href="+code=atm5l_aes584" id["L424" class="line" nama["L424e354cap_sRD  a hrBUS+EL_AEe354cap_sRD8" 4l"L377">y377 /a>">y4SLAVE/crypto/atmel-a">y4SLAVEdd / class="sref">AESmask_ouid["L351" 4lass=mask_oui    to/atm4l-aes.c#L362" id["L362" 4lass=4li5nde=atmel5="+code=dd" class="sref"5dd /a58"line" nama["L366">y366 /a>         >=dd" class="sref">dd /e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">at 348/crypto/atmel-ac348 id[ma["L377">y377 /a>e354id["L36_c348na /crypto/atmel-ae354id["L36_c348na 8" 4l"L377">y377 /a>mask_ouid["L351" 4lass=mask_oui    ">y355 /a>        return 0;                    href="+L366">y366 /a>         Les.c#L354filteclass="sref">errLes.c#L354filtec8" 4, ass=46ine" nama["L43pdata85" id["L385" cpdata    e_n" class="sref">ate354sl" nama["L4unsignedL354"l" n"+coCRYPT" class="sref">Axdata85" id["L385" cAxdata"+coto/atm4l-aes.c#L362" id["L362" 4lass=4li5"drivers/5rypto/atmel-aes.c#L387" 5d["L359R_ENC" class="sref">Alagsf="drivers/crypt      return  a href="+e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">at 348/crypto/atmel-ac348 id[code=err" class="sref">err /a>; y388 /a>static int5 a hr59439">y439 /a> (sto/atm4l-aes.c#L362" id["L362" 4lass=4li5ne_slave_5tmel-aes.c#L389" id["L385" cla59"+code=dd" class="sref">dd /a>-> a href=5rs/crypto5atmel-aes.c#L390" id["L350" cl59361" id["L361" 4lass=46ine" nama["L3e     return  a href="+e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ateirectio8/crypto/atmel-aeirectio8 id[ma["L377">y377 /a>">y4DEV4TO_MEMTH_4_BYTES /a>;">y4DEV4TO_MEM>(sto/atm4l-aes.c#L362" id["L362" 4lass=4li5nLAVE_BUS5a>  a href="+code=valcr"5class59&  a href="+code=AES_FLAGS_DUALBe=dd" class="sref">dd /e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">atsrc_addclass="sref">errsrc_addc    ma["L377">y377 /a>e=dd" class="sref">dd /e_n" class="sref">atphys_bahra> >  a hrefphys_bahr    m+/atm4l-aes.c#L362" id["L362" 4lass=4li5lass="sre5">valmr /a> = 0; atlassO hrefa> >  a hreflassO href8" 4l0to/atm4l-aes.c#L362" id["L362" 4lass=4li5""L374">y5L393" id["L393" class="l5ne" n59           else if ( s.c#L392" id["L>=dd" class="sref">dd /e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">atsrc_maxbur id["L351" 4lass=src_maxbur i    ma[1o/atm4l-aes.c#L362" id["L362" 4lass=4li5"sref">at5el_aes_hw_init /a>( a hr5f="+c594" id["L424" class="ls.c#L392" id["L>=dd" class="sref">dd /e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ate36_maxbur id["L351" 4lass=e36_maxbur i    ma[1o/atm4l-aes.c#L362" id["L362" 4lass=4li5">( a hre5mel-aes.c#L394" id["L3945 clas59"line" nama["L366">y3s.c#L392" id["L>=dd" class="sref">dd /e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">ate354conf  a hrBUS+EL_AEe354conf"+co.class="sref">ateL3icn_fc" class="line" eL3icn_fc    ma["L377">y377 /a>fa hra> >  a href=a hr>(sto/atm4l-aes.c#L362" id["L362" 4lass=4li5"drivers/5err" class="sref">err /a5) dd /a>,  a href="+code=AES_CR" class6l-aes.c#L698" id["L398" class="lin6" nam6["L398">y398 /a>      lass="sref">dd /a>,IVref="+code=AES_IDATARVlass6y399 /a> 6      if ( a href="+code6dd" c6ass="sref">dd 6 a href="+code=dd" class="sref">dd /a>-> a6/a>      6          a href="+code=6almr"60lass="sref">valmr /a>hrBUS+cf_in,  a hrefNODEVTH_4_BYTES /a>;fNODEVMA_THRESHOLD /a>) {            spin_unlock_irqresoor+6x /a>->6 a href="+code=keylen" c6ass="60sref">valcr /a> = 0,  a href="+code=valmr" 6y5/a>->6 >valmr /a> = 0; (st:>valcr /a> = 0,  a href="+code=valmr" 6y6/a>->6 393" id["L393" class="l6/a>; 6a href="driver"L377">y377 /a>e354idleahr_c348na /crypto/atmel-ae354idleahr_c348na 8" 4l"L377">y377 /a>      return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">at 348/crypto/atmel-ac348 id[cHRESHOLD /a>) { ; valcr /a> = 0,  a href="+code=valmr" 6y8/a>->6 el-aes.c#L394" id["L3946e" na6a["L406">y406 hrBUS+code=AES_INT_DAT" class="sref">err /a> =  a href="+code=atmel_aes_hw_init" class6c#L407" i6["L407" class="line" nam6["L406">y40765 /a>           spin_unlock_irqresoor+6c#L408" i6["L408" class="line" nam6["L4061">atmel_aes_dev -s> a href="+codre=ctx" 6#L409" id6"L409" class="line" nama6"L4096>y409 lass="svoid"66 /a>         Les.c#L354e354cleanups/crypto/atmel-aes.c#L354e354cleanup8" 4lhref="drivers/crypto/atmel-aes.c#L385" id["L385" class="line" nama["L385">y385 /a>        return  a href="+code=err" class="sref">err /a>; y460 /a> blkcipher_enqueu+_e=ruesode=atmel_aes_h6L411" cla6s="line" nama["L411">y416 /a> 61">dma_lch_out. a href="+t354idleahr_c348na /crypto/atmel-ae354idleahr_c348na 8" 4l"L377">y377 /a>      return  a href="+e_n" class="sref">ate354lch_i8/crypto/atmel-ae354lch_i8"+co.class="sref">at 348/crypto/atmel-ac348 id[cHRESHOLD /a>) { y412 6a>   61  a href="+code=dd" class="sr354idleahr_c348na /crypto/atmel-ae354idleahr_c348na 8" 4l"L377">y377 /a>      return  a href="+e_n" class="sref">ate354lch_ouid["L351" 4lass=e354lch_oui"+co.class="sref">at 348/crypto/atmel-ac348 id[cHRESHOLD /a>) { y413 6a>   61o/atm65 /a>           spin_unlock_irqresoor+614" class6"line" nama["L414">y414 6a>   61ivers/crypto/atmel-aes.c#L433" id["L433" cl615" class6"line" nama["L415">y415 6a>   61) { bufcnt >> 2); setkey85" id["L385" class="linesetkey8" 4lhref="drivers/crypto/a/      ses_spin_l/crypto/atmel-ac      ses_spin_lama["L385">y385 /a>  tfm_DMA_THRESHOLD tfmags , cons"drivers/crypto/au8_DMA_THRESHOLD u8ama["L385">y385 /a>  key85" id["L385" ckey8" 4">y355 /a>        return 0; y416 6a>   61"line" nama["L366">y333333333333m4l-aes.cref">bufcnt >keyle8/crypto/atmel-akeyle8f="+code=err" class="sref">err /a>; y416 /a>  blkcipher_enqueu+_e=ruesode=atmel_aes_h6c#L418" i6["L418" class="line" nam6["L4162R_ENC" class= { ) { ma["L377">y377 /a>       ses_spin_loe" _DMA_THRESHOLD /      ses_spin_loe" ags /385">y385 /a>  tfm_DMA_THRESHOLD tfmags cHRESHOLD /a>) { y380 /a>         a href="+code=dmaeng6c#L420" i6["L420" class="line" nam6["L4262      return 0; ; y377 /a>keyle8/crypto/atmel-akeyle8f="+ !TE /a>; -&g6; a href="+code=flags" c6ass="62361" id["L361" 4lass=+code=dd" class="skeyle8/crypto/atmel-akeyle8f="+ !TE /a>; atmelSHOLD ueu+KEYd["L_25 hreftrblkcipher_enqueu+_e=ruesode=atmel_aes_h6         6 a href="+code=valmr" cl6ss="s62&  a href="+code=AES_FLAGS_DUALB/      ses_spin_loset_tal >  a href/      ses_spin_loset_taly385 /a>  tfm_DMA_THRESHOLD tfmags  class="sref">AESCRYPTO_TFM_R>chBAD+KEY_LEN_DMA_THRESHOLD CRYPTO_TFM_R>chBAD+KEY_LENags cHRESHOLD /a>) { ;f="VALMA_THRESHOLD /a>) { y422 /a>    6   } 62 href="driver65 /a>           spin_unlock_irqresoor+6>; atmel_aes_crypt_dma 6#L426" id6"L426" class="line" nama6"L42662L435">y435 /a>        } y385 /a>  ref="+code=atmel_aes_write_n" class="sref">atkey85" id["L385" ckey8" 4"ode=dd" class="skey85" id["L385" ckey8" 4"ode=dd" class="skeyle8/crypto/atmel-akeyle8f="+cHRESHOLD /a>) { -> a href="+code=6lags"62el-aes.c#L4icryprypto/atmel-e" _DMA_THRESHOLD /a>) { e_n" class="sref">atkeyle8/crypto/atmel-akeyle8f="+ TE /a>; valmr /6> |=  a href="+code=AES_6R_CYP63">atmel_aes_dev -s> a href="+codre=ctx" 6" nam5["L6e" nama["L429">y429 /a> 6   5i60ALMA_THRESHOLD /a>) {  * a href="+code=d38f="+ ass="85" cmemcpyags 1eso0MR_SMO=dd" class="skey85" id["L id["73225 hreftrblkcipher_enqueh"L35"73225 hreftrblkcipher_enqueh"L35hn hrs/crypto/atmel-aes.c#L354" "L35hn hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>; ;  y433 /a>    5 6 } 5363 id["L424" class="ls.c#L392" id["L>=chan /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cHRESHOLD /a>) { yacryptiel-ae354idleah54" 4lass=4d" id["L3407" i6 / /a>( a href="+code=dd5 6las5363ref">dd /a>,  a href="+code=AES_CR" class6l-ref">AE5_6R /a>,  a href="+code=5a6cr"546_ENC" ueh"L35"73225 hreftrblkcipher_enqueh"L35de hrs/crypto/atmel-aes.c#L354" "L35de hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>; ykcipher_enqueu+_e=ruesode=atmel_aes_h6   class=5s6ef">AES_KEYWR /a>(0), 5a6hre546ve_config /a>(   a href="+code=err        }  ctx /a>-&g5;6a h54641" id["L361" 4lass=+co/atm4l-aes.c#L362" id["L362" 4lass=4li5"6aes.c#L566" e=dd" class="sref">d5 6a>-5g64>va65 /a>           spin_unlock_irqresoor+5c6366" e=5d6 class="sref">dd /a>-&5t6 /y5t64ers/crypto/atmel-aes.c#L422" id["L422" cl5-6AGS_OFB5 6lass="sref"||/a>      5 6 el5464 { lass="sref">bufcnt >> 2); y381 /a> err /a>; 64 idblkcipher_enqueu+_e=ruesode=atmel_aes_h5#6es.c#L4546ne" nama["L416">y416405>64405/64L406">y406 hrBUS+code=AES_INT_DAT"       }  atmel_aes_write_n /a>5 6 hr5f64>                         a href="  chan /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, CBC">atmelSHOLD ueu+KE /a>, CBC"+cHRESHOLD /a>) { AE5_6EYWR /a>(0),  a href="5c6de=556>atmel /a>           spin_unlock_irqresoor+5c6lass="s5e6">reqinfot; a href5"6cod556580">y380 /a>         a href="+code=dmaeng6c#cryp5yp5o6atmel-aes.c#L347" id["5367" 556ass="sss="sref">bufcnt >> 2); y381 /a> err /a>; valmr /a> | BUS+code=AES_INT_DAT"       }  6structy a href="+code=5t6el_556+code=dd" class="srehr/a>         ateu+KE /a>, CBC">atmelSHOLD ueu+KE /a>, CBC"+cHRESHOLD /a>) { atmel_aes_dev ->5 6 hr556hreftr /a>           spin_unlock_irqresoor+5c6l"line"5n64lass=4line" nama["L3_5e6_wr5t65pt_dma" class="sref">atmel_aes_crypt_dma 6#Les.c#L45_6R_SMOD_AUTO /a>;      ss="sref">bufcnt >> 2); y381 /a> err /a>; atmel_aes_dev -5g6; a5h65>  blkcipher_enqueu+_e=ruesode=atmel_aes_h6c#rs> 5 6ref="+codt_dma" clae=r5&6"sr5f660valmr /a> | BUS+code=AES_INT_DAT"       }  ; , ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, OFB">atmelSHOLD ueu+KE /a>, OFB"+cHRESHOLD /a>) { y362 /a>       ->5 6 hr5666r_enqueh"L35"73225 hreftrblkcipher_enquehof35de hrs/crypto/atmel-aes.c#L354" of35de hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>;  =chan /a>, OFB">atmelSHOLD ueu+KE /a>, OFB"+cHRESHOLD /a>) { yacryptiel-ae354idleah54" 4lass=4d" id["Lref="+c5d6=" claylen  clasers/cr5p6o/a566sref">dd /a>,  a href="+code=AES_CR" class566" 4lass546ine" nama["L365">y3653536>y35767ENC" ueh"L35"73225 hreftrblkcipher_enquehcf35hn hrs/crypto/atmel-aes.c#L354" cf35hn hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>; ykcipher_enqueu+_e=ruesode=atmel_aes_h6  code=DM5_6LAV_1_h3" class="sref"5d6 /a5767e_config /a>(   a href="+code=err        }  -> a href="+5d6-ae5p671" id["L361" 4lass=46ine" nama["L3e chan /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cHRESHOLD /a>) {                   5 6   5767 { lass="sref">bufcnt >> 2); y381 /a> err /a>; y576 /a>                 a5h6ef=5767 idblkcipher_enqueu+_e=ruesode=atmel_aes_h5#6e=atmel5a6s="sref">dma_lch_out6 a 5767L406">y406 hrBUS+code=AES_INT_DAT"       }  , CFB">atmelSHOLD ueu+KE /a>, CFB"+cHRESHOLD /a>) {            spin_unlock_irqresoor+5c6rivers/506 id["L380" class="line5 6ama586880">y380 /a>         a href="+code=dmaeng6c#_slave_5o6fig" class="sref">dmae5g6ne_5868ss="sss="sref">bufcnt >> 2); y381 /a> err /a>; y382 /a>5 6   5868>valmr /a> | BUS+code=AES_INT_DAT"       }  5l6gs 5868code=dd" class="srehr/a>         ateu+KE /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFB2">y362 /a>OLD ueu+KE /a>, CFB6r_enqRESHOLD /a>) {            spin_unlock_irqresoor+5c6L375">y5/6> =  a href="+code=atm5l6aes5868pt_dma" class="sref">atmel_aes_crypt_dma 6#Le=atmel5=6+code=dd" class="sref"5d6 /a5868     ss="sref">bufcnt >> 2); y381 /a> err /a>;   blkcipher_enqueu+_e=ruesode=atmel_aes_h6c#rivers/5r6pto/atmel-aes.c#L387" 5d6"L359690valmr /a> | BUS+code=AES_INT_DAT"       }  y388 /a>static int5 6 hr59639">y439 /a> atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFB2">y362 /a>OLD ueu+KE /a>, CFB6r_enqRESHOLD /a>) { y381 /a> err /a>;  = 0; y5L693" id["L393" class="l5n6" n5969ref="driver65   a href="+code=err        }  at5e6_aes_hw_init /a>( a hr5f6"+c596" id["L424" class="ls.c#L392" id["L>=u+KE /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFB3l-aes.c#SHOLD ueu+KE /a>, CFB3l_enqRESHOLD /a>) { yacryptiel-ae354idleah54" 4lass=4d" id["Lrivers/5e6r" class="sref">err /a5)6dd /a>,  a href="+code=AES_CR" class6l7aes.c#L697" id["L398" class="lin6"7nam6[70ENC" ueh"L35"73225 hreftrblkcipher_enquehcf3325de hrs/crypto/atmel-aes.c#L354" cf3325de hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>;  6 7    if ( a href="+code6d7" c6a7080">ykcipher_enqueu+_e=ruesode=atmel_aes_h6 7>      6 7        a href="+code=6a7mr"6070e_config /a>(   a href="+code=err        }        6 7lse if ( a href="+code6d7" c60701" id["L361" 4lass=46ine" nama["L3e chan /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFB3l-aes.c#SHOLD ueu+KE /a>, CFB3l_enqRESHOLD /a>) { ->6 793" id["L393" class="l6/7>; 6a70 { lass="sref">bufcnt >> 2); y381 /a> err /a>; ->6 79aes_hw_init /a>( a hr5f7ef=6070 idblkcipher_enqueu+_e=ruesode=atmel_aes_h5#7/a>->6 7l-aes.c#L394" id["L3946e7 na6a7"L406">y406 hrBUS+code=AES_INT_DAT"       }  9>->6 7l" class="sref">err /a5)7L406"70>                         a href="  chan /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFB1f">atmelSHOLD ueu+KE /a>, CFB1f_enqRESHOLD /a>) {            spin_unlock_irqresoor+5c7409" id6"7409" class="line" nama6"74096>7180">y380 /a>         a href="+code=dmaeng6c7 id["L4607 class="line" nama["L4607>y46071ss="sss="sref">bufcnt >> 2); y381 /a> err /a>; y416 7a> 6171s=4likcipher_enqueu+_e=ruesode=atmel_aes_h5#7" class6"7ine" nama["L412">y412 6a7   6171>valmr /a> | BUS+code=AES_INT_DAT"       }  ->6"7ine" nama["L413">y413 6a7   6171code=dd" class="srehr/a>         ateu+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFB1f">atmelSHOLD ueu+KE /a>, CFB1f_enqRESHOLD /a>) { y414 6a7   6171reftr /a>           spin_unlock_irqresoor+5c7" class6"7ine" nama["L415">y415 6a7   6171pt_dma" class="sref">atmel_aes_crypt_dma 6#7" class6"7ine" nama["L416">y416 6a7   6171     ss="sref">bufcnt >> 2); y381 /a> err /a>;   blkcipher_enqueu+_e=ruesode=atmel_aes_h6c7L418" i6[7L418" class="line" nam6[7L4162720valmr /a> | BUS+code=AES_INT_DAT"       }  , ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 rehr/a>         ateu+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFBDMA_THRESHOLD ueu+KE /a>, CFBD_enqRESHOLD /a>) { -&g6;7a href="+code=flags" c6a7s="6272f="+ ass="85" cmemcpyags 1eso0MR_SMO=dd" cl7       6 7 href="+code=valmr" cl6s7="s6272r_enqueh"L35"73225 hreftrblkcipher_enquehcf385de hrs/crypto/atmel-aes.c#L354" cf385de hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>; ->6E7_MR_OPMOD_CTR /a>; y422 /a>    6 7 } 6272ref="driver65   a href="+code=err        }  =u+KE /a>, CFB">atmelSHOLD ueu+KE /a>, CFB"+cH79 /a>         ateu+KE /a>, CFBDMA_THRESHOLD ueu+KE /a>, CFBD_enqRESHOLD /a>) { yacryptiel-ae354idleah54" 4lass=4d" id["7L407" i6 7a>-> a href="+code=6l7gs"6272ref">dd /a>,  a href="+code=AES_CR" class6l7valmr /6>7|=  a href="+code=AES_6R7CYP6373ENC" ueh"L35"73225 hreftrblkcipher_enquehctr5hn hrs/crypto/atmel-aes.c#L354" ctr5hn hrs/ 4lhref="drivers/crypto/atmel-aes.c#L351" id["L351" 4lass=45ine" nama["L381">y381 /a> err /a>; y429 /a> 6 7 5i607380">ykcipher_enqueu+_e=ruesode=atmel_aes_h6 7ae354idle7h54" 4lass=4linslama["L47nsign73e_config /a>(   a href="+code=err        }   * a href="+7ode=d731" id["L361" 4lass=46ine" nama["L3e chan /a>, ENYPTO_">atmelSHOLD ueu+KE /a>, ENYPTO_"+cH79 /a>         ateu+KE /a>, CT> >  a hreflassO  /a>, CT>_enqRESHOLD /a>) { va65 /a>           spin_unlock_irqresoor+5c7" class5 7 a href="+code=valmr" 5l7ss=5373ers/crypto/atmel-aes.c#L422" id["L422" cl5-7="sref"5A7S_MR_DUALBUFF /a>; bufcnt >> 2); y381 /a> err /a>; y433 /a>    5 7 } 5373 idblkcipher_enqueu+_e=ruesode=atmel_aes_h5#7es.c#L4557 id["L435" class="line5 7ama5"73L406">y406 hrBUS+code=AES_INT_DAT"       }  ( a href="+code=dd5 7las5373>                         a href="  u+KE /a>, CT> >  a hreflassO  /a>, CT>_enqRESHOLD /a>) { AE5_7R /a>,  a href="+code=5a7cr"5474atmel /a>           spin_unlock_irqresoor+5c7s.c#L435"7id["L439" class="line"5n7ma[547480">y380 /a>         a href="+code=dmaeng6c7 class=5s7ef">AES_KEYWR /a>(0), 5a7hre5474ss="sss="sref">bufcnt >> 2);          a href="+code=dmaeng6c7 85" cmem7lass="sref">ctx /a>-&g5;7a h5474s=4likcipher_enqueu+_e=ruesode=atmel_aes_h5#7aes.c#L567" e=dd" class="sref">d5 7a>-5g74a href="+code=dd" class="sr3m_DMA_THRESHOLD tfmags cHn" class="sref">atkecrtes_spin_l/crypto/atmel-ac   tes_spin_lama["Llass="sref">at 3es.size/4rypto/atm4l-aes.size href= sizeofref="drivers/crypto/atmel-aes.c#Les.vers/crypto/atm4l-aes.c#L354es.ver_enqRESHOLD /a>) { dd /a>-&5t7 /y5t74ers/crypto/atmel-aes.c#L422" id["L422" cl5-7AGS_OFB5 7lass="sref"||/a>      5 7 el5474ref="driver65   a hr74 idbl /a>           spin_unlock_irqresoor+5c7ss.c#L4557ne" nama["L416">y416405>74405/74         a href="+code=atmel_aes_write_n"5c7o407" i6 7>atmel_aes_write_n /a>5 7 hr5f74>    ss="svoid"66 /a>         Les.c#L354e3idinexi/crypto/atmel-aes.c#L354" idinexi/ 4lhref="drivers/crypto/atmhref="_m_DMA_THRESHOLD tfhref="_m_D381 /a> AE5_7EYWR /a>(0),  a href="5c7de=557>atmelkcipher_enqueu+_e=ruesode=atmel_aes_h5#7lass="s5e7">reqinfot; a href5"7cod557580">y /a>           spin_unlock_irqresoor+5c7cryp5yp5o7atmel-aes.c#L347" id["5377" 5575code=dd" class="sref">dd /a>-> a href=5r7ode=ctx5o7atm4l-aes.c#L350" id["5370" 5l7ss=4liss="svoef="drivers/crypto/a/      seslgMA_THRESHOLD tfhref="_slg381 / /a>         Les4" slg> >  a href/ s4" slg>381 []f= kcipher_enqueu+_e=ruesode=atmel_aes_h5#7les.c#L567tic int  a hrhandle_qu5u7cod557">valmkcipher_enqueu+_e=ruesode=atmel_aes_h5#7l class5 7structy a href="+code=5t7el_557+code=dd" claslass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "ecb(aes)"        return 0; atmel_aes_dev ->5 7 hr55756ode=dd" claslass="sref">at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; atmel_aes_dev -5g7; a5h759ode=dd" claslass="sref">at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0;  | lass="sref">at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; ; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; y362 /a>       ->5 7 hr56764" id["L373" lass="sref">at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#7m4l-aes5c7L365" id["L365" 4lass=5l7ne"5676 id["L424" class="ls.lass="sref">at 3min_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; y333lass="sref">at 3max_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; y3653537>y35777398">y398 /a>      lalass="sref">atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; ateL3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0; 555t7LAV_1_h3" class="sref"5d7 /a5777e_config /a>( /a>           spin_unlock_irqresoor+5c7ode=ctx5t7el-de6>-> a href="+5d7-ae5p771" id}y355 /a>        return 0; ; valmkcipher_enqueu+_e=ruesode=atmel_aes_h5#7lkciphe5y773 /a>                5a7hre5=77code=dd" claslass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "cbc(aes)"        return 0; at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "y577 /a>                 a5h7ef=57777ode=dd" claslass="sref">at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; dma_lch_out7 a 57778ode=dd" claslass="sref">at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0;  | lass="sref">at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; dmae5g7ne_58782" id["L373" lass="sref">at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; y382 /a>5 7   58784" id["L373" lass="sref">at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; 5l7gs 5878code=dd" claslass="sref">at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#7L375">y5/7> =  a href="+code=atm5l7aes5878 id["L424" class="ls.lass="sref">at 3min_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; y333lass="sref">at 3max_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0;                     lass="sref">atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; y398 /a>      lalass="sref">atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; y388 /a>static int5 7 hr59739">y439 /a> atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; y439 /a> atsr3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0;            spin_unlock_irqresoor+5c7AVE_BUS5a7  a href="+code=valcr"5c7ass5979r_enq}y355 /a>        return 0;  = 0; y5L793" id["L393" class="l5n7" n59796ode=dd" claslass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "ofb(aes)"        return 0; at5e7_aes_hw_init /a>( a hr5f7"+c59797ode=dd" claslass="sref">at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; err /a5)7at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0;  | lass="sref">at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0; at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#8/a>->6 8l-aes.c#L394" id["L3946e8 na6a80ine" nama["L366">y333lass="sref">at 3min_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; err /a5)8L406"80>                    lass="sref">at 3max_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; y398 /a>      lalass="sref">atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; 819">y439 /a> atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; y460812">y439 /a> atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; y416 8a> 61811" id["L361" 4lass=46lass="sref">atsr3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0; y412 6a8   6181>valmr /a> |  /a>           spin_unlock_irqresoor+5c8/a>->6"8ine" nama["L413">y413 6a8   6181code=}y355 /a>        return 0; y414 6a8   6181reftrkcipher_enqueu+_e=ruesode=atmel_aes_h5#8" class6"8ine" nama["L415">y415 6a8   61817ode=dd" claslass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "cfb(aes)"        return 0; y416 6a8   61818ode=dd" claslass="sref">at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0;  | lass="sref">at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0; at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; y422 /a>    6 8 } 62826ode=dd" claslass="sref">at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#8L407" i6 8a>-> a href="+code=6l8gs"6282>                    lass="sref">at 3min_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; y398 /a>      lalass="sref">atsrmax_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; y429 /a> 6 8 5i60839">y439 /a> atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; y439 /a> atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0;  * a href="+8ode=d831" id["L361" 4lass=46lass="sref">atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; atsr3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0;            spin_unlock_irqresoor+5c8="sref"5A8S_MR_DUALBUFF /a>; y433 /a>    5 8 } 5383 idblkcipher_enqueu+_e=ruesode=atmel_aes_h5#8es.c#L4558 id["L435" class="line5 8ama5"838ode=dd" claslass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "cfb32(aes)"        return 0; ( a href="+code=dd5 8las53839ode=dd" claslass="sref">at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "AE5_8R /a>,  a href="+code=5a8cr"54840valmr /a> | lass="sref">at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; AES_KEYWR /a>(0), 5a8hre54842" id["L373" lass="sref">at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0; ctx /a>-&g5;8a h54843" id["L373" lass="sref">at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; d5 8a>-5g844" id["L373" lass="sref">at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; dd /a>-&5t8 /y5t84code=dd" claslass="sref">at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0;       5 8 el54846ode=dd" claslass="sref">at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; 847ode=dd" claslass="sref">at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; y416405>84405/848ode=dd" claslass="sref">at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; atmel_aes_write_n /a>5 8 hr5f849ode=dd" claslass="sref">at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#8ref">AE5_8EYWR /a>(0),  a href="5c8de=5585398">y398 /a>      lalass="sref">atsrmin_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; reqinfot; a href5"8cod55859">y439 /a> atsrmax_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; y439 /a> atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; atsr3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0; atmel_aes_dev ->5 8 hr55856ode=dd" clas /a>           spin_unlock_irqresoor+5c8r"line"5n84lass=4line" nama["L3_5e8_wr5t857ode=}y355 /a>        return 0; atmel_aes_dev -5g8; a5h859ode=dd" claslass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "cfb16(aes)"        return 0;  | lass="sref">at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0; y362 /a>       ->5 8 hr56864" id["L373" lass="sref">at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; y3653538>y357870valmr /a> | lass="sref">at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#8"ass="s5e828(l44line" _DM4_73 /a5 8   5387"" id["L373" clasa hrlass="sref">ateLmin_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; 555t8LAV_1_h3" class="sref"5d8 /a57872">y439 /a> atsrmax_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; ; atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; atsr3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0;            spin_unlock_irqresoor+5c8e=atmel5a8s="sref">dma_lch_out8 a 57878ode=}y355 /a>        return 0;  | lass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "cfb8(aes)"        return 0; at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "dmae5g8ne_58882" id["L373" lass="sref">at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; y382 /a>5 8   58884" id["L373" lass="sref">at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0; 5l8gs 5888code=dd" claslass="sref">at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; y5/8> =  a href="+code=atm5l8aes58887ode=dd" claslass="sref">at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0;  | lass="sref">at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; y388 /a>static int5 8 hr5989"" id["L373" lass="sref">at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#8"slave_5o8el-aes.c#L389" id["L385"8cla59892">y439 /a> atsrmin_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; atsrmax_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0;  = 0; atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; y5L893" id["L393" class="l5n8" n59896ode=dd" clas4lass=46lass="sref">atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; at5e8_aes_hw_init /a>( a hr5f8"+c5989 id["L424" class="ls.lass="sref">at 33i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0;            spin_unlock_irqresoor+5c8rivers/5e8r" class="sref">err /a5)8        return 0;  6 9    if ( a href="+code6d9" c6a90"" id["L373" lass="sref">at 34dincodeMA_THRESHOLD tfhrincode                   = "ctr(aes)"        return 0; at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "      6 9lse if ( a href="+code6d9" c60903" id["L373" lass="sref">at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0; at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0; err /a5)9L406"909ode=dd" claslass="sref">at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0;  | lass="sref">at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; 91"" id["L373" lass="sref">at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; y460912" id["L373" lass="sref">at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#9       6 9"line" nama["L411">y416 9a> 61911" id["L361" 4lass=46lass="sref">atsrmin_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; y412 6a9   61914" id["L361" 4lass=46lass="sref">atsrmax_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; y413 6a9   6191code=dd" clas4lass=46lass="sref">atsrivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; y414 6a9   61916ode=dd" clas4lass=46lass="sref">atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; y415 6a9   6191 id["L424" class="ls.lass="sref">at 3hn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; ->6 9ine" nama["L416">y416 6a9   6191ine" nama["L366">y333lass="sref">at 33i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0; ->6 9class="line" nama["L416"9y416 919ode=dd" clas /a>           spin_unlock_irqresoor+5c9L418" i6[9L418" class="line" nam6[9L4162920valm}y355 /a>        return 0;         return 0;         return 0; at 34dincodeMA_THRESHOLD tfhrincode                   = "cfb64(aes)"        return 0; y422 /a>    6 9 } 62926ode=dd" claslass="sref">at 34din     rncodeMA_THRESHOLD tfhrin     rncodeode=dd" clas= "at 34dinpriorit5" id["L385" cke4dinpriorit5               = 100y355 /a>        return 0; at 34dinl >  a href/   aalat 3YPTO_TFALG_TYPE_ABLKCIPHE> >  a hreflaYPTO_TFALG_TYPE_ABLKCIPHE>"+cH79 /a>         ateYPTO_TFALG_ASYNC">atmelSHOLD ueYPTO_TFALG_ASYNCc#,ty355 /a>        return 0; -> a href="+code=6l9gs"62929ode=dd" claslass="sref">at 34dinblocksize/4rypto/atm4l-a4dinblocksizes /3           /a>;         return 0;  | lass="sref">at 34dinversize/4rypto/atm4l-a4dinversizes /3            = sizeofref="drivers/crypto/atmel-aes.c#Lvers/crypto/atm4l-aes.c#L354" id["L)y355 /a>        return 0; y429 /a> 6 9 5i6093"" id["L373" lass="sref">at 34dinalignsk_o/4rypto/atm4l-a4dinalignsk_os /3           /0x0y355 /a>        return 0; at 34dintype/4rypto/atm4l-a4dintype                   = s=46ine" nama["L43pdhref="_sne" nama["type/4rypto/atm4l-a4def="_sne" nama["typec#,ty355 /a>        return 0;  * a href="+9ode=d933" id["L373" lass="sref">at 34dinmodule/4rypto/atm4l-a4dinmodule                  /a>;         return 0; at 34din  i/crypto/atmel-aeidin  i/ 4lh               = ufcnt >> 2);         return 0; at 34dinexi/crypto/atmel-aeidinexi/ 4lh               = ufcnt >> 2);         return 0; ; at 34dinucrypto/atmel-aeidinua["Llass="sref">at 3s_spin_l/crypto/atmel-ac s_spin_lama["L3= kcipher_enqueu+_e=ruesode=atmel_aes_h5#9ny433 /a>    5 9 } 5393 id["L424" class="ls.lass="sref">at 3min_keysize/4rypto/atm4l-amin_keysizeid["L424 /a>;         return 0; y333lass="sref">at 3max_keysize/4rypto/atm4l-amax_keysizeid["L424 /a>;         return 0; ( a href="+code=dd5 9las5393>                    lass="sref">at 3ivsize/4rypto/atm4l-aivsize 4lh         = ufcnt >&u+KEBLOCK_"L_2 >  a hreflassO BLOCK_"L_2c#,ty355 /a>        return 0; AE5_9R /a>,  a href="+code=5a9cr"5494398">y398 /a>      lalass="sref">atsrckey85" id["L385" clatkey8" 4lh         = ufcnt >> 2);         return 0; y439 /a> atsrhn hrs/crypto/atmel-aehn hrs/ 4lh        = ufcnt >> 2);         return 0; AES_KEYWR /a>(0), 5a9hre54942">y439 /a> atsr3i hrs/crypto/atmel-aede hrs/ 4lh        = ufcnt >> 2);         return 0; ctx /a>-&g5;9a h54943" id["L373"  /a>           spin_unlock_irqresoor+5c9aes.c#L569" e=dd" class="sref">d5 9a>-5g94r_enq}y355 /a>        return 0; dd /a>-&5t9 /y5t94code=};355 /a>        return 0;       5 9 el54946ode=355 /a>        return 0;         return 0; y416405>94405/948ode=kcipher_enqueu+_e=ruesode=atmel_aes_h5#9o407" i6 9>atmel_aes_write_n /a>5 9 hr5f949ode=dd" clasef="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&ddcrypto/atmel-aedda["L3= ref="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&datacrypto/atmel-aedatad["L;355 /a>        return 0; AE5_9EYWR /a>(0),  a href="5c9de=5595398">355 /a>        return 0; reqinfot; a href5"9cod55959">y439 /a>  >&ddcrypto/atmel-aedda["L,        return 0; y4 /a>           spin_unlock_irqresoor+5c9ode=ctx5o9atm4l-aes.c#L350" id["5390" 5l951" id/a>           spin_unlock_irqresoor+5c9oes.c#L569tic int  a hrhandle_qu5u9cod55954" idstatic void ufcnt >> 2);  >&datacrypto/atmel-aedatad["L)355 /a>        return 0; atmel_aes_dev ->5 9 hr55956ode=dd" clasef="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&ddcrypto/atmel-aedda["L3= ref="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&datacrypto/atmel-aedatad["L;355 /a>        return 0;         return 0;         return 0; atmel_aes_dev -5g9; a5h959ode=dd" clasif (!(ufcnt >&ddcrypto/atmel-aedda["L->ine" nama["L43pdl >  a href/ l >&u+KEFLAGS_DMA >  a hreflassO FLAGS_DMAd["L)) kcipher_enqueu+_e=ruesode=atmel_aes_h5#9rs> 5 9ref="+codt_dma" clae=r5&9"sr5f96398">y398 /a>      lavers/crypto/atmel-aes.c#Lread_n/4rypto/atm4l-agt; 2);  >&ddcrypto/atmel-aedda["L, >  a hreflassO ODATA>ode=(0), (ufcnt >&uh54" 4lass=hreflau32" id[*) ufcnt >&ddcrypto/atmel-aedda["L->ine" nama["L43pdbuf_ou/crypto/atmel-aebuf_ou/ 4lhy355 /a>        return 0; ; y439 /a>         return 0;         return 0; atsrcg_copy_from_buff/crypto/atmel-ac cg_copy_from_buff/code=(ufcnt >&ddcrypto/atmel-aedda["L->ine" nama["L43pdou/_sg/4rypto/atm4l-aou/_sga["L,        return 0; y362 /a>       ->5 9 hr56964" id["L361" 4lass=46      lavers/crypto/atmddcrypto/atmel-aedda["L->ine" nama["L43pdbuf_ou/crypto/atmel-aebuf_ou/ 4lhyavers/crypto/atmddcrypto/atmel-aedda["L->ine" nama["L43pdbufcn/crypto/atmel-aebufcn/s /3))355 /a>        return 0;         return 0;         return 0;         return 0;         return 0; y3653539>y357970valmr /a> |  /a>           spin_unlock_irqresoor+5c9"ass="s5e928(l44line" _DM4_73 /a5 9   5397"" id/a>           spin_unlock_irqresoor+5c9" /a>555t9LAV_1_h3" class="sref"5d9 /a57972">y439 /a>  >> 2);  >&ddcrypto/atmel-aedda["L);355 /a>        return 0;            spin_unlock_irqresoor+5c9"es.c#L569TH_2_BYTES /a>;  >&ddcrypto/atmel-aedda["L->ine" nama["L43pdercrypto/atmel-ac ercd["L ? :ivers/crypto/atmercrypto/atmel-ac ercd["L;355 /a>        return 0;                   5 9   57976ode=dd" clasif (ass="sref">atsrddcrypto/atmel-aedda["L->ine" nama["L43pdtotalcrypto/atmel-aetotals /3 s=46is=46i !vers/crypto/atmercrypto/atmel-ac ercd["L) kcipher_enqueu+_e=ruesode=atmel_aes_h5#9l4l-aes5c9 /a>                 a5h9ef=5797 id["L424" class="ls.vers/crypto/atmercrypto/atmel-ac ercd["L  /ufcnt >> 2);  >&ddcrypto/atmel-aedda["L);355 /a>        return 0; dma_lch_out9 a 5797ine" nama["L366">y333if (!vers/crypto/atmercrypto/atmel-ac ercd["L)355 /a>        return 0;  |  /a>           spin_unlock_irqresoor+5c9rivers/509 id["L380" class="line5 9ama5898"" id/a>           spin_unlock_irqresoor+5c9_slave_5o9fig" class="sref">dmae5g9ne_58982" idvers/crypto/atm4pu_endcrypto/atmel-ae4pu_endd["L:/a>           spin_unlock_irqresoor+5c9_de=ctx5t9+code=dma_lch_out" cla5s9"sr58983" id["L373" ufcnt >> 2);  >&ddcrypto/atmel-aedda["L,        return 0; y382 /a>5 9   58984" id["L361" vers/crypto/atmel-aes.c#Lhandleaqueue/4rypto/atm4l-agt; 2);  >&ddcrypto/atmel-aedda["L,        return 0; 5l9gs 5898code= /a>           spin_unlock_irqresoor+5c9rGS_OFB5 9"L383" class="line" na5a9"L358986ode=355 /a>        return 0; y5/9> =  a href="+code=atm5l9aes58987ode=static ass="sref">at 3irqreturn_/crypto/atmel-aeirqreturn_/" id[vers/crypto/atmel-aes.c#Lirq/4rypto/atm4l-agt; 2);  >&dev_idcrypto/atmel-aedev_idd["L)355 /a>        return 0;  >&dev_idcrypto/atmel-aedev_idd["L;355 /a>        return 0;  | ufcnt >&uh54" 4lass=hreflau32" id[ufcnt >®/4rypto/atm4l-aregd["L;355 /a>        return 0; y388 /a>static int5 9 hr5999"" id/a>           spin_unlock_irqresoor+5c9"slave_5o9el-aes.c#L389" id["L385"9cla59992">y439 /a>  >> 2);  >&;  >  a hreflassO IS>d["L);355 /a>        return 0; atsrreg/4rypto/atm4l-aregd["L s=46i ufcnt >> 2);  >&;  >  a hreflassO IMRd["L)) kcipher_enqueu+_e=ruesode=atmel_aes_h5#9AVE_BUS5a9  a href="+code=valcr"5c9ass59994" id["L361" 4lass=46ufcnt >> 2);  >&;  >  a hreflassO IDRd["L,        return 0;  = 0; atsrssO FLAGS_BUSY >  a hreflassO FLAGS_BUSYd["L s=46i ufcnt >&g  >  a href/ l        return 0; y5L993" id["L393" class="l5n9" n59996ode=dd" clas4lass=464lass=46ufcnt >&tk_olet_schedule/4rypto/atm4l-atk_olet_scheduleode=(s=46ine" nama["L43pdg         return 0; y5/9_aes_hw_init /a>( a hr5f9"+c5999 id["L424" class="ls.else355 /a>        return 0; y3334lass=46ufcnt >&dev_warn/4rypto/atm4l-adev_warnode=(ufcnt >&; "ssOlinrercupt when no act    requests.\n"        return 0; err /a5)9                    return6ufcnt >&IRQ_HANDLED/4rypto/atm4l-aIRQ_HANDLEDd["L;355 /a>        return 0; err /a5)10aes>10aevalmr /a> |  /a/pre>55 /a>        return 0; y388 /a>static int5 10a8">10a"" id/a>           spin_unlock_irqresoor+5c10a2s.c#L6910al-aes.c#L389" id["L385"10al->10a2">y439 /a>  >&IRQ_NON2 >  a hreflaIRQ_NON2d["L;355 /a>        return 0; 10a3ode= /a>           spin_unlock_irqresoor+5c10a4s.c#L6910a a href="+code=valcr"5c10a a>10a4" id/a>           spin_unlock_irqresoor+5c10a5s.c#L6910aalmr /a> = 0; 10a5ode=static void ufcnt >> 2);  >  a href/ gt; 2); ode=(ef="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&ddcrypto/atmel-aedda["L)355 /a>        return 0; 10a6ode=kcipher_enqueu+_e=ruesode=atmel_aes_h5#10a7s.c#L6910aaes_hw_init /a>( a hr5f10aae>10a id["L424" clinrivers/crypto/atmi/4rypto/atm4l-aid["L;355 /a>        return 0; 10a8ode=355 /a>        return 0; err /a5)10a" >10a>            for (ass="sref">atsri/4rypto/atm4l-aid["L  /0;ivers/crypto/atmi/4rypto/atm4l-aid["L <i ufcnt >&uRRALE"L_2 >  a hreflasRRALE"L_2ode=(ufcnt >&;  >  a href/ g ode=);ivers/crypto/atmi/4rypto/atm4l-aid["L++)355 /a>        return 0; 10L4" id["L361" 4lass=46ufcnt >&4def="_unregisrer_slgcrypto/atmel-ae4def="_unregisrer_slgode=(s=46ine" nama["L43pdg  >  a href/ g ode=[vers/crypto/atmi/4rypto/atm4l-aid["L]);355 /a>        return 0; 10L9">y439 /a> atsrddcrypto/atmel-aedda["L->ine" nama["L43pdhw_  reion/4rypto/atm4l-ahw_  reiond["L >i /0x130)355 /a>        return 0; 10L2">y439 /a>         return 0; y416 10"li>10L3ode= /a>           spin_unlock_irqresoor+5c1014s.c#L6910ine" nama["L412">y412 6a10ine>10L4" id/a>           spin_unlock_irqresoor+5c1015s.c#L6910ine" nama["L413">y413 6a10ine>10L5ode=static inrivers/crypto/atmgt; 2);  >  a href/ gt; 2); ode=(ef="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&ddcrypto/atmel-aedda["L)355 /a>        return 0; y414 6a10ine>10L6ode=kcipher_enqueu+_e=ruesode=atmel_aes_h5#1017s.c#L6910ine" nama["L415">y415 6a10ine>10L id["L424" clinrivers/crypto/atmercrypto/atmel-ac ercd["L,        return 0; y416 6a10ine>10L8ode=355 /a>        return 0; 10L>            for (ass="sref">atsri/4rypto/atm4l-aid["L  /0;ivers/crypto/atmi/4rypto/atm4l-aid["L <i ufcnt >&uRRALE"L_2 >  a hreflasRRALE"L_2ode=(ufcnt >&;  >  a href/ g ode=);ivers/crypto/atmi/4rypto/atm4l-aid["L++) kcipher_enqueu+_e=ruesode=atmel_aes_h5#102es.c#L6910L418" class="line" nam6[10L41>10L4">y439 /a>  >  a href/ g ode=[vers/crypto/atmi/4rypto/atm4l-aid["L]lass="sref">at 34dinlisrcrypto/atmel-ae4dinlisrode=);355 /a>        return 0; 10L9">y439 /a>  >&4def="_regisrer_slgcrypto/atmel-ae4def="_regisrer_slgode=(s=46ine" nama["L43pdg  >  a href/ g ode=[vers/crypto/atmi/4rypto/atm4l-aid["L]);355 /a>        return 0; 10L2">y439 /a> atsrercrypto/atmel-ac ercd["L)355 /a>        return 0; 10L1" id["L361" 4lass=4666666666gotoivers/crypto/atmerc_g  >  a href/ erc_g d["L;355 /a>        return 0; 10L4" id["L361"  /a>           spin_unlock_irqresoor+5c1025s.c#L6910_MR_OPMOD_CTR /a>; 10Lcode=355 /a>        return 0; y422 /a>    6 10ma[>10L6ode=dd" clasvers/crypto/atmel-aes.c#Lhw_  reionn  i/crypto/atmel-aes.c#L354" hw_  reionn  i/ode=(ufcnt >&ddcrypto/atmel-aedda["L);355 /a>        return 0; 10Line" nama["L3if (ass="sref">atsrddcrypto/atmel-aedda["L->ine" nama["L43pdhw_  reion/4rypto/atm4l-ahw_  reiond["L >i /0x130) kcipher_enqueu+_e=ruesode=atmel_aes_h5#1029s.c#L6910a>-> a href="+code=6l10a>->10L>                    ufcnt >&INIT_LIST_HEAD/4rypto/atm4l-aINIT_LIST_HEADode=(s=46ine" nama["L43pdg at 34dinlisrcrypto/atmel-ae4dinlisrode=);355 /a>        return 0; 10|=">y439 /a>  >&4def="_regisrer_slgcrypto/atmel-ae4def="_regisrer_slgode=(s=46ine" nama["L43pdg         return 0; y429 /a> 6 10 na>10|9">y439 /a> atsrercrypto/atmel-ac ercd["L)355 /a>        return 0; 10|2">y439 /a>         return 0;  * a href="+10pya>10|3" id["L373"  /a>           spin_unlock_irqresoor+5c10|4s.c#L6910" id["L id["73225 hreftr10" i>10|4" id/a>           spin_unlock_irqresoor+5c1035s.c#L6910 a href="+code=valmr" 5l10 a >10|code=dd" clasreturn60;355 /a>        return 0; y433 /a>    5 10ma[>10|7ode=vers/crypto/atmerc_g            spin_unlock_irqresoor+5c10|8s.c#L6910 id["L435" class="line5 10 id>10|8ode=dd" clasvers/crypto/atmi/4rypto/atm4l-aid["L  /ufcnt >&uRRALE"L_2 >  a hreflasRRALE"L_2ode=(ufcnt >&;  >  a href/ g ode=);/a>           spin_unlock_irqresoor+5c10|9s.c#L6910 /a>( a href="+code=dd5 10 /a>10|9ode=vers/crypto/atmerc_g  >  a href/ erc_g d["L:/a>           spin_unlock_irqresoor+5c104es.c#L6910R /a>,  a href="+code=5a10R />10R             for (ass="sref">atsrj/4rypto/atm4l-ajd["L  /0;ivers/crypto/atmj/4rypto/atm4l-ajd["L <i ufcnt >&i/4rypto/atm4l-aid["L;ivers/crypto/atmj/4rypto/atm4l-ajd["L++)355 /a>        return 0; 10R9">y439 /a>  >  a href/ g ode=[vers/crypto/atmj/4rypto/atm4l-ajd["L]);355 /a>        return 0; AES_KEYWR /a>(0), 5a10ef">10R2" id355 /a>        return 0; ctx /a>-&g5;10las>10R3ode=dd" clasreturn6ass="sref">atsrercrypto/atmel-ac ercd["L;355 /a>        return 0; d5 10" e>10R4ode= /a>           spin_unlock_irqresoor+5c1045s.c#L6910 class="sref">dd /a>-&5t10 cl>10Rcode=355 /a>        return 0;       5 10las>10R6ode=static inrivers/crypto/atm_adev  i/crypto/atmel-ae_adev  i/ode=dvers/crypto/atmel-aes.c#Lprobe/4rypto/atm4l-agt; 2);  >&pdev/4rypto/atm4l-apdevode=)355 /a>        return 0; y416405>10ne">10R8ode=dd" clasef="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&;         return 0;  >&pdatacrypto/atmel-aepdatad["L;355 /a>        return 0; 10EYode=dd" clasef="drivers/crypto/atmdev ce/4rypto/atm4l-adev ceode=d*ufcnt >&dev/4rypto/atm4l-adevode= = s=46ine" nama["L43pdpdev/4rypto/atm4l-apdevode=->ine" nama["L43pddev/4rypto/atm4l-adevode=;355 /a>        return 0; reqinfot; a href5"10">r>10E1ode=dd" clasef="drivers/crypto/atmresource/4rypto/atm4l-aresourceode=d*ufcnt >&;         return 0; 10E2">y439 /a>  >&e         return 0; 10E1" id["L361" inrivers/crypto/atmercrypto/atmel-ac ercd["L;355 /a>        return 0;            spin_unlock_irqresoor+5c1055s.c#L6910structy a href="+code=5t10str>10Ecode=dd" clasufcnt >&pdatacrypto/atmel-aepdatad["L  /ufcnt >&pdev/4rypto/atm4l-apdevode=->ine" nama["L43pddev/4rypto/atm4l-adevode=lass="sref">at 3platformadatacrypto/atmel-aeplatformadataode=;355 /a>        return 0; atmel_aes_dev ->5 10ef">10E6ode=dd" clasif (!vers/crypto/atmpdatacrypto/atmel-aepdatad["L) kcipher_enqueu+_e=ruesode=atmel_aes_h5#1057s.c#L69104lass=4line" nama["L3_5e104la>10E id["L424" class="ls.vers/crypto/atmercrypto/atmel-ac ercd["L  /-vers/crypto/atmENXIOrypto/atmel-ac ENXIOode=;355 /a>        return 0; y333gotoivers/crypto/atm;         return 0; atmel_aes_dev -5g10"sr>10E9ode=dd" clas /a>           spin_unlock_irqresoor+5c106es.c#L6910ref="+codt_dma" clae=r5&10ref>10re" id/a>           spin_unlock_irqresoor+5c1061s.c#L6910UTO /a>; y439 /a>  >&kzalloccrypto/atmel-aekzallocode=(eizeofref="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);            spin_unlock_irqresoor+5c1062s.c#L6910 a href="+code=" class5510 a >10r2ode=dd" clasif (vers/crypto/atme  >&NULLcrypto/atmel-aeNULLd["L) kcipher_enqueu+_e=ruesode=atmel_aes_h5#1063s.c#L6910="drivers/4rypto/atm4l5a10="d>10r1" id["L361" 4lass=46ne" nama["L43pddev_ercrypto/atmel-ac dev_ercode=(ufcnt >&dev/4rypto/atm4l-adevode=, "unable toialloc datasef="dr.\n"        return 0; y362 /a>       ->5 102">>10r4" id["L361" 4lass=46ufcnt >&ercrypto/atmel-ac ercd["L  /-vers/crypto/atmENOMEMrypto/atmel-ac ENOMEMode=;355 /a>        return 0; 10rcode=dd" clas4lass=46gotoivers/crypto/atm;         return 0; 10r6ode=dd" clas /a>           spin_unlock_irqresoor+5c1067s.c#L6910L365" id["L365" 4lass=5l10L36>10r7ode=355 /a>        return 0;  >&dev/4rypto/atm4l-adevode=;355 /a>        return 0; y36535310ine>10inode=dd" clasufcnt >&platformaset_drvdatacrypto/atmel-aeplatformaset_drvdataode=(ufcnt >&pdev/4rypto/atm4l-apdevode=,        return 0; 10i"" id/a>           spin_unlock_irqresoor+5c1072s.c#L6910LAV_1_h3" class="sref"5d10LAV>10i2">y439 /a>         return 0; 10i1" id/a>           spin_unlock_irqresoor+5c10i4s.c#L6910TH_2_BYTES /a>; 10i4" id["L361" vers/crypto/atmtk_olet_  i/crypto/atmel-aetk_olet_  i/ode=(s=46ine" nama["L43pdg         return 0;  >&e         return 0;         return 0;         return 0; dma_lch_out10s=">10i8ode=355 /a>        return 0; 10i9ode=dd" clasvers/crypto/atm4def="_  i/aqueue/4rypto/atm4l-a4def="_  i/aqueueode=(s=46ine" nama["L43pdg         return 0; y439 /a>         return 0; dmae5g10fig>1032" id355 /a>        return 0; 1033" id["L373" uspanA_THRESHcommen/c>/* Get the base address */        return 0; y382 /a>5 10" n>1034" id["L361" vers/crypto/atme  >&platformaget_resource/4rypto/atm4l-aplatformaget_resourceode=(ufcnt >&pdev/4rypto/atm4l-apdevode=,        return 0; 5l10e=f>103code=dd" clasif (!vers/crypto/atme 1036ode=dd" clas4lass=46ne" nama["L43pddev_ercrypto/atmel-ac dev_ercode=(ufcnt >&dev/4rypto/atm4l-adevode=, "no MEM resource info\n"        return 0;  =>103 id["L424" class="ls.vers/crypto/atmercrypto/atmel-ac ercd["L  /-vers/crypto/atmENODEVrypto/atmel-ac ENODEVode=;355 /a>        return 0; 103ine" nama["L366">y333gotoivers/crypto/atmres_ercrypto/atmel-ac res_ercode=;355 /a>        return 0; 1039ode=dd" clas /a>           spin_unlock_irqresoor+5c109es.c#L6910pto/atmel-aes.c#L387" 5d10pto>10pt">y439 /a>  >&e         return 0; y388 /a>static int5 1088">10p9">y439 /a>  >&resource_size/4rypto/atm4l-aresource_sizeode=(ufcnt >&e         return 0; 10p2" id355 /a>        return 0; 10p3" id["L373" uspanA_THRESHcommen/c>/* Get the IRQ */        return 0; 10p4" id["L361" vers/crypto/atme  >&platformaget_irq/4rypto/atm4l-aplatformaget_irqode=(ufcnt >&pdev/4rypto/atm4l-apdevode=,<<0);355 /a>        return 0; 10pcode=dd" clasif (vers/crypto/atme 10p6ode=dd" clas4lass=46ne" nama["L43pddev_ercrypto/atmel-ac dev_ercode=(ufcnt >&dev/4rypto/atm4l-adevode=, "no IRQ resource info\n"        return 0;  >&g         return 0; 10pine" nama["L366">y333gotoivers/crypto/atm;         return 0; err /a5)10r" >10p9ode=dd" clas /a>           spin_unlock_irqresoor+5c11aes.c#L6911aes.lass="sref">err /a5)11aes>1107ode=355 /a>        return 0; y388 /a>static int5 11a8">1109">y439 /a>  >&request_irq/4rypto/atm4l-arequest_irqode=(ufcnt >&e "1102">y439 /a>         return 0; 1101" id["L361" if (ass="sref">atsrercrypto/atmel-ac ercd["L) kcipher_enqueu+_e=ruesode=atmel_aes_h5#1104s.c#L6911a a href="+code=valcr"5c11a a>1104" id["L361" 4lass=46ufcnt >&dev_ercrypto/atmel-ac dev_ercode=(ufcnt >&dev/4rypto/atm4l-adevode=, "unable toirequest aes irq.\n"        return 0; 110code=dd" clas4lass=46gotoivers/crypto/atm;         return 0; 1106ode=dd" clas /a>           spin_unlock_irqresoor+5c11a7s.c#L6911aaes_hw_init /a>( a hr5f11aae>1107ode=355 /a>        return 0; 1108ode=dd" clasvspanA_THRESHcommen/c>/* Initializing the clock */        return 0; err /a5)11a" >1109ode=dd" clasvers/crypto/atme  >&cloaget/4rypto/atm4l-a4loagetode=(s=46ine" nama["L43pdpdev/4rypto/atm4l-apdevode=->ine" nama["L43pddev/4rypto/atm4l-adevode=,        return 0; 11L4" id["L361" if (ass="sref">atsrIS_ER> >  a hreflaIS_ER>ode=(ufcnt >&e 1119">y439 /a> "clock intialization failed.\n"        return 0; 11L2">y439 /a>  >&PTR_ER> >  a hreflaPTR_ER>ode=(ufcnt >&e         return 0; y416 11"li>1111" id["L361" 4lass=46gotoivers/crypto/atm4loaercrypto/atmel-ac 4loaercode=;355 /a>        return 0; y412 6a11ine>1114" id["L361"  /a>           spin_unlock_irqresoor+5c1115s.c#L6911ine" nama["L413">y413 6a11ine>111code=355 /a>        return 0; y414 6a11ine>1116ode=dd" clasvers/crypto/atme  >&ioremapcrypto/atmel-aeioremapode=(ufcnt >&e         return 0; y415 6a11ine>11L id["L424" clif (!vers/crypto/atme y416 6a11ine>111ine" nama["L366">y333vers/crypto/atmdev_ercrypto/atmel-ac dev_ercode=(ufcnt >&dev/4rypto/atm4l-adevode=, "can't ioremap\n"        return 0; 111>                    ufcnt >&ercrypto/atmel-ac ercd["L  /-vers/crypto/atmENOMEMrypto/atmel-ac ENOMEMode=;355 /a>        return 0; 11L4">y439 /a> 11L9">y439 /a> < /a>           spin_unlock_irqresoor+5c1122s.c#L6911L420" class="line" nam6[11L42>1122" id355 /a>        return 0; 1123" id["L373" ufcnt >&ercrypto/atmel-ac ercd["L  /ufcnt >> 2);  >&e         return 0; 11L4" id["L361" if (ass="sref">atsrercrypto/atmel-ac ercd["L)355 /a>        return 0;         return 0; y422 /a>    6 11ma[>1126ode=355 /a>        return 0;  >&spin_lockcrypto/atmel-aespin_lockode=(s=46ine" nama["L43pdg.c#L354"crypto/atmel-aes.c#L354"ode=lass="sref">at 3lockcrypto/atmel-aelockode=);355 /a>        return 0; 1128ode=dd" clasvers/crypto/atmlisr_add_tailcrypto/atmel-aelisr_add_tailode=(s=46ine" nama["L43pdg at 3dev_lisrcrypto/atmel-aedev_lisrode=);355 /a>        return 0; ->1129ode=dd" clasvers/crypto/atmspin_unlockcrypto/atmel-aespin_unlockode=(s=46ine" nama["L43pdg.c#L354"crypto/atmel-aes.c#L354"ode=lass="sref">at 3lockcrypto/atmel-aelockode=);355 /a>        return 0; 1137ode=355 /a>        return 0; y429 /a> 6 11 na>1139">y439 /a>  >&s.c#L354" regisrer_slg> >  a href/ gt; 2); ode=(ufcnt >&e         return 0; 1132ode=dd" clasif (vers/crypto/atmercrypto/atmel-ac ercd["L)355 /a>        return 0;  * a href="+11pya>1131" id["L361" 4lass=46gotoivers/crypto/atmerc_glg> >  a href/ erc_glg>d["L;355 /a>        return 0; 11|4" id/a>           spin_unlock_irqresoor+5c1135s.c#L6911 a href="+code=valmr" 5l11 a >113code=dd" clasufcnt >&dev_infocrypto/atmel-aedev_infoode=(ufcnt >&dev/4rypto/atm4l-adevode=, "Airqr AES\n"        return 0; y433 /a>    5 11ma[>1137" id["L373" return60;355 /a>        return 0; ( a href="+code=dd5 11 /a>11|9ode=vers/crypto/atmerc_glg> >  a href/ erc_glg>d["L:/a>           spin_unlock_irqresoor+5c114es.c#L6911R /a>,  a href="+code=5a11R />114t">y439 /a> at 3lockcrypto/atmel-aelockode=);355 /a>        return 0; 1149">y439 /a>         return 0; AES_KEYWR /a>(0), 5a11ef">1142">y439 /a> at 3lockcrypto/atmel-aelockode=);355 /a>        return 0; ctx /a>-&g5;11las>1143" id["L373" ufcnt >&s.c#L354" dma_cleanupcrypto/atmel-aes.c#L354" dma_cleanupode=(ufcnt >&e         return 0; d5 11" e>11R4ode=vers/crypto/atmerc_g            spin_unlock_irqresoor+5c1145s.c#L6911 class="sref">dd /a>-&5t11 cl>114code=dd" clasufcnt >&iounmapcrypto/atmel-aeiounmapode=(ufcnt >&e         return 0;       5 11las>11R6ode=vers/crypto/atm;            spin_unlock_irqresoor+5c1147s.c#L6911odinfoEL_AES_DMA_THRES5O11odi>1147" id["L373" ufcnt >&4loaput/4rypto/atm4l-a4loaputode=(ufcnt >&e         return 0; y416405>11ne">11R8ode=vers/crypto/atm4loaercrypto/atmel-ac 4loaercode=:/a>           spin_unlock_irqresoor+5c1149s.c#L6911>atmel_aes_write_n /a>5 11>at>1149ode=dd" clasvers/crypto/atmfreeairq/4rypto/atm4l-afreeairqode=(ufcnt >&e         return 0; 11EYode=vers/crypto/atm;            spin_unlock_irqresoor+5c1151s.c#L6911">reqinfot; a href5"11">r>11E1ode=vers/crypto/atmres_ercrypto/atmel-ac res_ercode=:/a>           spin_unlock_irqresoor+5c1152s.c#L6911atmel-aes.c#L347" id["5311atm>1152">y439 /a>         return 0; 1153" id["L373" ufcnt >&tk_olet_killcrypto/atmel-aetk_olet_killode=(s=46ine" nama["L43pdg         return 0;  >&e         return 0; 11Ecode=dd" clasufcnt >&e  >&NULLcrypto/atmel-aeNULLd["L;355 /a>        return 0; atmel_aes_dev ->5 11ef">1156ode=vers/crypto/atm;            spin_unlock_irqresoor+5c1157s.c#L69114lass=4line" nama["L3_5e114la>1157" id["L373" ufcnt >&dev_ercrypto/atmel-ac dev_ercode=(ufcnt >&dev/4rypto/atm4l-adevode=, "initialization failed.\n"        return 0; atmel_aes_dev -5g11"sr>11E9ode=dd" clasreturn6ass="sref">atsrercrypto/atmel-ac ercd["L;355 /a>        return 0; 11re" id /a>           spin_unlock_irqresoor+5c1161s.c#L6911UTO /a>;            spin_unlock_irqresoor+5c1162s.c#L6911 a href="+code=" class5511 a >11r2ode=static inrivers/crypto/atm_adevexi/crypto/atmel-ae_adevexi/ode=dufcnt >&s.c#L354" remove/4rypto/atm4l-ae.c#L354" removeode=(ef="drivers/crypto/atmplatformadev ce/4rypto/atm4l-aplatformadev ceode=d*ufcnt >&pdev/4rypto/atm4l-apdevode=)355 /a>        return 0; y362 /a>       ->5 112">>11r4" id["L361" static ef="drivers/crypto/atmel-aes.c#Ldev/4rypto/atm4l-agt; 2);  >&;         return 0; 116code=355 /a>        return 0; 1166ode=dd" clasvers/crypto/atme  >&platformaget_drvdatacrypto/atmel-aeplatformaget_drvdataode=(ufcnt >&pdev/4rypto/atm4l-apdevode=);355 /a>        return 0; 116 id["L424" clif (!vers/crypto/atme         return 0; y333return6-vers/crypto/atmENODEVrypto/atmel-ac ENODEVode=;355 /a>        return 0; at 3lockcrypto/atmel-aelockode=);355 /a>        return 0; y36535311ine>11inode=dd" clasufcnt >&lisr_delcrypto/atmel-aelisr_delode=(s=46ine" nama["L43pdg         return 0; 1179">y439 /a> at 3lockcrypto/atmel-aelockode=);355 /a>        return 0; 1172" id355 /a>        return 0; 1173" id["L373" ufcnt >&s.c#L354" unregisrer_slg> >  a href/ gt; 2); ode=(ufcnt >&e         return 0;            spin_unlock_irqresoor+5c11i5s.c#L691173 /a>                5a1173 >117code=dd" clasufcnt >&tk_olet_killcrypto/atmel-aetk_olet_killode=(s=46ine" nama["L43pdg         return 0;         return 0; dma_lch_out11s=">1178ode=dd" clasvers/crypto/atme.c#L354" dma_cleanupcrypto/atmel-aes.c#L354" dma_cleanupode=(ufcnt >&e         return 0; 1179ode=355 /a>        return 0;  >&iounmapcrypto/atmel-aeiounmapode=(ufcnt >&e         return 0;            spin_unlock_irqresoor+5c1182s.c#L6911fig" class="sref">dmae5g11fig>1182">y439 /a>  >&e         return 0; 1181" id/a>           spin_unlock_irqresoor+5c1134s.c#L6911" nama["L382">y382 /a>5 11" n>1134" id["L361" if (vers/crypto/atme            spin_unlock_irqresoor+5c1135s.c#L6911e=flags" class="sref">5l11e=f>118code=dd" clas4lass=46vers/crypto/atmfreeairq/4rypto/atm4l-afreeairqode=(ufcnt >&e         return 0; 1186ode=355 /a>        return 0;  =>1187" id["L373" ufcnt >&kfree/4rypto/atm4l-akfreeode=(ufcnt >&e         return 0; 1188ode=dd" clasvers/crypto/atme  >&NULLcrypto/atmel-aeNULLd["L;355 /a>        return 0; 1189ode=355 /a>        return 0; 11pt">y439 /a>         return 0; y388 /a>static int5 1188">11p9">y4 /a>           spin_unlock_irqresoor+5c1192s.c#L6911el-aes.c#L389" id["L385"11el->11p2" id355 /a>        return 0; 11p3" idstatic ef="drivers/crypto/atmplatformad    r/4rypto/atm4l-aplatformad    rode=dufcnt >&s.c#L354" d    r/4rypto/atm4l-as.c#L354" d    rd["L  /kcipher_enqueu+_e=ruesode=atmel_aes_h5#1194s.c#L6911  a href="+code=valcr"5c11  a>11p4" id["L361" lass="sref">at 3probe/4rypto/atm4l-aprobeode=as4lass=46 /ufcnt >&s.c#L354" probe/4rypto/atm4l-agt; 2);         return 0; 11pcode=dd" claslass="sref">at 3remove/4rypto/atm4l-aremoveode=s4lass=46 /ufcnt >&_adevexi/_pcrypto/atmel-ae_adevexi/_pode=(ufcnt >&e.c#L354" remove/4rypto/atm4l-ae.c#L354" removeode=)y355 /a>        return 0; 11p6ode=dd" claslass="sref">at 3d    r/4rypto/atm4l-ad    rd["L 4lass=46 /kcipher_enqueu+_e=ruesode=atmel_aes_h5#1197s.c#L6911_aes_hw_init /a>( a hr5f11_ae>11p id["L424" class="ls.lass="sref">at 3 a h/4rypto/atm4l-a a hid["L42= "        return 0; 11pine" nama["L366">y333lass="sref">at 3own r/4rypto/atm4l-aown rne" na /ufcnt >&THIS_MODULE/4rypto/atm4l-aTHIS_MODULEode=y355 /a>        return 0; err /a5)11r" >11p9ode=dd" clas y355 /a>        return 0; err /a5)12aes>1207ode=};355 /a>        return 0; y388 /a>static int5 12a8">120"" id/a>           spin_unlock_irqresoor+5c12a2s.c#L6912al-aes.c#L389" id["L385"12al->1202">y4ufcnt >&module_platformad    r/4rypto/atm4l-amodule_platformad    rode=(ufcnt >&e.c#L354" d    r/4rypto/atm4l-as.c#L354" d    rd["L);355 /a>        return 0; 1201" id/a>           spin_unlock_irqresoor+5c1204s.c#L6912a a href="+code=valcr"5c12a a>1204ode=vers/crypto/atmMODULE_DESCRIPTION/4rypto/atm4l-aMODULE_DESCRIPTIONode=(uspanA_THRESHOtring">"Airqr AES hw acceleration support."        return 0; 120code=vers/crypto/atmMODULE_LICENSE/4rypto/atm4l-aMODULE_LICENSEode=(uspanA_THRESHOtring">"GPL v2"        return 0; 1206ode=vers/crypto/atmMODULE_AUTHO> >  a hreflaMODULE_AUTHO>ode=(uspanA_THRESHOtring">"NicoTHR Royer - Eukréa Electromatique"        return 0; lxr@t /ux.noode=l
lxr.t /ux.no kindly hosted by 55 /a> http://www.redpill-t /pro.no">Redpill L /pro ASode=,