linux/drivers/crypto/talitos.c
<<
>>
Prefs
   1/*
   2 * talitos - Freescale Integrated Security Engine (SEC) device driver
   3 *
   4 * Copyright (c) 2008-2011 Freescale Semiconductor, Inc.
   5 *
   6 * Scatterlist Crypto API glue code copied from files with the following:
   7 * Copyright (c) 2006-2007 Herbert Xu <herbert@gondor.apana.org.au>
   8 *
   9 * Crypto algorithm registration code copied from hifn driver:
  10 * 2007+ Copyright (c) Evgeniy Polyakov <johnpol@2ka.mipt.ru>
  11 * All rights reserved.
  12 *
  13 * This program is free software; you can redistribute it and/or modify
  14 * it under the terms of the GNU General Public License as published by
  15 * the Free Software Foundation; either version 2 of the License, or
  16 * (at your option) any later version.
  17 *
  18 * This program is distributed in the hope that it will be useful,
  19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21 * GNU General Public License for more details.
  22 *
  23 * You should have received a copy of the GNU General Public License
  24 * along with this program; if not, write to the Free Software
  25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  26 */
  27
  28#include <linux/kernel.h>
  29#include <linux/module.h>
  30#include <linux/mod_devicetable.h>
  31#include <linux/device.h>
  32#include <linux/interrupt.h>
  33#include <linux/crypto.h>
  34#include <linux/hw_random.h>
  35#include <linux/of_platform.h>
  36#include <linux/dma-mapping.h>
  37#include <linux/io.h>
  38#include <linux/spinlock.h>
  39#include <linux/rtnetlink.h>
  40#include <linux/slab.h>
  41#include <linux/string.h>
  42
  43#include <crypto/algapi.h>
  44#include <crypto/aes.h>
  45#include <crypto/des.h>
  46#include <crypto/sha.h>
  47#include <crypto/md5.h>
  48#include <crypto/aead.h>
  49#include <crypto/authenc.h>
  50#include <crypto/skcipher.h>
  51#include <crypto/hash.h>
  52#include <crypto/internal/hash.h>
  53#include <crypto/scatterwalk.h>
  54
  55#include "talitos.h"
  56
  57static void to_talitos_ptr(struct talitos_ptr *talitos_ptr, dma_addr_t dma_addr)
  58{
  59        talitos_ptr->ptr = cpu_to_be32(lower_32_bits(dma_addr));
  60        talitos_ptr->eptr = upper_32_bits(dma_addr);
  61}
  62
  63/*
  64 * map virtual single (contiguous) pointer to h/w descriptor pointer
  65 */
  66static void map_single_talitos_ptr(struct device *dev,
  67                                   struct talitos_ptr *talitos_ptr,
  68                                   unsigned short len, void *data,
  69                                   unsigned char extent,
  70                                   enum dma_data_direction dir)
  71{
  72        dma_addr_t dma_addr = dma_map_single(dev, data, len, dir);
  73
  74        talitos_ptr->len = cpu_to_be16(len);
  75        to_talitos_ptr(talitos_ptr, dma_addr);
  76        talitos_ptr->j_extent = extent;
  77}
  78
  79/*
  80 * unmap bus single (contiguous) h/w descriptor pointer
  81 */
  82static void unmap_single_talitos_ptr(struct device *dev,
  83                                     struct talitos_ptr *talitos_ptr,
  84                                     enum dma_data_direction dir)
  85{
  86        dma_unmap_single(dev, be32_to_cpu(talitos_ptr->ptr),
  87                         be16_to_cpu(talitos_ptr->len), dir);
  88}
  89
  90static int reset_channel(struct device *dev, int ch)
  91{
  92        struct talitos_private *priv = dev_get_drvdata(dev);
  93        unsigned int timeout = TALITOS_TIMEOUT;
  94
  95        setbits32(priv->chan[ch].reg + TALITOS_CCCR, TALITOS_CCCR_RESET);
  869/a>
cpine32" a>(priv->chan[ch].reg + TALITOS_CCCR, ) &a href="+code=TALITOS_CCCR_RESET" class="sref">TALITOS_CCCR_RESET);
a href="drivers/crypto/talitos.c#L579 id="L889 class="line" name="L889>  889/a>                 &&a-- href="+code=timeout" class="sref">timeout =
a href="drivers/crypto/talitos.c#L579 id="L9"  class="line" name="L9">>  899/a>                   href="+code=cpu_torelaxclass="sref">cpu_torelaxa>(>  9">>a>
1a>          if a href="+code=taleout" class="sref">timeout = <= 0) 2a>                   href="+code=cpv_geer class="sref">dir_geer a>(dev, 
<ch)
</a>                  turn fa- href="+code=tiEIOclass="sref">chEIOa>;
/a>          5a>
/a>        /*
/a>           href="+code=setbits32" class="sref">setbits32(priv->chan[ch].reg + chLITOS_CCCR" _LOa>, chLITOS_CCCR" _LO_EAEa> + |a href="drivers/crypto/talitos.c#L8210 id="L18"0 class="line" name="L18"08  9">/a>                     href="+code=TALITOS_CCCR_RELO_CDWEclass="sref">chLITOS_CCCR" _LO_CDWEa> + |  href="+code=TALITOS_CCCR_RELO_CDIEclass="sref">chLITOS_CCCR" _LO_CDIEa>)
</a>
  1110a>        /*
1  9"11a>          if a href="+code=taiv" class="sref">priv->upfearn e a>   &a href="+code=TALITOS_CCFTR_HW_AUTH_CHECKclass="sref">chLITOS_CCFTR_HW_AUTH_CHECKa> =
a href="drivers/crypto/talitos.c#L571" id="L12"" class="line" name="L12"">  1112a>                   href="+code=cptbits32" class="sref">setbits32(priv->chan[ch].reg + chLITOS_CCCR" _LOa>,   111/a>                             href="+code=TALITOS_CCCR_RELO_IWSEclass="sref">chLITOS_CCCR" _LO_IWSEa>)
<  111/a>
  111/a>          11(<  111/a>
  11deset_chvice" a>(struct device *dev, 
a href="drivers/crypto/talitos.c#L571" id="L19"" class="line" name="L19"">  11  2120a>        talitos_private *priv = dev_get_drvdata(dev);
  2121a>          signed int timeout = TALITOS_TIMEOUT;
  212/a>        seu(mapc/a> = TALITOS_CCM" _SW a>;
  212/a>
  212/a>        setbits32(priv->reg + TALITOS_CCM, mapc/a> =
  2125a>
  212/a>        cpine32" a>(priv->reg + TALITOS_CCM, ) &a href="+code=TALITOS_CCM" _SW class="sref">TALITOS_CCM" _SW a>;

a href="drivers/crypto/talitos.c#L571" id="L271" class="line" name="L271">  212/a>                 &&a-- href="+code=timeout" class="sref">timeout =
a href="drivers/crypto/talitos.c#L571" id="L281" class="line" name="L281">  212/a>                   href="+code=cpu_torelaxclass="sref">cpu_torelaxa>(  212/a>
  3130a>        priv->cpirqa>[  3131a>                   href="+code=cppc class="sref">mapc/a> = TALITOS_CCM" _RCA1a> + |  href="+code=TALITOS_CCM" _RCA3class="sref">TALITOS_CCM" _RCA3a>;
  3132a>                   href="+code=cptbits32" class="sref">setbits32(priv->reg + TALITOS_CCM, mapc/a> =
>  213/a>            313/a>
  3135a>        timeout = <= 0)   3136a>                   href="+code=cpv_geer class="sref">dir_geer a>(dev, 
<
  313/a>                  turn fa- href="+code=tiEIOclass="sref">chEIOa>;
  3138a>            313/a>
  4140a>          414/a>}
  41
  414/a>/*
  414/a> * maRet_c d/o initiitozthean>
  414/a> */
  414/a>static vot deinithvice" a>(struct device *dev, 
a href="drivers/crypto/talitos.c#L571" id="L471" class="line" name="L471">  41#i  4148a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  414/a>          t ch)
dier a>(<  515>a>
  5151a>          pan class="comment">/*
  515/a> *<<<<<<<<<* Masr toset_cspan>
  515/a> * <<<<<<<<* er aion, :arrang:
  515/a> * <<<<<<<<* e Fonot fullylasee Fby
  515/a> */<<<<<<<<* t_c b antwe dr h/mmepletelylset_cspan>
  515/a> */<<<<<<<<*/span>
  515/a>           href="+code=seer class="sref">dier a>(< deset_chvice" a>(st href="+code=dev" class="sref">dev);
  5158a>          if a href="+code=taer class="sref">dier a>(<
a href="drivers/crypto/talitos.c#L571" id="L591" class="line" name="L591">  515/a>                  turn fa href="+code=TAer class="sref">dier a>(<  616>a>
  6161a>           href="+code=seer class="sref">dier a>(< deset_chvice" a>(st href="+code=dev" class="sref">dev);
  6162a>          if a href="+code=taer class="sref">dier a>(<
a href="drivers/crypto/talitos.c#L571" id="L631" class="line" name="L631">  616/a>                  turn fa href="+code=TAer class="sref">dier a>(<  616/a>
  6165a>          pan class="comment">/*
  6166a>          r moa href="+code=ta" class="sref">ch)
 ch)
 t;priv->upnumhannel(<ch)
++)   61                   href="+code=seer class="sref">dier a>(< reset_channel(st href="+code=dev" class="sref">dev, ch)

  61                  if a href="+code=taer class="sref">dier a>(<
a href="drivers/crypto/talitos.c#L571" id="L591" class="line" name="L691">  61                          turn fa href="+code=TAer class="sref">dier a>(<  71            71{
a href="drivers/crypto/talitos.c#L621" id="L621" class="line" name="L721">  71        /*
  7173a>           href="+code=setbits32" class="sref">setbits32(priv->reg + TALITOS_CCIM a>, TALITOS_TIIM _INI a>)

  71        setbits32(priv->reg + chLITOS_CCIM _LOa>, TALITOS_TIIM _LO_INI a>)

  7175a>
  717/a>        /*
>  617/a>          if a href="+code=taiv" class="sref">priv->upfearn e a>   &a href="+code=TALITOS_CCFTR_HW_AUTH_CHECKclass="sref">chLITOS_CCFTR_HW_AUTH_CHECKa> =
a href="drivers/crypto/talitos.c#L571" id="L781" class="line" name="L781">  717/a>                   href="+code=cptbits32" class="sref">setbits32(priv->reg + chLITOS_CCMDEUI" _LOa>,   717/a>                             href="+code=TALITOS_CCMDEUI" _LO_ICEclass="sref">chLITOS_CCMDEUI" _LO_ICEa>)

  818>a>
  8181a>          turn fa0  81st  818/a>
  818/a> */*/span>
  818/a> * theitos_prbmit=" - bmit="s aescriptor po the Frvice drr moprocetnglespan>
  818/a> * (a@vic:        e FrSEC vice dr th usefudspan>
  818/a> * Co@ch:         e FrSEC vice drannel
>  718/a> * Th@scri:       e Frscriptor po th usprocetnFbyan>
  818/a> * bu@callback:   whomr h/mall whenoprocetngles dimmepletespan>
  919/a> * un@ntigext:    hred/oldrr mous r
  919/a> */
  919/a> *
  919/a> * Yocallback must nheck er rd/o feedback inrscriptor pohead
  919/a> * mar movice drprocetnglesaticu
  919/a> */
  819/a>
talitos_prbmit="a>(struct device *dev, int ch)
, ruct talitos_prscria> *tascria> *ch)

truct device *dev,
talitos_prscria> *tascria> *>  819/a>                                      id *ch, int dier o/a>),
ch, 
a href="drivers/crypto/talitos.c#L5720 id="L1120 class="line" name="L11201  920/a>{
talitos_private *priv = dev_get_drvdata(dev);
talitos_prreques"a> *tareques"a> *upflag a> *upheada> *tatpin_ck.h_irqsav a>(priv->chan[ch].uphead_ck.ha>, upflag a> *
upatomic_inc_not_zeroa>(priv->chan[ch].exbmit="_cou" a> *
)   121/a>                   an class="comment">/*
tatpin_unck.h_irqsetr p a>(priv->chan[ch].uphead_ck.ha>, upflag a> *
  1212a>                  turn fa- href="+code=tiEAGAINclass="sref">upEAGAINa> *  121/a>            121/a>
  121/a>        upheada> * priv->chan[ch].upheada> *  121/a>        tareques"a> * priv->chan[ch].upfifoa>[upheada> *]  121/a>
  121/a>           an class="comment">/*
  121/a>        tareques"a> *gt;tas_dat"ria> = dma_map_single(dev, tascria> *< sizeof(a href="+code=det"riclass="sref">tascria> *
  222/a>                                   en      taDMA_BIDIRECTIONALa> *
  2221a>           href="+code=sereques"class="sref">tareques"a> *gt;ch)
 ch)
  222/a>        tareques"a> *gt;ch,  ch,   222/a>
  222/a>        /*efifoshead/
  222/a>        priv->chan[ch].upheada> * priv->chan[ch].upheada> * + 1) &aa href="+code=taiv" class="sref">priv->lefifo_n" a> * - 1)  222/a>
  222/a>           href="+code=setmp_wmbclass="sref">tatmp_wmba>(  222/a>           href="+code=tareques"class="sref">tareques"a> *gt;tascria> * tascria> *  222/a>
  3230a>        /*
  3231a>           href="+code=sewmbclass="sref">tawmba>(  323/a>        cpoute32" a>(priv->chan[ch].reg + reLITOS_CCFFa> *upper_32_bits(tareques"a> *gt;tas_dat"ria> =))  323/a>        cpoute32" a>(priv->chan[ch].reg + chLITOS_CCFF_LOa> *  3235a>        uplow_32_bits" a>(tareques"a> *gt;tas_dat"ria> =))  323/a>
  323/a>           href="+code=setpin_unck.h_irqsetr p class="sref">tatpin_unck.h_irqsetr p a>(priv->chan[ch].uphead_ck.ha>, upflag a> *
  323/a>
  323/a>        upEINPROGRESSa> *  4240a>    424/a>}
 href="+code=tiEXPORT_SYMBOLclass="sref">taEXPORT_SYMBOLa>(talitos_prbmit="a>(s
  42
  424/a>/*
  424/a> * maprocetn what was ne" ,onotifyocallback of er  motfonotspan>
  424/a> */
  424/a>static void reflushhannel" a>(device *dev, int ch)
, t dier o/a>),, t taret_chana>(s
a href="drivers/crypto/talitos.c#L662" id="L272" class="line" name="L472">  42#i  4248a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  424/a>          ruct talitos_prreques"a> *tareques"a> *tatav drreqa> *  5250a>        upflag a> *  5251a>          t remii a> *tatticu *  525/a>
  5253a>           href="+code=setpin_ck.h_irqsav class="sref">tatpin_ck.h_irqsav a>(priv->chan[ch].upmii _ck.ha>, upflag a> *
  525/a>
  525/a>        remii a> * priv->chan[ch].remii a> *  525/a>        priv->chan[ch].upfifoa>[remii a> *tascria> *
   525/a>                   href="+code=sereques"class="sref">tareques"a> * priv->chan[ch].upfifoa>[remii a> *<  525/a>
  525/a>                   an class="comment">/*
  626/a>                   href="+code=sermbclass="sref">tarmba>(  6261a>                  tf (a href="+code=dmreques"class="sref">tareques"a> *gt;tascria> *gt;dihdma>   &a href="+code=TADESC_HDR_DONEclass="sref">chDESC_HDR_DONEa> *
 =chDESC_HDR_DONEa> *
a href="drivers/crypto/talitos.c#L922" id="L422" class="line" name="L622">  6262a>                           href="+code=setticutatticu *   626/a>                  elsea href="drivers/crypto/talitos.c#L922" id="L442" class="line" name="L642">  6264a>                          tf (! href="+code=TAer  mclass="sref">dier o/a>),
a href="drivers/crypto/talitos.c#L922" id="L552" class="line" name="L652">  6265a>          6266a>                          elsea href="drivers/crypto/talitos.c#L922" id="L572" class="line" name="L672">  62                                   href="+code=setticutatticu * dier o/a>),;a href="drivers/crypto/talitos.c#L922" id="L482" class="line" name="L682">  626/a>
  62                   href="+code=cha_daunp_single" class="sref">dma_maunp_single" a>(dev);tareques"a> *gt;tas_dat"ria> =  727/a>                                   sizeof(ruct talitos_prscria> *
  7271a>                                    href="+code=seDMA_BIDIRECTIONALclass="sref">taDMA_BIDIRECTIONALa> *
  727/a>
  727/a>                   an class="comment">/*rie  to w rman/mall callback outside ck.ho
  7274a>                   href="+code=TAsav drreqclass="sref">tatav drreqa> *a href="+code=ret"riclass="sref">tascria> * tareques"a> *gt;tascria> *  7275a>        tatav drreqa> *a href="+code=recallbackclass="sref">ch)
 tareques"a> *gt;ch)
  7276a>                   href="+code=TAsav drreqclass="sref">tatav drreqa> *a href="+code=rectigextclass="sref">ch,  tareques"a> *gt;ch,   727/a>                   an class="comment">/*ry inrfifos
  727/a>                   href="+code=TAsmp_wmbclass="sref">tatmp_wmba>(  828/a>                   href="+code=sereques"class="sref">tareques"a> *gt;tascria> * taNULLa>,   828/a>{
a href="drivers/crypto/talitos.c#L622" id="L822" class="line" name="L822">  8282a>                   an class="comment">/*efifosmii s
  828/a>                   href="+code=priv" class="sref">priv->chan[ch].remii a> * remii a> * + 1) &aa href="+code=taiv" class="sref">priv->lefifo_n" a> * - 1)  828/a>
  8285a>        tatpin_unck.h_irqsetr p a>(priv->chan[ch].upmii _ck.ha>, upflag a> *
  828/a>
  828/a>                   href="+code=seatomic_deiclass="sref">taatomic_deia>(priv->chan[ch].exbmit="_cou" a> *
  828/a>                   href="+code=TAsav drreqclass="sref">tatav drreqa> *a href="+code=recallbackclass="sref">ch)
a href="+code=dev" class="sref">dev);tatav drreqa> *a href="+code=ret"riclass="sref">tascria> *tatav drreqa> *a href="+code=rentigextclass="sref">ch, ia href="drivers/crypto/talitos.c#L792  id="L802" class="line" name="L902">  929/a>                                   en href="+code=setticutatticu *
  9291a>                   an class="comment">/*
  9292a>                  if a href="+code=taer  mclass="sref">dier o/a>), &&a! href="+code=TAset_chanclass="sref">taret_chana>(s &&a href="+code=setticutatticu * <dier o/a>),
a href="drivers/crypto/talitos.c#L922" id="L932" class="line" name="L932">  929/a>                          turn f  9294a>                   href="+code=TAspin_ck.h_irqsav class="sref">tatpin_ck.h_irqsav a>(priv->chan[ch].upmii _ck.ha>, upflag a> *
  9295a>        remii a> * priv->chan[ch].remii a> *  8296a>          tatpin_unck.h_irqsetr p a>(priv->chan[ch].upmii _ck.ha>, upflag a> *
 *
 *an>
 * Y/span>
chDEF_LITOS_CCDONEa>)
a href="+code=deme="class="sref">chme="a>, ch *
                            \a href="drivers/crypto/talitos.c#L66305id="L2430 class="line" name="L95305  9305a>  atic void talitos_prse" _a>  ##me="(signed inng wi href="+code=chta" class="sref">deva(<
                     \a href="drivers/crypto/talitos.c#L66306id="L2430         enum device *dev,  device *deva(<;                     \a href="drivers/crypto/talitos.c#L66308id="L2430 class="line" name="L88308  9308a>          ruct talitos_private *priv = dev_get_drvdata(dev);
<            \a href="drivers/crypto/talitos.c#L66309id="L2430 class="line" name="L19309  930/a>          signed inng wi href="+code=chflag class="sref">upflag a> *<                                            \a href="drivers/crypto/talitos.c#L663" id="L103" class="line" name="L103">  131/a>                                                                          \a href="drivers/crypto/talitos.c#L663" id="L113  class="line" name="L113>1  9311a>          if a href="+code=tach_ne" _maskclass="sref">ch * &a1
                                           \a href="drivers/crypto/talitos.c#L663" id="L123" class="line" name="L123">  1312a>                   href="+code=chflushhannel" class="sref">reflushhannel" a>(dev);  131/a>          if a href="+code=taiv" class="sref">priv->upnumhannel(< <  1314a>                  gotoa href="+code=taoutclass="sref">upouta> *<                                               \a href="drivers/crypto/talitos.c#L663"5id="L243" class="line" name="L153">  131/a>        ch * &a(1 t;  1316a>                   href="+code=TAflushhannel" class="sref">reflushhannel" a>(dev);  131/a>          if a href="+code=tach_ne" _maskclass="sref">ch * &a(1 t;  131/a>                   href="+code=TAflushhannel" class="sref">reflushhannel" a>(dev);  131/a>          tf ( href="+code=tach_ne" _maskclass="sref">ch * &a(1 t;  232/a>                   href="+code=TAflushhannel" class="sref">reflushhannel" a>(dev);  2321a>                                                                          \a href="drivers/crypto/talitos.c#L663" id="L123" class="line" name="L223">  232/a>   href="+code=taoutclass="sref">upouta> *:                                                                    \a href="drivers/crypto/talitos.c#L663"3id="L123" class="line" name="L233">  2323a>           an class="comment">/*
< \a href="drivers/crypto/talitos.c#L663" id="L243" class="line" name="L243">  232/a>        /*
<   \a href="drivers/crypto/talitos.c#L663"5id="L243" class="line" name="L253">  232/a>        tatpin_ck.h_irqsav a>(priv->upreg_ck.ha>, upflag a> *
<                      \a href="drivers/crypto/talitos.c#L663"6id="L243" class="line" name="L263">  232/a>        setbits32(priv->reg + TALITOS_CCIM a>, ch *
<               \a href="drivers/crypto/talitos.c#L663"7id="L243" class="line" name="L273">  232/a>           href="+code=setbits32" class="sref">setbits32(priv->reg + chLITOS_CCIM _LOa>, TALITOS_TIIM _LO_INI a>)

<     \a href="drivers/crypto/talitos.c#L663"8id="L243" class="line" name="L283">  232/a>           href="+code=taspin_unck.h_irqsetr p class="sref">tatpin_unck.h_irqsetr p a>(priv->upreg_ck.ha>, upflag a> *
<                 \a href="drivers/crypto/talitos.c#L663"9id="L243" class="line" name="L293">  232/a>    3330a>   href="+code=deDEF_LITOS_CCDONEclass="sref">chDEF_LITOS_CCDONEa>)
a4chchLITOS_CCISR_4CHDONEa>),
a href="drivers/crypto/talitos.c#L923" id="L313" class="line" name="L313">  333/a>}
 href="+code=tiDEF_LITOS_CCDONEclass="sref">chDEF_LITOS_CCDONEa>)
a href="+code=dech0_ class="sref">sech0_ a>, chLITOS_CCISR_CH_0_ CDONEa>),
a href="drivers/crypto/talitos.c#L923" id="L123" class="line" name="L323">  333/a>   href="+code=taDEF_LITOS_CCDONEclass="sref">chDEF_LITOS_CCDONEa>)
a href="+code=dech1_3class="sref">sech1_3a>, chLITOS_CCISR_CH_1_3CDONEa>),
a href="drivers/crypto/talitos.c#L923"3id="L123  class="line" name="L133>>  233/a>
  333/a> */*span>
  333/a> * thck.ee(offending) dcriptor pspan>
  333/a> * (/span>
  333/a>  atic vo href="+code=TAu" class="sref">seu3/a>    href="+code=decurrt">rscri_hdmclass="sref">dicurrt">rscri_hdma>)
aruct device *dev, int ch)

a href="drivers/crypto/talitos.c#L923"8id="L243" class="line" name="L383">  333/a>
<  333/a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  434/a>          t remii a> * priv->chan[ch].remii a> *  4341a>           href="+code=ses_daddds_tclass="sref">ups_daddds_ta>    href="+code=decur_t"riclass="sref">tacur_t"ria> *  43
  4343a>           href="+code=secur_t"riclass="sref">tacur_t"ria> * cpin_32" a>(priv->chan[ch].reg + chLITOS_CCCDP _LOa>);
  434/a>
  434/a>        priv->chan[ch].upfifoa>[remii a> *tas_dat"ria> = !tacur_t"ria> *
   4346a>                   href="+code=TAmii class="sref">remii a> * remii a> * + 1) &aa href="+code=taiv" class="sref">priv->lefifo_n" a> * - 1)  434/a>                  tf ( href="+code=tamii class="sref">remii a> * <priv->chan[ch].remii a> *
   434/a>                           href="+code=ses_geermclass="sref">dis_geerma>(dev);"could"'t ck.eedcriptor p\n"span>
<)  434/a>                          turn fa0;a href="drivers/crypto/talitos.c#L923" id="L503" class="line" name="L503">  535/a>                    5351a>            535/a>
  5353a>          turn fa href="+code=deiv" class="sref">priv->chan[ch].upfifoa>[remii a> *tascria> *gt;dihdma>  ;a href="drivers/crypto/talitos.c#L923" id="L243" class="line" name="L543">  535/a>
<  535/a>  a href="drivers/crypto/talitos.c#L893" id="L463" class="line" name="L563">  535/a> */*span>
  535/a>  pan class="comment"> * thuser tiagnostics; tuport root cause of er  mobaned/on execution unitrtticuan>
  535/a>
 * (/span>
  535/a>  atic void dituport_eu_er  ma>)
aruct device *dev, int ch)
seu3/a>    href="+code=descri_hdmclass="sref">discri_hdma>)

a href="drivers/crypto/talitos.c#L923" id="L603" class="line" name="L603">  636/a>    6361a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  6362a>          t cpia>  ;a href="drivers/crypto/talitos.c#L923" id="L433" class="line" name="L633">  636/a>
  6364a>          tf (! href="+code=TAscri_hdmclass="sref">discri_hdma>)

a href="drivers/crypto/talitos.c#L923" id="L153" class="line" name="L653">  6365a>        discri_hdma>)
 cpin_32" a>(priv->chan[ch].reg + reLITOS_CCDESCBUFa>);
  636/a>
  63          switch ( href="+code=tascri_hdmclass="sref">discri_hdma>)
 &a href="+code=TADESC_HDR_SEL0_MASKclass="sref">chDESC_HDR_SEL0_MASKa> *
   636/a>          case  href="+code=TADESC_HDR_SEL0_AFEUclass="sref">chDESC_HDR_SEL0_AFEUa>  :a href="drivers/crypto/talitos.c#L923" id="L593" class="line" name="L693">  63                   href="+code=cha_geermclass="sref">dis_geerma>(dev);"AFEUISR 0x%08x_%08x\n"span>
  737/a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + reLITOS_CCAFEUISRa> *
ia href="drivers/crypto/talitos.c#L793" id="L613" class="line" name="L713">  7371a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCAFEUISR_LOa> *

  7372a>                  break;a href="drivers/crypto/talitos.c#L923" id="L733" class="line" name="L733">  737/a>          case  href="+code=TADESC_HDR_SEL0_DEUclass="sref">chDESC_HDR_SEL0_DEUa>  :a href="drivers/crypto/talitos.c#L923" id="L743" class="line" name="L743">  7374a>                   href="+code=TAa_geermclass="sref">dis_geerma>(dev);"DEUISR 0x%08x_%08x\n"span>
  7375a>        cpin_32" a>(priv->reg + reLITOS_CCDEUISRa> *
ia href="drivers/crypto/talitos.c#L793" id="L463" class="line" name="L763">  7376a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCDEUISR_LOa> *

  737/a>          case  href="+code=TADESC_HDR_SEL0_MDEUAclass="sref">chDESC_HDR_SEL0_MDEUAa>  :a href="drivers/crypto/talitos.c#L923" id="L593" class="line" name="L793">  737/a>          case  href="+code=TADESC_HDR_SEL0_MDEUBclass="sref">chDESC_HDR_SEL0_MDEUBa>  :a href="drivers/crypto/talitos.c#L923" id="L803" class="line" name="L803">  838/a>                   href="+code=sea_geermclass="sref">dis_geerma>(dev);"MDEUISR 0x%08x_%08x\n"span>
  8381a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + reLITOS_CCMDEUISRa> *
ia href="drivers/crypto/talitos.c#L793" id="L823" class="line" name="L823">  8382a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCMDEUISR_LOa> *

  838/a>                  break;a href="drivers/crypto/talitos.c#L923" id="L843" class="line" name="L843">  8384a>          case  href="+code=TADESC_HDR_SEL0_RNGclass="sref">chDESC_HDR_SEL0_RNGa>  :a href="drivers/crypto/talitos.c#L923" id="L153" class="line" name="L853">  8385a>        dis_geerma>(dev);"RNGUISR 0x%08x_%08x\n"span>
  8386a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCRNGUISRa> *
ia href="drivers/crypto/talitos.c#L793" id="L573" class="line" name="L873">  838/a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCRNGUISR_LOa> *

  838/a>          case  href="+code=TADESC_HDR_SEL0_PKEUclass="sref">chDESC_HDR_SEL0_PKEUa>  :a href="drivers/crypto/talitos.c#L923  id="L803" class="line" name="L903">  939/a>                   href="+code=TAa_geermclass="sref">dis_geerma>(dev);"PKEUISR 0x%08x_%08x\n"span>
  9391a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCPKEUISRa> *
ia href="drivers/crypto/talitos.c#L793  id="L823" class="line" name="L923">  9392a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCPKEUISR_LOa> *

  939/a>                  break;a href="drivers/crypto/talitos.c#L923  id="L843" class="line" name="L943">  9394a>          case  href="+code=TADESC_HDR_SEL0_AESUclass="sref">chDESC_HDR_SEL0_AESUa>  :a href="drivers/crypto/talitos.c#L923  id="L153" class="line" name="L953">  9395a>        dis_geerma>(dev);"AESUISR 0x%08x_%08x\n"span>
cpin_32" a>(priv->reg + chLITOS_CCAESUISRa> *
ia href="drivers/crypto/talitos.c#L793  id="L5739 class="line" name="L8739>  839/a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCAESUISR_LOa> *

chDESC_HDR_SEL0_CRCUa>  :a href="drivers/crypto/talitos.c#L9240 id="L104  class="line" name="L104>>  940/a>                   href="+code=TAa_geermclass="sref">dis_geerma>(dev);"CRCUISR 0x%08x_%08x\n"span>
cpin_32" a>(priv->reg + chLITOS_CCCRCUISRa> *
ia href="drivers/crypto/talitos.c#L7940 id="L1240 class="line" name="L12402  9402a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCCRCUISR_LOa> *

chDESC_HDR_SEL0_KEUa>  :a href="drivers/crypto/talitos.c#L92405id="L2440 class="line" name="L95405  9405a>        dis_geerma>(dev);"KEUISR 0x%08x_%08x\n"span>
cpin_32" a>(priv->reg + chLITOS_CCKEUISRa> *
ia href="drivers/crypto/talitos.c#L79407id="L2440 class="line" name="L87407  940/a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCKEUISR_LOa> *

  141>a>
discri_hdma>)
 &a href="+code=TADESC_HDR_SEL1_MASKclass="sref">chDESC_HDR_SEL1_MASKa> *
   1412a>          case  href="+code=TADESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>  :a href="drivers/crypto/talitos.c#L924"3id="L124" class="line" name="L134">  141/a>          case  href="+code=TADESC_HDR_SEL1_MDEUBclass="sref">chDESC_HDR_SEL1_MDEUBa>  :a href="drivers/crypto/talitos.c#L924" id="L244" class="line" name="L144">  1414a>                   href="+code=sea_geermclass="sref">dis_geerma>(dev);"MDEUISR 0x%08x_%08x\n"span>
  1415a>        cpin_32" a>(priv->reg + reLITOS_CCMDEUISRa> *
ia href="drivers/crypto/talitos.c#L794"6id="L244" class="line" name="L164">  1416a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCMDEUISR_LOa> *

  141/a>                  break;a href="drivers/crypto/talitos.c#L924"8id="L244" class="line" name="L184">  141/a>          case  href="+code=TADESC_HDR_SEL1_CRCUclass="sref">chDESC_HDR_SEL1_CRCUa>  :a href="drivers/crypto/talitos.c#L924"9id="L244" class="line" name="L194">  141/a>                   href="+code=cha_geermclass="sref">dis_geerma>(dev);"CRCUISR 0x%08x_%08x\n"span>
  242/a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCCRCUISRa> *
ia href="drivers/crypto/talitos.c#L794" id="L114" class="line" name="L214">  2421a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCCRCUISR_LOa> *

  2422a>                  break;a href="drivers/crypto/talitos.c#L924"3id="L124" class="line" name="L234">  2423a>            242/a>
  242/a>        cpia>   = 0;a href="+code=TAiclass="sref">cpia>   t;cpia>  ++
a href="drivers/crypto/talitos.c#L924"6id="L244" class="line" name="L264">  2426a>                   href="+code=cha_geermclass="sref">dis_geerma>(dev);"DESCBUF 0x%08x_%08x\n"span>
  242/a>                           href="+code=dein_32" class="sref">cpin_32" a>(priv->chan[ch].reg + reLITOS_CCDESCBUFa>); cpia>  
ia href="drivers/crypto/talitos.c#L794"8id="L244" class="line" name="L284">  242/a>                           href="+code=sein_32" class="sref">cpin_32" a>(priv->chan[ch].reg + chLITOS_CCDESCBUF_LOa>); cpia>  

  242/a>    343>a>
  343/a> *
  343/a> *
 * Y/span>
  343/a>dilitos_prer  ma>(device *dev, in href="+code=deu" class="sref">seu3/a>    href="+code=deismclass="sref">diisma>, in href="+code=deu" class="sref">seu3/a>    href="+code=deism_loclass="sref">upism_loa>  
a href="drivers/crypto/talitos.c#L664"5id="L244" class="line" name="L354">  343/a>  3436a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  343/a>          signed int upmimeouta> = TALITOS_TITIMEOU a> =  343/a>          t ch)
dier o/a>),deret_chv" a>   = 0taret_chana>(s =a0;a href="drivers/crypto/talitos.c#L924" id="L294" class="line" name="L394">  343/a>           href="+code=deu" class="sref">seu3/a>    href="+code=de class="sref">de/a>, in href="+code=dev_loclass="sref">upv_loa>  ;a href="drivers/crypto/talitos.c#L924" id="L404" class="line" name="L404">  444>a>
  4441a>          r moa href="+code=pr" class="sref">ch)
 = 0;a href="+code=TA" class="sref">ch)
 t;priv->upnumhannel(<;a href="+code=TA" class="sref">ch)
++
   4442a>                   an class="comment">/*
  444/a>                  tf (!a href="+code=prismclass="sref">diisma>,  &a(1 t;ch)
 * 2 + 1))))a href="drivers/crypto/talitos.c#L664" id="L244" class="line" name="L444">  4444a>                          continue;a href="drivers/crypto/talitos.c#L924"5id="L244" class="line" name="L454">  444/a>  a href="drivers/crypto/talitos.c#L894" id="L464" class="line" name="L464">  4446a>                   href="+code=TAer  mclass="sref">dier o/a>), = - href="+code=TAEINVALclass="sref">diEINVALa>  ;a href="drivers/crypto/talitos.c#L924"7id="L244" class="line" name="L474">  444/a>
  444/a>                   href="+code=de class="sref">de/a>,  cpin_32" a>(priv->chan[ch].reg + chLITOS_CCCCPSRa>);
  444/a>                   href="+code=dev_loclass="sref">upv_loa>   cpin_32" a>(priv->chan[ch].reg + chLITOS_CCCCPSR_LOa>);
  545>a>
  5451a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_DOFclass="sref">reLITOS_CCCCPSR_LO_DOFa> *
   5452a>                           href="+code=dea_geermclass="sref">dis_geerma>(dev);"double fetch fifo ors/flow er  m\n"span>
<)  545/a>                           href="+code=TAer  mclass="sref">dier o/a>), = - href="+code=TAEAGAINclass="sref">diEAGAINa>  ;a href="drivers/crypto/talitos.c#L924" id="L244" class="line" name="L544">  5454a>                           href="+code=TAret_chanclass="sref">taret_chana>(s =a1;a href="drivers/crypto/talitos.c#L924"5id="L244" class="line" name="L554">  5455a>          5456a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_SOFclass="sref">reLITOS_CCCCPSR_LO_SOFa> *
   545/a>                           an class="comment">/*
  545/a>                           href="+code=ses_geermclass="sref">dis_geerma>(dev);"single fetch fifo ors/flow er  m\n"span>
<)  545/a>                           href="+code=TAer  mclass="sref">dier o/a>), = - href="+code=TAEAGAINclass="sref">diEAGAINa>  ;a href="drivers/crypto/talitos.c#L924" id="L604" class="line" name="L604">  646/a>                    6461a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_MDTEclass="sref">reLITOS_CCCCPSR_LO_MDTEa>  
a href="drivers/crypto/talitos.c#L664" id="L124" class="line" name="L624">  6462a>                           href="+code=dea_geermclass="sref">dis_geerma>(dev);"mas
<)  646/a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_SGDLZclass="sref">reLITOS_CCCCPSR_LO_SGDLZa>  
a href="drivers/crypto/talitos.c#L664" id="L244" class="line" name="L644">  6464a>                           href="+code=TAs_geermclass="sref">dis_geerma>(dev);"s/g ta
<)  6465a>        upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_FPZclass="sref">reLITOS_CCCCPSR_LO_FPZa>  
a href="drivers/crypto/talitos.c#L664" id="L464" class="line" name="L664">  6466a>                           href="+code=des_geermclass="sref">dis_geerma>(dev);"fetch inter/r zero er  m\n"span>
<)  646/a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_IDHclass="sref">reLITOS_CCCCPSR_LO_IDHa>  
a href="drivers/crypto/talitos.c#L664" id="L484" class="line" name="L684">  646/a>                           href="+code=ses_geermclass="sref">dis_geerma>(dev);"illegaledcriptor p head/r er  m\n"span>
<)  64                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_IEUclass="sref">chLITOS_CCCCPSR_LO_IEUa>  
a href="drivers/crypto/talitos.c#L664" id="L704" class="line" name="L704">  747/a>                           href="+code=des_geermclass="sref">dis_geerma>(dev);"invitod execution unitrer  m\n"span>
<)  7471a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_EUclass="sref">chLITOS_CCCCPSR_LO_EUa>  
a href="drivers/crypto/talitos.c#L664" id="L124" class="line" name="L724">  7472a>                           href="+code=detuport_eu_er  mclass="sref">dituport_eu_er  ma>)
a href="+code=dev" class="sref">dev, in href="+code=de" class="sref">ch)
rscri_hdmclass="sref">dicurrt">rscri_hdma>)
a href="+code=dev" class="sref">dev, in href="+code=de" class="sref">ch)


  747/a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_GBclass="sref">chLITOS_CCCCPSR_LO_GBa>  
a href="drivers/crypto/talitos.c#L664" id="L244" class="line" name="L744">  7474a>                           href="+code=des_geermclass="sref">dis_geerma>(dev);"gath/r boundaryrer  m\n"span>
<)  7475a>        upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_GRLclass="sref">diLITOS_CCCCPSR_LO_GRLa>  
a href="drivers/crypto/talitos.c#L664" id="L464" class="line" name="L764">  7476a>                           href="+code=des_geermclass="sref">dis_geerma>(dev);"gath/r turn f/length er  m\n"span>
<)upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_SBclass="sref">chLITOS_CCCCPSR_LO_SBa>  
a href="drivers/crypto/talitos.c#L664" id="L484" class="line" name="L784">  747/a>                           href="+code=ses_geermclass="sref">dis_geerma>(dev);"scatt/r boundaryrer  m\n"span>
<)  747/a>                  tf ( href="+code=tav_loclass="sref">upv_loa>   &a href="+code=TALITOS_CCCCPSR_LO_SRLclass="sref">diLITOS_CCCCPSR_LO_SRLa>  
a href="drivers/crypto/talitos.c#L664" id="L804" class="line" name="L804">  848/a>                           href="+code=ses_geermclass="sref">dis_geerma>(dev);"scatt/r turn f/length er  m\n"span>
<)  8481a>  a href="drivers/crypto/talitos.c#L924" id="L124" class="line" name="L824">  8482a>                   href="+code=deflushhanneldeflushhannel)
a href="+code=dev" class="sref">dev, in href="+code=de" class="sref">ch)
dier o/a>),taret_chana>(s)  848/a>
  8484a>                  tf ( href="+code=taret_chanclass="sref">taret_chana>(s)   8485a>        deret_channel)
a href="+code=dev" class="sref">dev, in href="+code=de" class="sref">ch)

  8486a>                  } else   848/a>                           href="+code=det_cbits" class="sref">cpt_cbits" a>(priv->chan[ch].reg + chLITOS_CCCCCRa>);ia href="drivers/crypto/talitos.c#L794" id="L484  class="line" name="L184>>  748/a>                                     href="+code=deLITOS_CCCCCR_CON class="sref">TALITOS_TICCCR_CON a>)

  848/a>                           href="+code=TAt_cbits" class="sref">cpt_cbits" a>(priv->chan[ch].reg + chLITOS_CCCCCR_LOa>);, 0
  949/a>                          whi (coa href="+code=prin_32" class="sref">cpin_32" a>(priv->chan[ch].reg + chLITOS_CCCCCRa>);) &a href="drivers/crypto/talitos.c#L924  id="L814" class="line" name="L914">  9491a>                                  href="+code=deLITOS_CCCCCR_CON class="sref">TALITOS_TICCCR_CON a>)

 &&a-- href="+code=TAmimeoutclass="sref">upmimeouta> =
a href="drivers/crypto/talitos.c#L664  id="L824" class="line" name="L924">  9492a>                                   href="+code=decpu_relaxclass="sref">ch(  949/a>                          tf ( href="+code=tamimeoutclass="sref">upmimeouta> = <= 0
   9494a>                                   href="+code=des_geermclass="sref">dis_geerma>(dev);"fai (d to tustartoannel
  9495a>        ch)

deret_chv" a>   = 1;a href="drivers/crypto/talitos.c#L924  id="L5749 class="line" name="L8749>  849/a>                          deret_chv" a>   ||  href="+code=deismclass="sref">diisma>,  &a~ href="+code=deLITOS_CCISR_4CHERRclass="sref">chLITOS_CCISR_4CHERRa>   ||  href="+code=deism_loclass="sref">upism_loa>  
 dis_geerma>(dev);"done ors/flow,oterrunal mime out, or rngu er  m: "span>
"ISR 0x%08x_%08x\n"span>
diisma>, in href="+code=deism_loclass="sref">upism_loa>  
;a href="drivers/crypto/talitos.c#L92503id="L1250 class="line" name="L93503  950/a>
/*
ch)
 = 0;a href="+code=TA" class="sref">ch)
 t;priv->upnumhannel(<;a href="+code=TA" class="sref">ch)
++
a href="drivers/crypto/talitos.c#L66506id="L2450         enum deflushhannel)
a href="+code=dev" class="sref">dev, in href="+code=de" class="sref">ch)
chEIOa>)
/*
deinit_vice" a>)
a href="+code=dev" class="sref">dev, 
;a href="drivers/crypto/talitos.c#L925" id="L105" class="line" name="L105">  1510a>            1512a>  a href="drivers/crypto/talitos.c#L895"3id="L125" class="line" name="L135">  151/a>  #defe"   href="+code=TADEF_LITOS_CCINTERRUP class="sref">TADEF_LITOS_CCINTERRUP a>)
a href="+code=deme="class="sref">upne="a>, in href="+code=de" _done_maskclass="sref">ch, in href="+code=de" _er _maskclass="sref">ch, in href="+code=detletclass="sref">upmleta>  
           \a href="drivers/crypto/talitos.c#L895" id="L245" class="line" name="L145">  151/a>upirqturn f_ta>    href="+code=detitos_prterrupt.h_class="sref">upmitos_prterrupt.h_a>  ##me="(t upirqa>, inid deva(<)               \a href="drivers/crypto/talitos.c#L895"5id="L245" class="line" name="L155">  1515a>  {                                                                              \a href="drivers/crypto/talitos.c#L895"6id="L245" class="line" name="L165">  1516a>          ruct device *dev,  deva(<;                                             \a href="drivers/crypto/talitos.c#L895"7id="L245" class="line" name="L175">  151/a>          ruct talitos_private *priv = dev_get_drvdata(dev);
<                   \a href="drivers/crypto/talitos.c#L895"8id="L245" class="line" name="L185">  151/a>           href="+code=deu" class="sref">seu3/a>    href="+code=deismclass="sref">diisma>, in href="+code=deism_loclass="sref">upism_loa>  ;                                                       \a href="drivers/crypto/talitos.c#L895"9id="L245" class="line" name="L195">  151/a>          signed inlong  href="+code=deflag class="sref">upflag a>  ;                                                   \a href="drivers/crypto/talitos.c#L895" id="L205" class="line" name="L205">  252/a>                                                                                 \a href="drivers/crypto/talitos.c#L895" id="L115" class="line" name="L215">  2521a>           href="+code=TAtpin_lock_irqsav class="sref">tatpin_lock_irqsav a>(priv->reg, in href="+code=deflag class="sref">upflag a>  
<                             \a href="drivers/crypto/talitos.c#L895"2id="L115" class="line" name="L225">  2522a>           href="+code=deismclass="sref">diisma>,  cpin_32" a>(priv->reg + chLITOS_CCISRa> *
;                                \a href="drivers/crypto/talitos.c#L895"3id="L125" class="line" name="L235">  2523a>           href="+code=deism_loclass="sref">upism_loa>   cpin_32" a>(priv->reg + chLITOS_CCISR_LOa> *
;                          \a href="drivers/crypto/talitos.c#L895" id="L245" class="line" name="L245">  2524a>           an class="comment">/*
<                                            \a href="drivers/crypto/talitos.c#L895"5id="L245" class="line" name="L255">  252/a>        cpout_32" a>(priv->reg + chLITOS_CCICRa>);i  href="+code=deismclass="sref">diisma>,  &aa href="+code=pr" _done_maskclass="sref">ch,  |  href="+code=de" _er _maskclass="sref">ch, )
; \a href="drivers/crypto/talitos.c#L895"6id="L245" class="line" name="L265">  2526a>           href="+code=TAout_32" class="sref">cpout_32" a>(priv->reg + chLITOS_CCICR_LOa>);,  href="+code=deism_loclass="sref">upism_loa>  
;                          \a href="drivers/crypto/talitos.c#L895"7id="L245" class="line" name="L275">  252/a>                                                                                 \a href="drivers/crypto/talitos.c#L895"8id="L245" class="line" name="L285">  252/a>          tf ( href="+code=taunlikelyclass="sref">seunlikelya>(diisma>,  &a href="+code=de" _er _maskclass="sref">ch,  ||  href="+code=deism_loclass="sref">upism_loa>  
) {                           \a href="drivers/crypto/talitos.c#L895"9id="L245" class="line" name="L295">  252/a>                   href="+code=detpin_unlock_irqtustor class="sref">tatpin_unlock_irqtustor a>(priv->reg, in href="+code=deflag class="sref">upflag a>  
<                \a href="drivers/crypto/talitos.c#L895" id="L305" class="line" name="L305">  353/a>                   href="+code=TAlitos_prer  mclass="sref">dilitos_prer  ma>(dev, in href="+code=deismclass="sref">diisma>,  &a href="+code=de" _er _maskclass="sref">ch, ,  href="+code=deism_loclass="sref">upism_loa>  
;                 \a href="drivers/crypto/talitos.c#L895" id="L115" class="line" name="L315">  3531a>          }                                                                      \a href="drivers/crypto/talitos.c#L895"2id="L115" class="line" name="L325">  3532a>          else <                                                                 \a href="drivers/crypto/talitos.c#L895"3id="L125  class="line" name="L135>>  253/a>                  tf ( href="+code=talikelyclass="sref">selikelya>(diisma>,  &a href="+code=de" _done_maskclass="sref">ch, 
) {                              \a href="drivers/crypto/talitos.c#L895" id="L245" class="line" name="L345">  3534a>                           an class="comment">/*
<                    \a href="drivers/crypto/talitos.c#L895"5id="L245" class="line" name="L355">  3535a>        cpclrbits" a>(priv->reg + chLITOS_CCIMRa>);i  href="+code=de" _done_maskclass="sref">ch, 
;      \a href="drivers/crypto/talitos.c#L895"6id="L245" class="line" name="L365">  3536a>                           an class="comment">/*
<    \a href="drivers/crypto/talitos.c#L895"7id="L245" class="line" name="L375">  353/a>                           href="+code=detasklet_schedul class="sref">talisklet_schedul a>(priv->devone_taska>-&a href="+code=chtletclass="sref">upmleta>  ]
;              \a href="drivers/crypto/talitos.c#L895"8id="L245" class="line" name="L385">  353/a>                  <                                                              \a href="drivers/crypto/talitos.c#L895"9id="L245" class="line" name="L395">  353/a>                   href="+code=detpin_unlock_irqtustor class="sref">tatpin_unlock_irqtustor a>(priv->reg, in href="+code=deflag class="sref">upflag a>  
<                \a href="drivers/crypto/talitos.c#L895" id="L405" class="line" name="L405">  4540a>          }                                                                      \a href="drivers/crypto/talitos.c#L895" id="L415" class="line" name="L415">  4541a>                                                                                 \a href="drivers/crypto/talitos.c#L895"2id="L115" class="line" name="L425">  4542a>          turn foa href="+code=prismclass="sref">diisma>,  &aa href="+code=pr" _done_maskclass="sref">ch,  |  href="+code=de" _er _maskclass="sref">ch, ) ||  href="+code=deism_loclass="sref">upism_loa>  
 ?  href="+code=deIRQ_HANDLEDclass="sref">upIRQ_HANDLEDa>,  :  \a href="drivers/crypto/talitos.c#L895"3id="L125" class="line" name="L435">  454/a>                                                                   href="+code=deIRQ_NONEclass="sref">reIRQ_NONEa>  ;      \a href="drivers/crypto/talitos.c#L895" id="L245" class="line" name="L445">  4544a>    454/a>   href="+code=TADEF_LITOS_CCINTERRUP class="sref">TADEF_LITOS_CCINTERRUP a>)
a4chin href="+code=deLITOS_CCISR_4CHDONEclass="sref">reLITOS_CCISR_4CHDONEa>, in href="+code=deLITOS_CCISR_4CHERRclass="sref">chLITOS_CCISR_4CHERRa>  , 0
a href="drivers/crypto/talitos.c#L895"6id="L245" class="line" name="L465">  4546a>   href="+code=TADEF_LITOS_CCINTERRUP class="sref">TADEF_LITOS_CCINTERRUP a>)
a href="+code=dech0_ class="sref">cpch0_ a>, in href="+code=deLITOS_CCISR_CH_0_ _DONEclass="sref">reLITOS_CCISR_CH_0_ _DONEa>, in href="+code=deLITOS_CCISR_CH_0_ _ERRclass="sref">chLITOS_CCISR_CH_0_ _ERRa>  , 0
a href="drivers/crypto/talitos.c#L895"7id="L245" class="line" name="L475">  454/a>
< href="+code=TADEF_LITOS_CCINTERRUP class="sref">TADEF_LITOS_CCINTERRUP a>)
a href="+code=dech1_3class="sref">cpch1_3a>, in href="+code=deLITOS_CCISR_CH_1_3_DONEclass="sref">reLITOS_CCISR_CH_1_3_DONEa>, in href="+code=deLITOS_CCISR_CH_1_3_ERRclass="sref">chLITOS_CCISR_CH_1_3_ERRa>, in1
a href="drivers/crypto/talitos.c#L895"8id="L245" class="line" name="L485">  454/a>  a href="drivers/crypto/talitos.c#L895"9id="L245" class="line" name="L495">  454/a>  pan class="comment"> *
  555>a>
 *
  555/a> * Y/span>
  5552a>  atic vot upmitos_prrng_ta)
aruct uphwrngsp *uprngsp *,ot upwaita>  
a href="drivers/crypto/talitos.c#L665"3id="L125" class="line" name="L535">  555/a>    5554a>          ruct device *dev,  device *uprngsp *gt;priv-&;a href="drivers/crypto/talitos.c#L925"5id="L245" class="line" name="L555">  5555a>        talitos_private *priv = dev_get_drvdata(dev);
  5556a>           href="+code=TAu" class="sref">seu3/a>    href="+code=deof/class="sref">deof/a>-&;a href="drivers/crypto/talitos.c#L925"7id="L245" class="line" name="L575">  555/a>          t upia>-&;a href="drivers/crypto/talitos.c#L925"8id="L245" class="line" name="L585">  555/a>  a href="drivers/crypto/talitos.c#L895" id="L295" class="line" name="L595">  555/a>          r moa href="+code=priclass="sref">cpia>   = 0;a href="+code=TAiclass="sref">cpia>   t;cpia>  ++
   656/a>                   href="+code=deof/class="sref">deof/a>-& cpin_32" a>(priv->reg + chLITOS_CCRNGUSR_LOa>  
 &a href="drivers/crypto/talitos.c#L925" id="L615" class="line" name="L615">  6561a>                         href="+code=deLITOS_CCRNGUSR_LO_OFLclass="sref">diLITOS_CCRNGUSR_LO_OFLa>-&;a href="drivers/crypto/talitos.c#L925" id="L125" class="line" name="L625">  6562a>                  tf ( href="+code=taof/class="sref">deof/a>-& || ! href="+code=tiwaitclass="sref">upwaita>  
a href="drivers/crypto/talitos.c#L665" id="L435" class="line" name="L635">  656/a>                          break;a href="drivers/crypto/talitos.c#L925" id="L245" class="line" name="L645">  6564a>                   href="+code=TAudelayclass="sref">seudelaya>(  6565a>          6566a>  a href="drivers/crypto/talitos.c#L895"7id="L245" class="line" name="L675">  656/a>          turn fo!! href="+code=tiof/class="sref">deof/a>-&;a href="drivers/crypto/talitos.c#L925" id="L485" class="line" name="L685">  656/a>    65  a href="drivers/crypto/talitos.c#L895" id="L705" class="line" name="L705">  757/a>  atic vot upmitos_prrng_ta)
aruct uphwrngsp *uprngsp *,o href="+code=TAu" class="sref">seu3/a>   a href="+code=deva" class="sref">deva(<)a href="drivers/crypto/talitos.c#L895" id="L615" class="line" name="L715">  7571a>    7572a>          ruct device *dev,  device *uprngsp *gt;priv-&;a href="drivers/crypto/talitos.c#L925" id="L435" class="line" name="L735">  757/a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  7574a>  a href="drivers/crypto/talitos.c#L925"5id="L245" class="line" name="L755">  7575a>        /*
  7576a>          a href="+code=deva" class="sref">deva(< cpin_32" a>(priv->reg + chLITOS_CCRNGU_FIFOa>);
deva(< cpin_32" a>(priv->reg + chLITOS_CCRNGU_FIFO_LOa>);
  757/a>  a href="drivers/crypto/talitos.c#L895" id="L295" class="line" name="L795">  757/a>          turn fosizeof( href="+code=tau" class="sref">seu3/a>  
  858/a>    8581a>  a href="drivers/crypto/talitos.c#L925" id="L125" class="line" name="L825">  8582a>  atic vot upmitos_prrng_inita>)
aruct uphwrngsp *uprngsp *)a href="drivers/crypto/talitos.c#L895" id="L735" class="line" name="L835">  858/a>    8584a>          ruct device *dev,  device *uprngsp *gt;priv-&;a href="drivers/crypto/talitos.c#L925"5id="L245" class="line" name="L855">  8585a>        talitos_private *priv = dev_get_drvdata(dev);
  8586a>          signed int upmimeouta> = TALITOS_TITIMEOU a>-&;a href="drivers/crypto/talitos.c#L925"7id="L245" class="line" name="L875">  858/a>
cpt_cbits" a>(priv->reg + chLITOS_CCRNGURCR_LOa>, in href="+code=deLITOS_CCRNGURCR_LO_SRclass="sref">chLITOS_CCRNGURCR_LO_SRa>);
  858/a>          whi (co!a href="+code=prin_32" class="sref">cpin_32" a>(priv->reg + chLITOS_CCRNGUSR_LOa>  
 &  href="+code=deLITOS_CCRNGUSR_LO_RDclass="sref">upLITOS_CCRNGUSR_LO_RDsp *)a href="drivers/crypto/talitos.c#L895  id="L805" class="line" name="L905">  959/a>                 &&a-- href="+code=TAmimeoutclass="sref">upmimeouta> =
a href="drivers/crypto/talitos.c#L665  id="L815" class="line" name="L915">  9591a>                   href="+code=decpu_relaxclass="sref">ch(  9592a>          tf ( href="+code=tamimeoutclass="sref">upmimeouta> = <= 0
   959/a>                   href="+code=dev_geermclass="sref">dis_geerma>(dev);"fai (d to tuset rng hw\n"span>
<)  9594a>                  turn fo- href="+code=TAENODEVclass="sref">deENODEVa>-&;a href="drivers/crypto/talitos.c#L925  id="L155" class="line" name="L955">  9595a>        /*
cpt_cbits" a>(priv->reg + chLITOS_CCRNGUDSR_LOa>);, 0
upmitos_prregis)
aruct device *dev, 
a href="drivers/crypto/talitos.c#L6660 id="L2460 class="line" name="L14604  9604a>  talitos_private *priv = dev_get_drvdata(dev);
priv->uprngsp *a href="+code=reme="class="sref">upne="a>,           dev_geivers/_rucinga>(dev);
ia href="drivers/crypto/talitos.c#L79608id="L2460 class="line" name="L88608  960/a>           href="+code=deiv" class="sref">priv->uprngsp *a href="+code=reinitclass="sref">upinita>)
          upmitos_prrng_inita>)
ia href="drivers/crypto/talitos.c#L79609id="L2460 class="line" name="L19609  960/a>           href="+code=deiv" class="sref">priv->uprngsp *a href="+code=retaupta)
  upmitos_prrng_ta)
ia href="drivers/crypto/talitos.c#L796" id="L106" class="line" name="L106">  1610a>           href="+code=deiv" class="sref">priv->uprngsp *a href="+code=retaupta)
     upmitos_prrng_ta)
ia href="drivers/crypto/talitos.c#L796" id="L116  class="line" name="L116>1  9611a>           href="+code=TAiv" class="sref">priv->uprngsp *a href="+code=reiv" class="sref">priv =          dev);  1612a>  a href="drivers/crypto/talitos.c#L896"3id="L126" class="line" name="L136">  161/a>          turn fo href="+code=tahwrngrregisuphwrngrregis(priv->uprngsp *)  1614a>    1615a>  a href="drivers/crypto/talitos.c#L896"6id="L246" class="line" name="L166">  1616a>  atic void upmitos_prunregis)
aruct device *dev, 
a href="drivers/crypto/talitos.c#L666"7id="L246" class="line" name="L176">  161/a>    161/a>          ruct talitos_private *priv = dev_get_drvdata(dev);
  161/a>  a href="drivers/crypto/talitos.c#L896" id="L206" class="line" name="L206">  2620a>           href="+code=dehwrngrunregisuphwrngrunregis(priv->uprngsp *)  2621a>    2622a>  a href="drivers/crypto/talitos.c#L896"3id="L126" class="line" name="L236">  2623a>  pan class="comment"> *
  2624a>  pan class="comment"> *
  262/a>  pan class="comment"> * Y/span>
  2626a>  #defe"   href="+code=TALITOS_TICRA_PRIORITYclass="sref">chLITOS_CCCRA_PRIORITYa>              3000a href="drivers/crypto/talitos.c#L666"7id="L246" class="line" name="L276">  262/a>  #defe"   href="+code=TALITOS_TIMAX_KEY_SIZEclass="sref">reLITOS_CCMAX_KEY_SIZEa>              96a href="drivers/crypto/talitos.c#L666"8id="L246" class="line" name="L286">  262/a>  #defe"   href="+code=TALITOS_TIMAX_IV_LENGTHclass="sref">reLITOS_CCMAX_IV_LENGTHa>             16  an class="comment">/*
  262/a>  a href="drivers/crypto/talitos.c#L896" id="L306" class="line" name="L306">  363/a>  #defe"   href="+code=TAMD5_BLOCK_SIZEclass="sref">reMD5_BLOCK_SIZEa>      64a href="drivers/crypto/talitos.c#L896" id="L116" class="line" name="L316">  3631a>  a href="drivers/crypto/talitos.c#L926"2id="L116" class="line" name="L326">  3632a>  atct chlitos_prctxa>   device *dev,   3634a>          t ch)
  3635a>        cp__32" a>(tavisc_hdr_temple" a>)
  3636a>           href="+code=tau8class="sref">tau8a>(sekeya>(reLITOS_CCMAX_KEY_SIZEa>  ]  3637a>           href="+code=deu8class="sref">tau8a>(pr-&a href="+code=chLITOS_TIMAX_IV_LENGTHclass="sref">reLITOS_CCMAX_IV_LENGTHa>  ]  363/a>          signed int chkeyle a>)
  363/a>          signed int chenckeyle a>)
  4640a>          signed int chauthkeyle a>)
  4641a>          signed int chauthsizea>)
  4642a>  }  464/a>
  4644a>  #defe"   href="+code=TAHASHCMAX_BLOCK_SIZEclass="sref">reHASHCMAX_BLOCK_SIZEa>                href="+code=TASHA512_BLOCK_SIZEclass="sref">reSHA512_BLOCK_SIZEa>
  464/a>  #defe"   href="+code=TALITOS_TIMDEUCMAX_CON EXT_SIZEclass="sref">reLITOS_CCMDEUCMAX_CON EXT_SIZEa>      href="+code=TALITOS_TIMDEUCCON EXT_SIZE_SHA384_SHA512class="sref">reLITOS_CCMDEUCCON EXT_SIZE_SHA384_SHA512a>
  4646a>  a href="drivers/crypto/talitos.c#L896"7id="L246" class="line" name="L476">  464/a>
chlitos_prahash_reqrctxa>     464/a>           href="+code=deu" class="sref">seu3/a>    href="+code=dehw_contextclass="sref">uphw_contexta>-&a href="+code=chLITOS_TIMDEUCMAX_CON EXT_SIZEclass="sref">reLITOS_CCMDEUCMAX_CON EXT_SIZEa>   /osizeof( href="+code=tau" class="sref">seu3/a>  
]  464/a>          signed int chhw_context_sizea>)
  5650a>           href="+code=deu8class="sref">tau8a>(tabufa>-&a href="+code=chHASHCMAX_BLOCK_SIZEclass="sref">reHASHCMAX_BLOCK_SIZEa>  ]  5651a>           href="+code=TAu8class="sref">tau8a>(upbufnexta>-&a href="+code=chHASHCMAX_BLOCK_SIZEclass="sref">reHASHCMAX_BLOCK_SIZEa>  ]  5652a>          signed int upswinita>)
  5653a>          signed int upfirsta>)
  5654a>          signed int upss=ta>)
  5655a>        dilo_hash_le" ma>)
  5656a>           href="+code=TAu" class="lief">tau64a>    href="+code=rembufclass="sref">tanbufa>-&  565/a>          atct upscat" mli=ta>(debufs/a>-&a2]  565/a>          ruct upscat" mli=ta>(prisrca>-&  565/a>  }  666/a>  a href="drivers/crypto/talitos.c#L926" id="L416" class="line" name="L616">  6661a>  atic vot chaead_setauthsizea>)
aruct upypto/t_aeada>(chauthenca>)
ia href="drivers/crypto/talitos.c#L796" id="L126" class="line" name="L626">  6662a>                              signed int chauthsizea>)

a href="drivers/crypto/talitos.c#L666" id="L436" class="line" name="L636">  666/a>    6664a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chypto/t_aeadrctxa>(chauthenca>)
)  6665a>  a href="drivers/crypto/talitos.c#L896" id="L466" class="line" name="L666">  6666a>           href="+code=TActxclass="sref">chctxa>  gt;chauthsizea>)
 chauthsizea>)
  666/a>
  666/a>          turn fo0  66    767/a>  a href="drivers/crypto/talitos.c#L926" id="L616" class="line" name="L716">  7671a>  atic vot seaead_setkeya>)
aruct upypto/t_aeada>(chauthenca>)
ia href="drivers/crypto/talitos.c#L796" id="L126" class="line" name="L726">  7672a>                         constau8a>(sekeya>(<, signed int chkeyle a>)

a href="drivers/crypto/talitos.c#L666" id="L436" class="line" name="L736">  767/a>    7674a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chypto/t_aeadrctxa>(chauthenca>)
)  7675a>        dirtictma>   a href="+code=prr" class="sref">der(< sekeya>(<  7676a>          ruct chypto/t_authenc_key_parama>(chparama>(<chauthkeyle a>)
  767/a>          signed int chenckeyle a>)
  767/a>  a href="drivers/crypto/talitos.c#L896" id="L806" class="line" name="L806">  8680a>          tf (! href="+code=tiRTA_OKclass="sref">chRTA_OKa>(der(chkeyle a>)


a href="drivers/crypto/talitos.c#L666" id="L816" class="line" name="L816">  8681a>                  gotoa href="+code=tabadkeyclass="sref">sebadkeya>)
  8682a>
  8683a>          tf ( href="+code=der" class="sref">der(chrta_typea>   !chCRYPTO_AUTHENC_KEYA_PARAMa>)

a href="drivers/crypto/talitos.c#L666" id="L846" class="line" name="L846">  8684a>                  gotoa href="+code=tabadkeyclass="sref">sebadkeya>)
  8685a>  a href="drivers/crypto/talitos.c#L896" id="L466" class="line" name="L866">  8686a>          tf ( href="+code=deRTA_PAYLOADclass="sref">upRTA_PAYLOADa>(der(<) t;chparama>(<

a href="drivers/crypto/talitos.c#L666"7id="L246" class="line" name="L876">  868/a>                  gotoa href="+code=tabadkeyclass="sref">sebadkeya>)
  868/a>           href="+code=deiaramclass="sref">chparama>(< upRTA_DATAa>(der(<)  9690a>           href="+code=deenckeyle class="sref">chenckeyle a>)
 seb2" _/t_cpua>(chparama>(chenckeyle a>)
)  9691a>  a href="drivers/crypto/talitos.c#L926  id="L826" class="line" name="L926">  9692a>           href="+code=prkeyclass="sref">sekeya>(< +upRTA_ALIGNa>(der(chrta_le a>)
)  969/a>           href="+code=dekeyle class="sref">chkeyle a>)
 -upRTA_ALIGNa>(der(chrta_le a>)
)  9694a>  a href="drivers/crypto/talitos.c#L926  id="L156" class="line" name="L956">  9695a>        chkeyle a>)
 t;chenckeyle a>)
)a href="drivers/crypto/talitos.c#L926  id="L466e         enum sebadkeya>)
chauthkeyle a>)
 chkeyle a>)
 -a href="+code=tienckeyle class="sref">chenckeyle a>)
chkeyle a>)
 tgreLITOS_CCMAX_KEY_SIZEa>  )a href="drivers/crypto/talitos.c#L9270 id="L1170 class="line" name="L11701  9701a>                  gotoa href="+code=tabadkeyclass="sref">sebadkeya>)
sememcpya>(chctxa>  gt;sekeya>(<,  href="+code=chkeyclass="sref">sekeya>(<,  href="+code=chkeyle class="sref">chkeyle a>)

chctxa>  gt;chkeyle a>)
 chkeyle a>)
chctxa>  gt;chenckeyle a>)
 chenckeyle a>)
chctxa>  gt;chauthkeyle a>)
 chauthkeyle a>)
  171/a>  a href="drivers/crypto/talitos.c#L927" id="L117  class="line" name="L117>1  9711a>   href="+code=tabadkeyclass="sref">sebadkeya>)
:a href="drivers/crypto/talitos.c#L927"2id="L117" class="line" name="L127">  1712a>           href="+code=prypto/t_aeadrset_flag class="sref">upypto/t_aeadrset_flag a>(chauthenca>)
,  href="+code=chCRYPTO_TFM_RES_BAD_KEY_LENclass="sref">upCRYPTO_TFM_RES_BAD_KEY_LENa>)

  171/a>          turn fo- href="+code=TAEINVALclass="sref">diEINVALa>)
  1714a>    1715a>  a href="drivers/crypto/talitos.c#L897"6id="L247" class="line" name="L167">  1716a>  pan class="comment"> *
  171/a>  pan class="comment"> *
  171/a>  pan class="comment"> *s: number of segnt">s in s="ociated vata scat" mli=ta>an>
  171/a>  pan class="comment"> *s: number of segnt">s in input scat" mli=ta>an>
  272>a>
 *s: number of segnt">s in output scat" mli=ta>an>
  272/a> * Yr@s="oc_chae" d: whether s="oc is chae" d or nota>an>
  2722a>  pan class="comment"> *an>
  2723a>  pan class="comment"> *an>
  2724a>  pan class="comment"> *an>
  272/a>  pan class="comment"> * Yr@dma_le : le gth of dma mapped ne"k_tbl an cea>an>
  2726a>  pan class="comment"> * Yr@dma_le"k_tbl: bus physical address of le"k_tbla>an>
  272/a>  pan class="comment"> *
  272/a>  pan class="comment"> *s tg
  272/a>  pan class="comment"> *
  373>a>
 *s or dst_nt">sspan>
  373/a> * Yris gree" m th cl1, annt 
  3732a>  pan class="comment"> *an>
 *
  3734a>  ruct chlitos_previsca>     3735a>        sclass="sref">cha="oc_nt">sa>)
  3736a>          t sclass="sref">chsrc_nt">sa>)
  3737a>          t sclass="sref">chdst_nt">ssp)
  373/a>           href="+code=deboo/class="sref">deboo/a>    href="+code=tia="oc_chae" dclass="sref">cha="oc_chae" dsp)
  373/a>           href="+code=deboo/class="sref">deboo/a>    href="+code=tisrc_chae" dclass="sref">chsrc_chae" dsp)
  4740a>           href="+code=deboo/class="sref">deboo/a>    href="+code=tidst_chae" dclass="sref">chdst_chae" dsp)
  4741a>           href="+code=TAdma_addr_tclass="sref">uptma_addr_ta>    href="+code=tiiv_dmaclass="sref">upiv_dmasp)
  4742a>          t chdma_le sp)
  474/a>           href="+code=dedma_addr_tclass="sref">uptma_addr_ta>    href="+code=tidma_le"k_tblclass="sref">chdma_le"k_tbla>)
  4744a>          ruct chlitos_prvisca>    href="+code=tidiscclass="sref">chvisca>    4745a>        dilitos_pritma>    href="+code=tile"k_tblclass="sref">chle"k_tbla>)
[0]  4746a>  }  474/a>
  474/a>  atic vot upmitos_prmap_sga>(device *dev, , ruct upscat" mli=ta>(upsga>(  474/a>                            signed int sclass="sref">chnt">ssp)
, enum  href="+code=tidma_tachdma_ta    href="+code=tidimclass="sref">disira>(  575/a>                             href="+code=deboo/class="sref">deboo/a>    href="+code=tichae" dclass="sref">chchae" dsp)
)a href="drivers/crypto/talitos.c#L927" id="L417" class="line" name="L517">  5751a>    5752a>          tf ( href="+code=taunlikelyclass="sref">seunlikelya>(chchae" dsp)
))a href="drivers/crypto/talitos.c#L927"3id="L127" class="line" name="L537">  575/a>                  whi (co href="+code=prsgclass="sref">upsga>(<
   5754a>                           href="+code=dedma_map_sgclass="sref">updma_map_sga>(dev);upsga>(disira>(<
  5755a>        upsga>(< upscat" mwalk_sg_nexta>(upsga>(<
  5756a>                    575/a>          elsea href="drivers/crypto/talitos.c#L897"8id="L247" class="line" name="L587">  575/a>                   href="+code=dedma_map_sgclass="sref">updma_map_sga>(dev);upsga>(sclass="sref">chnt">ssp)
,  href="+code=tidimclass="sref">disira>(<
  575/a>          turn fo href="+code=tint">sclass="sref">chnt">ssp)
  676/a>    6761a>  a href="drivers/crypto/talitos.c#L927" id="L127" class="line" name="L627">  6762a>  atic void upmitos_prunmap_sg_chae"a>(device *dev, , ruct upscat" mli=ta>(upsga>(  676/a>                                     enum  href="+code=tidma_tachdma_ta    href="+code=tidimclass="sref">disira>(<)a href="drivers/crypto/talitos.c#L927" id="L247" class="line" name="L647">  6764a>    6765a>        upsga>(<
   6766a>                   href="+code=tidma_unmap_sgclass="sref">chdma_unmap_sga>(dev);upsga>(disira>(<
  676/a>                   href="+code=desgclass="sref">upsga>(< upscat" mwalk_sg_nexta>(upsga>(<
  676/a>            67    777/a>  a href="drivers/crypto/talitos.c#L927" id="L617" class="line" name="L717">  7771a>  atic void upmitos_prsg_unmapa>(device *dev, ,a href="drivers/crypto/talitos.c#L927" id="L127" class="line" name="L727">  7772a>                               ruct chlitos_previsca>   a href="+code=deeviscclass="sref">chevisca>  ,a href="drivers/crypto/talitos.c#L927" id="L437" class="line" name="L737">  777/a>                               ruct upscat" mli=ta>(prsrca>-&,a href="drivers/crypto/talitos.c#L927" id="L247" class="line" name="L747">  7774a>                               ruct upscat" mli=ta>(updsta> =
a href="drivers/crypto/talitos.c#L667"5id="L247" class="line" name="L757">  7775a>    7776a>          signed int sclass="sref">chsrc_nt">sa>)
 chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 ? : 1sclass="sref">chdst_nt">ssp)
 chevisca>  gt;sclass="sref">chdst_nt">ssp)
 ? : 1  777/a>  a href="drivers/crypto/talitos.c#L897" id="L297" class="line" name="L797">  777/a>          tf ( href="+code=tasrcclass="sref">prsrca>-& !updsta> =
   878/a>                  tf ( href="+code=taeviscclass="sref">chevisca>  gt;chsrc_chae" dsp)

a href="drivers/crypto/talitos.c#L667" id="L817" class="line" name="L817">  8781a>                           href="+code=demitos_prunmap_sg_chae"class="sref">upmitos_prunmap_sg_chae"a>(dev);prsrca>-&,aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
  8782a>                  elsea href="drivers/crypto/talitos.c#L897" id="L737" class="line" name="L837">  878/a>                           href="+code=tidma_unmap_sgclass="sref">chdma_unmap_sga>(dev);prsrca>-&,aphref="+code=prsrc_nt">sclass="sref">chsrc_nt">sa>)
,aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
  8784a>  a href="drivers/crypto/talitos.c#L927"5id="L247" class="line" name="L857">  8785a>        updsta> =
   8786a>                          tf ( href="+code=taeviscclass="sref">chevisca>  gt;chdst_chae" dsp)

a href="drivers/crypto/talitos.c#L667"7id="L247" class="line" name="L877">  878/a>                                   href="+code=demitos_prunmap_sg_chae"class="sref">upmitos_prunmap_sg_chae"a>(dev);updsta> =,a href="drivers/crypto/talitos.c#L927" id="L487  class="line" name="L187>>  778/a>                                                         phref="+code=prDMA_FROM_DEVICEclass="sref">reDMA_FROM_DEVICEa>(<
  878/a>                          elsea href="drivers/crypto/talitos.c#L897  id="L807" class="line" name="L907">  979/a>                                  phref="+code=prdma_unmap_sgclass="sref">chdma_unmap_sga>(dev);updsta> =,a href="+code=tidst_nt">sclass="sref">chdst_nt">ssp)
,a href="drivers/crypto/talitos.c#L927  id="L817" class="line" name="L917">  9791a>                                               phref="+code=prDMA_FROM_DEVICEclass="sref">reDMA_FROM_DEVICEa>(<
  9792a>                    979/a>          } elsea href="drivers/crypto/talitos.c#L897  id="L247" class="line" name="L947">  9794a>                  tf ( href="+code=taeviscclass="sref">chevisca>  gt;chsrc_chae" dsp)

a href="drivers/crypto/talitos.c#L667  id="L157" class="line" name="L957">  9795a>        upmitos_prunmap_sg_chae"a>(dev);prsrca>-&,aphref="+code=prDMA_BIDIRECTIONALclass="sref">diDMA_BIDIRECTIONALa>(<
chdma_unmap_sga>(dev);prsrca>-&,aphref="+code=prsrc_nt">sclass="sref">chsrc_nt">sa>)
,aphref="+code=prDMA_BIDIRECTIONALclass="sref">diDMA_BIDIRECTIONALa>(<
upipsec_esp_unmapa>(device *dev, ,a href="drivers/crypto/talitos.c#L9280 id="L1180 class="line" name="L11801  9801a>                              ruct chlitos_previsca>   a href="+code=deeviscclass="sref">chevisca>  ,a href="drivers/crypto/talitos.c#L92802id="L1180 class="line" name="L92802  9802a>                              ruct upaeadrreque=ta>   a href="+code=deareqclass="sref">upareqsp)

a href="drivers/crypto/talitos.c#L66803id="L1280 class="line" name="L93803  980/a>  diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[6],aphref="+code=prDMA_FROM_DEVICEclass="sref">reDMA_FROM_DEVICEa>(<
diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[3],aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[2],aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[0],aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
chevisca>  gt;cha="oc_chae" dsp)

a href="drivers/crypto/talitos.c#L668" id="L108" class="line" name="L108">  181/a>                   href="+code=demitos_prunmap_sg_chae"class="sref">upmitos_prunmap_sg_chae"a>(dev);upareqsp)
gt;cha="oca>)
,aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
  1812a>                  pan class="comment"> *s cou">s also r moIV in non-contiguous cases
  181/a>                   href="+code=tidma_unmap_sgclass="sref">chdma_unmap_sga>(dev);upareqsp)
gt;cha="oca>)
,a href="drivers/crypto/talitos.c#L668"4id="L128" class="line" name="L148">  1814a>                                href="+code=taeviscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
 ?  href="+code=taeviscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
 - 1 : 1,a href="drivers/crypto/talitos.c#L668"5id="L248" class="line" name="L158">  1815a>        reDMA_TO_DEVICEa>(<
  1816a>  a href="drivers/crypto/talitos.c#L898"7id="L248" class="line" name="L178">  1817a>           href="+code=demitos_prsg_unmapclass="sref">upmitos_prsg_unmapa>(dev);chevisca>  ,aphref="+code=prareqclass="sref">upareqsp)
gt;prsrca>-&,aphref="+code=prareqclass="sref">upareqsp)
gt;updsta> =
  181/a>  a href="drivers/crypto/talitos.c#L898"9id="L248" class="line" name="L198">  181/a>          tf ( href="+code=taeviscclass="sref">chevisca>  gt;chdma_le sp)

a href="drivers/crypto/talitos.c#L668" id="L208" class="line" name="L208">  282/a>                   href="+code=dedma_unmap_singleclass="sref">chdma_unmap_singlea>(dev);chevisca>  gt;chdma_le"k_tbla>)
chevisca>  gt;chdma_le sp)
,a href="drivers/crypto/talitos.c#L668" id="L118" class="line" name="L218">  2821a>                                   phref="+code=prDMA_BIDIRECTIONALclass="sref">diDMA_BIDIRECTIONALa>(<
  2822a>    2823a>  a href="drivers/crypto/talitos.c#L898"4id="L128" class="line" name="L248">  2824a>  pan class="comment"> *
  282/a>  pan class="comment"> * Yripsec_esp viscrio/tr callbacksspan>
  2826a>  pan class="comment"> * Y/span>
  282/a>  atic void chipsec_esp_enypto/_donea>(device *dev, ,a href="drivers/crypto/talitos.c#L928"8id="L248" class="line" name="L288">  282/a>                                     ruct chlitos_prvisca>   a href="+code=dev"scclass="sref">chvisca>  ,oid upcontexta>, ,a href="drivers/crypto/talitos.c#L928"9id="L248" class="line" name="L298">  282/a>                                     t diermsp)

a href="drivers/crypto/talitos.c#L668" id="L308" class="line" name="L308">  383>a>
<  3831a>          ruct upaeadrreque=ta>   a href="+code=deareqclass="sref">upareqsp)
 upcontexta>,   3832a>          ruct upcpto/t_aeada>   a href="+code=deauthencclass="sref">chauthenca>)
 chypto/t_aeadrreqtfma>(upareqsp)

chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chypto/t_aeadrctxa>(chauthenca>)
)  3834a>          ruct chlitos_previsca>   a href="+code=deeviscclass="sref">chevisca>    3835a>        upscat" mli=ta>(upsga>(<  3836a>          id chicvta(<  383/a>
  383/a>           href="+code=deeviscclass="sref">chevisca>   upcontae" r_ofa>(chvisca>  ,oruct chlitos_previsca>  ,a href="+code=tid"scclass="sref">chvisca>  )  383/a>  a href="drivers/crypto/talitos.c#L898" id="L408" class="line" name="L408">  4840a>           href="+code=deipsec_esp_unmapclass="sref">upipsec_esp_unmapa>(dev);chevisca>  ,aphref="+code=prareqclass="sref">upareqsp)
)  4841a>  a href="drivers/crypto/talitos.c#L928"2id="L118" class="line" name="L428">  4842a>          pan class="comment"> *
  484/a>          tf ( href="+code=taeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)

   4844a>                   href="+code=deicvtachicvta(< chevisca>  gt;chle"k_tbla>)
[ href="+code=previscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 +a href="drivers/crypto/talitos.c#L928"5id="L248" class="line" name="L458">  4845a>        chevisca>  gt;sclass="sref">chdst_nt">ssp)
 + 2 +a href="drivers/crypto/talitos.c#L928"6id="L248" class="line" name="L468">  4846a>                                              href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
]  484/a>                   href="+code=desgclass="sref">upsga>(< upsg_ss=ta>(upareqsp)
gt;updsta> =chevisca>  gt;sclass="sref">chdst_nt">ssp)

  484/a>                   href="+code=dememcpyclass="sref">sememcpya>(upsg_virta>(upsga>(<
 +  href="+code=desgclass="sref">upsga>(chle gtha>)
 -  href="+code=prctxclass="sref">chctxa>  gt;chauthsizea>, ,a href="drivers/crypto/talitos.c#L928"9id="L248" class="line" name="L498">  484/a>                          href="+code=deicvtachicvta(<chctxa>  gt;chauthsizea>, 
  585/a>            5851a>  a href="drivers/crypto/talitos.c#L928"2id="L118" class="line" name="L528">  5852a>           href="+code=prkfreeclass="sref">chkfreea>(chevisca>  
  5853a>  a href="drivers/crypto/talitos.c#L898" id="L248" class="line" name="L548">  5854a>           href="+code=deaeadrreque=t_mmepleteclass="sref">chaeadrreque=t_mmepletea>(upareqsp)
diermsp)

  5855a>    5856a>  a href="drivers/crypto/talitos.c#L898"7id="L248" class="line" name="L578">  585/a>  atic void chipsec_esp_deypto/_swauth_donea>(device *dev, ,a href="drivers/crypto/talitos.c#L928"8id="L248" class="line" name="L588">  585/a>                                            ruct chlitos_prvisca>   a href="+code=dev"scclass="sref">chvisca>  ,a href="drivers/crypto/talitos.c#L928"9id="L248" class="line" name="L598">  585/a>                                            id upcontexta>, , t diermsp)

a href="drivers/crypto/talitos.c#L668" id="L608" class="line" name="L608">  686>a>
<  6861a>          ruct upaeadrreque=ta>   a href="+code=dereqclass="sref">upreqsp)
 upcontexta>,   6862a>          ruct upcpto/t_aeada>   a href="+code=deauthencclass="sref">chauthenca>)
 chypto/t_aeadrreqtfma>(upreqsp)

  6863a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chypto/t_aeadrctxa>(chauthenca>)
)  6864a>          ruct chlitos_previsca>   a href="+code=deeviscclass="sref">chevisca>    6865a>        upscat" mli=ta>(upsga>(<  6866a>          id chicvta(<  686/a>
  686/a>           href="+code=deeviscclass="sref">chevisca>   upcontae" r_ofa>(chvisca>  ,oruct chlitos_previsca>  ,a href="+code=tid"scclass="sref">chvisca>  )  686/a>  a href="drivers/crypto/talitos.c#L898" id="L708" class="line" name="L708">  7870a>           href="+code=deipsec_esp_unmapclass="sref">upipsec_esp_unmapa>(dev);chevisca>  ,aphref="+code=prreqclass="sref">upreqsp)

  7871a>  a href="drivers/crypto/talitos.c#L928" id="L128" class="line" name="L728">  7872a>          tf (! href="+code=tiermclass="sref">diermsp)

   787/a>                  pan class="comment"> *
  7874a>                  tf ( href="+code=taeviscclass="sref">chevisca>  gt;chdma_le sp)

a href="drivers/crypto/talitos.c#L668"5id="L248" class="line" name="L758">  7875a>        chicvta(< chevisca>  gt;chle"k_tbla>)
[ href="+code=previscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 +a href="drivers/crypto/talitos.c#L668" id="L468" class="line" name="L768">  7876a>                                                      href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 + 2 +a href="drivers/crypto/talitos.c#L928"7id="L248  class="line" name="L178>>  687/a>                                                      href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
]  787/a>                  elsea href="drivers/crypto/talitos.c#L898" id="L298" class="line" name="L798">  787/a>                           href="+code=deicvtachicvta(< chevisca>  gt;chle"k_tbla>)
[0]  888/a>  a href="drivers/crypto/talitos.c#L928" id="L818" class="line" name="L818">  8881a>                   href="+code=desgclass="sref">upsga>(< upsg_ss=ta>(upreqsp)
gt;updsta> =chevisca>  gt;sclass="sref">chdst_nt">ssp)
 ? : 1
  8882a>                   href="+code=tiermclass="sref">diermsp)
 upmemcmpa>(chicvta(<upsg_virta>(upsga>(<
 +  href="+code=desgclass="sref">upsga>(chle gtha>)
 -a href="drivers/crypto/talitos.c#L928" id="L438" class="line" name="L838">  888/a>                                href="+code=tictxclass="sref">chctxa>  gt;chauthsizea>, ,aphref="+code=prctxclass="sref">chctxa>  gt;chauthsizea>, 
 ? - href="+code=chEBADMSGclass="sref">chEBADMSGa>   : 0  8884a>            8885a>  a href="drivers/crypto/talitos.c#L898" id="L468" class="line" name="L868">  8886a>           href="+code=TAkfreeclass="sref">chkfreea>(chevisca>  
  888/a>
chaeadrreque=t_mmepletea>(upreqsp)
diermsp)

  888/a>    989/a>  a href="drivers/crypto/talitos.c#L928  id="L818" class="line" name="L918">  9891a>  atic void chipsec_esp_deypto/_hwauth_donea>(device *dev, ,a href="drivers/crypto/talitos.c#L928  id="L828" class="line" name="L928">  9892a>                                            ruct chlitos_prvisca>   a href="+code=dev"scclass="sref">chvisca>  ,a href="drivers/crypto/talitos.c#L928  id="L738" class="line" name="L938">  989/a>                                            id upcontexta>, , t diermsp)

a href="drivers/crypto/talitos.c#L668  id="L248" class="line" name="L948">  9894a>    9895a>        upaeadrreque=ta>   a href="+code=dereqclass="sref">upreqsp)
 upcontexta>, chlitos_previsca>   a href="+code=deeviscclass="sref">chevisca>  chevisca>   upcontae" r_ofa>(chvisca>  ,oruct chlitos_previsca>  ,a href="+code=tid"scclass="sref">chvisca>  )upipsec_esp_unmapa>(dev);chevisca>  ,aphref="+code=prreqclass="sref">upreqsp)

 *
diermsp)
a&& (a href="+code=dev"scclass="sref">chvisca>  gt;chhdr_losp)
a& phref="+code=prDESC_HDR_LO_ICCR1_MASKclass="sref">chDESC_HDR_LO_ICCR1_MASKa>, 
 !=a href="drivers/crypto/talitos.c#L66904id="L1290 class="line" name="L94904  9904a>                       phref="+code=prDESC_HDR_LO_ICCR1_PASSclass="sref">chDESC_HDR_LO_ICCR1_PASSa>, 

a href="drivers/crypto/talitos.c#L66905id="L2490 class="line" name="L95905  9905a>        diermsp)
 chEBADMSGa>  chkfreea>(chevisca>  
chaeadrreque=t_mmepletea>(upreqsp)
diermsp)

  191/a>    1912a>  pan class="comment"> *
  191/a>  pan class="comment"> * Yrconrs/t scat" mli=t to SEC h/w le"k table r mmatspan>
  1914a>  pan class="comment"> * Yrstop at ypto/len bytesspan>
  191/a>  pan class="comment"> * Y/span>
  1916a>  atic vot chsg_to_le"k_tbla>(upscat" mli=ta>(upsga>(class="sref">chsg_cou">a>  ,a href="drivers/crypto/talitos.c#L929"7id="L249" class="line" name="L179">  191/a>                             t upcpto/lena>  ,oruct dilitos_pritma>(dile"k_tblritmsp)

a href="drivers/crypto/talitos.c#L669"8id="L249" class="line" name="L189">  191/a>    191/a>          t chn_sga>(< class="sref">chsg_cou">a>    292/a>  a href="drivers/crypto/talitos.c#L929" id="L119" class="line" name="L219">  2921a>          whi (co href="+code=prn_sgclass="sref">chn_sga>(<--
   2922a>                   href="+code=tito_litos_pritmclass="sref">dilo_litos_pritma>(dile"k_tblritmsp)
chsg_dma_addressa>(upsga>(<

  292/a>                   href="+code=tile"k_tblritmclass="sref">dile"k_tblritmsp)
gt;chle a>   upcpu_to_be" a>(chsg_dma_le a>(upsga>(<

  2924a>                   href="+code=dele"k_tblritmclass="sref">dile"k_tblritmsp)
gt;class="sref">chj_exte">a>     2925a>        dile"k_tblritmsp)
++  2926a>                   href="+code=tiypto/lenclass="sref">upcpto/lena>   -chsg_dma_le a>(upsga>(<
  292/a>                   href="+code=desgclass="sref">upsga>(< upscat" mwalk_sg_nexta>(upsga>(<
  292/a>            292/a>  a href="drivers/crypto/talitos.c#L899" id="L309" class="line" name="L309">  3930a>           an class="comment"> *ry's len to ypto/len Y/span>
  3931a>           href="+code=dele"k_tblritmclass="sref">dile"k_tblritmsp)
g-  3932a>          whi (co href="+code=prbe" _to_cpuclass="sref">dibe" _to_cpua>(dile"k_tblritmsp)
gt;chle a>  ) <= (- href="+code=chypto/lenclass="sref">upcpto/lena>  )
  *ry, and move to previous on(cY/span>
  3934a>                   href="+code=deypto/lenclass="sref">upcpto/lena>   +dibe" _to_cpua>(dile"k_tblritmsp)
gt;chle a>  )  3935a>        dile"k_tblritmsp)
gt;chle a>     3936a>                   href="+code=tisg_cou">class="sref">chsg_cou">a>  g-  393/a>                   href="+code=dele"k_tblritmclass="sref">dile"k_tblritmsp)
g-  393/a>            393/a>           href="+code=dele"k_tblritmclass="sref">dile"k_tblritmsp)
gt;chle a>   upcpu_to_be" a>(dibe" _to_cpua>(dile"k_tblritmsp)
gt;chle a>  )a href="drivers/crypto/talitos.c#L899" id="L409" class="line" name="L409">  494/a>                                          +  href="+code=deypto/lenclass="sref">upcpto/lena>  )  4941a>  a href="drivers/crypto/talitos.c#L929"2id="L119" class="line" name="L429">  4942a>          pan class="comment"> *
  494/a>           href="+code=dele"k_tblritmclass="sref">dile"k_tblritmsp)
gt;class="sref">chj_exte">a>   chDESC_PTR_LNKTBL_RETURNa>    4944a>  a href="drivers/crypto/talitos.c#L929"5id="L249" class="line" name="L459">  4945a>        class="sref">chsg_cou">a>    4946a>    494/a>
  494/a>  pan class="comment"> *
  494/a>  pan class="comment"> * Yrfill in and submitripsec_esp viscrio/trspan>
  595/a>  pan class="comment"> * Y/span>
  5951a>  atic vot upipsec_espa>(chlitos_previsca>   a href="+code=deeviscclass="sref">chevisca>  ,oruct upaeadrreque=ta>   a href="+code=deareqclass="sref">upareqsp)
,a href="drivers/crypto/talitos.c#L929"2id="L119" class="line" name="L529">  5952a>                        href="+code=deu" class="lief">upu64a>    href="+code=deseqclass="sref">upseqsp)
upcallbacka>  ) aruct device *dev, ,a href="drivers/crypto/talitos.c#L929"3id="L129" class="line" name="L539">  595/a>                                                  ruct chlitos_prvisca>   a href="+code=dev"scclass="sref">chvisca>  ,a href="drivers/crypto/talitos.c#L929" id="L249" class="line" name="L549">  5954a>                                                  id upcontexta>, , t diermora>, 

a href="drivers/crypto/talitos.c#L669"5id="L249" class="line" name="L559">  5955a>    5956a>          ruct upcpto/t_aeada>   a href="+code=deaeadclass="sref">upaeada>   chypto/t_aeadrreqtfma>(upareqsp)

  5957a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chypto/t_aeadrctxa>(upaeada>  
  595/a>          ruct device *dev,  chctxa>  gt;dev,   595/a>          ruct chlitos_prvisca>   a href="+code=dev"scclass="sref">chvisca>   chevisca>  gt;chvisca>    696/a>          unsigned t upcpto/lena>   upareqsp)
gt;upcpto/lena>    6961a>          unsigned t chauthsizea>,  chctxa>  gt;chauthsizea>,   6962a>          unsigned t chivsizea>   chypto/t_aeadrivsizea>(upaeada>  
  6963a>          t class="sref">chsg_cou">a>  ,aphref="+code=prre>class="sref">chre>a>,   6964a>          t chsg_le"k_tblrle a>,   6965a>  a href="drivers/crypto/talitos.c#L899" id="L469" class="line" name="L669">  6966a>          pan class="comment"> *
  6967a>           href="+code=demap_single_litos_pritmclass="sref">dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[0],aphref="+code=prytxclass="sref">chctxa>  gt;chauthkeyle a>);chctxa>  gt;chkeya>  ,a href="drivers/crypto/talitos.c#L929" id="L489" class="line" name="L689">  696/a>                                 0,aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
  696/a>  a href="drivers/crypto/talitos.c#L899" id="L709" class="line" name="L709">  7970a>           an class="comment"> *
  7971a>           href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[1]. href="+code=chle class="sref">chle a>   upcpu_to_be" a>(upareqsp)
gt;cha="ocle a>   +a href="+code=tiivsizeclass="sref">chivsizea>  
  7972a>          tf ( href="+code=previscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)

   797/a>                  t uptblroffa>   chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 +  href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 + 2  7974a>                  ruct dilitos_pritma>(ditblritmsp)
 chevisca>  gt;chle"k_tbla>)
[ href="+code=prtblroffclass="sref">uptblroffa>  ]  7975a>  a href="drivers/crypto/talitos.c#L899" id="L469" class="line" name="L769">  7976a>                   href="+code=prto_litos_pritmclass="sref">dilo_litos_pritma>(chvisca>  gt;diitma>(<[1],aphref="+code=previscclass="sref">chevisca>  gt;chdma_le"k_tbla>)
 +  href="+code=detblroffclass="sref">uptblroffa>   *a href="drivers/crypto/talitos.c#L899"7id="L249  class="line" name="L179>>  697/a>                                 sizeofaruct dilitos_pritma>(<

  797/a>                   href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[1]. href="+code=chj_exte">class="sref">chj_exte">a>   chDESC_PTR_LNKTBL_JUMPa>,   797/a>  a href="drivers/crypto/talitos.c#L899" id="L809" class="line" name="L809">  898/a>                   an class="comment"> *s - 1 t">ries r m s="oc, 1 r m IV Y/span>
  8981a>                   href="+code=desg_cou">class="sref">chsg_cou">a>   chsg_to_le"k_tbla>(upareqsp)
gt;cha="oca>  ,aphref="+code=previscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
 - 1,a href="drivers/crypto/talitos.c#L929" id="L129" class="line" name="L829">  8982a>                                             href="+code=deareqclass="sref">upareqsp)
gt;cha="ocle a>  ,aphref="+code=prtblritmclass="sref">ditblritmsp)

  8983a>  a href="drivers/crypto/talitos.c#L899" id="L249" class="line" name="L849">  8984a>                   an class="comment"> *
  8985a>        ditblritmsp)
 +class="sref">chsg_cou">a>   - 1  8986a>                   href="+code=prtblritmclass="sref">ditblritmsp)
gt;class="sref">chj_exte">a>     898/a>                   href="+code=detblritmclass="sref">ditblritmsp)
++dilo_litos_pritma>(ditblritmsp)
,aphref="+code=previscclass="sref">chevisca>  gt;chiv_dmasp)

  898/a>                   href="+code=prtblritmclass="sref">ditblritmsp)
gt;chle a>   upcpu_to_be" a>(chivsizea>  
  999/a>                   href="+code=prtblritmclass="sref">ditblritmsp)
gt;class="sref">chj_exte">a>   chDESC_PTR_LNKTBL_RETURNa>    9991a>  a href="drivers/crypto/talitos.c#L929  id="L829" class="line" name="L929">  9992a>                   href="+code=chdma_sync_single_r m_vice" class="sref">devma_sync_single_r m_vice" a>(dev);chevisca>  gt;chdma_le"k_tbla>)
,a href="drivers/crypto/talitos.c#L929  id="L739" class="line" name="L939">  999/a>                                            aphref="+code=previscclass="sref">chevisca>  gt;chdma_le sp)
,aphref="+code=prDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  
  9994a>          < else   9995a>        dilo_litos_pritma>(chvisca>  gt;diitma>(<[1],aphref="+code=prsg_dma_addressclass="sref">chsg_dma_addressa>(upareqsp)
gt;cha="oca>  

chvisca>  gt;diitma>(<[1]. href="+code=chj_exte">class="sref">chj_exte">a>    *
dilo_litos_pritma>(chvisca>  gt;diitma>(<[2],aphref="+code=previscclass="sref">chevisca>  gt;chiv_dmasp)

 href="drivers/crypto/talitos.c#L661001id="L10100 class="line" name="L91100 c>1001a>           href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[2]. href="+code=chle class="sref">chle a>   upcpu_to_be" a>(chivsizea>  
chvisca>  gt;diitma>(<[2]. href="+code=chj_exte">class="sref">chj_exte">a>    *
devma_sync_single_r m_vice" a>(dev);chevisca>  gt;chiv_dmasp)
chivsizea>  ,aphref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<
1006a>          pan class="comment"> *
dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[3],aphref="+code=prytxclass="sref">chctxa>  gt;chsnykeyle a>)
,a href="drivers/crypto/talitos.c#L921008id="L10100 class="line" name="L88100 c>100/a>                                 (char *)& href="+code=prytxclass="sref">chctxa>  gt;chkeya>   +  href="+code=deytxclass="sref">chctxa>  gt;chauthkeyle a>);reDMA_TO_DEVICEa>(<
10" a>  a href="drivers/crypto/talitos.c#L891011id="L1010  class="line" name="L1110  c>10"1a>          pan class="comment"> *
10"2a>  pan class="comment"> *         / cipher inspan>
10"/a>  pan class="comment"> *         / map and sdju=t cipher len to aead reque=t ypto/len.span>
10"4a>  pan class="comment"> *         / exte"> is bytes of HMAC postpenvid to yiphertext,span>
10"/a>  pan class="comment"> *         / typically 12 r m ipsecspan>
10"6a>  pan class="comment"> *         //span>
10"7a>           href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[4]. href="+code=chle class="sref">chle a>   upcpu_to_be" a>(upcpto/lena>  )10"/a>           href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[4]. href="+code=chj_exte">class="sref">chj_exte">a>   chauthsizea>, 10"/a>  a href="drivers/crypto/talitos.c#L89102 id="L1010" class="line" name="L2010" c>10" a>           href="+code=desg_cou">class="sref">chsg_cou">a>   uplitos_prmap_sga>(dev);upareqsp)
gt;chsrca>);chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 ? : 1,a href="drivers/crypto/talitos.c#L921021id="L1010" class="line" name="L2110" c>10"1a>                                    (phref="+code=prareqclass="sref">upareqsp)
gt;chsrca>); =upareqsp)
gt;updsta> =
 ? phref="+code=prDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  a href="drivers/crypto/talitos.c#L921022id="L1010" class="line" name="L2210" c>10"2a>                                                             : phref="+code=prDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>(<,a href="drivers/crypto/talitos.c#L921023id="L1010" class="line" name="L2310" c>10"/a>                                    phref="+code=previscclass="sref">chevisca>  gt;upsrc_chae" da>  )10"4a>  a href="drivers/crypto/talitos.c#L9210"5id="L1010" class="line" name="L2510" c>10"5a>        class="sref">chsg_cou">a>   <= 1
 10"6a>                   href="+code=prto_litos_pritmclass="sref">dilo_litos_pritma>(chvisca>  gt;diitma>(<[4],aphref="+code=prsg_dma_addressclass="sref">chsg_dma_addressa>(upareqsp)
gt;chsrca>);

10"/a>          < else 10"/a>                   href="+code=desg_le"k_tblrle class="sref">chsg_le"k_tblrle a>,  upcpto/lena>  10"/a>  a href="drivers/crypto/talitos.c#L89103 id="L1010" class="line" name="L3010" c>10" a>                  tf ( href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdmclass="sref">dihdma>   & phref="+code=prDESC_HDR_MODE1_MDEU_CICVclass="sref">chDESC_HDR_MODE1_MDEU_CICVa>);
a href="drivers/crypto/talitos.c#L891031id="L1010" class="line" name="L3110" c>10"1a>                           href="+code=desg_le"k_tblrle class="sref">chsg_le"k_tblrle a>,  upcpto/lena>   +  href="+code=deauthsizeclass="sref">chauthsizea>, 10"2a>  a href="drivers/crypto/talitos.c#L891033id="L1010  class="line" name="L1310  c>10"/a>                   href="+code=tisg_cou">class="sref">chsg_cou">a>   chsg_to_le"k_tbla>(upareqsp)
gt;chsrca>);class="sref">chsg_cou">a>  ,aphref="+code=prsg_le"k_tblrle class="sref">chsg_le"k_tblrle a>, ,a href="drivers/crypto/talitos.c#L921034id="L1010" class="line" name="L3410" c>10"4a>                                            & href="+code=previscclass="sref">chevisca>  gt;chle"k_tbla>)
[0]
10"5a>        class="sref">chsg_cou">a>   t;10"6a>                           href="+code=tiv"scclass="sref">chvisca>  gt;diitma>(<[4]. href="+code=chj_exte">class="sref">chj_exte">a>   |chDESC_PTR_LNKTBL_JUMPa>, 10"/a>                           href="+code=prto_litos_pritmclass="sref">dilo_litos_pritma>(chvisca>  gt;diitma>(<[4],aphref="+code=previscclass="sref">chevisca>  gt;chdma_le"k_tbla>)

10"/a>                           href="+code=dedma_sync_single_r m_vice" class="sref">devma_sync_single_r m_vice" a>(dev);chevisca>  gt;chdma_le"k_tbla>)
,a href="drivers/crypto/talitos.c#L9210"9id="L1010" class="line" name="L3910" c>10"/a>                                                      href="+code=deeviscclass="sref">chevisca>  gt;chdma_le sp)
,a href="drivers/crypto/talitos.c#L92104 id="L1010" class="line" name="L4010" c>10" a>                                                      href="+code=deDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  
10"1a>                  < else 10"2a>                          pan class="comment"> * now, so no le"k tbl neevid //span>
10"/a>                           href="+code=prto_litos_pritmclass="sref">dilo_litos_pritma>(chvisca>  gt;diitma>(<[4],a href="drivers/crypto/talitos.c#L661044id="L1010" class="line" name="L4410" c>10"4a>                                         phref="+code=prsg_dma_addressclass="sref">chsg_dma_addressa>(upareqsp)
gt;chsrca>);

10"5a>        10"6a>          10"/a>
10"/a>           an class="comment"> *
10"/a>           href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[5]. href="+code=chle class="sref">chle a>   upcpu_to_be" a>(upcpto/lena>  )10" a>           href="+code=dev"scclass="sref">chvisca>  gt;diitma>(<[5]. href="+code=chj_exte">class="sref">chj_exte">a>   chauthsizea>, 10"1a>  a href="drivers/crypto/talitos.c#L9210"2id="L1010" class="line" name="L5210" c>10"2a>          tf ( href="+code=prareqclass="sref">upareqsp)
gt;chsrca>); !upareqsp)
gt;updsta> =
a href="drivers/crypto/talitos.c#L9210"3id="L1010" class="line" name="L5310" c>10"/a>                   href="+code=tisg_cou">class="sref">chsg_cou">a>   uplitos_prmap_sga>(dev);upareqsp)
gt;updsta> =,a href="drivers/crypto/talitos.c#L661054id="L1010" class="line" name="L5410" c>10"4a>                                             href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 ? : 1,a href="drivers/crypto/talitos.c#L921055id="L1010" class="line" name="L5510" c>10"5a>        reDMA_FROM_DEVICEa>);chevisca>  gt;upd=t_mhae" da>  )10"6a>  a href="drivers/crypto/talitos.c#L8910"7id="L1010" class="line" name="L5710" c>10"7a>          tf ( href="+code=prsg_cou">class="sref">chsg_cou">a>   <= 1
 10"/a>                   href="+code=deto_litos_pritmclass="sref">dilo_litos_pritma>(chvisca>  gt;diitma>(<[5],aphref="+code=prsg_dma_addressclass="sref">chsg_dma_addressa>(upareqsp)
gt;updsta> =
)10"/a>          < else 10" a>        uptblroffa>   chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 + 110"1a>                  ruct dilitos_pritma>(ditblritmsp)
 chevisca>  gt;chle"k_tbla>)
[ href="+code=prtblroffclass="sref">uptblroffa>  ]10"2a>  a href="drivers/crypto/talitos.c#L891063id="L1010" class="line" name="L6310" c>10"/a>                   href="+code=tito_litos_pritmclass="sref">dilo_litos_pritma>(chvisca>  gt;diitma>(<[5],aphref="+code=previscclass="sref">chevisca>  gt;chdma_le"k_tbla>)
 +a href="drivers/crypto/talitos.c#L891064id="L1010" class="line" name="L6410" c>10"4a>                                  href="+code=titblroffclass="sref">uptblroffa>   * sizeofaruct dilitos_pritma>(<

10"5a>        class="sref">chsg_cou">a>   chsg_to_le"k_tbla>(upareqsp)
gt;updsta> =,aphref="+code=prsg_cou">class="sref">chsg_cou">a>  ,aphref="+code=prypto/lenclass="sref">upcpto/lena>  ,a href="drivers/crypto/talitos.c#L921066id="L1010" class="line" name="L6610" c>10"6a>                                             href="+code=titblritmclass="sref">ditblritmsp)

10"/a>
10"/a>                   an class="comment"> *ry to the le"k table r m ICV ta
10"/a>                   href="+code=prtblritmclass="sref">ditblritmsp)
 +class="sref">chsg_cou">a>   - 110" a>                   href="+code=prtblritmclass="sref">ditblritmsp)
gt;class="sref">chj_exte">a>   10"1a>                   href="+code=detblritmclass="sref">ditblritmsp)
++10"2a>                   href="+code=chtblritmclass="sref">ditblritmsp)
gt;class="sref">chj_exte">a>   chDESC_PTR_LNKTBL_RETURNa>  10"/a>                   href="+code=titblritmclass="sref">ditblritmsp)
gt;chle a>   upcpu_to_be" a>(chauthsizea>, 
10"4a>  a href="drivers/crypto/talitos.c#L921075id="L1010" class="line" name="L7510" c>10"5a>         *
10"6a>                   href="+code=prto_litos_pritmclass="sref">dilo_litos_pritma>(ditblritmsp)
,aphref="+code=previscclass="sref">chevisca>  gt;chdma_le"k_tbla>)
 +a href="drivers/crypto/talitos.c#L891077id="L1010  class="line" name="L1710  c>10"/a>                                 a href="+code=titblroffclass="sref">uptblroffa>   +  href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 + 1 +a href="drivers/crypto/talitos.c#L891078id="L1010" class="line" name="L7810" c>10"/a>                                 aphref="+code=previscclass="sref">chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
) *a href="drivers/crypto/talitos.c#L8910"9id="L1010" class="line" name="L7910" c>10"/a>                                 sizeofaruct dilitos_pritma>(<

10" a>                   href="+code=prv"scclass="sref">chvisca>  gt;diitma>(<[5]. href="+code=chj_exte">class="sref">chj_exte">a>   |chDESC_PTR_LNKTBL_JUMPa>, 10"1a>                   href="+code=dedma_sync_single_r m_vice" class="sref">devma_sync_single_r m_vice" a>(chctxa>  gt;dev, chevisca>  gt;chdma_le"k_tbla>)
,a href="drivers/crypto/talitos.c#L921082id="L1010" class="line" name="L8210" c>10"2a>                                             phref="+code=previscclass="sref">chevisca>  gt;chdma_le sp)
,aphref="+code=prDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  
10"/a>          10"4a>  a href="drivers/crypto/talitos.c#L921085id="L1010" class="line" name="L8510" c>10"5a>         *
10"6a>          phref="+code=prmap_single_litos_pritmclass="sref">dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[6],aphref="+code=privsizeclass="sref">chivsizea>  ,aphref="+code=prytxclass="sref">chctxa>  gt;dei/a>);10"/a>                                  href="+code=deDMA_FROM_DEVICEclass="sref">reDMA_FROM_DEVICEa>);
  a href="drivers/crypto/talitos.c#L8910"9id="L1010" class="line" name="L8910" c>10"/a>           href="+code=dere>class="sref">chre>a>,  dilitos_prsubmita>(dev);chctxa>  gt;chcha>);chvisca>  ,aphref="+code=pryallbackclass="sref">upcallbacka>  upareqsp)

10" a>          tf ( href="+code=prre>class="sref">chre>a>,  != - href="+code=prEINPROGRESSclass="sref">chEINPROGRESSa>)
) 10"1a>                   href="+code=deipsec_esp_unmapclass="sref">deipsec_esp_unmapa>(dev);chevisca>  upareqsp)

10"2a>                   href="+code=chkfreeclass="sref">chkfreea>(chevisca>  
10"/a>          10"4a>          re>urn  href="+code=dere>class="sref">chre>a>, 10"5a>    a href="drivers/crypto/talitos.c#L891097id="L10109 class="line" name="L87109 c>10"/a>  pan class="comment"> *
  pan class="comment"> * * devers number of elemt">s in scatterlista>an>
  pan class="comment"> * */span>
class="sref">chsg_cou">a>  aruct chscatterlista>(chsg_lesta>  chnbytesa>  chboola>(upmhae" da>  )a href="drivers/crypto/talitos.c#L661101id="L10110 class="line" name="L91110 c>1101a>  chscatterlista>(chsga>   chsg_lesta>  sclass="sref">chsg_nt">ssp)
 upmhae" da>   chfalsea>  chnbytesa>   t;sclass="sref">chsg_nt">ssp)
++chnbytesa>   -chsga>  gt;chle gtha>  chsg_is_ss=ta>(chsga>  )a&& a href="+code=desgclass="sref">chsga>   + 1)gt;chle gtha>   <= 0)a href="drivers/crypto/talitos.c#L66111 id="L1011" class="line" name="L1011" c>111 a>                          a href="+code=prmhae" dclass="sref">upmhae" da>   chuctea>  chsga>   chscatterwalk_sg_ntxta>(chsga>  )1112a>          1113a>  a href="drivers/crypto/talitos.c#L891114id="L1011" class="line" name="L1411" c>1114a>          re>urn  href="+code=desg_nt">sclass="sref">chsg_nt">ssp)
1115a>  1116a>  a href="drivers/crypto/talitos.c#L891117id="L1011" class="line" name="L1711" c>111/a>  pan class="comment"> *
1118a>  pan class="comment"> * * sg_copy_end_to_buffer - Copy end ta
1119a>  pan class="comment"> * * @sgl:                 The SG lestspan>
11" a>  pan class="comment"> * * @nt">s:               Number of SG t">riesspan>
11"1a>  pan class="comment"> * * @buf:                 Where to yopy tospan>
1122a>  pan class="comment"> * * @bufle :              The number of bytes to yopyspan>
112/a>  pan class="comment"> * * @skip:                The number of bytes to skip beforelaopying.span>
1124a>  pan class="comment"> * *                       Note: skip + bufle  should equal SG tolit size.span>
112/a>  pan class="comment"> * /span>
1126a>  pan class="comment"> * * Re>urns the number of aopied bytes.span>
112/a>  pan class="comment"> * /span>
1128a>  pan class="comment"> * **/span>
11"/a>  static  href="+code=desize_tclass="sref">chsize_ta>    href="+code=tisg_copy_end_to_bufferclass="sref">chsg_copy_end_to_buffera>  aruct chscatterlista>(chsgla>)
, unsig" dat sclass="sref">chnt">ssp)
,a href="drivers/crypto/talitos.c#L92113 id="L1011" class="line" name="L3011" c>11" a>                                      voidaa href="+code=prbufclass="sref">chbufa>  chsize_ta>    href="+code=tibufle class="sref">chbufle sp)
,aunsig" dat chskipa>  )a href="drivers/crypto/talitos.c#L661131id="L1011" class="line" name="L3111" c>1131a>  1132a>          unsig" dat choffse>sp)
           unsig" dat chboffse>sp)
 11"4a>          ruct chsg_mapping_itera>    href="+code=timiterclass="sref">chmitera>  11"5a>        chflagsa>  11"6a>          unsig" dat chsg_flagsa>   chSG_MITER_ATOMICa>  1137a>           href="+code=desize_tclass="sref">chsize_ta>    href="+code=titolit_bufferclass="sref">chtolit_buffera>   chbufle sp)
 +  href="+code=deskipclass="sref">chskipa>  113/a>  a href="drivers/crypto/talitos.c#L8911"9id="L1011" class="line" name="L3911" c>113/a>           href="+code=desg_flagsclass="sref">chsg_flagsa>   |chSG_MITER_FROM_SGa>  114 a>  a href="drivers/crypto/talitos.c#L8911"1id="L1011" class="line" name="L4111" c>1141a>           href="+code=desg_miter_startclass="sref">chsg_miter_starta>  a& href="+code=prmiterclass="sref">chmitera>  ,aphref="+code=prsglclass="sref">chsgla>)
,  href="+code=tint">sclass="sref">chnt">ssp)
,  href="+code=desg_flagsclass="sref">chsg_flagsa>  )1142a>  a href="drivers/crypto/talitos.c#L891143id="L1011" class="line" name="L4311" c>11"/a>           href="+code=chlocit_irq_saveclass="sref">chlocit_irq_savea>(chflagsa>  )1144a>  a href="drivers/crypto/talitos.c#L921145id="L1011" class="line" name="L4511" c>11"5a>        chsg_miter_ntxta>  a& href="+code=prmiterclass="sref">chmitera>  )a&&  href="+code=tioffse>class="sref">choffse>sp)
 <  href="+code=titolit_bufferclass="sref">chtolit_buffera>  ) 1146a>                  unsig" dat chle a>  114/a>                  unsig" dat chig"orea>  114/a>  a href="drivers/crypto/talitos.c#L891149id="L1011" class="line" name="L4911" c>114/a>                  tf (( href="+code=proffse>class="sref">choffse>sp)
 +  href="+code=demiterclass="sref">chmitera>  . href="+code=chle gthclass="sref">chle gtha>  ) t;chskipa>  ) 115 a>                          tf ( href="+code=proffse>class="sref">choffse>sp)
 <  href="+code=tiskipclass="sref">chskipa>  ) 1151a>                                   an class="comment"> * */span>
1152a>                                   href="+code=tiig"oreclass="sref">chig"orea>   chskipa>   -  href="+code=tioffse>class="sref">choffse>sp)
11"/a>                                   href="+code=tile class="sref">chle a>   chmitera>  . href="+code=chle gthclass="sref">chle gtha>   -  href="+code=tiig"oreclass="sref">chig"orea>  11"4a>                                  tf ( href="+code=prboffse>class="sref">chboffse>sp)
 +  href="+code=dele class="sref">chle a>   t;chbufle sp)
)a href="drivers/crypto/talitos.c#L661155id="L1011" class="line" name="L5511" c>11"5a>        chle a>   chbufle sp)
 -  href="+code=tiboffse>class="sref">chboffse>sp)
1156a>                                   href="+code=dememcpyclass="sref">chmemcpya>(chbufa>   +  href="+code=deboffse>class="sref">chboffse>sp)
,  href="+code=demiterclass="sref">chmitera>  . href="+code=chaddrclass="sref">chaddra>   +  href="+code=deig"oreclass="sref">chig"orea>  ,  href="+code=dele class="sref">chle a>  )115/a>                          < else 11"/a>                                   an class="comment"> * (up to bufle ) */span>
115/a>                                   href="+code=tile class="sref">chle a>   chmitera>  . href="+code=chle gthclass="sref">chle gtha>  11" a>        chboffse>sp)
 +  href="+code=dele class="sref">chle a>   t;chbufle sp)
)a href="drivers/crypto/talitos.c#L6611"1id="L1011" class="line" name="L6111" c>11"1a>                                           href="+code=tile class="sref">chle a>   chbufle sp)
 -  href="+code=tiboffse>class="sref">chboffse>sp)
1162a>                                   href="+code=timemcpyclass="sref">chmemcpya>(chbufa>   +  href="+code=deboffse>class="sref">chboffse>sp)
,  href="+code=demiterclass="sref">chmitera>  . href="+code=chaddrclass="sref">chaddra>  ,  href="+code=dele class="sref">chle a>  )11"/a>                          11"4a>                           href="+code=prboffse>class="sref">chboffse>sp)
 +chle a>  11"5a>        11"6a>                   href="+code=proffse>class="sref">choffse>sp)
 +chmitera>  . href="+code=chle gthclass="sref">chle gtha>  116/a>          116/a>  a href="drivers/crypto/talitos.c#L8911"9id="L1011" class="line" name="L6911" c>116/a>           href="+code=desg_miter_stopclass="sref">chsg_miter_stopa>  a& href="+code=prmiterclass="sref">chmitera>  )117 a>  a href="drivers/crypto/talitos.c#L8911"1id="L1011" class="line" name="L7111" c>1171a>           href="+code=delocit_irq_restoreclass="sref">chlocit_irq_restorea>(chflagsa>  )11"2a>          re>urn  href="+code=deboffse>class="sref">chboffse>sp)
11"/a>  11"4a>  a href="drivers/crypto/talitos.c#L921175id="L1011" class="line" name="L7511" c>117/a>  pan class="comment"> *
1176a>  pan class="comment"> * * allocite and map the exte"vid viscrio/trspan>
 * //span>
11"/a>  static ruct chlitos_previsca>   a href="+code=prtitos_previsc_allocclass="sref">chlitos_previsc_alloca>(device" a>(< a href="+code=prv" class="sref">dev);11"/a>                                                   ruct chscatterlista>(cha="oca>);11" a>                                                   ruct chscatterlista>(chsrca>);11"1a>                                                   ruct chscatterlista>(updsta> =,a href="drivers/crypto/talitos.c#L661182id="L1011" class="line" name="L8211" c>11"2a>                                                    href="+code=pru8class="sref">upu8a>(dei/a>);118/a>                                                   unsig" dat cha="ocle a>);1184a>                                                   unsig" dat upcpto/lena>  ,a href="drivers/crypto/talitos.c#L921185id="L1011" class="line" name="L8511" c>1185a>        chauthsizea>, ,a href="drivers/crypto/talitos.c#L921186id="L1011" class="line" name="L8611" c>1186a>                                                   unsig" dat chivsizea>  ,a href="drivers/crypto/talitos.c#L921187id="L1011" class="line" name="L8711" c>11"/a>                                                   t chicv_stashinga>  ,a href="drivers/crypto/talitos.c#L921188id="L1011  class="line" name="L1811  c>118/a>                                                    href="+code=pru" class="lief">upu32a>    href="+code=tiypto/oflagsclass="sref">chypto/oflagssp)
)a href="drivers/crypto/talitos.c#L6611"9id="L1011" class="line" name="L8911" c>11"/a>  11" a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  11"1a>          t sclass="sref">cha="oc_nt">sa>)
 sclass="sref">chsrc_nt">sa>)
sclass="sref">chdst_nt">ssp)
challoc_le a>)
chdma_le sp)
11"2a>           href="+code=deboolclass="sref">chboola>(upa="oc_mhae" da>   chfalsea>  ,  href="+code=desrc_mhae" dclass="sref">upsrc_mhae" da>   chfalsea>  ,  href="+code=ded=t_mhae" dclass="sref">upd=t_mhae" da>   chfalsea>  119/a>           href="+code=chdma_addr_tclass="sref">chdma_addr_ta>(chiv_dmaa>)
 11"4a>           href="+code=tigfp_tclass="sref">chgfp_ta>(chflagsa>   chypto/oflagssp)
 &  href="+code=tiCRYPTO_TFM_REQ_MAY_SLEEPclass="sref">chCRYPTO_TFM_REQ_MAY_SLEEPsp)
 ?  href="+code=tiGFP_KERNELclass="sref">reGFP_KERNELsp)
 :a href="drivers/crypto/talitos.c#L921195id="L1011" class="line" name="L9511" c>1195a>        chGFP_ATOMICa>    a href="drivers/crypto/talitos.c#L891197id="L10119 class="line" name="L87119 c>1197a>          tf ( href="+code=prypto/lenclass="sref">upcpto/lena>   +  href="+code=deauthsizeclass="sref">chauthsizea>,  t;chTALITOS_MAX_DATA_LENsp)
) chdev_erra>(dev);deERR_PTRa>(reEINVALa>  )dei/a>);)a href="drivers/crypto/talitos.c#L661203id="L10120 class="line" name="L93120 c>120/a>                   href="+code=tiiv_dmaclass="sref">chiv_dmaa>)
 chdma_map_singlea>(dev);dei/a>);chivsizea>  ,a href="+code=tiDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )cha="oca>);)  *
 *                 * Currt">ly it is s="umed that iv is provivid wheners/ a="oca>an>
 *                 * is.span>
 *                 */span>
121 a>                   href="+code=prBUG_ONclass="sref">chBUG_ONa>(dei/a>);)1212a>                   href="+code=tia="oc_nt">sclass="sref">cha="oc_nt">sa>)
 class="sref">chsg_cou">a>  a href="+code=pra="occlass="sref">cha="oca>);cha="ocle a>);upa="oc_mhae" da>  )121/a>                   href="+code=tititos_prmap_sgclass="sref">uplitos_prmap_sga>(dev);cha="oca>);sclass="sref">cha="oc_nt">sa>)
,a href="+code=tiDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  ,a href="drivers/crypto/talitos.c#L921214id="L1012" class="line" name="L1412" c>1214a>                                  href="+code=pra="oc_mhae" dclass="sref">upa="oc_mhae" da>  )1215a>        sclass="sref">cha="oc_nt">sa>)
 sclass="sref">cha="oc_nt">sa>)
 <= 1
 ? 0 :  href="+code=tia="oc_nt">sclass="sref">cha="oc_nt">sa>)
1216a>  a href="drivers/crypto/talitos.c#L891217id="L1012" class="line" name="L1712" c>121/a>                  tf ( href="+code=pra="oc_nt">sclass="sref">cha="oc_nt">sa>)
 ||a href="+code=desg_dma_addressclass="sref">chsg_dma_addressa>(cha="oca>);) +  href="+code=dea="ocle class="sref">cha="ocle a>); !=  href="+code=tiiv_dmaclass="sref">chiv_dmaa>)
)a href="drivers/crypto/talitos.c#L6612"8id="L1012" class="line" name="L1812" c>121/a>                           href="+code=tia="oc_nt">sclass="sref">cha="oc_nt">sa>)
 sclass="sref">cha="oc_nt">sa>)
 ?  href="+code=tia="oc_nt">sclass="sref">cha="oc_nt">sa>)
 + 1 : 2121/a>          122 a>  a href="drivers/crypto/talitos.c#L891221id="L1012" class="line" name="L2112" c>1221a>           href="+code=desrc_nt">sclass="sref">chsrc_nt">sa>)
 class="sref">chsg_cou">a>  a href="+code=prsrcclass="sref">chsrca>);upcpto/lena>   +  href="+code=deauthsizeclass="sref">chauthsizea>, upsrc_mhae" da>  )1222a>           href="+code=desrc_nt">sclass="sref">chsrc_nt">sa>)
 sclass="sref">chsrc_nt">sa>)
 <= 1
 ? 0 :  href="+code=tisrc_nt">sclass="sref">chsrc_nt">sa>)
1223a>  a href="drivers/crypto/talitos.c#L891224id="L1012" class="line" name="L2412" c>1224a>          tf (! href="+code=ded=tclass="sref">updsta> =) 1225a>        sclass="sref">chdst_nt">ssp)
 1226a>          < else 122/a>                  tf ( href="+code=prd=tclass="sref">updsta> = <=  href="+code=prsrcclass="sref">chsrca>);) 122/a>                           href="+code=tidst_nt">sclass="sref">chdst_nt">ssp)
 sclass="sref">chsrc_nt">sa>)
122/a>                  < else 12" a>                           href="+code=tidst_nt">sclass="sref">chdst_nt">ssp)
 class="sref">chsg_cou">a>  a href="+code=prd=tclass="sref">updsta> =,a href="+code=tiypto/lenclass="sref">upcpto/lena>   +  href="+code=deauthsizeclass="sref">chauthsizea>, 1231a>                                               & href="+code=prv=t_mhae" dclass="sref">upd=t_mhae" da>  )1232a>                           href="+code=tidst_nt">sclass="sref">chdst_nt">ssp)
 sclass="sref">chdst_nt">ssp)
 <= 1
 ? 0 :  href="+code=tid=t_nt">sclass="sref">chdst_nt">ssp)
12"4a>          12"5a>  a href="drivers/crypto/talitos.c#L921236id="L1012" class="line" name="L3612" c>12"6a>           an class="comment"> *
123/a>  pan class="comment"> *         * allocite an ce for base evisc plus the le"k tables,span>
1238a>  pan class="comment"> *         * allowing for two separite t">ries for ICV and generited ICV (+ 2),span>
1239a>  pan class="comment"> *         * and the ICV ta
124 a>  pan class="comment"> *         */span>
1241a>           href="+code=dealloc_le class="sref">challoc_le a>)
 chlitos_previsca>  )1242a>          tf ( href="+code=pra="oc_nt">sclass="sref">cha="oc_nt">sa>)
 ||a href="+code=desrc_nt">sclass="sref">chsrc_nt">sa>)
 ||a href="+code=ded=t_nt">sclass="sref">chdst_nt">ssp)
) 124/a>                   href="+code=tivma_le class="sref">chdma_le sp)
 sclass="sref">chsrc_nt">sa>)
 +  href="+code=ded=t_nt">sclass="sref">chdst_nt">ssp)
 + 2 +  href="+code=dea="oc_nt">sclass="sref">cha="oc_nt">sa>)
) *a href="drivers/crypto/talitos.c#L891244id="L1012" class="line" name="L4412" c>1244a>                            sizeofaruct dilitos_pritma>(<
 +  href="+code=deauthsizeclass="sref">chauthsizea>, 1245a>        challoc_le a>)
 +chdma_le sp)
1246a>          < else 124/a>                   href="+code=tivma_le class="sref">chdma_le sp)
 124/a>                   href="+code=pralloc_le class="sref">challoc_le a>)
 +chicv_stashinga>   ?  href="+code=tiauthsizeclass="sref">chauthsizea>,  :a0124/a>          125 a>  a href="drivers/crypto/talitos.c#L891251id="L1012" class="line" name="L5112" c>1251a>           href="+code=deeviscclass="sref">chevisca>   chkmalloca>(challoc_le a>)
chGFP_DMAa>)
 |a href="+code=tiflagsclass="sref">chflagsa>  )1252a>          tf (! href="+code=deeviscclass="sref">chevisca>  
 12"/a>                   href="+code=talitos_prunmap_sg_mhae"class="sref">dilitos_prunmap_sg_mhae"a>(dev);cha="oca>);reDMA_TO_DEVICEa>  )12"4a>                  tf ( href="+code=pri _dmaclass="sref">chiv_dmaa>)
)a href="drivers/crypto/talitos.c#L661255id="L1012" class="line" name="L5512" c>12"5a>        chdma_unmap_singlea>(dev);chiv_dmaa>)
chivsizea>  ,a href="+code=tiDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )1256a>                   href="+code=dev" _errclass="sref">chdev_erra>(dev);125/a>                  re>urn  href="+code=deERR_PTRclass="sref">deERR_PTRa>(deENOMEMa>  )12"/a>          125/a>  a href="drivers/crypto/talitos.c#L92126 id="L1012" class="line" name="L6012" c>12" a>        chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
 sclass="sref">cha="oc_nt">sa>)
1261a>           href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 sclass="sref">chsrc_nt">sa>)
1262a>           href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 sclass="sref">chdst_nt">ssp)
12"/a>           href="+code=deeviscclass="sref">chevisca>  gt;upa="oc_mhae" da>   upa="oc_mhae" da>  1264a>           href="+code=tieviscclass="sref">chevisca>  gt;upsrc_mhae" da>   upsrc_mhae" da>  12"5a>        chevisca>  gt;upd=t_mhae" da>   upd=t_mhae" da>  12"6a>           href="+code=deeviscclass="sref">chevisca>  gt;chiv_dmaa>)
 chiv_dmaa>)
1267a>           href="+code=deeviscclass="sref">chevisca>  gt;chdma_le sp)
 chdma_le sp)
126/a>          tf ( href="+code=prdma_le class="sref">chdma_le sp)
)a href="drivers/crypto/talitos.c#L6612"9id="L1012" class="line" name="L6912" c>126/a>                   href="+code=deeviscclass="sref">chevisca>  gt;chdma_link_tblsp)
 chdma_map_singlea>(dev);chevisca>  gt;chlink_tblsp)
[0]127 a>                                                        href="+code=deeviscclass="sref">chevisca>  gt;chdma_le sp)
1271a>                                                        href="+code=deDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  )1272a>  a href="drivers/crypto/talitos.c#L8912"3id="L1012" class="line" name="L7312" c>127/a>          re>urn  href="+code=deeviscclass="sref">chevisca>  12"4a>  1275a>  a href="drivers/crypto/talitos.c#L921276id="L1012" class="line" name="L7612" c>1276a>  static ruct chlitos_previsca>   a href="+code=praeadrevisc_allocclass="sref">chaeadrevisc_alloca>(upaeadrreque=ta>   a href="+code=prareqclass="sref">upareqa>  ,a href="+code=tiu8class="sref">upu8a>(dei/a>);chicv_stashinga>  )a href="drivers/crypto/talitos.c#L661278id="L1012" class="line" name="L7812" c>12"/a>  12"/a>          ruct chypto/t_aeada>   a href="+code=prauthencclass="sref">chauthencsp)
 chypto/t_aeadrreqtfma>(upareqa>  )128 a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_aeadrctxa>(chauthencsp)
)12"1a>          unsig" dat chivsizea>   chypto/t_aeadrivsizea>(chauthencsp)
)1282a>  a href="drivers/crypto/talitos.c#L891283id="L1012" class="line" name="L8312" c>128/a>          re>urn  href="+code=detitos_previsc_allocclass="sref">chlitos_previsc_alloca>(chctxa>  gt;dev);upareqa>  gt;cha="oca>);upareqa>  gt;chsrca>);upareqa>  gt;updsta> =,a href="drivers/crypto/talitos.c#L661284id="L1012" class="line" name="L8412" c>1284a>                                      href="+code=pri class="sref">dei/a>);upareqa>  gt;cha="ocle a>);upareqa>  gt;upcpto/lena>  ,a href="drivers/crypto/talitos.c#L921285id="L1012" class="line" name="L8512" c>1285a>        chctxa>  gt;chauthsizea>, chivsizea>  ,a href="+code=tiicv_stashingclass="sref">chicv_stashinga>  ,a href="drivers/crypto/talitos.c#L921286id="L1012" class="line" name="L8612" c>1286a>                                     phref="+code=prareqclass="sref">upareqa>  gt;upbasea>  . href="+code=chflagsclass="sref">chflagsa>  )12"/a>  12"/a>  static t chaeadrenypto/a>(upaeadrreque=ta>   a href="+code=prreqclass="sref">upreqa>  )a href="drivers/crypto/talitos.c#L89129 id="L1012" class="line" name="L9012" c>12" a>  12"1a>          ruct chypto/t_aeada>   a href="+code=prauthencclass="sref">chauthencsp)
 chypto/t_aeadrreqtfma>(upreqa>  )12"2a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_aeadrctxa>(chauthencsp)
)129/a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1294a>  a href="drivers/crypto/talitos.c#L921295id="L1012" class="line" name="L9512" c>1295a>         *
chevisca>   chaeadrevisc_alloca>(upreqa>  ,a href="+code=tireqclass="sref">upreqa>  gt;dei/a>);deIS_ERRa>(chevisca>  
)a href="drivers/crypto/talitos.c#L891298id="L10129 class="line" name="L88129 c>129/a>                  re>urn  href="+code=dePTR_ERRclass="sref">dePTR_ERRa>(chevisca>  
 *
chevisca>  gt;chvisca>  . href="+code=chhdrclass="sref">chhdra>   chctxa>  gt;chvisc_hdr_templitea>   |a href="+code=tiDESC_HDR_MODE0_ENCRYPTclass="sref">reDESC_HDR_MODE0_ENCRYPTa>  chipsec_espa>(chevisca>  ,a href="+code=tireqclass="sref">upreqa>  ,a0,  href="+code=deipsec_esprenypto/_doneclass="sref">chipsec_esprenypto/_donea>  
1306a>  static t chaeadrdeypto/a>(upaeadrreque=ta>   a href="+code=prreqclass="sref">upreqa>  )a href="drivers/crypto/talitos.c#L891307id="L10130 class="line" name="L87130 c>130/a>  chypto/t_aeada>   a href="+code=prauthencclass="sref">chauthencsp)
 chypto/t_aeadrreqtfma>(upreqa>  )chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_aeadrctxa>(chauthencsp)
)131 a>          unsig" dat chauthsizea>,  chctxa>  gt;chauthsizea>, chlitos_priveritea>   a href="+code=priverclass="sref">chivera>,  dev(chctxa>  gt;dev);)1312a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  131/a>          ruct chscatterlista>(chsga>(<1314a>          voidaa href="+code=pricvtadeicvta(<1315a>  a href="drivers/crypto/talitos.c#L921316id="L1013" class="line" name="L1613" c>1316a>           href="+code=dereqclass="sref">upreqa>  gt;upcpto/lena>   -chauthsizea>, 131/a>  a href="drivers/crypto/talitos.c#L921318id="L1013" class="line" name="L1813" c>131/a>           an class="comment"> *
131/a>           href="+code=deeviscclass="sref">chevisca>   chaeadrevisc_alloca>(upreqa>  ,a href="+code=tireqclass="sref">upreqa>  gt;dei/a>);132 a>          tf ( href="+code=prIS_ERRclass="sref">deIS_ERRa>(chevisca>  
)a href="drivers/crypto/talitos.c#L891321id="L1013" class="line" name="L2113" c>1321a>                  re>urn  href="+code=dePTR_ERRclass="sref">dePTR_ERRa>(chevisca>  
1322a>  a href="drivers/crypto/talitos.c#L891323id="L1013" class="line" name="L2313" c>1323a>          tf (a href="+code=deiverclass="sref">chivera>, gt;chfea>uresa>   &  href="+code=tiTALITOS_FTR_HW_AUTH_CHECKclass="sref">chTALITOS_FTR_HW_AUTH_CHECKa>  
 &&a href="drivers/crypto/talitos.c#L891324id="L1013" class="line" name="L2413" c>1324a>              ((! href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 && ! href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
) ||a href="drivers/crypto/talitos.c#L891325id="L1013" class="line" name="L2513" c>1325a>        chivera>, gt;chfea>uresa>   &  href="+code=tiTALITOS_FTR_SRC_LINK_TBL_LEN_INCLUDES_EXTENTclass="sref">reTALITOS_FTR_SRC_LINK_TBL_LEN_INCLUDES_EXTENTa>  
) 1326a>  a href="drivers/crypto/talitos.c#L891327id="L1013" class="line" name="L2713" c>132/a>                   an class="comment"> *
132/a>                   href="+code=deeviscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdrclass="sref">chhdra>   chctxa>  gt;chvisc_hdr_templitea>   |a href="drivers/crypto/talitos.c#L661329id="L1013" class="line" name="L2913" c>132/a>                                     href="+code=tiDESC_HDR_DIR_INBOUNDclass="sref">reDESC_HDR_DIR_INBOUNDa>   |a href="drivers/crypto/talitos.c#L66133 id="L1013" class="line" name="L3013" c>13" a>                                     href="+code=tiDESC_HDR_MODE1_MDEU_CICVclass="sref">reDESC_HDR_MODE1_MDEU_CICVa>, 1331a>  a href="drivers/crypto/talitos.c#L921332id="L1013" class="line" name="L3213" c>1332a>                   an class="comment"> *
chevisca>  gt;chvisca>  . href="+code=chhdr_loclass="sref">chhdr_loa>   1334a>  a href="drivers/crypto/talitos.c#L921335id="L1013" class="line" name="L3513" c>1335a>        urn  href="+code=deipsec_espclass="sref">chipsec_espa>(chevisca>  ,a href="+code=tireqclass="sref">upreqa>  ,a0,  href="+code=deipsec_esprdeypto/_hwauth_doneclass="sref">chipsec_esprdeypto/_hwauth_donea>  
13"6a>          133/a>  a href="drivers/crypto/talitos.c#L921338id="L1013" class="line" name="L3813" c>133/a>           an class="comment"> *
133/a>           href="+code=deeviscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdrclass="sref">chhdra>   chctxa>  gt;chvisc_hdr_templitea>   |  href="+code=tiDESC_HDR_DIR_INBOUNDclass="sref">reDESC_HDR_DIR_INBOUNDa>  134 a>  a href="drivers/crypto/talitos.c#L8913"1id="L1013" class="line" name="L4113" c>1341a>           an class="comment"> *
1342a>          tf ( href="+code=previscclass="sref">chevisca>  gt;chdma_le sp)
)a href="drivers/crypto/talitos.c#L891343id="L1013" class="line" name="L4313" c>134/a>                   href="+code=tiicvtadeicvta(< chevisca>  gt;chlink_tblsp)
[ href="+code=deeviscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 +a href="drivers/crypto/talitos.c#L891344id="L1013" class="line" name="L4413" c>1344a>                                              href="+code=tieviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 + 2 +a href="drivers/crypto/talitos.c#L891345id="L1013" class="line" name="L4513" c>1345a>        chevisca>  gt;sclass="sref">cha="oc_nt">sa>)
]1346a>          elsea href="drivers/crypto/talitos.c#L921347id="L1013" class="line" name="L4713" c>134/a>                   href="+code=tiicvtadeicvta(< chevisca>  gt;chlink_tblsp)
[0]134/a>  a href="drivers/crypto/talitos.c#L891349id="L1013" class="line" name="L4913" c>134/a>           href="+code=desgclass="sref">chsga>(< chsg_ss=>a>(upreqa>  gt;chsrca>);chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 ? :a1)135 a>  a href="drivers/crypto/talitos.c#L891351id="L1013" class="line" name="L5113" c>1351a>           href="+code=dememcpyclass="sref">chmemcpya>(deicvta(<, (char *) href="+code=tisg_vir>class="sref">chsg_vir>a>(chsga>(<
 +  href="+code=desgclass="sref">chsga>(chle gtha>   -  href="+code=prctxclass="sref">chctxa>  gt;chauthsizea>, 1352a>                  href="+code=prctxclass="sref">chctxa>  gt;chauthsizea>, )1353a>  a href="drivers/crypto/talitos.c#L891354id="L1013" class="line" name="L5413" c>13"4a>          re>urn  href="+code=deipsec_espclass="sref">chipsec_espa>(chevisca>  ,a href="+code=tireqclass="sref">upreqa>  ,a0,  href="+code=deipsec_esprdeypto/_swauth_doneclass="sref">chipsec_esprdeypto/_swauth_donea>  
13"5a>  1356a>  a href="drivers/crypto/talitos.c#L8913"7id="L1013" class="line" name="L5713" c>135/a>  static t chaeadrgersnypto/a>(upaeadrgerypto/_reque=ta>(upreqa>  )a href="drivers/crypto/talitos.c#L891358id="L1013" class="line" name="L5813" c>135/a>  135/a>          ruct upaeadrreque=ta>   a href="+code=prareqclass="sref">upareqa>   upreqa>  gt;upareqa>  136 a>          ruct chypto/t_aeada>   a href="+code=prauthencclass="sref">chauthencsp)
 chypto/t_aeadrreqtfma>(upareqa>  )1361a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_aeadrctxa>(chauthencsp)
)1362a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1363a>  a href="drivers/crypto/talitos.c#L891364id="L1013" class="line" name="L6413" c>1364a>           an class="comment"> *
13"5a>        chevisca>   chaeadrevisc_alloca>(upareqa>  ,a href="+code=tireqclass="sref">upreqa>  gt;chgi/a>);13"6a>          tf ( href="+code=prIS_ERRclass="sref">deIS_ERRa>(chevisca>  
)a href="drivers/crypto/talitos.c#L891367id="L1013" class="line" name="L6713" c>136/a>                  re>urn  href="+code=dePTR_ERRclass="sref">dePTR_ERRa>(chevisca>  
136/a>  a href="drivers/crypto/talitos.c#L8913"9id="L1013" class="line" name="L6913" c>136/a>           an class="comment"> *
137 a>        chevisca>  gt;chvisca>  . href="+code=chhdrclass="sref">chhdra>   chctxa>  gt;chvisc_hdr_templitea>   |  href="+code=tiDESC_HDR_MODE0_ENCRYPTclass="sref">reDESC_HDR_MODE0_ENCRYPTa>  1371a>  a href="drivers/crypto/talitos.c#L9213"2id="L1013" class="line" name="L7213" c>1372a>           href="+code=dememcpyclass="sref">chmemcpya>(upreqa>  gt;chgi/a>);chctxa>  gt;dei/a>);chypto/t_aeadrivsizea>(chauthencsp)
)
137/a>           an class="comment"> *
1374a>          *a href="+code=de__be" class="lief">ch__be" a>   a) href="+code=tireqclass="sref">upreqa>  gt;chgi/a>); ^chypu_/t_be" a>(upreqa>  gt;upseqa>  )1375a>  a href="drivers/crypto/talitos.c#L921376id="L1013" class="line" name="L7613" c>1376a>          re>urn  href="+code=deipsec_espclass="sref">chipsec_espa>(chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  ,a href="+code=tireqclass="sref">upreqa>  gt;upseqa>  ,  href="+code=deipsec_esprenypto/_doneclass="sref">chipsec_esprenypto/_donea>  
137/a>  a href="drivers/crypto/talitos.c#L891379id="L1013" class="line" name="L7913" c>137/a>  static t chablkcipher_setkeya>(chypto/t_ablkciphera>   a href="+code=prcipherclass="sref">chyiphera>  138 a>                               consupu8a>(chkeya>(<, unsig" dat chkeyle a>  )a href="drivers/crypto/talitos.c#L891381id="L1013" class="line" name="L8113" c>13"1a>  1382a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ablkcipher_ctxa>(chyiphera>  
1383a>  a href="drivers/crypto/talitos.c#L891384id="L1013" class="line" name="L8413" c>1384a>           href="+code=dememcpyclass="sref">chmemcpya>(chctxa>  gt;chkeya>(<,  href="+code=chkeyclass="sref">chkeya>(<,  href="+code=chkeyle class="sref">chkeyle a>  )1385a>        chctxa>  gt;chkeyle a>   chkeyle a>  1386a>  a href="drivers/crypto/talitos.c#L891387id="L1013" class="line" name="L8713" c>138/a>          re>urn 0138/a>  a href="drivers/crypto/talitos.c#L92139 id="L1013" class="line" name="L9013" c>13" a>  static voida href="+code=deymenon_nonsnoop_unmapclass="sref">chcmenon_nonsnoop_unmapa>(chvivicea>   a href="+code=prd" class="sref">dev);1391a>                                    ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1392a>                                    ruct upablkcipher_reque=ta>   a href="+code=prareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L8913"3id="L1013" class="line" name="L9313" c>139/a>  1394a>           href="+code=deunmap_single_litos_pritmclass="sref">diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[5],a href="+code=tiDMA_FROM_DEVICEclass="sref">reDMA_FROM_DEVICEa>  )1395a>        diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[2],a href="+code=tiDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[1],a href="+code=tiDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )chlitos_prsg_unmapa>(dev);chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  gt;chsrca>);upareqa>  gt;updsta> =)chevisca>  gt;chdma_le sp)
)a href="drivers/crypto/talitos.c#L891401id="L10140 class="line" name="L91140 c>1401a>                   href="+code=chdma_unmap_singleclass="sref">chdma_unmap_singlea>(dev);chevisca>  gt;chdma_link_tblsp)
chevisca>  gt;chdma_le sp)
reDMA_BIDIRECTIONALa>  )chablkcipher_donea>(chvivicea>   a href="+code=prd" class="sref">dev);chlitos_prvisca>   a href="+code=prviscclass="sref">chvisca>  , voidaa href="+code=prcontextclass="sref">upcontexta>);diermsp)
)a href="drivers/crypto/talitos.c#L891408id="L10140 class="line" name="L88140 c>140/a>  upablkcipher_reque=ta>   a href="+code=prareqclass="sref">upareqa>   upcontexta>);141 a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1412a>           href="+code=deeviscclass="sref">chevisca>   upcontae" r_ofa>(chvisca>  , ruct chlitos_previsca>  chvisca>  )1413a>  a href="drivers/crypto/talitos.c#L891414id="L1014" class="line" name="L1414" c>1414a>           href="+code=deymenon_nonsnoop_unmapclass="sref">chcmenon_nonsnoop_unmapa>(dev);chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  )1415a>  a href="drivers/crypto/talitos.c#L921416id="L1014" class="line" name="L1614" c>1416a>           href="+code=dekfreeclass="sref">chkfreea>(chevisca>  )141/a>  a href="drivers/crypto/talitos.c#L921418id="L1014" class="line" name="L1814" c>141/a>           href="+code=taareqclass="sref">upareqa>  gt;upbasea>  . href="+code=chcmepleteclass="sref">chcmepletea>(upareqa>  gt;upbasea>  diermsp)
)141/a>  142 a>  a href="drivers/crypto/talitos.c#L891421id="L1014" class="line" name="L2114" c>1421a>  static t chcmenon_nonsnoopa>(chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1422a>                             ruct upablkcipher_reque=ta>   a href="+code=prareqclass="sref">upareqa>  1423a>                             voida(a href="+code=prcallbackclass="sref">chcallbacksp)
) aruct chvivicea>   a href="+code=prd" class="sref">dev);1424a>                                               ruct chlitos_prvisca>   a href="+code=prviscclass="sref">chvisca>  ,a href="drivers/crypto/talitos.c#L921425id="L1014" class="line" name="L2514" c>1425a>        upcontexta>);< t diermomsp)
))a href="drivers/crypto/talitos.c#L8914"6id="L1014" class="line" name="L2614" c>1426a>  142/a>          ruct chypto/t_ablkciphera>   a href="+code=prcipherclass="sref">chyiphera>   chypto/t_ablkcipher_reqtfma>(upareqa>  )142/a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ablkcipher_ctxa>(chyiphera>  
142/a>          ruct chvivicea>   a href="+code=prd" class="sref">dev); chctxa>  gt;dev);143 a>          ruct chlitos_prvisca>   a href="+code=prviscclass="sref">chvisca>   chevisca>  gt;chvisca>  1431a>          unsig" dat upcpto/lena>   upareqa>  gt;chnbytesa>  1432a>          unsig" dat chivsizea>   chypto/t_ablkcipher_ivsizea>(chyiphera>  
class="sref">chsg_coun>a>  chre>a>  1434a>  a href="drivers/crypto/talitos.c#L921435id="L1014" class="line" name="L3514" c>1435a>         *
1436a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[0]. href="+code=chlenclass="sref">uplena>   1437a>           href="+code=de/t_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[0]143/a>           href="+code=taviscclass="sref">chvisca>  gt;diitma>(<[0]. href="+code=chj_exte">class="sref">chj_exte">a>   143/a>  a href="drivers/crypto/talitos.c#L92144 id="L1014" class="line" name="L4014" c>144 a>           an class="comment"> *
1441a>           href="+code=de/t_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[1],a href="+code=tieviscclass="sref">chevisca>  gt;deiv_dm/a>  
1442a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[1]. href="+code=chlenclass="sref">uplena>   chypu_/t_be" a>(chivsizea>  
144/a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[1]. href="+code=chj_exte">class="sref">chj_exte">a>   1444a>  a href="drivers/crypto/talitos.c#L921445id="L1014" class="line" name="L4514" c>1445a>         *
1446a>           href="+code=demap_single_litos_pritmclass="sref">dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[2],a href="+code=tiytxclass="sref">chctxa>  gt;chkeyle a>  ,a href="drivers/crypto/talitos.c#L921447id="L1014" class="line" name="L4714" c>144/a>                                 (char *)& href="+code=prytxclass="sref">chctxa>  gt;chkeya>(<, 0,  href="+code=deDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )144/a>  a href="drivers/crypto/talitos.c#L891449id="L1014" class="line" name="L4914" c>144/a>           an class="comment"> *
145 a>   an class="comment"> *         / yipher inspan>
1451a>   an class="comment"> *         //span>
1452a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[3]. href="+code=chlenclass="sref">uplena>   chypu_/t_be" a>(upcpto/lena>  )145/a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[3]. href="+code=chj_exte">class="sref">chj_exte">a>   1454a>  a href="drivers/crypto/talitos.c#L921455id="L1014" class="line" name="L5514" c>1455a>        chsg_coun>a>   chlitos_prmap_sga>(dev);upareqa>  gt;chsrca>);chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 ? :a1,a href="drivers/crypto/talitos.c#L921456id="L1014" class="line" name="L5614" c>1456a>                                    ( href="+code=deareqclass="sref">upareqa>  gt;chsrca>); =upareqa>  gt;updsta> =) ?  href="+code=deDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  a href="drivers/crypto/talitos.c#L921457id="L1014" class="line" name="L5714" c>145/a>                                                             :  href="+code=deDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  ,a href="drivers/crypto/talitos.c#L921458id="L1014" class="line" name="L5814" c>145/a>                                     href="+code=tieviscclass="sref">chevisca>  gt;chsrc_chae" da>  )145/a>  a href="drivers/crypto/talitos.c#L92146 id="L1014" class="line" name="L6014" c>146 a>          tf ( href="+code=prsg_coun>class="sref">chsg_coun>a>   <= 1) 1461a>                   href="+code=ch/t_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[3],a href="+code=tisg_dma_addressclass="sref">chsg_dma_addressa>(upareqa>  gt;chsrca>);)
1462a>          } else 146/a>                   href="+code=tisg_coun>class="sref">chsg_coun>a>   chsg_/t_link_tbla>(upareqa>  gt;chsrca>);,a href="+code=tisg_coun>class="sref">chsg_coun>a>  upcpto/lena>  ,a href="drivers/crypto/talitos.c#L921464id="L1014" class="line" name="L6414" c>1464a>                                            & href="+code=previscclass="sref">chevisca>  gt;chlink_tblsp)
[0]
1465a>        chsg_coun>a>   t;1466a>                           href="+code=ch/t_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[3],a href="+code=tieviscclass="sref">chevisca>  gt;chdma_link_tblsp)

146/a>                           href="+code=chviscclass="sref">chvisca>  gt;diitma>(<[3]. href="+code=chj_exte">class="sref">chj_exte">a>   |reDESC_PTR_LNKTBL_JUMPa>  146/a>                           href="+code=chdma_sync_single_for_deviceclass="sref">chvma_sync_single_for_devicea>(dev);chevisca>  gt;chdma_link_tblsp)
146/a>                                                      href="+code=cheviscclass="sref">chevisca>  gt;chdma_le sp)
147 a>                                                      href="+code=chDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  )1471a>                  } else 1472a>                           an class="comment"> * now, so no link tbl neevid //span>
147/a>                           href="+code=ch/t_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[3],a href="drivers/crypto/talitos.c#L6614"4id="L1014" class="line" name="L7414" c>1474a>                                          href="+code=tisg_dma_addressclass="sref">chsg_dma_addressa>(upareqa>  gt;chsrca>);)
1475a>        1476a>          147/a>           an class="comment"> *
147/a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[4]. href="+code=chlenclass="sref">uplena>   chypu_/t_be" a>(upcpto/lena>  )148 a>        chvisca>  gt;diitma>(<[4]. href="+code=chj_exte">class="sref">chj_exte">a>   1481a>  a href="drivers/crypto/talitos.c#L921482id="L1014" class="line" name="L8214" c>1482a>          tf ( href="+code=prareqclass="sref">upareqa>  gt;chsrca>); !upareqa>  gt;updsta> =)a href="drivers/crypto/talitos.c#L921483id="L1014" class="line" name="L8314" c>148/a>                   href="+code=tisg_coun>class="sref">chsg_coun>a>   chlitos_prmap_sga>(dev);upareqa>  gt;updsta> =,a href="drivers/crypto/talitos.c#L661484id="L1014" class="line" name="L8414" c>1484a>                                             href="+code=cheviscclass="sref">chevisca>  gt;sclass="sref">chdst_nt">ssp)
 ? :a1,a href="drivers/crypto/talitos.c#L921485id="L1014" class="line" name="L8514" c>1485a>        reDMA_FROM_DEVICEa>  chevisca>  gt;chdst_chae" da>  )1486a>  a href="drivers/crypto/talitos.c#L891487id="L1014" class="line" name="L8714" c>148/a>          tf ( href="+code=prsg_coun>class="sref">chsg_coun>a>   <= 1) di/t_litos_pritma>(chvisca>  gt;diitma>(<[4],a href="+code=tisg_dma_addressclass="sref">chsg_dma_addressa>(upareqa>  gt;updsta> =))148/a>          } else 149 a>                  ruct di/itos_pritma>(< a href="+code=prlink_tblritmclass="sref">dilink_tblritma>   1491a>                          & href="+code=previscclass="sref">chevisca>  gt;chlink_tblsp)
[ href="+code=tieviscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 + 1]1492a>  a href="drivers/crypto/talitos.c#L921493id="L1014" class="line" name="L9314" c>149/a>                   href="+code=ti/t_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[4],a href="+code=tieviscclass="sref">chevisca>  gt;chdma_link_tblsp)
 +a href="drivers/crypto/talitos.c#L921494id="L1014" class="line" name="L9414" c>1494a>                                                ( href="+code=previscclass="sref">chevisca>  gt;sclass="sref">chsrc_nt">sa>)
 + 1) *a href="drivers/crypto/talitos.c#L921495id="L1014" class="line" name="L9514" c>1495a>        di/itos_pritma>(<))chvisca>  gt;diitma>(<[4]. href="+code=chj_exte">class="sref">chj_exte">a>   |reDESC_PTR_LNKTBL_JUMPa>  class="sref">chsg_coun>a>   chsg_/t_link_tbla>(upareqa>  gt;updsta> =,a href="+code=tisg_coun>class="sref">chsg_coun>a>  upcpto/lena>  ,a href="drivers/crypto/talitos.c#L921498id="L10149 class="line" name="L88149 c>149/a>                                             href="+code=tilink_tblritmclass="sref">dilink_tblritma>  )chvma_sync_single_for_devicea>(chctxa>  gt;dev);chevisca>  gt;chdma_link_tblsp)
chevisca>  gt;chdma_le sp)
<  href="+code=chDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  ) *
dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[5],a href="+code=tiivsizeclass="sref">chivsizea>  chctxa>  gt;dei/a>);reDMA_FROM_DEVICEa>  ) *
chvisca>  gt;diitma>(<[6]. href="+code=chlenclass="sref">uplena>   di/t_litos_pritma>(chvisca>  gt;diitma>(<[6]151 a>        chvisca>  gt;diitma>(<[6]. href="+code=chj_exte">class="sref">chj_exte">a>   1512a>           href="+code=dere>class="sref">chre>a>   chlitos_prsubmi>a>(dev);chctxa>  gt;chcha>);chvisca>  ,  href="+code=chcallbackclass="sref">chcallbacksp)
,a href="+code=tiareqclass="sref">upareqa>  )151/a>          tf ( href="+code=prre>class="sref">chre>a>   != - href="+code=prEINPROGRESSclass="sref">chEINPROGRESSa>  ) 1514a>                   href="+code=chcmenon_nonsnoop_unmapclass="sref">chcmenon_nonsnoop_unmapa>(dev);chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  )1515a>        chkfreea>(chevisca>  )1516a>          151/a>          re>urn  href="+code=prre>class="sref">chre>a>  151/a>  151/a>  a href="drivers/crypto/talitos.c#L92152 id="L1015" class="line" name="L2015" c>152 a>  static ruct chlitos_previsca>   a href="+code=prablkcipher_evisc_allocclass="sref">chablkcipher_evisc_alloca>(upablkcipher_reque=ta>   aa href="drivers/crypto/talitos.c#L921521id="L1015" class="line" name="L2115" c>1521a>                                                       href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L891522id="L1015" class="line" name="L2215" c>1522a>  1523a>          ruct chypto/t_ablkciphera>   a href="+code=prcipherclass="sref">chyiphera>   chypto/t_ablkcipher_reqtfma>(upareqa>  )1524a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ablkcipher_ctxa>(chyiphera>  
1525a>        chivsizea>   chypto/t_ablkcipher_ivsizea>(chyiphera>  
1526a>  a href="drivers/crypto/talitos.c#L891527id="L1015" class="line" name="L2715" c>152/a>          re>urn  href="+code=prlitos_previsc_allocclass="sref">chlitos_previsc_alloca>(chctxa>  gt;dev);reNULLa>  ,a href="+code=tiareqclass="sref">upareqa>  gt;chsrca>);upareqa>  gt;updsta> =152/a>                                      href="+code=tiareqclass="sref">upareqa>  gt;chinfoa>);upareqa>  gt;chnbytesa>  chivsizea>  152/a>                                      href="+code=deareqclass="sref">upareqa>  gt;upbasea>  . href="+code=chflagsclass="sref">chflagsa>  
153 a>  1531a>  a href="drivers/crypto/talitos.c#L921532id="L1015" class="line" name="L3215" c>1532a>  static t chablkcipher_enypto/a>(upablkcipher_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L891533id="L1015  class="line" name="L1315  c>153/a>  1534a>          ruct chypto/t_ablkciphera>   a href="+code=prcipherclass="sref">chyiphera>   chypto/t_ablkcipher_reqtfma>(upareqa>  )1535a>        chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ablkcipher_ctxa>(chyiphera>  
1536a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  153/a>  a href="drivers/crypto/talitos.c#L921538id="L1015" class="line" name="L3815" c>153/a>           an class="comment"> *
153/a>           href="+code=deeviscclass="sref">chevisca>   chablkcipher_evisc_alloca>(upareqa>  )154 a>          tf ( href="+code=prIS_ERRclass="sref">upIS_ERRa>(chevisca>  ))a href="drivers/crypto/talitos.c#L8915"1id="L1015" class="line" name="L4115" c>1541a>                  re>urn  href="+code=prPTR_ERRclass="sref">upPTR_ERRa>(chevisca>  )1542a>  a href="drivers/crypto/talitos.c#L921543id="L1015" class="line" name="L4315" c>154/a>           an class="comment"> *
1544a>           href="+code=deeviscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdrclass="sref">chhdra>   chctxa>  gt;chd"sc_hdr_templatea>   |a href="+code=deDESC_HDR_MODE0_ENCRYPTclass="sref">reDESC_HDR_MODE0_ENCRYPTa>  1545a>  a href="drivers/crypto/talitos.c#L921546id="L1015" class="line" name="L4615" c>1546a>          re>urn  href="+code=prcmenon_nonsnoopclass="sref">chcmenon_nonsnoopa>(chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  ,a href="+code=tiablkcipher_doneclass="sref">chablkcipher_donea>(<)154/a>  154/a>  a href="drivers/crypto/talitos.c#L891549id="L1015" class="line" name="L4915" c>154/a>  static t chablkcipher_deypto/a>(upablkcipher_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L89155 id="L1015" class="line" name="L5015" c>155 a>  1551a>          ruct chypto/t_ablkciphera>   a href="+code=prcipherclass="sref">chyiphera>   chypto/t_ablkcipher_reqtfma>(upareqa>  )1552a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ablkcipher_ctxa>(chyiphera>  
1553a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1554a>  a href="drivers/crypto/talitos.c#L921555id="L1015" class="line" name="L5515" c>1555a>         *
1556a>           href="+code=deeviscclass="sref">chevisca>   chablkcipher_evisc_alloca>(upareqa>  )155/a>          tf ( href="+code=prIS_ERRclass="sref">upIS_ERRa>(chevisca>  ))a href="drivers/crypto/talitos.c#L891558id="L1015" class="line" name="L5815" c>155/a>                  re>urn  href="+code=prPTR_ERRclass="sref">upPTR_ERRa>(chevisca>  )155/a>  a href="drivers/crypto/talitos.c#L92156 id="L1015" class="line" name="L6015" c>156 a>        chevisca>  gt;chvisca>  . href="+code=chhdrclass="sref">chhdra>   chctxa>  gt;chd"sc_hdr_templatea>   |a href="+code=deDESC_HDR_DIR_INBOUNDclass="sref">reDESC_HDR_DIR_INBOUNDa>  1561a>  a href="drivers/crypto/talitos.c#L9215"2id="L1015" class="line" name="L6215" c>1562a>          re>urn  href="+code=prcmenon_nonsnoopclass="sref">chcmenon_nonsnoopa>(chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  ,a href="+code=tiablkcipher_doneclass="sref">chablkcipher_donea>(<)156/a>  1564a>  a href="drivers/crypto/talitos.c#L9215"5id="L1015" class="line" name="L6515" c>1565a>  static voida href="+code=prcmenon_nonsnoop_hash_unmapclass="sref">chcmenon_nonsnoop_hash_unmapa>(chvivicea>   a href="+code=prd" class="sref">dev);1566a>                                         ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  156/a>                                         ruct upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L891568id="L1015" class="line" name="L6815" c>156/a>  156/a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>  )157 a>  a href="drivers/crypto/talitos.c#L921571id="L1015" class="line" name="L7115" c>1571a>           href="+code=deunmap_single_litos_pritmclass="sref">diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[5],a href="+code=tiDMA_FROM_DEVICEclass="sref">reDMA_FROM_DEVICEa>  )1572a>  a href="drivers/crypto/talitos.c#L9215"3id="L1015" class="line" name="L7315" c>157/a>           an class="comment"> *
1574a>          tf ( href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[1]. href="+code=chlenclass="sref">uplena>  )a href="drivers/crypto/talitos.c#L891575id="L1015" class="line" name="L7515" c>1575a>        diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[1]1576a>                                            href="+code=chDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )157/a>          tf ( href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[2]. href="+code=chlenclass="sref">uplena>  )a href="drivers/crypto/talitos.c#L891579id="L1015" class="line" name="L7915" c>157/a>                   href="+code=chunmap_single_litos_pritmclass="sref">diunmap_single_litos_pritma>(dev);chevisca>  gt;chvisca>  . href="+code=chitmclass="sref">diitma>(<[2]158 a>                                            href="+code=chDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )1581a>  a href="drivers/crypto/talitos.c#L921582id="L1015" class="line" name="L8215" c>1582a>           href="+code=delitos_prsg_unmapclass="sref">chlitos_prsg_unmapa>(dev);chevisca>  ,a href="+code=tireqrctxclass="sref">chreqrctxa>  gt;chpsrca>);reNULLa>  )158/a>  a href="drivers/crypto/talitos.c#L921584id="L1015" class="line" name="L8415" c>1584a>          tf ( href="+code=previscclass="sref">chevisca>  gt;chdma_le sp)
)a href="drivers/crypto/talitos.c#L891585id="L1015" class="line" name="L8515" c>1585a>        chdma_unmap_singlea>(dev);chevisca>  gt;chdma_link_tblsp)
<  href="+code=cheviscclass="sref">chevisca>  gt;chdma_le sp)
1586a>                                    href="+code=chDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  )158/a>  a href="drivers/crypto/talitos.c#L921588id="L1015  class="line" name="L1815  c>158/a>  158/a>  a href="drivers/crypto/talitos.c#L92159 id="L1015" class="line" name="L9015" c>159 a>  static voida href="+code=prahash_doneclass="sref">chahash_donea>(chvivicea>   a href="+code=prd" class="sref">dev);1591a>                         ruct chlitos_prvisca>   a href="+code=prv"scclass="sref">chvisca>  , voidaa href="+code=prcontextclass="sref">upcontexta>);1592a>                         t diermsp)
)a href="drivers/crypto/talitos.c#L891593id="L1015" class="line" name="L9315" c>159/a>  1594a>          ruct upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>   upcontexta>);1595a>        chlitos_previsca>   a href="+code=previscclass="sref">chevisca>   upcontae" r_ofa>(chvisca>  , ruct chlitos_previsca>  chvisca>  )chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>  )chreqrctxa>  gt;upss=ta>   &&a href="+code=tireqrctxclass="sref">chreqrctxa>  gt;di/t_hash_latema>  )  *
dimemcpya>(chreqrctxa>  gt;upbufa>  ,a href="+code=tireqrctxclass="sref">chreqrctxa>  gt;upbufnexta>  ,a href="+code=tireqrctxclass="sref">chreqrctxa>  gt;di/t_hash_latema>  )chreqrctxa>  gt;upnbufa>   chreqrctxa>  gt;di/t_hash_latema>  chcmenon_nonsnoop_hash_unmapa>(dev);chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  )1606a>           href="+code=dekfreeclass="sref">chkfreea>(chevisca>  )upareqa>  gt;upbasea>  . href="+code=chcmepleteclass="sref">chcmepletea>(upareqa>  gt;upbasea>  diermsp)
)161 a>  a href="drivers/crypto/talitos.c#L921611id="L1016  class="line" name="L1116  c>1611a>  static t chcmenon_nonsnoop_hasha>(chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1612a>                                  ruct upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  ,aunsig" dat chlengtha>  161/a>                                  voida(a href="+code=prcallbackclass="sref">chcallbacksp)
) aruct chvivicea>   a href="+code=prd" class="sref">dev);1614a>                                                    ruct chlitos_prvisca>   a href="+code=prv"scclass="sref">chvisca>  ,a href="drivers/crypto/talitos.c#L921615id="L1016" class="line" name="L1516" c>1615a>        upcontexta>);< t diermoma>(<))a href="drivers/crypto/talitos.c#L921616id="L1016" class="line" name="L1616" c>1616a>  161/a>          ruct chcpto/t_ahasha>   a href="+code=prtfmclass="sref">chtfma>(< chypto/t_ahash_reqtfma>(upareqa>  )1618a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ahash_ctxa>(chtfma>(<)161/a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)1620a>          ruct chvivicea>   a href="+code=prd" class="sref">dev); chctxa>  gt;dev);1621a>          ruct chlitos_prvisca>   a href="+code=prv"scclass="sref">chvisca>   chevisca>  gt;chvisca>  1622a>          t chsg_coun>a>  chre>a>  162/a>  a href="drivers/crypto/talitos.c#L921624id="L1016" class="line" name="L2416" c>1624a>           an class="comment"> *
1625a>        chvisca>  gt;diitma>(<[0] ryclass="sref">dizero_t">rya>  1626a>  a href="drivers/crypto/talitos.c#L891627id="L1016" class="line" name="L2716" c>162/a>           an class="comment"> *
162/a>          tf (! href="+code=tireqrctxclass="sref">chreqrctxa>  gt;chfir=ta>   ||a href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chswini>a>  ) 162/a>                   href="+code=chmap_single_litos_pritmclass="sref">dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[1]163 a>                                          href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chhw_context_sizea>  ,a href="drivers/crypto/talitos.c#L921631id="L1016" class="line" name="L3116" c>1631a>                                         (char *) href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);1632a>                                          href="+code=deDMA_TO_DEVICEclass="sref">reDMA_TO_DEVICEa>  )chreqrctxa>  gt;chswini>a>   1634a>          } else 1635a>        chvisca>  gt;diitma>(<[1] ryclass="sref">dizero_t">rya>  1636a>                   an class="comment"> *
163/a>                   href="+code=tireqrctxclass="sref">chreqrctxa>  gt;chfir=ta>   163/a>          163/a>  a href="drivers/crypto/talitos.c#L92164 id="L1016" class="line" name="L4016" c>164 a>           an class="comment"> *
1641a>          tf ( href="+code=prytxclass="sref">chctxa>  gt;chkeyle a>  )a href="drivers/crypto/talitos.c#L6616"2id="L1016" class="line" name="L4216" c>1642a>                   href="+code=timap_single_litos_pritmclass="sref">dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[2],a href="+code=tiytxclass="sref">chctxa>  gt;chkeyle a>  164/a>                                         (char *)& href="+code=prytxclass="sref">chctxa>  gt;chkeya>);reDMA_TO_DEVICEa>  )1644a>          elsea href="drivers/crypto/talitos.c#L921645id="L1016" class="line" name="L4516" c>1645a>        chvisca>  gt;diitma>(<[2] ryclass="sref">dizero_t">rya>  1646a>  a href="drivers/crypto/talitos.c#L891647id="L1016" class="line" name="L4716" c>164/a>           an class="comment"> *
164/a>   an class="comment"> *a        * data inspan>
164/a>   an class="comment"> *a        */span>
165 a>        chvisca>  gt;diitma>(<[3]. href="+code=chlenclass="sref">uplena>   chcpu_to_be" a>(chlengtha>  )1651a>           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[3]. href="+code=chj_exte">class="sref">chj_exte">a>   1652a>  a href="drivers/crypto/talitos.c#L921653id="L1016" class="line" name="L5316" c>1653a>           href="+code=tisg_coun>class="sref">chsg_coun>a>   chlitos_prmap_sga>(dev);chreqrctxa>  gt;chpsrca>);1654a>                                     href="+code=previscclass="sref">chevisca>  gt;sclass="sref">chsrc_ne">sa>   ? : 11655a>        reDMA_TO_DEVICEa>  <  href="+code=cheviscclass="sref">chevisca>  gt;chsrc_chae" da>  )1656a>  a href="drivers/crypto/talitos.c#L891657id="L1016" class="line" name="L5716" c>165/a>          tf ( href="+code=prsg_coun>class="sref">chsg_coun>a>   <= 1) 165/a>                   href="+code=delt_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[3],a href="+code=tisg_dma_addressclass="sref">chsg_dma_addressa>(chreqrctxa>  gt;chpsrca>);))165/a>          } else 166 a>                   href="+code=tisg_coun>class="sref">chsg_coun>a>   chsg_/t_link_tbla>(chreqrctxa>  gt;chpsrca>);,a href="+code=tisg_coun>class="sref">chsg_coun>a>  chlengtha>  1661a>                                            & href="+code=previscclass="sref">chevisca>  gt;chlink_tbla>(<[0])1662a>                  tf ( href="+code=prsg_coun>class="sref">chsg_coun>a>   t;166/a>                           href="+code=deviscclass="sref">chvisca>  gt;diitma>(<[3]. href="+code=chj_exte">class="sref">chj_exte">a>   |reDESC_PTR_LNKTBL_JUMPa>  1664a>                           href="+code=delt_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[3],a href="+code=tieviscclass="sref">chevisca>  gt;chdma_link_tblsp)
)1665a>        chvma_sync_single_for_devicea>(chctxa>  gt;dev);1666a>                                                      href="+code=cheviscclass="sref">chevisca>  gt;chdma_link_tblsp)
166/a>                                                      href="+code=cheviscclass="sref">chevisca>  gt;chdma_le sp)
166/a>                                                      href="+code=chDMA_BIDIRECTIONALclass="sref">reDMA_BIDIRECTIONALa>  )166/a>                  } else 167 a>                           an class="comment"> * now, so no link tbl neevid */span>
1671a>                           href="+code=delt_litos_pritmclass="sref">di/t_litos_pritma>(chvisca>  gt;diitma>(<[3],a href="drivers/crypto/talitos.c#L661672id="L1016" class="line" name="L7216" c>1672a>                                          href="+code=desg_dma_addressclass="sref">chsg_dma_addressa>(chreqrctxa>  gt;chpsrca>);))167/a>                  1674a>          1675a>  a href="drivers/crypto/talitos.c#L921676id="L1016" class="line" name="L7616" c>1676a>           an class="comment"> *
chvisca>  gt;diitma>(<[4] ryclass="sref">dizero_t">rya>  167/a>  a href="drivers/crypto/talitos.c#L891679id="L1016" class="line" name="L7916" c>167/a>           an class="comment"> *
168 a>          tf ( href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upss=ta>  )a href="drivers/crypto/talitos.c#L661681id="L1016" class="line" name="L8116" c>1681a>                   href="+code=chmap_single_litos_pritmclass="sref">dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[5],a href="drivers/crypto/talitos.c#L661682id="L1016" class="line" name="L8216" c>1682a>                                          href="+code=decpto/t_ahash_digestsizeclass="sref">chcpto/t_ahash_digestsizea>(chtfma>(<),a href="drivers/crypto/talitos.c#L661683id="L1016" class="line" name="L8316" c>168/a>                                          href="+code=deareqclass="sref">upareqa>  gt;chresul>a>);reDMA_FROM_DEVICEa>  )1684a>          elsea href="drivers/crypto/talitos.c#L921685id="L1016" class="line" name="L8516" c>1685a>        dimap_single_litos_pritma>(dev);chvisca>  gt;diitma>(<[5],a href="drivers/crypto/talitos.c#L661686id="L1016" class="line" name="L8616" c>1686a>                                          href="+code=chreqrctxclass="sref">chreqrctxa>  gt;chhw_context_sizea>  ,a href="drivers/crypto/talitos.c#L921687id="L1016" class="line" name="L8716" c>168/a>                                          href="+code=chreqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);reDMA_FROM_DEVICEa>  )168/a>           an class="comment"> *
169 a>        chvisca>  gt;diitma>(<[6] ryclass="sref">dizero_t">rya>  1691a>  a href="drivers/crypto/talitos.c#L921692id="L1016" class="line" name="L9216" c>1692a>           href="+code=chre>class="sref">chre>a>   chlitos_prsubmi>a>(dev);chctxa>  gt;chcha>);chvisca>  ,  href="+code=chcallbackclass="sref">chcallbacksp)
,a href="+code=tiareqclass="sref">upareqa>  )169/a>          tf ( href="+code=prre>class="sref">chre>a>   != - href="+code=prEINPROGRESSclass="sref">chEINPROGRESSa>  ) 1694a>                   href="+code=chcmenon_nonsnoop_hash_unmapclass="sref">chcmenon_nonsnoop_hash_unmapa>(dev);chevisca>  ,a href="+code=tiareqclass="sref">upareqa>  )1695a>        chkfreea>(chevisca>  )class="sref">chre>a>  chlitos_previsca>   a href="+code=prahash_evisc_allocclass="sref">chahash_evisc_alloca>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  ,a href="drivers/crypto/talitos.c#L921701id="L10170 class="line" name="L91170 c>1701a>                                                 unsig" dat chnbytesa>  )a href="drivers/crypto/talitos.c#L661702id="L10170 class="line" name="L92170 c>1702a>  chcpto/t_ahasha>   a href="+code=prtfmclass="sref">chtfma>(< chypto/t_ahash_reqtfma>(upareqa>  )chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ahash_ctxa>(chtfma>(<)chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)chlitos_previsc_alloca>(chctxa>  gt;dev);reNULLa>  ,a href="+code=tireqrctxclass="sref">chreqrctxa>  gt;chpsrca>);reNULLa>  reNULLa>  chnbytesa>  upareqa>  gt;upbasea>  . href="+code=chflagsclass="sref">chflagsa>(<)171 a>  a href="drivers/crypto/talitos.c#L921711id="L1017  class="line" name="L1117  c>1711a>  static t chahash_ini>a>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L661712id="L1017" class="line" name="L1217" c>1712a>  171/a>          ruct chcpto/t_ahasha>   a href="+code=prtfmclass="sref">chtfma>(< chypto/t_ahash_reqtfma>(upareqa>  )1714a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)1715a>  a href="drivers/crypto/talitos.c#L921716id="L1017" class="line" name="L1617" c>1716a>           an class="comment"> *iitoze the context */span>
171/a>           href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upnbufa>   1718a>           href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chfir=ta>    * its context */span>
171/a>           href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chswini>a>    * of context */span>
172 a>        chreqrctxa>  gt;chhw_context_sizea>   1721a>                  a href="+code=deypto/t_ahash_digestsizeclass="sref">chcpto/t_ahash_digestsizea>(chtfma>(<) <reSHA256_DIGEST_SIZEa>  )a href="drivers/crypto/talitos.c#L661722id="L1017" class="line" name="L2217" c>1722a>                          ?a href="+code=deTALITOS_MDEU_CONTEXT_SIZE_MD5_SHA1_SHA256class="sref">reTALITOS_MDEU_CONTEXT_SIZE_MD5_SHA1_SHA256a>  a href="drivers/crypto/talitos.c#L921723id="L1017" class="line" name="L2317" c>172/a>                          :a href="+code=deTALITOS_MDEU_CONTEXT_SIZE_SHA384_SHA5" class="lief">reTALITOS_MDEU_CONTEXT_SIZE_SHA384_SHA5" a>  1724a>  a href="drivers/crypto/talitos.c#L921725id="L1017" class="line" name="L2517" c>1725a>        urn 01726a>  172/a>  a href="drivers/crypto/talitos.c#L921728id="L1017" class="line" name="L2817" c>172/a>   an class="comment"> *
172/a>   an class="comment"> *a* on h/w without explici> sha224 support, we ini>iitoze h/w contexta>an>
173 a>   an class="comment"> *a* manually with sha224 constants, and tell it to run sha256.a>an>
1731a>   an class="comment"> *a*/span>
1732a>  static t chahash_ini>_sha224_swini>a>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L661733id="L1017  class="line" name="L1317  c>173/a>  1734a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)1735a>  a href="drivers/crypto/talitos.c#L921736id="L1017" class="line" name="L3617" c>1736a>           href="+code=deahash_ini>class="sref">chahash_ini>a>(upareqa>(<)173/a>           href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chswini>a>    * h/w ini>ting context with sha256 value=*/span>
173/a>  a href="drivers/crypto/talitos.c#L891739id="L1017" class="line" name="L3917" c>173/a>           href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[0] chSHA224_H0a>  174 a>        chreqrctxa>  gt;chhw_contexta>);[1] chSHA224_H1a>  1741a>           href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[2] reSHA224_H a>  1742a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[3] reSHA224_H3a>  174/a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[4] reSHA224_H4a>  1744a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[5] reSHA224_H5a>  1745a>        chreqrctxa>  gt;chhw_contexta>);[6] reSHA224_H6a>  1746a>           href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[7] reSHA224_H7a>  174/a>  a href="drivers/crypto/talitos.c#L9217"8id="L1017" class="line" name="L4817" c>1748a>           an class="comment"> * 64-bi> coun>a*/span>
174/a>           href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chhw_contexta>);[8] 175 a>        chreqrctxa>  gt;chhw_contexta>);[9] 1751a>  a href="drivers/crypto/talitos.c#L921752id="L1017" class="line" name="L5217" c>1752a>          re>urn 01753a>  1754a>  a href="drivers/crypto/talitos.c#L921755id="L1017" class="line" name="L5517" c>1755a>  static t upahash_process_reqa>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  ,aunsig" dat chnbytesa>  )a href="drivers/crypto/talitos.c#L661756id="L1017" class="line" name="L5617" c>1756a>  175/a>          ruct chcpto/t_ahasha>   a href="+code=prtfmclass="sref">chtfma>(< chypto/t_ahash_reqtfma>(upareqa>  )175/a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_ahash_ctxa>(chtfma>(<)175/a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)1760a>          ruct chlitos_previsca>   a href="+code=previscclass="sref">chevisca>  1761a>          unsig" dat chblocksizea>   1762a>                        chcpto/t_tfm_alg_blocksizea>(chypto/t_ahash_tfma>(chtfma>(<))176/a>          unsig" dat chnbytes_/t_hasha>  1764a>          unsig" dat di/t_hash_latema>  1765a>        chnsga>(<1766a>           href="+code=deboolclass="sref">chboola>    href="+code=dechae" dclass="sref">chchae" da>  176/a>  a href="drivers/crypto/talitos.c#L921768id="L1017" class="line" name="L6817" c>176/a>          tf (! href="+code=tireqrctxclass="sref">chreqrctxa>  gt;upss=ta>  a&& a href="+code=denbytesclass="sref">chnbytesa>   +  href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upnbufa>   <chblocksizea>  )) 176/a>                   an class="comment"> *
177 a>                   href="+code=chsg_copy_to_bufferclass="sref">chsg_copy_to_buffera>(upareqa>(chsrca>);1771a>                                     href="+code=chsg_coun>class="sref">chsg_coun>a>  a href="+code=deareqclass="sref">upareqa>(chsrca>);<  href="+code=tinbytesclass="sref">chnbytesa>  chchae" da>  ),a href="drivers/crypto/talitos.c#L661772id="L1017" class="line" name="L7217" c>1772a>                                     href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upbufa>   +  href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upnbufa>  <  href="+code=tinbytesclass="sref">chnbytesa>  )177/a>                   href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upnbufa>   +chnbytesa>  1774a>                  re>urn 01775a>        1776a>  a href="drivers/crypto/talitos.c#L921777id="L1017  class="line" name="L1717  c>177/a>           an class="comment"> *
1778a>           href="+code=prnbytes_/t_hashclass="sref">chnbytes_/t_hasha>   chnbytesa>   +  href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upnbufa>  177/a>           href="+code=pr/t_hash_latemclass="sref">di/t_hash_latema>   chnbytes_/t_hasha>   & a href="+code=deblocksizeclass="sref">chblocksizea>   - 1)178 a>  a href="drivers/crypto/talitos.c#L921781id="L1017" class="line" name="L8117" c>1781a>          tf ( href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upss=ta>  )a href="drivers/crypto/talitos.c#L661782id="L1017" class="line" name="L8217" c>1782a>                   href="+code=pr/t_hash_latemclass="sref">di/t_hash_latema>   178/a>          else tf ( href="+code=pr/t_hash_latemclass="sref">di/t_hash_latema>  )a href="drivers/crypto/talitos.c#L661784id="L1017" class="line" name="L8417" c>1784a>                   an class="comment"> *iit block. Hash the fult block(s) now */span>
1785a>        chnbytes_/t_hasha>   -di/t_hash_latema>  1786a>          else 178/a>                   an class="comment"> *
chnbytes_/t_hasha>   -chblocksizea>  178/a>                   href="+code=pr/t_hash_latemclass="sref">di/t_hash_latema>   chblocksizea>  179 a>        1791a>  a href="drivers/crypto/talitos.c#L921792id="L1017" class="line" name="L9217" c>1792a>           an class="comment"> *
179/a>          tf ( href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upnbufa>  ) 1794a>                   href="+code=chnsgclass="sref">chnsga>(< chreqrctxa>  gt;upnbufa>   <  href="+code=denbytes_/t_hashclass="sref">chnbytes_/t_hasha>  ) ? 2 : 11795a>        chsg_ini>_tablea>  a href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chbufsla>  <  href="+code=tinsgclass="sref">chnsga>(<)upsg_set_bufa>  a href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chbufsla>  <  href="+code=tireqrctxclass="sref">chreqrctxa>  gt;upbufa>  <  href="+code=tireqrctxclass="sref">chreqrctxa>  gt;upnbufa>  )chnsga>(< t;upscattemwalk_sg_chae"a>  a href="+code=dereqrctxclass="sref">chreqrctxa>  gt;chbufsla>  < 2<  href="+code=deareqclass="sref">upareqa>  gt;chsrca>);)chreqrctxa>  gt;chpsrca>); chreqrctxa>  gt;chbufsla>  chreqrctxa>  gt;chpsrca>); upareqa>  gt;chsrca>);di/t_hash_latema>  ) sclass="sref">chne">sa>   chsg_coun>a>  a href="+code=deareqclass="sref">upareqa>(chsrca>);<  href="+code=tinbytesclass="sref">chnbytesa>  chchae" da>  )chsg_copy_end_to_buffera>  a href="+code=deareqclass="sref">upareqa>(chsrca>);<  href="+code=tine">sclass="sref">chne">sa>  ,a href="drivers/crypto/talitos.c#L661806id="L10180         enum chreqrctxa>  gt;chbufnexta>  ,a href="drivers/crypto/talitos.c#L661807id="L10180 class="line" name="L87180 c>180/a>                                         href="+code=pr/t_hash_latemclass="sref">di/t_hash_latema>  ,a href="drivers/crypto/talitos.c#L661808id="L10180 class="line" name="L88180 c>180/a>                                         href="+code=prnbytesclass="sref">chnbytesa>   -  href="+code=pr/t_hash_latemclass="sref">di/t_hash_latema>  )181 a>        chreqrctxa>  gt;di/t_hash_latema>   di/t_hash_latema>  1812a>           an class="comment"> *
181/a>           href="+code=cheviscclass="sref">chevisca>   chahash_evisc_alloca>(upareqa>(<<  href="+code=tinbytes_/t_hashclass="sref">chnbytes_/t_hasha>  )1814a>          tf ( href="+code=prIS_ERRclass="sref">chIS_ERRa>(chevisca>  ))a href="drivers/crypto/talitos.c#L921815id="L1018" class="line" name="L1518" c>1815a>        urn  href="+code=prPTR_ERRclass="sref">chPTR_ERRa>(chevisca>  )1816a>  a href="drivers/crypto/talitos.c#L921817id="L1018" class="line" name="L1718" c>181/a>           href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdmclass="sref">dihdma>   chctxa>  gt;chvisc_hdm_templatea>  181/a>  a href="drivers/crypto/talitos.c#L891819id="L1018" class="line" name="L1918" c>181/a>           an class="comment"> *
182 a>          tf ( href="+code=prreqrctxclass="sref">chreqrctxa>  gt;upss=ta>  )a href="drivers/crypto/talitos.c#L661821id="L1018" class="line" name="L2118" c>1821a>                   href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdmclass="sref">dihdma>   |diDESC_HDR_MODE0_MDEU_PADa>  1822a>          elsea href="drivers/crypto/talitos.c#L921823id="L1018" class="line" name="L2318" c>182/a>                   href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdmclass="sref">dihdma>   |diDESC_HDR_MODE0_MDEU_CONTa>  1824a>  a href="drivers/crypto/talitos.c#L921825id="L1018" class="line" name="L2518" c>1825a>         *
1826a>          tf ( href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chfir=ta>   && ! href="+code=tireqrctxclass="sref">chreqrctxa>  gt;chswini>a>  )a href="drivers/crypto/talitos.c#L661827id="L1018" class="line" name="L2718" c>182/a>                   href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdmclass="sref">dihdma>   |diDESC_HDR_MODE0_MDEU_INITa>  182/a>  a href="drivers/crypto/talitos.c#L891829id="L1018" class="line" name="L2918" c>182/a>           an class="comment"> *an>
183 a>   an class="comment"> *aaaaaaaaa/ A fir=t tr ss=t (ie. not middle) viscrio/tr must reque=t HMAC.a>an>
1831a>   an class="comment"> *aaaaaaaaa//span>
1832a>          tf ( href="+code=prytxclass="sref">chctxa>  gt;chkeylena>   && ( href="+code=prreqrctxclass="sref">chreqrctxa>  gt;chfir=ta>   ||a href="+code=dereqrctxclass="sref">chreqrctxa>  gt;upss=ta>  ))a href="drivers/crypto/talitos.c#L661833id="L1018  class="line" name="L1318  c>183/a>                   href="+code=previscclass="sref">chevisca>  gt;chvisca>  . href="+code=chhdmclass="sref">dihdma>   |diDESC_HDR_MODE0_MDEU_HMACa>  1834a>  a href="drivers/crypto/talitos.c#L921835id="L1018" class="line" name="L3518" c>1835a>        urn  href="+code=prymenon_nonsnoop_hashclass="sref">chcmenon_nonsnoop_hasha>(chevisca>  <  href="+code=deareqclass="sref">upareqa>  <  href="+code=tinbytes_/t_hashclass="sref">chnbytes_/t_hasha>  ,a href="drivers/crypto/talitos.c#L661836id="L1018" class="line" name="L3618" c>1836a>                                       href="+code=deahash_doneclass="sref">chahash_donea>  )183/a>  }a href="drivers/crypto/talitos.c#L921838id="L1018" class="line" name="L3818" c>183/a>  a href="drivers/crypto/talitos.c#L891839id="L1018" class="line" name="L3918" c>183/a>  static t chahash_updatea>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L66184 id="L1018" class="line" name="L4018" c>184 a>  1841a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)1842a>  a href="drivers/crypto/talitos.c#L921843id="L1018" class="line" name="L4318" c>184/a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;upss=ta>   1844a>  a href="drivers/crypto/talitos.c#L921845id="L1018" class="line" name="L4518" c>1845a>        urn  href="+code=prahash_process_reqclass="sref">upahash_process_reqa>(upareqa>  <  href="+code=tiareqclass="sref">upareqa>(chnbytesa>  )1846a>  184/a>  a href="drivers/crypto/talitos.c#L9218"8id="L1018" class="line" name="L4818" c>1848a>  static t chahash_finala>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L661849id="L1018" class="line" name="L4918" c>184/a>  1850a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)1851a>  a href="drivers/crypto/talitos.c#L921852id="L1018" class="line" name="L5218" c>1852a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;upss=ta>   1853a>  a href="drivers/crypto/talitos.c#L921854id="L1018" class="line" name="L5418" c>1854a>        urn  href="+code=prahash_process_reqclass="sref">upahash_process_reqa>(upareqa>  < 0)1855a>  1856a>  a href="drivers/crypto/talitos.c#L921857id="L1018" class="line" name="L5718" c>185/a>  static t chahash_finupa>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L661858id="L1018" class="line" name="L5818" c>185/a>  185/a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)186 a>  a href="drivers/crypto/talitos.c#L921861id="L1018" class="line" name="L6118" c>1861a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;upss=ta>   1862a>  a href="drivers/crypto/talitos.c#L921863id="L1018" class="line" name="L6318" c>186/a>          re>urn  href="+code=prahash_process_reqclass="sref">upahash_process_reqa>(upareqa>  <  href="+code=tiareqclass="sref">upareqa>(chnbytesa>  )1864a>  1865a>  a href="drivers/crypto/talitos.c#L921866id="L1018" class="line" name="L6618" c>1866a>  static t chahash_digesta>(upahash_reque=ta>   a href="+code=chareqclass="sref">upareqa>  )a href="drivers/crypto/talitos.c#L661867id="L1018" class="line" name="L6718" c>186/a>  186/a>          ruct chlitos_prahash_reqrctxa>   a href="+code=chreqrctxclass="sref">chreqrctxa>   chahash_reque=trctxa>(upareqa>(<)186/a>          ruct chcpto/t_ahasha>   a href="+code=prahashclass="sref">chahasha>   chypto/t_ahash_reqtfma>(upareqa>  )187 a>  a href="drivers/crypto/talitos.c#L921871id="L1018" class="line" name="L7118" c>1871a>           href="+code=chahashclass="sref">chahasha>  gt;chini>a>(upareqa>(<)1872a>           href="+code=chreqrctxclass="sref">chreqrctxa>  gt;upss=ta>   1873a>  a href="drivers/crypto/talitos.c#L9218"4id="L1018" class="line" name="L7418" c>1874a>        urn  href="+code=prahash_process_reqclass="sref">upahash_process_reqa>(upareqa>  <  href="+code=tiareqclass="sref">upareqa>(chnbytesa>  )1875a>  1876a>  a href="drivers/crypto/talitos.c#L921877id="L1018  class="line" name="L1718  c>187/a>  stct upkeyhash_resulta>   187/a>          ruct chcompletiona>    href="+code=tacompletionclass="sref">chcompletiona>  187/a>          t dierma>  188 a>  }1881a>  a href="drivers/crypto/talitos.c#L921882id="L1018" class="line" name="L8218" c>1882a>  static voida href="+code=takeyhash_completeclass="sref">chkeyhash_completea>(upypto/t_async_reque=ta>   a href="+code=chreqclass="sref">chreqa>  < t dierma>  )a href="drivers/crypto/talitos.c#L661883id="L1018" class="line" name="L8318" c>188/a>  1884a>          stct upkeyhash_resulta>   a href="+code=chresclass="sref">chresa>   chreqa>  gt;chvataa>  1885a>  a href="drivers/crypto/talitos.c#L921886id="L1018" class="line" name="L8618" c>1886a>          tf ( href="+code=prermclass="sref">dierma>   == - href="+code=prEINPROGRESSclass="sref">diEINPROGRESSa>  )a href="drivers/crypto/talitos.c#L661887id="L1018" class="line" name="L8718" c>188/a>                  re>urn188/a>           href="+code=prresclass="sref">chresa>  gt;dierma>   =a href="+code=tiermclass="sref">dierma>  189 a>        chcompletea>(chresa>  gt;chcompletiona>  )1891a>  1892a>  a href="drivers/crypto/talitos.c#L921893id="L1018" class="line" name="L9318" c>189/a>  static t upkeyhasha>(chcpto/t_ahasha>   a href="+code=prtfmclass="sref">chtfma>(<, consta href="+code=tau8class="sref">chu8a>   a href="+code=prkeyclass="sref">upkeya>(<, unsig" dat chkeylena>  ,a href="drivers/crypto/talitos.c#L661894id="L1018" class="line" name="L9418" c>1894a>                   chu8a>   a href="+code=prhashclass="sref">chhasha>  )a href="drivers/crypto/talitos.c#L661895id="L1018" class="line" name="L9518" c>1895a>  chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_tfm_ctxa>(chypto/t_ahash_tfma>(chtfma>(<))upscattemli=ta>    href="+code=tasgclass="sref">chsga>(<[1]upahash_reque=ta>   a href="+code=chreqclass="sref">chreqa>  upkeyhash_resulta>    href="+code=prhresultclass="sref">uphresulta>  class="sref">chreta>  _completionclass="sref">chini>_completiona>(uphresulta>  . href="+code=chcompletionclass="sref">chcompletiona>  )chreqa>   chahash_reque=tralloca>(chtfma>(<<  href="+code=tiGFP_KERNELclass="sref">chGFP_KERNELa>  )chreqa>  )a href="drivers/crypto/talitos.c#L661907id="L10190 class="line" name="L87190 c>190/a>                  re>urn - href="+code=prENOMEMclass="sref">diENOMEMa>   *
191 a>        chctxa>  gt;chkeylena>   chahash_reque=trset_callbacka>(chreqa>  <  href="+code=deCRYPTO_TFM_REQ_MAY_BACKLOGclass="sref">chCRYPTO_TFM_REQ_MAY_BACKLOGa>  ,a href="drivers/crypto/talitos.c#L661912id="L1019" class="line" name="L1219" c>1912a>                                      href="+code=takeyhash_completeclass="sref">chkeyhash_completea>(<uphresulta>  )1913a>  a href="drivers/crypto/talitos.c#L921914id="L1019" class="line" name="L1419" c>1914a>           href="+code=tasg_ini>_oneclass="sref">chsg_ini>_onea>(chsga>(<[0]<  href="+code=dekeyclass="sref">upkeya>(<,  href="+code=chkeylenclass="sref">chkeylena>  )1915a>  a href="drivers/crypto/talitos.c#L921916id="L1019" class="line" name="L1619" c>1916a>           href="+code=deahash_reque=trset_cpto/class="sref">chahash_reque=trset_cpto/a>(chreqa>  <  href="+code=desgclass="sref">chsga>(<<  href="+code=dehashclass="sref">chhasha>  ,  href="+code=chkeylenclass="sref">chkeylena>  )191/a>           href="+code=prre>class="sref">chreta>   chypto/t_ahash_digesta>(chreqa>  )191/a>          rwitch ( href="+code=prre>class="sref">chreta>  ) 191/a>          case 0:a href="drivers/crypto/talitos.c#L92192 id="L1019" class="line" name="L2019" c>192 a>                  break1921a>          case - href="+code=prEINPROGRESSclass="sref">diEINPROGRESSa>  :a href="drivers/crypto/talitos.c#L921922id="L1019" class="line" name="L2219" c>1922a>          case - href="+code=prEBUSYclass="sref">diEBUSYa>  :a href="drivers/crypto/talitos.c#L921923id="L1019" class="line" name="L2319" c>192/a>                   href="+code=prre>class="sref">chreta>   chwai>_for_completion_interruptiblea>(1924a>                   uphresulta>  . href="+code=chcompletionclass="sref">chcompletiona>  )1925a>        chreta>  )a href="drivers/crypto/talitos.c#L921926id="L1019" class="line" name="L2619" c>1926a>                           href="+code=prre>class="sref">chreta>   uphresulta>  . href="+code=chermclass="sref">dierma>  192/a>                  break192/a>          default:a href="drivers/crypto/talitos.c#L921929id="L1019" class="line" name="L2919" c>192/a>                  break193 a>        1931a>           href="+code=chahash_reque=trfreeclass="sref">chahash_reque=trfreea>(chreqa>  )1932a>  a href="drivers/crypto/talitos.c#L921933id="L1019  class="line" name="L1319  c>193/a>          re>urn  href="+code=prre>class="sref">chreta>  1934a>  1935a>  a href="drivers/crypto/talitos.c#L921936id="L1019" class="line" name="L3619" c>1936a>  static t upahash_setkeya>(chcpto/t_ahasha>   a href="+code=prtfmclass="sref">chtfma>(<, consta href="+code=tau8class="sref">chu8a>   a href="+code=prkeyclass="sref">upkeya>(<,a href="drivers/crypto/talitos.c#L921937id="L1019" class="line" name="L3719" c>193/a>                          unsig" dat chkeylena>  )a href="drivers/crypto/talitos.c#L921938id="L1019" class="line" name="L3819" c>193/a>  193/a>          ruct chlitos_prctxa>   a href="+code=prctxclass="sref">chctxa>   chcpto/t_tfm_ctxa>(chypto/t_ahash_tfma>(chtfma>(<))194 a>        chblocksizea>   =a href="drivers/crypto/talitos.c#L921941id="L1019" class="line" name="L4119" c>1941a>                           href="+code=prcpto/t_tfm_alg_blocksizeclass="sref">chcpto/t_tfm_alg_blocksizea>(chypto/t_ahash_tfma>(chtfma>(<))1942a>        chdigestsizea>   chcpto/t_ahash_digestsizea>(chtfma>(<)194/a>          unsig" dat chkeysizea>   chkeylena>  1944a>           href="+code=tau8class="sref">chu8a>    href="+code=dehashclass="sref">chhasha>  [ href="+code=deSHA512_DIGEST_SIZEclass="sref">chSHA512_DIGEST_SIZEa>  ]1945a>        chreta>  1946a>  a href="drivers/crypto/talitos.c#L921947id="L1019" class="line" name="L4719" c>194/a>          tf ( href="+code=prkeylenclass="sref">chkeylena>   <chblocksizea>  )a href="drivers/crypto/talitos.c#L9219"8id="L1019" class="line" name="L4819" c>194/a>                   href="+code=dememcpyclass="sref">upmemcpya>(chctxa>  gt;upkeya>(<,  href="+code=chkeyclass="sref">upkeya>(<,  href="+code=chkeysizeclass="sref">chkeysizea>  )194/a>          else 195 a>                   an class="comment"> *
1951a>                   href="+code=prre>class="sref">chreta>   upkeyhasha>(chtfma>(<<  href="+code=tikeyclass="sref">upkeya>(<,  href="+code=chkeylenclass="sref">chkeylena>  <  href="+code=dehashclass="sref">chhasha>  )1952a>  a href="drivers/crypto/talitos.c#L921953id="L1019" class="line" name="L5319" c>195/a>                  tf ( href="+code=prre>class="sref">chreta>  ) 1954a>                   chypto/t_ahash_set_flagsa>(chtfma>(<<  href="+code=tiCRYPTO_TFM_RES_BAD_KEY_LENclass="sref">chCRYPTO_TFM_RES_BAD_KEY_LENa>  )1955a>        urn - href="+code=prEINVALclass="sref">chEINVALa>  1956a>                  195/a>  a href="drivers/crypto/talitos.c#L921958id="L1019" class="line" name="L5819" c>195/a>                   href="+code=dekeysizeclass="sref">chkeysizea>   chdigestsizea>  195/a>                   href="+code=prmemcpyclass="sref">upmemcpya>(chctxa>  gt;upkeya>(<,  href="+code=chhashclass="sref">chhasha>  ,  href="+code=chdigestsizeclass="sref">chdigestsizea>  )196 a>        1961a>  a href="drivers/crypto/talitos.c#L9219"2id="L1019" class="line" name="L6219" c>1962a>           href="+code=chytxclass="sref">chctxa>  gt;chkeylena>   chkeysizea>  1963a>  a href="drivers/crypto/talitos.c#L921964id="L1019" class="line" name="L6419" c>1964a>        urn 01965a>  1966a>  a href="drivers/crypto/talitos.c#L921967id="L1019" class="line" name="L6719" c>196/a>  a href="drivers/crypto/talitos.c#L921968id="L1019" class="line" name="L6819" c>1968a>  stct chlitos_pralg_templatea>   196/a>           href="+code=pru" class="lief">chu32a>    href="+code=talypeclass="sref">chlypea>  197 a>        1971a>                  ruct chypto/t_alga>    href="+code=taypto/tclass="sref">chypto/ta>  1972a>                  ruct chahash_alga>    href="+code=dehashclass="sref">chhasha>  197/a>          }a href="+code=taalgclass="sref">chalga>  1974a>           href="+code=ta__be" class="lief">ch__be" a>    href="+code=ded"sc_hdm_templateclass="sref">chvisc_hdm_templatea>  1975a>  <1976a>  a href="drivers/crypto/talitos.c#L921977id="L1019  class="line" name="L1719  c>197/a>  static stct chlitos_pralg_templatea>    href="+code=dedvers/ralgsclass="sref">chdvers/ralgsa>  [] 197/a>           an class="comment"> *
197/a>   an class="comment"> *aaaaaaaaa/ AEAD algorithms. These use a single-ps=" ipsec_esp viscrio/tr.a>an>
198 a>   an class="comment"> *aaaaaaaaa/ authencesn(*,*) is alsoaregistered, although not presen>a>an>
1981a>   an class="comment"> *aaaaaaaaa/ explicitly here.a>an>
1982a>   an class="comment"> *aaaaaaaaa//span>
198/a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L921984id="L1019" class="line" name="L8419" c>1984a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   1985a>        chypa_me="a>   "authenc(hmac(sha1),cbc(aes))"span>
<,a href="drivers/crypto/talitos.c#L921986id="L1019" class="line" name="L8619" c>1986a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-sha1-cbc-aes-litos.c"span>
<,a href="drivers/crypto/talitos.c#L921987id="L1019" class="line" name="L8719" c>198/a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L921988id="L1019  class="line" name="L1819  c>198/a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L921989id="L1019" class="line" name="L8919" c>198/a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   199 a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L921991id="L1019" class="line" name="L9119" c>1991a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA1_DIGEST_SIZEclass="sref">chSHA1_DIGEST_SIZEa>  ,a href="drivers/crypto/talitos.c#L921992id="L1019" class="line" name="L9219" c>1992a>                          199/a>                  },a href="drivers/crypto/talitos.c#L921994id="L1019" class="line" name="L9419" c>1994a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L921995id="L1019" class="line" name="L9519" c>1995a>        chDESC_HDR_SEL0_AESUa>(< |a href="drivers/crypto/talitos.c#L921996id="L1019e         enum diDESC_HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L921997id="L10199 class="line" name="L87199 c>199/a>                                        href="+code=deDESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L921998id="L10199 class="line" name="L88199 c>199/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L921999id="L1019  class="line" name="L1919  c>199/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L92200 id="L10200 idass="line" name="L19200 i>200 a>                                        href="+code=deDESC_HDR_MODE1_MDEU_SHA1_HMACclass="sref">diDESC_HDR_MODE1_MDEU_SHA1_HMACa>  ,a /pre> href="drivers/crypto/talitos.c#L922001id="L10200 class="line" name="L91200 c>2001a>          },a href="drivers/crypto/talitos.c#L922002id="L10200 class="line" name="L92200 c>2002a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922003id="L10200 class="line" name="L93200 c>200/a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   chypa_me="a>   "authenc(hmac(sha1),cbc(vis3_ede))"span>
<,a href="drivers/crypto/talitos.c#L922005id="L10200 class="line" name="L95200 c>2005a>        chypa_dvers/rme="a>   "authenc-hmac-sha1-cbc-3des-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922006id="L10200         enum chcpa_blocksizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922007id="L10200 class="line" name="L87200 c>200/a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922008id="L10200 class="line" name="L88200 c>200/a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chivsizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L92201 id="L1020" class="line" name="L1020" c>20" a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA1_DIGEST_SIZEclass="sref">chSHA1_DIGEST_SIZEa>  ,a href="drivers/crypto/talitos.c#L9220"1id="L1020  class="line" name="L1120  c>20"1a>                          20"2a>                  },a href="drivers/crypto/talitos.c#L922013id="L1020" class="line" name="L1320" c>20"/a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L9220"4id="L1020" class="line" name="L1420" c>20"4a>                   chDESC_HDR_SEL0_DEUa>(< |a href="drivers/crypto/talitos.c#L9220"5id="L1020" class="line" name="L1520" c>20"5a>        diDESC_HDR_MODE0_DEU_CBCa>(< |a href="drivers/crypto/talitos.c#L9220"6id="L1020" class="line" name="L1620" c>20"6a>                                        href="+code=deDESC_HDR_MODE0_DEU_3DESclass="sref">diDESC_HDR_MODE0_DEU_3DESa>(< |a href="drivers/crypto/talitos.c#L9220"7id="L1020" class="line" name="L1720" c>20"/a>                                        href="+code=deDESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L9220"8id="L1020" class="line" name="L1820" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L9220"9id="L1020" class="line" name="L1920" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L92202 id="L1020" class="line" name="L2020" c>20" a>                                        href="+code=deDESC_HDR_MODE1_MDEU_SHA1_HMACclass="sref">diDESC_HDR_MODE1_MDEU_SHA1_HMACa>  ,a href="drivers/crypto/talitos.c#L922021id="L1020" class="line" name="L2120" c>20"1a>          },a href="drivers/crypto/talitos.c#L922022id="L1020" class="line" name="L2220" c>20"2a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922023id="L1020" class="line" name="L2320" c>20"/a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   20"4a>                   chypa_me="a>   "authenc(hmac(sha224),cbc(aes))"span>
<,a href="drivers/crypto/talitos.c#L9220"5id="L1020" class="line" name="L2520" c>20"5a>        chypa_dvers/rme="a>   "authenc-hmac-sha224-cbc-aes-litos.c"span>
<,a href="drivers/crypto/talitos.c#L9220"6id="L1020" class="line" name="L2620" c>20"6a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L9220"7id="L1020" class="line" name="L2720" c>20"/a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L9220"8id="L1020" class="line" name="L2820" c>20"/a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   20"/a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L92203 id="L1020" class="line" name="L3020" c>20" a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA224_DIGEST_SIZEclass="sref">chSHA224_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922031id="L1020" class="line" name="L3120" c>20"1a>                          20"2a>                  },a href="drivers/crypto/talitos.c#L922033id="L1020  class="line" name="L1320  c>20"/a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922034id="L1020" class="line" name="L3420" c>20"4a>                   chDESC_HDR_SEL0_AESUa>(< |a href="drivers/crypto/talitos.c#L9220"5id="L1020" class="line" name="L3520" c>20"5a>        diDESC_HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L9220"6id="L1020" class="line" name="L3620" c>20"6a>                                        href="+code=deDESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L922037id="L1020" class="line" name="L3720" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922038id="L1020" class="line" name="L3820" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922039id="L1020" class="line" name="L3920" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_SHA224_HMACclass="sref">diDESC_HDR_MODE1_MDEU_SHA224_HMACa>(<,a href="drivers/crypto/talitos.c#L92204 id="L1020" class="line" name="L4020" c>20" a>          },a href="drivers/crypto/talitos.c#L922041id="L1020" class="line" name="L4120" c>20"1a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922042id="L1020" class="line" name="L4220" c>20"2a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   20"/a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(sha224),cbc(vis3_ede))"span>
<,a href="drivers/crypto/talitos.c#L922044id="L1020" class="line" name="L4420" c>20"4a>                   chypa_dvers/rme="a>   "authenc-hmac-sha224-cbc-3des-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922045id="L1020" class="line" name="L4520" c>20"5a>        chcpa_blocksizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922046id="L1020" class="line" name="L4620" c>20"6a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922047id="L1020" class="line" name="L4720" c>20"/a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   20"/a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922049id="L1020" class="line" name="L4920" c>20"/a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA224_DIGEST_SIZEclass="sref">chSHA224_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L92205 id="L1020" class="line" name="L5020" c>20" a>                          20"1a>                  },a href="drivers/crypto/talitos.c#L922052id="L1020" class="line" name="L5220" c>20"2a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922053id="L1020" class="line" name="L5320" c>20"/a>                                        href="+code=deDESC_HDR_SEL0_DEUclass="sref">chDESC_HDR_SEL0_DEUa>(< |a href="drivers/crypto/talitos.c#L922054id="L1020" class="line" name="L5420" c>20"4a>                   diDESC_HDR_MODE0_DEU_CBCa>(< |a href="drivers/crypto/talitos.c#L922055id="L1020" class="line" name="L5520" c>20"5a>        diDESC_HDR_MODE0_DEU_3DESa>(< |a href="drivers/crypto/talitos.c#L922056id="L1020" class="line" name="L5620" c>20"6a>                                        href="+code=deDESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L922057id="L1020" class="line" name="L5720" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922058id="L1020" class="line" name="L5820" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922059id="L1020" class="line" name="L5920" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_SHA224_HMACclass="sref">diDESC_HDR_MODE1_MDEU_SHA224_HMACa>(<,a href="drivers/crypto/talitos.c#L92206 id="L1020" class="line" name="L6020" c>20" a>          },a href="drivers/crypto/talitos.c#L922061id="L1020" class="line" name="L6120" c>20"1a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922062id="L1020" class="line" name="L6220" c>20"2a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   20"/a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(sha256),cbc(aes))"span>
<,a href="drivers/crypto/talitos.c#L922064id="L1020" class="line" name="L6420" c>20"4a>                   chypa_dvers/rme="a>   "authenc-hmac-sha256-cbc-aes-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922065id="L1020" class="line" name="L6520" c>20"5a>        chcpa_blocksizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922066id="L1020" class="line" name="L6620" c>20"6a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922067id="L1020" class="line" name="L6720" c>20"/a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   20"/a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922069id="L1020" class="line" name="L6920" c>20"/a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA256_DIGEST_SIZEclass="sref">chSHA256_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L92207 id="L1020" class="line" name="L7020" c>20" a>                          20"1a>                  },a href="drivers/crypto/talitos.c#L922072id="L1020" class="line" name="L7220" c>20"2a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922073id="L1020" class="line" name="L7320" c>20"/a>                                        href="+code=deDESC_HDR_SEL0_AESUclass="sref">chDESC_HDR_SEL0_AESUa>(< |a href="drivers/crypto/talitos.c#L922074id="L1020" class="line" name="L7420" c>20"4a>                   diDESC_HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L922075id="L1020" class="line" name="L7520" c>20"5a>        chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L922076id="L1020" class="line" name="L7620" c>20"6a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922077id="L1020  class="line" name="L1720  c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922078id="L1020" class="line" name="L7820" c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_SHA256_HMACclass="sref">diDESC_HDR_MODE1_MDEU_SHA256_HMACa>(<,a href="drivers/crypto/talitos.c#L922079id="L1020" class="line" name="L7920" c>20"/a>          },a href="drivers/crypto/talitos.c#L92208 id="L1020" class="line" name="L8020" c>20" a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922081id="L1020" class="line" name="L8120" c>20"1a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   20"2a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(sha256),cbc(vis3_ede))"span>
<,a href="drivers/crypto/talitos.c#L922083id="L1020" class="line" name="L8320" c>20"/a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-sha256-cbc-3des-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922084id="L1020" class="line" name="L8420" c>20"4a>                   chcpa_blocksizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922085id="L1020" class="line" name="L8520" c>20"5a>        chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922086id="L1020" class="line" name="L8620" c>20"6a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   20"/a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922088id="L1020  class="line" name="L1820  c>20"/a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA256_DIGEST_SIZEclass="sref">chSHA256_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922089id="L1020" class="line" name="L8920" c>20"/a>                          20" a>                  },a href="drivers/crypto/talitos.c#L922091id="L1020" class="line" name="L9120" c>20"1a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922092id="L1020" class="line" name="L9220" c>20"2a>                                        href="+code=deDESC_HDR_SEL0_DEUclass="sref">chDESC_HDR_SEL0_DEUa>(< |a href="drivers/crypto/talitos.c#L922093id="L1020" class="line" name="L9320" c>20"/a>                                        href="+code=deDESC_HDR_MODE0_DEU_CBCclass="sref">diDESC_HDR_MODE0_DEU_CBCa>(< |a href="drivers/crypto/talitos.c#L922094id="L1020" class="line" name="L9420" c>20"4a>                   diDESC_HDR_MODE0_DEU_3DESa>(< |a href="drivers/crypto/talitos.c#L922095id="L1020" class="line" name="L9520" c>20"5a>        chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L922096id="L1020e         enum                                         href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922097id="L10209 class="line" name="L87209 c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922098id="L10209 class="line" name="L88209 c>20"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_SHA256_HMACclass="sref">diDESC_HDR_MODE1_MDEU_SHA256_HMACa>(<,a href="drivers/crypto/talitos.c#L922099id="L1020  class="line" name="L1920  c>20"/a>          },a href="drivers/crypto/talitos.c#L92210 id="L10210 idass="line" name="L19210 i>210 a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922101id="L10210 class="line" name="L91210 c>2101a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   chypa_me="a>   "authenc(hmac(sha384),cbc(aes))"span>
<,a href="drivers/crypto/talitos.c#L922103id="L10210 class="line" name="L93210 c>210/a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-sha384-cbc-aes-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922104id="L10210 class="line" name="L94210 c>2104a>                   chcpa_blocksizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922105id="L10210 class="line" name="L95210 c>2105a>        chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922106id="L10210         enum chypa_aeada>   chivsizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922108id="L10210 class="line" name="L88210 c>210/a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA384_DIGEST_SIZEclass="sref">chSHA384_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922109id="L10210 class="line" name="L19210 c>210/a>                          21" a>                  },a href="drivers/crypto/talitos.c#L9221"1id="L1021  class="line" name="L1121  c>21"1a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L9221"2id="L1021" class="line" name="L1221" c>21"2a>                                        href="+code=deDESC_HDR_SEL0_AESUclass="sref">chDESC_HDR_SEL0_AESUa>(< |a href="drivers/crypto/talitos.c#L922113id="L1021" class="line" name="L1321" c>21"/a>                                        href="+code=deDESC_HDR_MODE0_AESU_CBCclass="sref">diDESC_HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L9221"4id="L1021" class="line" name="L1421" c>21"4a>                   chDESC_HDR_SEL1_MDEUBa>(< |a href="drivers/crypto/talitos.c#L9221"5id="L1021" class="line" name="L1521" c>21"5a>        diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L9221"6id="L1021" class="line" name="L1621" c>21"6a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L9221"7id="L1021" class="line" name="L1721" c>21"/a>                                        href="+code=deDESC_HDR_MODE1_MDEUB_SHA384_HMACclass="sref">diDESC_HDR_MODE1_MDEUB_SHA384_HMACa>(<,a href="drivers/crypto/talitos.c#L9221"8id="L1021" class="line" name="L1821" c>21"/a>          },a href="drivers/crypto/talitos.c#L9221"9id="L1021" class="line" name="L1921" c>21"/a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L92212 id="L1021" class="line" name="L2021" c>21" a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   2121a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(sha384),cbc(vis3_ede))"span>
<,a href="drivers/crypto/talitos.c#L922122id="L1021" class="line" name="L2221" c>2122a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-sha384-cbc-3des-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922123id="L1021" class="line" name="L2321" c>21"/a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922124id="L1021" class="line" name="L2421" c>21"4a>                   chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L9221"5id="L1021" class="line" name="L2521" c>21"5a>        chypa_aeada>   21"6a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L9221"7id="L1021" class="line" name="L2721" c>21"/a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA384_DIGEST_SIZEclass="sref">chSHA384_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L9221"8id="L1021" class="line" name="L2821" c>21"/a>                          21"/a>                  },a href="drivers/crypto/talitos.c#L92213 id="L1021" class="line" name="L3021" c>21" a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922131id="L1021" class="line" name="L3121" c>21"1a>                                        href="+code=deDESC_HDR_SEL0_DEUclass="sref">chDESC_HDR_SEL0_DEUa>(< |a href="drivers/crypto/talitos.c#L922132id="L1021" class="line" name="L3221" c>21"2a>                                        href="+code=deDESC_HDR_MODE0_DEU_CBCclass="sref">diDESC_HDR_MODE0_DEU_CBCa>(< |a href="drivers/crypto/talitos.c#L922133id="L1021  class="line" name="L1321  c>21"/a>                                        href="+code=deDESC_HDR_MODE0_DEU_3DESclass="sref">diDESC_HDR_MODE0_DEU_3DESa>(< |a href="drivers/crypto/talitos.c#L922134id="L1021" class="line" name="L3421" c>21"4a>                   chDESC_HDR_SEL1_MDEUBa>(< |a href="drivers/crypto/talitos.c#L9221"5id="L1021" class="line" name="L3521" c>21"5a>        diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L9221"6id="L1021" class="line" name="L3621" c>21"6a>                                        href="+code=deDESC_HDR_MODE1_MDEU_PADclass="sref">diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922137id="L1021" class="line" name="L3721" c>21"/a>                                        href="+code=deDESC_HDR_MODE1_MDEUB_SHA384_HMACclass="sref">diDESC_HDR_MODE1_MDEUB_SHA384_HMACa>(<,a href="drivers/crypto/talitos.c#L922138id="L1021" class="line" name="L3821" c>213/a>          },a href="drivers/crypto/talitos.c#L922139id="L1021" class="line" name="L3921" c>213/a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L92214 id="L1021" class="line" name="L4021" c>214 a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   2141a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(sha512),cbc(aes))"span>
<,a href="drivers/crypto/talitos.c#L922142id="L1021" class="line" name="L4221" c>21"2a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-sha512-cbc-aes-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922143id="L1021" class="line" name="L4321" c>21"/a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922144id="L1021" class="line" name="L4421" c>21"4a>                   chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922145id="L1021" class="line" name="L4521" c>21"5a>        chypa_aeada>   21"6a>                                  . href="+code=chivsizeclass="sref">chivsizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922147id="L1021" class="line" name="L4721" c>21"/a>                                  . href="+code=chmaxauthsizeclass="sref">chmaxauthsizea>   =a href="+code=deSHA512_DIGEST_SIZEclass="sref">chSHA512_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922148id="L1021" class="line" name="L4821" c>21"/a>                          21"/a>                  },a href="drivers/crypto/talitos.c#L92215 id="L1021" class="line" name="L5021" c>21" a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922151id="L1021" class="line" name="L5121" c>21"1a>                                        href="+code=deDESC_HDR_SEL0_AESUclass="sref">chDESC_HDR_SEL0_AESUa>(< |a href="drivers/crypto/talitos.c#L922152id="L1021" class="line" name="L5221" c>21"2a>                                        href="+code=deDESC_HDR_MODE0_AESU_CBCclass="sref">diDESC_HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L922153id="L1021" class="line" name="L5321" c>21"/a>                                        href="+code=deDESC_HDR_SEL1_MDEUBclass="sref">chDESC_HDR_SEL1_MDEUBa>(< |a href="drivers/crypto/talitos.c#L922154id="L1021" class="line" name="L5421" c>21"4a>                   diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922155id="L1021" class="line" name="L5521" c>21"5a>        diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922156id="L1021" class="line" name="L5621" c>21"6a>                                        href="+code=deDESC_HDR_MODE1_MDEUB_SHA512_HMACclass="sref">diDESC_HDR_MODE1_MDEUB_SHA512_HMACa>(<,a href="drivers/crypto/talitos.c#L922157id="L1021" class="line" name="L5721" c>21"/a>          },a href="drivers/crypto/talitos.c#L922158id="L1021" class="line" name="L5821" c>21"/a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922159id="L1021" class="line" name="L5921" c>21"/a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   216 a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(sha512),cbc(vis3_ede))"span>
<,a href="drivers/crypto/talitos.c#L922161id="L1021" class="line" name="L6121" c>2161a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-sha512-cbc-3des-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922162id="L1021" class="line" name="L6221" c>21"2a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922163id="L1021" class="line" name="L6321" c>21"/a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922164id="L1021" class="line" name="L6421" c>21"4a>                   chypa_aeada>   21"5a>        chivsizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922166id="L1021" class="line" name="L6621" c>21"6a>                           chmaxauthsizea>   =a href="+code=deSHA512_DIGEST_SIZEclass="sref">chSHA512_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922167id="L1021" class="line" name="L6721" c>21"/a>                          21"/a>                  },a href="drivers/crypto/talitos.c#L922169id="L1021" class="line" name="L6921" c>21"/a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L92217 id="L1021" class="line" name="L7021" c>21" a>                                        href="+code=deDESC_HDR_SEL0_DEUclass="sref">chDESC_HDR_SEL0_DEUa>(< |a href="drivers/crypto/talitos.c#L922171id="L1021" class="line" name="L7121" c>21"1a>                                        href="+code=deDESC_HDR_MODE0_DEU_CBCclass="sref">diDESC_HDR_MODE0_DEU_CBCa>(< |a href="drivers/crypto/talitos.c#L922172id="L1021" class="line" name="L7221" c>21"2a>                                        href="+code=deDESC_HDR_MODE0_DEU_3DESclass="sref">diDESC_HDR_MODE0_DEU_3DESa>(< |a href="drivers/crypto/talitos.c#L922173id="L1021" class="line" name="L7321" c>21"/a>                                        href="+code=deDESC_HDR_SEL1_MDEUBclass="sref">chDESC_HDR_SEL1_MDEUBa>(< |a href="drivers/crypto/talitos.c#L922174id="L1021" class="line" name="L7421" c>21"4a>                   diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922175id="L1021" class="line" name="L7521" c>21"5a>        diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922176id="L1021" class="line" name="L7621" c>21"6a>                                        href="+code=deDESC_HDR_MODE1_MDEUB_SHA512_HMACclass="sref">diDESC_HDR_MODE1_MDEUB_SHA512_HMACa>(<,a href="drivers/crypto/talitos.c#L922177id="L1021  class="line" name="L1721  c>217/a>          },a href="drivers/crypto/talitos.c#L922178id="L1021" class="line" name="L7821" c>217/a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   218 a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   "authenc(hmac(md5),cbc(aes))"span>
<,a href="drivers/crypto/talitos.c#L922181id="L1021" class="line" name="L8121" c>21"1a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-md5-cbc-aes-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922182id="L1021" class="line" name="L8221" c>21"2a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922183id="L1021" class="line" name="L8321" c>21"/a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922184id="L1021" class="line" name="L8421" c>21"4a>                   chypa_aeada>   21"5a>        chivsizea>   =a href="+code=deAES_BLOCK_SIZEclass="sref">chAES_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922186id="L1021" class="line" name="L8621" c>21"6a>                           chmaxauthsizea>   =a href="+code=deMD5_DIGEST_SIZEclass="sref">chMD5_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922187id="L1021" class="line" name="L8721" c>21"/a>                                            },a href="drivers/crypto/talitos.c#L922189id="L1021" class="line" name="L8921" c>21"/a>                  . href="+code=chd"sc_hdm_templateclass="sref">chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L92219 id="L1021" class="line" name="L9021" c>21" a>                                        href="+code=deDESC_HDR_SEL0_AESUclass="sref">chDESC_HDR_SEL0_AESUa>(< |a href="drivers/crypto/talitos.c#L922191id="L1021" class="line" name="L9121" c>21"1a>                                        href="+code=deDESC_HDR_MODE0_AESU_CBCclass="sref">diDESC_HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L922192id="L1021" class="line" name="L9221" c>21"2a>                                        href="+code=deDESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L922193id="L1021" class="line" name="L9321" c>21"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L922194id="L1021" class="line" name="L9421" c>21"4a>                   diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L922195id="L1021" class="line" name="L9521" c>21"5a>        diDESC_HDR_MODE1_MDEU_MD5_HMACa>(<,a href="drivers/crypto/talitos.c#L922196id="L1021e         enum           },a href="drivers/crypto/talitos.c#L922197id="L10219 class="line" name="L87219 c>21"/a>          {       . href="+code=chlypeclass="sref">chlypea>   chCRYPTO_ALG_TYPE_AEADa>(<,a href="drivers/crypto/talitos.c#L922198id="L10219 class="line" name="L88219 c>21"/a>                  . href="+code=chalgclass="sref">chalga>  . href="+code=chcpto/tclass="sref">chypto/ta>   chypa_me="a>   "authenc(hmac(md5),cbc(vis3_ede))"span>
<,a href="drivers/crypto/talitos.c#L92220 id="L10220 idass="line" name="L19220 i>220 a>                          . href="+code=chcpa_dvers/rme="class="sref">chypa_dvers/rme="a>   "authenc-hmac-md5-cbc-3des-litos.c"span>
<,a href="drivers/crypto/talitos.c#L922201id="L10220 class="line" name="L91220 c>2201a>                          . href="+code=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922202id="L10220 class="line" name="L92220 c>2202a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chCRYPTO_ALG_TYPE_AEADa>(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203id="L10220 class="line" name="L93220 c>220/a>                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chivsizea>   =a href="+code=deDES3_EDE_BLOCK_SIZEclass="sref">chDES3_EDE_BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L922205id="L10220 class="line" name="L95220 c>2205a>        chmaxauthsizea>   =a href="+code=deMD5_DIGEST_SIZEclass="sref">chMD5_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L922206id="L10220         enum chvisc_hdm_templatea>   =a href="+code=deDESC_HDR_TYPE_IPSEC_ESPclass="sref">chDESC_HDR_TYPE_IPSEC_ESPa>(< |a href="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>                                        href="+code=deDESC_HDR_SEL0_DEUclass="sref">chDESC_HDR_SEL0_DEUa>(< |a href="drivers/crypto/talitos.c#L92221 id="L1022" class="line" name="L1022" c>22" a>                                        href="+code=deDESC_HDR_MODE0_DEU_CBCclass="sref">diDESC_HDR_MODE0_DEU_CBCa>(< |a href="drivers/crypto/talitos.c#L9222"1id="L1022  class="line" name="L1122  c>22"1a>                                        href="+code=deDESC_HDR_MODE0_DEU_3DESclass="sref">diDESC_HDR_MODE0_DEU_3DESa>(< |a href="drivers/crypto/talitos.c#L9222"2id="L1022" class="line" name="L1222" c>22"2a>                                        href="+code=deDESC_HDR_SEL1_MDEUAclass="sref">chDESC_HDR_SEL1_MDEUAa>(< |a href="drivers/crypto/talitos.c#L922213id="L1022" class="line" name="L1322" c>22"/a>                                        href="+code=deDESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MDEU_INITa>   |a href="drivers/crypto/talitos.c#L9222"4id="L1022" class="line" name="L1422" c>22"4a>                   diDESC_HDR_MODE1_MDEU_PADa>   |a href="drivers/crypto/talitos.c#L9222"5id="L1022" class="line" name="L1522" c>22"5a>        diDESC_HDR_MODE1_MDEU_MD5_HMACa>(<,a href="drivers/crypto/talitos.c#L9222"6id="L1022" class="line" name="L1622" c>22zea>   =a href="+code=d52" c>22zea>   =a href="ss="f">chivsizea>   =a href=ADclass="sref">diDESC_HDR_MODEa>(<,a href="drivers/crypto/talitos.c#L922186ef">chAES_5HDR_MODE0_AESU_CBCa>(< |a href="drivers/crypto/talitos.c#L922192id="LC_HDR_TCBCa>(< |a href="drivers/crypto/talitos.c |a hrefm ABLKCIPHER    orithms. */s="srefE0_AESU_CBCa>(< |a href="drivers/cryptoESC_HDR_TY href="+code=chlypeclass=2sref"21ivers/crypto/talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefBLKCIPHER"L10220 class="line" name="L9322BLKCIPHER =a href=ADclass="sref">diDESC_HDR_MODEa>(<,< |a href=YPTO_ALG_TYPE_AEADa>(<,a 2ref="21 id="L1021" class="line" name="L8021" c>218 a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   &qu2  chcpa_blocksizea>   =a href="+code=det;authenc(2mac(sha384),cbc(vis3_ede)2"2span>
<,a href="drivers/crypto/talitos.c#L922122id.c#L922201id="L10220 class="line" name="L91220 c>2201a>                    e=chcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=d2costcing">2quot;authenc-hmac-sha384-2bc-3d2s-litos.c"span>
<,a href="drivers/crypto/tali1021" class="line" name="L8321" c>21"/a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< chDE23_EDE2BLOCK_SIZEa>(<,a href="drivers/crypto/talitos.c#L9ref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203BLKCIPHER"L10220 class="line" name="L9322BLKCIPHER =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDRLG_TYPE_AE2Dclass="sref">chCRYPTO_AL2_TYPE2AEADa>(< |a href="+code=deCRYPPPPPPPPPPPPPP                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   21"6a>                                 blkcipherhref="+code=chivsizeblkcipheref">chypa_me="a>   &qu2 a href="drZEclass="sref">chDES3_EDE2BLOCK2SIZEa>(<,a href="drivers/crypto/talitos.c#L9221"7id="Lmin_key         enum                        MIN_KEYhref="+code=chcpa_flagscMIN_KEYhref=>chypa_aeada>   c2SHA382_DIGEST_SIZEa>(<,a href="drivers/crypto/talitos.c#L9221"8_key         enum                        MAX_KEYhref="+code=chcpa_flagscMAX_KEYhref=>chypa_aeada>   21"6a>                           chmaxauthsizea>   =a href="+co2          2       . href="+code=chd"2c_hdm2templateclass="sref">ccccccccc0220 class="line" name="L88220 c>220/a>DESC_HDR_T2PE_IPSEC_ESPclass="sref">2hDESC2HDR_TYPE_IPSEC_ESPa>((< |a href="drivers/crypt(< |a href2"drivers/crypto/talitos.c2L922122id="L1021" class="lin |a href="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR_DEU_CBCa>2< |a href="drivers/crypto2talit2s.c#L922133id="L1021  class="line" name="L1321  c>21"/a>                                href="+code=deDESC_HDR_MODE0_AESU_CBCclass="sref">diDESC_HDR_MOD20_DEU_3DES2>(< |a href="drivers/cryp2o/tal2tos.c#L922134id="L1021" class="line" name="L3421" c>21"4a>                                        href="+code=deDESC_HDR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(G_TYPE_AE2ref="drivers/crypto/talit2s.c#L2221"5id="L1021ODE0_AESU_CBCa>(< |a href="drivers/crypt(litos.c#L2Ta>   |a href="drivers/cr2pto/t2litos.c#L9221"talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefBLKCIPHER"L10220 class="line" name="L9322BLKCIPHER =a href=ADclass="sref">diDESC_HDR_MODEa>(<1_MDEU_PAD2>   |a href="drivers/cryp2o/tal2tos.c#L922137id="L1021ne" name="L8021" c>218 a>                          . href="+code=chcpa_me="class="sref">chypa_me="a>   &qu2_HDR_MODE12MDEUB_SHA384_HMACa>(<,a h2ef="d2ivers/crypto/talitos.c#L922138ne" name="L8021"d="L10220 idass="line" name="L19220 i>220 a>                     a_dvpa_dvers/zeclass="sref">chcpa_blocksizea>   =a href="+code=d2  {       2 href="+code=chlypeclass=2sref"23rypto/talitos.c#L92213 id="L1/talitos.c#L922122id.c#L922201id="L10220 class="line" name="L91220 c>2201a>                    e=chhcpa_blocksizeclass="sref">chcpa_blocksizea>   =a href="+code=de"sref">chC2YPTO_ALG_TYPE_AEADa>(<,a 2ref="23>
<,a href="drivers/crypto/talitos.c#L92220 id="L22202id="L10220 class="line" name="L92220 c>2202a>                          . href="+code=chcpa_flagsclass="sref">chypa_flagsa>(< diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203BLKCIPHER"L10220 class="line" name="L9322BLKCIPHER =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDRt;authenc(2mac(sha512),cbc(aes))&quo2;span2
<,a href="drivers/crypto/taliiiiiiiiiiiiii                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   2quot;authenc-hmac-sha512-2bc-ae2-litos.c"span>
<,a href="drivers/crypto/talit blkcipherhref="+code=chivsizeblkcipheref">chypa_me="a>   &qu2AES_BLOCK_2IZEclass="sref">chAES_BLO2K_SIZ2a>(<,a href="drivers/crypto/taa href="drivers/crypto/tmin_key         enum                    pa_flagscKEYhref="+code=chcpa_flpa_flagscKEYhref=>chypa_aeada>   chCRYPTO_AL2_TYPE2AEADa>(< |a href="+code=deCRYPa href="drivers/crypto/tm"8_key         enum                    pa_flagscKEYhref="+code=chcpa_flpa_flagscKEYhref=>chypa_aeada>   21"6a>            a href="drivers/crypto/t10220 class="line" name="L95220 c>2205a>        chmaxauthsizea>   =a href="+codOCK_SIZEcl2ss="sref">chAES_BLOCK_SIZ2a>(<,2 href="drivers/crypto/talitos.0220 class="line" name="L88220 c>220/a>e=deSHA5122DIGEST_SIZEclass="sref">c2SHA512_DIGEST_SIZEa>(<,a hreODE0_AESU_CBCa>(< |a href="drivers/crypt>21"/a>   2              },a href="d2ivers2crypto/talitos.c#L9221 |a href="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR          2       . href="+code=chd"2c_hdm2templateclass="sref">cccccccccccccccccccccc a>                                        href="+code=deDESC_HDR_MODE0_DEU_CBCclass="sref">diDESC_HDR_MODE0DESC_HDR_T2PE_IPSEC_ESPclass="sref">2hDESC2HDR_TYPE_IPSEC_ESPa>(                                                  href="+code=deDESC_HDR_MODE0_DEU_3DESclass="sref">diDESC_HDR_MODEa>(< |a hr2f="drivers/crypto/talitos2c#L922152id="L1021" class="line" name="L5221" c>21"2a>                                                  href="+code=deDESC_HDR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt0_AESU_CBC2>(< |a href="drivers/cryp2o/tal2tos.c#L922153iODE0_AESU_CBCa>(< |a href="drivers/cryptUBa>(< |a 2ref="drivers/crypto/talit2s.c#L222154id="L1021rypto/talitos.c |a hrefm AHASH    orithms. */s="srefE0_AESU_CBCa>(< |a href="drivers/cryptE1_MDEU_IN2Ta>   |a href="drivers/cr2pto/t2litos.c#L92215talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt0litos.c#L2>   |a href="drivers/cryp2o/tal2tos.c#L922156id="L1021ne" name="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2_HDR_MODE12MDEUB_SHA512_HMACa>(<,a h2ef="d2ivers/crypto/talitos.c#L922157          . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                          218 a>         h                 . hrefbas class="line" nabas ef">chypa_me="a>   &qu2_21"/a>   2YPTO_ALG_TYPE_AEADa>(<,a 2ref="25rypto/talitos.c#L92213 id="L1rs/crypto/talitos.c#L922d="L10220 idass="line" name="L19220 i>220 a>                     md5zeclass="sref">chcpa_blocksizea>   =a href="+code=de  chcpa_blocksizea>   =a href="+code=det;authenc(2mac(sha512),cbc(vis3_ede)2"2span>
<,a href="drivers/cryptors/crypto/talitos.c#L922d="L22202id="L10220 class="line" name="L92220 c>2202a>         to/t                . href="+to/t          22207id="L10220 class="line" name="L87220 ccostcing">2quot;authenc-hmac-sha512-2bc-3d2s-litos.c"span>
<,a href=rs/crypto/talitos.c#L922d="Lref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEDES3_EDE_B2OCK_SIZEclass="sref">chDE23_EDE2BLOCK_SIZEa>(<,a href="driverssssssssssssssssssssss                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chCRYPTO_AL2_TYPE2AEADa>(< |a href="+code=deCRYP0220 class="line" name="L88220 c>220/a>alitos.c#L222165id="L1021" class="li2e" na2e="L6521" c>21"5a>    ODE0_AESU_CBCa>(< |a href="drivers/cryptDE_BLOCK_S2ZEclass="sref">chDES3_EDE2BLOCK2SIZEa>(<,a href="drive |a href="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDRe=deSHA5122DIGEST_SIZEclass="sref">c2SHA512_DIGEST_SIZEa>(<,a href="drivers/cryptsssss               ="+code=deDESC                  href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD>21"/a>   2              },a href="d2ivers2crypto/talitos.c#L922169id="L1rs/cryptsssss               ="+code=dcode=d>chivsiz                 href="+code=d>chivsiz>chypa_aeada>      2       . href="+code=chd"2c_hdm26hlypea>   2hDESC26ivers/crypto/talitos.c#L92214 id="L1021" class="line" name="L4021" c>214 a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(< |a href2"drivers/crypto/talitos.c2L922121id="L1021" class="linne" name="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2_DEU_CBCa>2< |a href="drivers/crypto2talit2s.c#L922172id="L1021" class="l          . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA1         218 a>         h                 . hrefbas class="line" nabas ef">chypa_me="a>   &qu2UBa>(< |a 2ref="drivers/crypto/talit2s.c#L222174id="L1021" class="line" name="L74o/talitos.c#L922d="L10220 idass="line" name="L19220 i>220 a>                     sha1zeclass="sref">chcpa_blocksizea>   =a href="+code=deE1_MDEU_IN2Ta>   |a href="drivers/cr2pto/t2litos.c#L922175id="L1021" class="line"o/talitos.c#L922d="L.c#L922201id="L10220 class="line" name="L91220 c>2201a>                    sha1oblocksizeclass="sref">chcpa_blocksizea>   =a href="+code=de1_MDEU_PAD2>   |a href="drivers/cryp2o/tal2tos.c#L922176id="L1021" class="line" no/talitos.c#L922d="L22202id="L10220 class="line" name="L92220 c>2202a>         ryp1t                . href="+ryp1t          22207id="L10220 class="line" name="L87220 c0=deSHA5122MDEUB_SHA512_HMACa>(<,a h2ef="d2ivers/crypto/talitos.c#L922177id="L102o/talitos.c#L922d="Lref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODE  {       2 href="+code=chlypeclass=2sref"27rypto/talitos.c#L922169id="L1rs/cryptsssssssssssss                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chC2YPTO_ALG_TYPE_AEADa>(<,a 2ref="27rypto/talitos.c#L92215 id="L1021" class="line" name="L5021" c>21" a2  
<2a href="drivers/crypto |a href="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDRcostcing">2quot;authenc-hmac-md5-cbc2aes-l2tos.c"span>
<,a href="drisssssssssssss               ="+code=deDESC                  href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODAES_BLOCK_2IZEclass="sref">chAES_BLO2K_SIZ2a>(<,a href="drivers/crypto/tasssssssssssss               ="+code=dcode=d>chivryp1                 href="+code=d>chivryp1>chypa_aeada>   chCRYPTO_AL2_TYPE2AEADa>(< |a hrhref="+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MDEU_IN222185id="L1021" class="li2e" na28itos.c#L92215talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/cryptOCK_SIZEcl2ss="sref">chAES_BLOCK_SIZ2a>(<,2 href="drivers/crypto/ne" name="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deMD5_DI2EST_SIZEclass="sref">chMD2_DIGE2T_SIZEa>(<,a href="drivers/cry          . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22          218 a>         h                 . hrefbas class="line" nabas ef">chypa_me="a>   &qu2          2       . href="+code=chd"2c_hdm2templateclass="sref">c.c#L922189id="L1ne" name="L8021"d="L10220 idass="line" name="L19220 i>220 a>                     sha22 zeclass="sref">chcpa_blocksizea>   =a href="+code=deDESC_HDR_T2PE_IPSEC_ESPclass="sref">2hDESC2HDR_TYPE_IPSEC_ESPa>(<.c#L922189id="L1ne" name="L8021"d="L.c#L922201id="L10220 class="line" name="L91220 c>2201a>                    sha22 oblocksizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< |a hr2f="drivers/crypto/talitos2c#L922191id="L1021" class="line" name="L9121o/talitos.c#L922d="L22202id="L10220 class="line" name="L92220 c>2202a>         ryp22                  . href="+ryp22            R_SEDE0_AESU_CBCa>(< |a href="drivers/crypt0_AESU_CBC2>(< |a href="drivers/cryp2o/tal2tos.c#L922192id="L1021" class="line" no/talitos.c#L922d="Lref">diCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(< |a 2ref="drivers/crypto/talit2s.c#L222193id="L1021" class="line" name="L9321" ccccccccc                          . href="+code=chcpa_aeadclass="sref">chypa_aeada>   21" a21_MDEU_PAD2>   |a href="drivers/cryp2o/tal2tos.c#L922195id="L1021href="+code=deCRYPTO_ALG_TYPE_AEADclass2_MODE1_MDE2_MD5_HMACa>(<,a href="dri2ers/c2ypto/talitos.c#L922196 |a href="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {       2 href="+code=chlypeclass=2sref"29DIGEST_SIZEa>(<,a href="drivers/cryptsssss               ="+code=deDESC                  href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD         .2YPTO_ALG_TYPE_AEADa>(<,a 2ass="8121" c>21"1a>             YPE_AEADa>(<,a 2ass="8121" DE1_MDEU_MD5_HMACclass="sref">diDESC_           href="+code=d>chivryp1>chyp>(< |a code=deCRYPTO_ALG_TYPE_AEADclass2_MODE1_   2      ers/crypto/talitos.c#L922299id=29>   214 a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(< |a3ng">"3uthenc-hmac-md5-cbc-3des-3itos.3"span>
<,a href="me="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3DE_BLOCK_S3ZEclass="sref">chDES3_EDE3BLOCK3SIZEa>(<,a href="drivers/crypto/talitos.c#L9228 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22     56   (< |a href="drivers/crypt(< |a3n2_BLOCK_S3Zivers/crypto/talit2s.c#L3AEADa3(< |a href="+code=deCRYPTO_ALG_ASYNCclass="sre8 a>         h                 . hrefbas class="line" nabas ef">chypa_me="a>   &qu2     3.c#L9222043d="L10220 class="line" na3e="L93220 c>2204a>                  YPTO_ALG_ASYNCclass="sre220 idass="line" name="L19220 i>220 a>                     sha22 zecl56s="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3CK_SIZEcla3s="sref">chDES3_EDE_BLOCK3SIZEa3(<,a href="drivers/crypto/talitos.c#L922205id="L10220 #L922201id="L10220 class="line" name="L91220 c>2201a>                    sha22 oblo56sizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 35_DIGEST_S3ZEclass="sref">chMD5_DIGE3T_SIZ3a>(<,a href="drivers/crypto/talitos.c#L922206id="L1022202id="L10220 class="line" name="L92220 c>2202a>         ryp22     56           . href="+ryp22     56           0_AESU_CBCa>(< |a href="drivers/crypt(< |a3n6DIGEST_S3Z+code=chlypeclass=2sref"3crypt3/talitos.c#L922208id="L10220 clitos.c#L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3          3 . href="+code=chd"sc_hdm3templ3teclass="sref">chvisc______________________________                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chDESC3HDR_T3PE_IPSEC_ESPa>(< |a hrrrrrrrrrlass="line" name="L5021" c>21" a21_MDE3href="driv3rs/crypto/talitos.c#L92223 id="31022" class="line" nam+code=deCRYPTO_ALG_TYPE_AEADclass2DESC_3BCa>(< |a 3ref="drivers/crypto/talit3s.c#L3222"1id="L1022  class=ef="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  33DESa>(< |3 href="drivers/crypto/tal3tos.c3L9222"2id="L1022" class="line" name="L1222" c>22"2a>                                href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD     3 |a href="3rivers/crypto/talitos.c#L3222133d="L1022" class="line" name="L1322" c>22"/a>                       >chivryp1>chyp>SHA512_HMAC  href="+code=d>chivryp1>chyp>cryptocode=deCRYPTO_ALG_TYPE_AEADclass2DESC_3Bc#L9222043|a href="drivers/crypto/t3litos31< |a hrhref="+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD3_PADa>   |3 href="drivers/crypto/tal3tos.c31#L92215talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/cryptOCK_S3_MDEU_MD5_3MACa>(<,a href="drivers/c3ypto/3alitos.c#L9222"6id="L1me="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3f="drivers3crypto/talitos.c#L922186e3">chA31>(<,a href="drivers/cry          . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22    38    (< |a href="drivers/cryptOCK_S3_         392id="LC_HDR_TCBCa>(< |a 3ref="31talitos.c#L922189id="L1ne" name="L8021"hac>218 a>         h                 . hrefbas class="line" nabas ef">chypa_me="a>   &qu2     3DR_TY href3"+code=chlypeclass=2sref"31iver31eclass="sref">c.c#L922189id="L1ne" name="L8021"d="L10220 idass="line" name="L19220 i>220 a>                     sha22 zec38 s="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3href=YPTO_3LG_TYPE_AEADa>(<,a 2ref="31 id=3L1021" class="line" na2189id="L1ne" name="L8021"d="L10220 2201id="L10220 class="line" name="L91220 c>2201a>                    sha22 obl38 sizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3 hre2="dri3ers/crypto/talitos.2#L922321id=3L1021" class="lilass="line" naL1ne" name="L8021"d="L10220 d="L10220 class="line" name="L92220 c>2202a>         ryp22    38            . href="+ryp22    38            0_AESU_CBCa>(< |a href="drivers/cryptOCK_S3enc(2mac(s3a384),cbc(vis3_ede)2"3span>3<,a href="drivers/crypto/talitL1ne" name="L8021"d="L10220 iCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3ng">2quot;3uthenc-hmac-sha384-2bc-3d3s-lit3s.c"span>
<,a href="driveeeeeeeeeeeeeeeeeeeeee                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chDE23_EDE3BLOCK3SIZEa>(<,a href="drivers/cryptlass="line" name="L5021" c>21" a21_MDE3E_AE2Dclas3="sref">chCRYPTO_AL2_TYPE3AEADa3(< |a href="+code=deCR+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD3.c#L2221"63d="L1021" class="li2e" na3e="L2321" c>21"6a>          ef="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  3f="drZEcla3s="sref">chDES3_EDE2BLOCK3SIZEa3(<,a href="drivers/crypto/talitos.c#L9eeeee               ode=de0ESC_HDR_MODaaaaaaa href="+code=deDESC_H0R_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MD3tos.cDIGES3_SIZEclass="sref">c2SHA383_DIGE3T_SIZEa>(<,a href="drivers/crypto/talieeeee               ode=de0ES>chivryp1>"L10238_           href="+code=d>chivryp1>"L10238__aeada>      214 a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(< |a3DR_T2PE_IP3EC_ESPclass="sref">2hDESC3HDR_T3PE_IPSEC_ESPa>(218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3href2"driv3rs/crypto/talitos.c2L922132id="31021" class="lin |a hr(2188 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22    1" c  2quot;3ref="drivers/crypto2talit3s.c#L322133id="L1021  class="line" nme="L8021"hac>218 a>         h                 . hrefbas class="line" nabas ef">chypa_me="a>   &qu2     33DES2>(< |3 href="drivers/cryp2o/tal3tos.c3L922134id="L1021" class="line" name="Lme="L8021"d="L10220 idass="line" name="L19220 i>220 a>                     sha22 zec1" s="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3E_AE2ref="3rivers/crypto/talit2s.c#L3221"533<,a href="drivers/crypto/talitos.c#L922205id="L10220 #L922201id="L10220 class="line" name="L91220 c>2201a>                    sha22 obl1" sizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3.c#L2Ta>  3|a href="drivers/cr2pto/t3litos33>(<,a href="drivers/crypto/talitos.c#L922206id="L1022202id="L10220 class="line" name="L92220 c>2202a>         ryp22    1" c          . href="+ryp22    1" c          0_AESU_CBCa>(< |a href="drivers/crypt(< |a3D="drZEcla3 href="drivers/cryp2o/tal3tos.c3L922137id="L1021ne" narypto/talitos.c#L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3ODE12MDEUB3SHA384_HMACa>(<,a h2ef="d3ivers3crypto/talitos.c#L922138ne" naaaaaaaaaaaaaaaaaaaaaa                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   21" a21_MDE3>chC2YPTO_3LG_TYPE_AEADa>(<,a 2ref="33>
<,3 href="drivers/crypto/+code=deCRYPTO_ALG_TYPE_AEADclass2DESC_3 hre2="dri3ers/crypto/talitos.2#L922341id=3L1021" class="lirypto/ef="drivers/crypto/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  3enc(2mac(s3a512),cbc(aes))&quo2;span3
<,a 3ref="drivers/crypto/taliiiiiiiiiiiiii                     ode=de0ESC_HDR_MODaaaaaaa href="+code=deDESC_H0R_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MD3ng">2quot;3uthenc-hmac-sha512-2bc-ae3-lito3.c"span>
<,a href="driveriiiiiii                     ode=de0ES>chivryp1>"L1025rivers/cryp  href="+code=d>chivryp1>"L1025d="L10code=deCRYPTO_ALG_TYPE_AEADclass2DESC_3 DES2>(< |3ss="sref">chAES_BLO2K_SIZ3a>(<,34< |a hrhref="+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD3E_AE2Dclas3="sref">chCRYPTO_AL2_TYPE3AEADa34#L92215talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/cryptOCK_S3.c#L2221463d="L1021" class="li2e" na3e="L4321" c>21"6a>          me="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3ZEcl2ss="s3ef">chAES_BLOCK_SIZ2a>(<,3 href3"drivers/crypto/talitos.0220 c    . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                          c2SHA513_DIGE3T_SIZEa>(<,a hreODE0_As.0220 c    . hrefhac>218 a>         h                 . hrefdigestass="line" nabas ef">chypa_me="a>   &qu2     3>   2     3        },a href="d2ivers3crypt3/talitos.c#L9221 |a hrreODE0_As.0220 c    . hrefhac>21220 idass="line" name="L19220 i>220 a>                     sha22 code=chcps="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3    2     3 . href="+code=chd"2c_hdm3templ3teclass="sref">cccccccccccccccccccccc 22205id="L10220 #L922201id="L10220 class="line" name="L91220 c>2201a>                    sha22 +code=chcizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3DR_T2PE_IP3EC_ESPclass="sref">2hDESC3HDR_T3PE_IPSEC_ESPa>(21L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3_CBC2>(< |3 href="drivers/cryp2o/tal3tos.c35.c"span>
<,a href="driveeeeeeeeeeeeeeeeeeeeee                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   (<,a href="drivers/cryptlass="line" name="L5021" c>21" a21_MDE3U_IN2Ta>  3|a href="drivers/cr2pto/t3litos35< |a href="+code=deCR+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD3.c#L2>   |3 href="drivers/cryp2o/tal3tos.c3L922156id="L1021ne" name="L8021" c>218to/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  3ODE12MDEUB3SHA512_HMACa>(<,a h2ef="d3ivers3crypto/talitos.c#L922157      eeeeeeeeeeeee                                         href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD     3    2 href3"+code=chlypeclass=2sref"35vers3crypto/talitos.c#L922138ne" naeeeeeeeeeeeee                        >chivsiz                 href="+code=d>chivsiz>chypa_aeada>      2YPTO_3LG_TYPE_AEADa>(<,a 2ref="35rypt35>   214 a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(< |a3enc(2mac(s3a512),cbc(vis3_ede)2"3span>3<,a href="drivers/crypme="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3ng">2quot;3uthenc-hmac-sha512-2bc-3d3s-lit3s.c"span>
<,a href=rs/cry    . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA1         chDE23_EDE3BLOCK3SIZEa>(<,a href="driversssssss    . hrefhac>218 a>         h                 . hrefdigestass="line" nabas ef">chypa_me="a>   &qu2     3E_AE2Dclas3="sref">chCRYPTO_AL2_TYPE3AEADa3(< |a href="+code=deCRYP0220 crsssssss    . hrefhac>21220 idass="line" name="L19220 i>220 a>                     sha22 code=lockps="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3.c#L2221653d="L1021" class="li2e" na3e="L6321" c>21"5a>    ODE0_AYP0220 crsssssss    . hrefhac>21220 2201id="L10220 class="line" name="L91220 c>2201a>                    sha22 +codelocksizeclass="sref">chcpa_blocksizea>   =a href="+code=de1_MDE3CK_S2ZEcla3s="sref">chDES3_EDE2BLOCK3SIZEa3(<,a href="drive |a hrYP0220 crsssssss    . hrefhac>21220 d="L10220 class="line" name="L92220 c>2202a>         ryp1t                . href="+ryp1t          22207id="L10220 class="line" name="L87220 c0=deS3A5122DIGES3_SIZEclass="sref">c2SHA513_DIGE3T_SIZEa>(<,a href="drivers/cryptsssss L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3>   2     3        },a href="d2ivers3crypt3/talitos.c#L922169id="L1rs/cryptsssss                                  . href="+code=chcpa_aeadclass="sref">chypa_aeada>   21" a21_MDE3DR_T2PE_IP3EC_ESPclass="sref">2hDESC36iver36href="drivers/crypto/+code=deCRYPTO_ALG_TYPE_AEADclass2DESC_3href2"driv3rs/crypto/talitos.c2L922131id="31021" class="linne" name="L8021" c>218to/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  3BCa>2< |a 3ref="drivers/crypto2talit3s.c#L322172id="L1021" class="l                                                            href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD     33DES2>(< |3 href="drivers/cryp2o/tal3tos.c3L922173id="L1021" class=ne" na                                     >chivryp1                 href="+code=d>chivryp1>chypa_aeada>   217/a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/cryptOCK_S3_PAD2>   |3 href="drivers/cryp2o/tal3tos.c3L922176id="L1021" clasme="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3A5122MDEUB3SHA512_HMACa>(<,a h2ef="d3ivers3crypto/talitos.c#L922177id="L1    . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22          218 a>         h                 . hrefdigestass="line" nabas ef">chypa_me="a>   &qu2     3>chC2YPTO_3LG_TYPE_AEADa>(<,a 2ref="37rypt3/talitos.c#L92215 id="L1021" cL1rs/cry    . hrefhac>21220 idass="line" name="L19220 i>220 a>                     sha22 code=loc   ps="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3 hre2="dri3ers/crypto/talitos.2#L92238 id=3L1021" class="lihref="L1021" cL1rs/cry    . hrefhac>21220 2201id="L10220 class="line" name="L91220 c>2201a>                    sha22 +codelococksizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3enc(2mac(m35),cbc(aes))"s2an>
<3a hre3="drivers/crypto |a hrL1021" cL1rs/cry    . hrefhac>21220 d="L10220 class="line" name="L92220 c>2202a>         ryp22                  . href="+ryp22            R_SEDE0_AESU_CBCa>(< |a href="drivers/crypt0_AES3ng">2quot;3uthenc-hmac-md5-cbc2aes-l3tos.c3quot;span>
<,a href="drisssssssssssss L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3OCK_2IZEcl3ss="sref">chAES_BLO2K_SIZ3a>(<,3 href="drivers/crypto/tasssssssssssss                                  . href="+code=chcpa_aeadclass="sref">chypa_aeada>   chCRYPTO_AL2_TYPE3AEADa38IZEa>(<,a href="drivers/cryptlass="line" name="L5021" c>21" a21_MDE3U_IN2221853d="L1021" class="li2e" na38itos38< |a href="+code=deCR+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD3ZEcl2ss="s3ef">chAES_BLOCK_SIZ2a>(<,3 href3"drivers/crypto/ne" name="L8021" c>218to/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  35_DI2EST_S3ZEclass="sref">chMD2_DIGE3T_SIZ3a>(<,a href="drivers/cry                                                            href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD     3    2     3        },a href="d2ivers3crypt3/talitos.c#L922189id="L1ne" na                                     ss="sref">diDESC_           href="+code=d>chivryp1>chyp>(< |a code=deCRYPTO_ALG_TYPE_AEADclass2_MODE3    2     3 . href="+code=chd"2c_hdm3templ38>   2hDESC3HDR_T38crypto/talitos.c#L92214 id="L1021" class="line" name="L4021" c>214 a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(< |a3a hr2f="dr3vers/crypto/talitos2c#L923191id3"L1021" class="line" nme="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM3_CBC2>(< |3 href="drivers/cryp2o/tal3tos.c3L922192id="L1021" class="line"o/talitos.c#L9228 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22     56   (< |a href="drivers/crypt(< |a3 |a 2ref="3rivers/crypto/talit2s.c#L3221933d="L1021" class="line" name="L    . hrefhac>218 a>         h                 . hrefdigestass="line" nabas ef">chypa_me="a>   &qu2     3U_IN2Ta>  3|a href="drivers/cr2pto/t3litos3c#L922194id="L1021" clas021" c name="L    . hrefhac>21220 idass="line" name="L19220 i>220 a>                     sha22 code=loc 56ps="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3_PAD2>   |3 href="drivers/cryp2o/tal3tos.c3L922195id="L1021href="as021" c name="L    . hrefhac>21220 2201id="L10220 class="line" name="L91220 c>2201a>                    sha22 +codeloco56sizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 3_MDE2_MD5_3MACa>(<,a href="dri2ers/c3ypto/3alitos.c#L922196 |a hras021" c name="L    . hrefhac>21220 d="L10220 class="line" name="L92220 c>2202a>         ryp22     56           . href="+ryp22     56           0_AESU_CBCa>(< |a href="drivers/crypt(< |a3    2 href3"+code=chlypeclass=2sref"39DIGE3T_SIZEa>(<,a href="drivers/cryptsssss L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(3   .2YPTO_3LG_TYPE_AEADa>(<,a 2ass="3121" 3>21"1a>             YPE_AEADa>(<,a 2ass="8111111111                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   21" a21_MDE3enc(hmac(m35),cbc(vis3_ede))"sp3n>
<,39href="drivers/crypto/+code=deCRYPTO_ALG_TYPE_AEADclass2DESC_4ng">"4uthenc-hmac-md5-cbc-3des-4itos.4"span>
<,a href="me="L8021" c>218to/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  4DE_BLOCK_S4ZEclass="sref">chDES3_EDE4BLOCK4SIZEa>(<,a href="drivers/crypts="8111111111                                         href="+code=de0ESC_HDR_MODE1_MDEU_INITclass="sref">diDESC_HDR_MOD     4n2_BLOCK_S4Zivers/crypto/talit2s.c#L4AEADa4(< |a href="+code=deCRYPTO_ALGs="8111111111                        >chivryp1>chyp>SHA512_HMAC  href="+code=d>chivryp1>chyp>cryptocode=deCRYPTO_ALG_TYPE_AEADclass2DESC_4.c#L9222044d="L10220 class="line" na4e="L940< |a hrhref="+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD4CK_SIZEcla4s="sref">chDES3_EDE_BLOCK4SIZEa40#L92215talitos.c#L922179id="L1021" class="line" name="L7921" c>217/a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/cryptOCK_S45_DIGEST_S4ZEclass="sref">chMD5_DIGE4T_SIZ4a>(<,a href="drivers/cme="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM4n6DIGEST_S4Z+code=chlypeclass=2sref"4crypt4/talitos.c#L922208id="L10220 c    . hrefhac>218 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22    38    (< |a href="drivers/cryptOCK_S4          4 . href="+code=chd"sc_hdm4templ4teclass="sref">chvisc_________    . hrefhac>218 a>         h                 . hrefdigestass="line" nabas ef">chypa_me="a>   &qu2     4DR_TYPE_IP4EC_ESPclass="sref">chDESC4HDR_T4PE_IPSEC_ESPa>(< |a hrrrrrrrrr________    . hrefhac>21220 idass="line" name="L19220 i>220 a>                     sha22 code=loc38 ps="sref">chcpa_blocksizea>   =a href="+code=dea>(< 4href="driv4rs/crypto/talitos.c#L92224 id="41022" class="line" namrrrrrrrr________    . hrefhac>21220 2201id="L10220 class="line" name="L91220 c>2201a>                    sha22 +codeloc38 sizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 4BCa>(< |a 4ref="drivers/crypto/talit4s.c#L4222"1id="L1022  class=rrrrrrrr________    . hrefhac>21220 d="L10220 class="line" name="L92220 c>2202a>         ryp22    38            . href="+ryp22    38            0_AESU_CBCa>(< |a href="drivers/cryptOCK_S43DESa>(< |4 href="drivers/crypto/tal4tos.c4L9222"2id="L1022" class="line" name="LL922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(4 |a href="4rivers/crypto/talitos.c#L4222134d="L1022" class="line" name="L1322" c>22"/aaaaaaaaa                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   (<,a href="drivers/cryptlass="line" name="L5021" c>21" a21_MDE4_PADa>   |4 href="drivers/crypto/tal4tos.c41< |a href="+code=deCR+code=deCRYPTO_ALG_TYPE_AEADclass2t1_MD4_MDEU_MD5_4MACa>(<,a href="drivers/c4ypto/4alitos.c#L9222"6id="L1me="L8021" c>218to/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  4f="drivers4crypto/talitos.c#L922186e4">chA41>(<,a href="drivers/cry      22"/aaaaaaaaa               ode=de0ESC_HDR_MODaaaaaaa href="+code=deDESC_H0R_MODE1_MDEU_INITclass="sref">diDESC_HDR_MODE1_MD4_         492id="LC_HDR_TCBCa>(< |a 4ref="41talitos.c#L922189id="L1ne" na22"/aaaaaaaaa               ode=de0ES>chivryp1>"L10238_           href="+code=d>chivryp1>"L10238__aeada>      214 a>                  . hrefHASH"L10220 class="line" name="L9322HASHR_SEDE0_AESU_CBCa>(< |a href="drivers/crypt(< |a4 hre2="dri4ers/crypto/talitos.2#L922421id=4L1021" class="lilass="me="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_me="a>   &qu2e=deM4enc(2mac(s4a384),cbc(vis3_ede)2"4span>4<,a href="drivers/crypto/talitme="L8021" c>2188 a>         h                 . hrefdigest220 class="line" nadigest220 206a>                 SHA22    1" c  2quot;4uthenc-hmac-sha384-2bc-3d4s-lit4s.c"span>
<,a href="drive    . hrefhac>218 a>         h                 . hrefdigestass="line" nabas ef">chypa_me="a>   &qu2     4DE_B2OCK_S4ZEclass="sref">chDE23_EDE4BLOCK4SIZEa>(<,a href="drivers/cryptf="drive    . hrefhac>21220 idass="line" name="L19220 i>220 a>                     sha22 code=loc1" ps="sref">chcpa_blocksizea>   =a href="+code=dea>(< 4E_AE2Dclas4="sref">chCRYPTO_AL2_TYPE4AEADa4(< |a href="+code=deCRrs/cryptf="drive    . hrefhac>21220 2201id="L10220 class="line" name="L91220 c>2201a>                    sha22 +codeloc1" sizeclass="sref">chcpa_blocksizea>   =a href="+code=dea>(< 4.c#L2221"64d="L1021" class="li2e" na4e="L2421" c>21"6a>          rs/cryptf="drive    . hrefhac>21220 d="L10220 class="line" name="L92220 c>2202a>         ryp22    1" c          . href="+ryp22    1" c          0_AESU_CBCa>(< |a href="drivers/crypt(< |a4f="drZEcla4s="sref">chDES3_EDE2BLOCK4SIZEa4(<,a href="drivers/crypto/talitos.c#L9L922206id="L1022202iiCRYPTO_ALG_ASYNCa>(<,a href="drivers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DEU_3DESclass="sref">diDESC_HDR_MODEUAa>(4tos.cDIGES4_SIZEclass="sref">c2SHA384_DIGE4T_SIZEa>(<,a href="drivers/crypto/talieeeeeeeeeeeee                    . href="+code=chcpa_aeadclass="sref">chypa_aeada>   21" a21_MDE4    2     4 . href="+code=chd"2c_hdm4templ42href="drivers/crypto/+code=deCRYPTO_ALG_TYPE_AEADclass2DESC_4DR_T2PE_IP4EC_ESPclass="sref">2hDESC4HDR_T4PE_IPSEC_ESPa>(218to/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>              COMMON_NONSNOOP_NO_AF             href="+code=d     COMMON_NONSNOOP_NO_AF   =a DE1_MDEU_MD5_HMACclass="sref">diDESC_HDR  {  4href2"driv4rs/crypto/talitos.c2L922142id="41021" class="lin |a hr(diDESC_HDR_MODE1_MD4Dg">2quot;4ref="drivers/crypto2talit4s.c#L422133id="L1021  class="line" neeeeeeeeeeeee               ode=de0ES>chivryp1>"L1025rivers/cryp  href="+code=d>chivryp1>"L1025d="L10code=deCRYPTO_ALG_TYPE_AEADclass2DESC_43DES2>(< |4 href="drivers/cryp2o/tal4tos.c4L922134id="L10lass="line" name="L5021" c>21" a21_MDE4E_AE2ref="4rivers/crypto/talit2s.c#L4221"543<,a h};ass="line" name="L5021" c>21" a21_MDE4Ec#L2221"64|a href="drivers/cr2pto/t4litos43>(<,aass="line" name="L5021" c>21" a21_MDE4E="drZEcla4 href="drivers/cryp2o/tal4tos.c4L92213   ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>22134"a>   &qu2     4ODE12MDEUB4SHA384_HMACa>(<,a h2ef="d4ivers4crypto/talitos   ucte               list_head         h     list_headypto/               entry         h     entryypto;ass="line" name="L5021" c>21" a21_MDE4ER_TY href4"+code=chlypeclass=2sref"43rypt4/talitos.c#L92   ucte               devic2209id="L10220 clavic2alito*               dev209id="L10220 clavypto;ass="line" name="L5021" c>21" a21_MDE4E   2     4LG_TYPE_AEADa>(<,a 2ref="43>
<,4 href="drivers   ucte               >21" a2_ a>os.c#L922209id="L10220 c>21" a2_ a>os.c#L922ypto/                a>t                  typto;ass="line" name="L5021" c>21" a21_MDE4 hre2="dri4ers/crypto/talitos.2#L922441id=4L1021"};ass="line" name="L5021" c>21" a21_MDE4enc(2mac(s4a512),cbc(aes))&quo2;span4
<,a 4ref="dass="line" name="L5021" c>21" a21_MDE4eg">2quot;4uthenc-hmac-sha512-2bc-ae4-lito4.c&quostatic inte               >21" a2_50a_init               >21" a2_50a_init&quo(   ucte               5021" _tfmTO_ALG_ASYNCa>(<,21" _tfmalito*               tfmTO_ALG_ASYNCa>(tfmalit)ass="line" name="L5021" c>21" a21_MDE4eDES2>(< |4ss="sref">chAES_BLO2K_SIZ4a>(<,44< |a "a>   &qu2     4E_AE2Dclas4="sref">chCRYPTO_AL2_TYPE4AEADa44#L92215talito   ucte               5021" _ a>         h     5021" _ a>22134*                a>                      220 c>220/a>      tfmTO_ALG_ASYNCa>(tfmalit-&grefc>220/a>      __50t_ a>         h     __50t_ a>ypto;ass="line" name="L5021" c>21" a21_MDE4 c#L2221"64d="L1021" class="li2e" na4e="L4421" c>21"6a>     ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>22134*               t21" a2_ a>209id="L10220 c>21" a2_ a>ypto;ass="line" name="L5021" c>21" a21_MDE4 ="drZEcla4ef">chAES_BLOCK_SIZ2a>(<,4 href4"drivers/crypt   ucte               >21" a2_5tx         h     >21" a2_5tx22134*               5tx         h     5tx2213420 c>220/a>      <,21" _tfm_5tx         h     <,21" _tfm_5tx&quo(               tfmTO_ALG_ASYNCa>(tfmalit);ass="line" name="L5021" c>21" a21_MDE4 DE12MDEUB4_SIZEclass="sref">c2SHA514_DIGE44rypto/talitos   ucte               >21" a2_pnam922209id="L10220 c>21" a2_pnam92222134*               pnam209id="L10220 cpnamypto;ass="line" name="L5021" c>21" a21_MDE4 R_TY href4        },a href="d2ivers4crypt4/talitass="line" name="L5021" c>21" a21_MDE4    2     4 . href="+code=chd"2c_hdm4templ4teclass="sref"if ((                a>                      -&grefc>220/a>      202iiCRYPTO_ALG_ASYNCa>(<,a href="driv&rs/crypto/talitos.c#L922203HASH"MASK0 class="line" name="L9322HASHRMASKalit) =ers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DE)ass="line" name="L5021" c>21" a21_MDE4DR_T2PE_IP4EC_ESPclass="sref">2hDESC4HDR_T4PE_IPSEC_ESPa>(209id="L10220 c>21" a2_ a>ypto420 c>220/a>      (ch_ a>         h     __5021" _ ">ch_ a>&quo(                a>                      )code=deCRYPTO_ALG_TYPE_AEADclass2DESC_4a hr2f="dr4vers/crypto/talitos2c#L924152id4"L1021" class="line" name="L5221" c>2111111111111   ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>2213code=deCRYPTO_ALG_TYPE_AEADclass2DESC_4ag">2quot;4 href="drivers/cryp2o/tal4tos.c45.c"span>
<,a href="driveeeeeeeeeeeeeeeeeeee                a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_);ass="line" name="L5021" c>21" a21_MDE4 |a 2ref="4rivers/crypto/talit2s.c#L42215445IZEa>(<,a hreelseass="line" name="L5021" c>21" a21_MDE4 _AE2Dclas4|a href="drivers/cr2pto/t4litos45< |a href="+code=deCR               t21" a2_ a>209id="L10220 c>21" a2_ a>ypto420 c>220/a>      (                      ,1   ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>2213code=deCRYPTO_ALG_TYPE_AEADclass2DESC_4ac#L2221"64 href="drivers/cryp2o/tal4tos.c4L922156id="L1021ne" naf="driveeeeeeeeeeeeeeeeeeee                a>t                  typtome="L8021" c>218 a>                          . hrefhash21YPE_AE         h     <,21" ypa_);ass="line" name="L5021" c>21" a21_MDE4 ="drZEcla4SHA512_HMACa>(<,a h2ef="d4ivers4cryptoass="line" name="L5021" c>21" a21_MDE4 DE12MDEUB4"+code=chlypeclass=2sref"45vers4crypto/talitos>            comment">/* upd922 chcpass="line" name="L5021" c>21" a21_MDE4 R_TY href4LG_TYPE_AEADa>(<,a 2ref="45rypt45>   220/a>      t21" a2_ a>209id="L10220 c>21" a2_ a>ypto-&grefc>220/a>      dev209id="L10220 clavypto;ass="line" name="L5021" c>21" a21_MDE4    2     4ers/crypto/talitos.2#L92246 id=45cryptass="line" name="L5021" c>21" a21_MDE4enc(2mac(s4a512),cbc(vis3_ede)2"4span>4<,a href="driv>            comment">/*    ign SEC channel to tfm in round-robin f>chion */f">chcpass="line" name="L5021" c>21" a21_MDE4ng">2quot;4uthenc-hmac-sha512-2bc-3d4s-lit4s.c"span>               pnam209id="L10220 cpnamypto220 c>220/a>      lav_get_drvd92a209id="L10220 clav_get_drvd92a&quo(               5tx         h     5tx2213-&grefc>220/a>      dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE4DE_B2OCK_S4ZEclass="sref">chDE23_EDE4BLOCK4SIZEa>(<,a hre               5tx         h     5tx2213-&grefc>220/a>      c>         hashefchypto220 c>220/a>      atomic_inc_return                tomic_inc_return&quo(&               pnam209id="L10220 cpnamypto-&grefc>220/a>      id=t_chan         h     ld=t_chanalit) &ass="line" name="L5021" c>21" a21_MDE4D|a 2ref="4="sref">chCRYPTO_AL2_TYPE4AEADa4(< |a href="+code=deCRYP(               pnam209id="L10220 cpnamypto-&grefc>220/a>      num_channelPTO_ALG_ASYNCa>(num_channelP |a h- 1);ass="line" name="L5021" c>21" a21_MDE4D_AE2Dclas4d="L1021" class="li2e" na4e="L6421" c>ass="line" name="L5021" c>21" a21_MDE4Dc#L2221"64s="sref">chDES3_EDE2BLOCK4SIZEa4(<,a href="dri>            comment">/* copy lassri1" r header t.c#L922 value */f">chcpass="line" name="L5021" c>21" a21_MDE4n="drZEcla4_SIZEclass="sref">c2SHA514_DIGE4T_SIZEa>(<,a h               5tx         h     5tx2213-&grefc>220/a>      de/talitos.c#L922209id="L10220 class="line" name="L19220 c>220/a>      t21" a2_ a>209id="L10220 c>21" a2_ a>ypto-&grefc>220/a>       a>t                  typtome="L8021" c>218de/talitos.c#L922209id="L10220 class="line" name="L19;ass="line" name="L5021" c>21" a21_MDE4DDE12MDEUB4        },a href="d2ivers4crypt4/talitass="line" name="L5021" c>21" a21_MDE4DR_TY href4 . href="+code=chd"2c_hdm46hlyp46talitos.c#L92>            comment">/* selectedone notification */f">chcpass="line" name="L5021" c>21" a21_MDE4n   2     4EC_ESPclass="sref">2hDESC46iver46href="drivers               5tx         h     5tx2213-&grefc>220/a>      de/talitos.c#L922209id="L10220 class="line" name="L192|20 c>220/a>              CDONE_NOTIFYvers/cryp  href="+code=dDONE_NOTIFY"L19;ass="line" name="L5021" c>21" a21_MDE4href2"driv4rs/crypto/talitos.c2L922141id="41021" ass="line" name="L5021" c>21" a21_MDE4hg">2quot;4ref="drivers/crypto2talit4s.c#L422172id="L1021return 0;ass="line" name="L5021" c>21" a21_MDE4hE_B2OCK_S4 href="drivers/cryp2o/tal4tos.c4L92217lass="line" name="L5021" c>21" a21_MDE4 |a 2ref="4rivers/crypto/talit2s.c#L42217447< |a ass="line" name="L5021" c>21" a21_MDE4 _AE2Dclas4|a href="drivers/cr2pto/t4litos47#L922static inte               >21" a2_50a_init_aead         h     >21" a2_50a_init_aead&quo(   ucte               5021" _tfmTO_ALG_ASYNCa>(<,21" _tfmalito*               tfmTO_ALG_ASYNCa>(tfmalit)ass="line" name="L5021" c>21" a21_MDE4_PAD2>   |4 href="drivers/cryp2o/tal4tos.c4L92217"a>   &qu2     4A5122MDEUB4SHA512_HMACa>(<,a h2ef="d4ivers47drivers/crypt   ucte               >21" a2_5tx         h     >21" a2_5tx22134*               5tx         h     5tx2213420 c>220/a>      <,21" _tfm_5tx         h     <,21" _tfm_5tx&quo(               tfmTO_ALG_ASYNCa>(tfmalit);ass="line" name="L5021" c>21" a2     4ADE12MDEUB4"+code=chlypeclass=2sref"47rypt47talitass="line" name="L5021" c>21" a21_MDE4>chC2YPTO_4LG_TYPE_AEADa>(<,a 2ref="47rypt47>   21" a2_50a_init&quo(               tfmTO_ALG_ASYNCa>(tfmalit);ass="line" name="L5021" c>21" a2     4A   2     4ers/crypto/talitos.2#L92248 id=47cryptass="line" name="L5021" c>21" a21_MDE4enc(2mac(m45),cbc(aes))"s2an>
<4a hre48,a href="driv>            comment">/* random first IV */f">chcpass="line" name="L5021" c>21" a21_MDE4ng">2quot;4uthenc-hmac-md5-cbc2aes-l4tos.c48.c"span>               get_random_bytePTO_ALG_ASYNCa>(get_random_byteP&quo(               5tx         h     5tx2213-&grefc>220/a>      am209id="L10220 camypto,>               TALITOS_MAX_IV_LENGT20 class="line" TALITOS_MAX_IV_LENGT2alit);ass="line" name="L5021" c>21" a2     4OCK_2IZEcl4ss="sref">chAES_BLO2K_SIZ4a>(<,4 href=ass="line" name="L5021" c>21" a2     4O|a 2ref="4="sref">chCRYPTO_AL2_TYPE4AEADa48IZEa>(<,a hrereturn 0;ass="line" name="L5021" c>21" a21_MDE4U_IN2221854d="L1021" class="li2e" na48itos48__aealass="line" name="L5021" c>21" a21_MDE4ZEcl2ss="s4ef">chAES_BLOCK_SIZ2a>(<,4 href48>(<,aass="line" name="L5021" c>21" a21_MDE45_DI2EST_S4ZEclass="sref">chMD2_DIGE4T_SIZ486L922static inte               >21" a2_50a_init_a8 a>         hashef>21" a2_50a_init_a8 a>&quo(   ucte               5021" _tfmTO_ALG_ASYNCa>(<,21" _tfmalito*               tfmTO_ALG_ASYNCa>(tfmalit)ass="line" name="L5021" c>21" a21_MDE4    2     4        },a href="d2ivers4crypt4/talit"a>   &qu2     4    2     4 . href="+code=chd"2c_hdm4templ48talitos.c#L92   ucte               >21" a2_5tx         h     >21" a2_5tx22134*               5tx         h     5tx2213420 c>220/a>      <,21" _tfm_5tx         h     <,21" _tfm_5tx&quo(               tfmTO_ALG_ASYNCa>(tfmalit);ass="line" name="L5021" c>21" a2     4DR_T2PE_IP4EC_ESPclass="sref">2hDESC4HDR_T48cryptass="line" name="L5021" c>21" a21_MDE4a hr2f="dr4vers/crypto/talitos2c#L924191id4"L1021" class=               >21" a2_50a_init               >21" a2_50a_init&quo(               tfmTO_ALG_ASYNCa>(tfmalit);ass="line" name="L5021" c>21" a2     4_CBC2>(< |4 href="drivers/cryp2o/tal4tos.c49ef="dass="line" name="L5021" c>21" a21_MDE4 |a 2ref="4rivers/crypto/talit2s.c#L42219349IZEa>(<,a hre               5tx         h     5tx2213-&grefc>220/a>      keylen         h     keylen22134200;ass="line" name="L5021" c>21" a21_MDE4U_IN2Ta>  4|a href="drivers/cr2pto/t4litos4c#L922194id="L               5021" _ ">ch_set_req0220 class="line" nam21" _ ">ch_set_req0220&quo(               __5021" _ ">ch_cast               __5021" _ ">ch_cast&quo(               tfmTO_ALG_ASYNCa>(tfmalit)code=deCRYPTO_ALG_TYPE_AEADclass2DESC_4_PAD2>   |4 href="drivers/cryp2o/tal4tos.c4L922195id="L1021href="as021" c name="L 0220of(   ucte               >21" a2_ ">ch_req_5tx         h     >21" a2_ ">ch_req_5txalit));ass="line" name="L5021" c>21" a2     4_Ecl2ss="s4MACa>(<,a href="dri2ers/c4ypto/49>(<,aass="line" name="L5021" c>21" a21_MDE4    2 href4"+code=chlypeclass=2sref"49DIGE4T_SIZEa>(<,a hreturn 0;ass="line" name="L5021" c>21" a21_MDE4   .2YPTO_4LG_TYPE_AEADa>(<,a 2ass="4121" 4>21"1alass="line" name="L5021" c>21" a21_MDE4_   2     4ers/crypto/talitos.c#L922499id=49talitass="line" name="L5021" c>21" a21_MDE4enc(hmac(m45),cbc(vis3_ede))"sp4n>
<,49href=>            comment">/*f">chcpass="line" name="L5021" c>21" a21_MDE5ng">"5uthenc-hmac-md5-cbc-3des-5itos.5">            comment"> * gamen the alg's lassri1" r header t.c#L922, latermmd5 whether lassri1" rf">chcpass="line" name="L5021" c>21" a21_MDE5n1">"5uhref="drivers/cryp2o/tal5BLOCK5SIZEa>>            comment"> * 021" and primary/secondary execution unitshrequired match the hwf">chcpass="line" name="L5021" c>21" a21_MDE5n2">"5uivers/crypto/talit2s.c#L5AEADa5(< |a >            comment"> * capabi1" ies lassri1"ion provided in the lavic2 tree node.f">chcpass="line" name="L5021" c>21" a21_MDE5n3">"5ua href="drivers/cr2pto/t5e="L950< |a >            comment"> */f">chcpass="line" name="L5021" c>21" a21_MDE5CK_SIZEcla5s="sref">chDES3_EDE_BLOCK5SIZEa50#L922static inte               hw_supportPTO_ALG_ASYNCa>(hw_supportP&quo(   ucte               devic2209id="L10220 clavic2alito*               dev209id="L10220 clavypto,>               __be3ivers/cryp  href__be3ialitofc>220/a>      de/talitos.c#L922209id="L10220 class="line" name="L19)ass="line" name="L5021" c>21" a21_MDE55_DIGEST_S5ZEclass="sref">chMD5_DIGE5T_SIZ5092217"a>   &qu2     5n6DIGEST_S5Z+code=chlypeclass=2sref"5crypt50drivers/crypt   ucte               >21" a2_pnam922209id="L10220 c>21" a2_pnam92222134*               pnam209id="L10220 cpnamypto220 c>220/a>      lav_get_drvd92a209id="L10220 clav_get_drvd92a&quo(               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5          5 . href="+code=chd"sc_hdm5templ5teclass="sref"inte               ret209id="L10220 cret"L19;ass="line" name="L5021" c>21" a21_MDE5DR_TYPE_IP5EC_ESPclass="sref">chDESC5HDR_T50talitass="line" name="L5021" c>21" a21_MDE5href="driv5rs/crypto/talitos.c#L92225 id="50href="drivers               ret209id="L10220 cret"L19220(1 <<0 c>220/a>           HASHvers/cryp  href="+coHASH&quo(               de/talitos.c#L922209id="L10220 class="line" name="L19)v&rs/crypto/talitopnam209id="L10220 cpnamypto-&grefc>220/a>      lass=021"PTO_ALG_ASYNCa>(lass=021"P"L19)v&&ass="line" name="L5021" c>21" a21_MDE5BCa>(< |a 5ref="drivers/crypto/talit5s.c#L5222"1id="L1022  clas(1 <<0 c>220/a>      PRIMARY_       href="+codPRIMARY_  &quo(               de/talitos.c#L922209id="L10220 class="line" name="L19)v&rs/crypto/talitopnam209id="L10220 cpnamypto-&grefc>220/a>      exec_units209id="L10220 cexec_unitsypto);ass="line" name="L5021" c>21" a21_MDE53DESa>(< |5 href="drivers/crypto/tal5tos.c51ef="dass="line" name="L5021" c>21" a21_MDE5 |a href="5rivers/crypto/talitos.c#L5222135d="L1022" clasif (fc>220/a>      SECONDARY_       href="+codSECONDARY_  &quo(               de/talitos.c#L922209id="L10220 class="line" name="L19))ass="line" name="L5021" c>21" a21_MDE5Bc#L9222045|a href="drivers/crypto/t5litos51IZEa>(<,a href="drive               ret209id="L10220 cret"L19220               ret209id="L10220 cret"L192&&s(1 <<0 c>220/a>      SECONDARY_       href="+codSECONDARY_  &quo(               de/talitos.c#L922209id="L10220 class="line" name="L19)ass="line" name="L5021" c>21" a21_MDE5BK_SIZEcla5 href="drivers/crypto/tal5tos.c51< |a href="+code=deCRRRRRRRRRRRRRRR&rs/crypto/talitopnam209id="L10220 cpnamypto-&grefc>220/a>      exec_units209id="L10220 cexec_unitsypto);ass="line" name="L5021" c>21" a21_MDE53_DIGEST_S5MACa>(<,a href="drivers/c5ypto/51>(<,aass="line" name="L5021" c>21" a21_MDE5f="drivers5crypto/talitos.c#L922186e5">chA51_SIZEa>(<,a hreturn                ret209id="L10220 cret"L19;ass="line" name="L5021" c>21" a21_MDE5_         592id="LC_HDR_TCBCa>(< |a 5ref="5121"1alass="line" name="L5021" c>21" a21_MDE5DR_TY href5"+code=chlypeclass=2sref"51iver51talitass="line" name="L5021" c>21" a21_MDE5href=YPTO_5LG_TYPE_AEADa>(<,a 2ref="51 id=51cryptstatic inte               >21" a2_remov2209id="L10220 c>21" a2_remov2&quo(   ucte               nameform_devic2209id="L10220 cnameform_devic222134*               ofdev209id="L10220 cofdev"L19)ass="line" name="L5021" c>21" a21_MDE5 hre2="dri5ers/crypto/talitos.2#L922521id=5L1021""a>   &qu2     5enc(2mac(s5a384),cbc(vis3_ede)2"5span>5<,a href="driv   ucte               devic2209id="L10220 clavic2alito*               dev209id="L10220 clavypto220&               ofdev209id="L10220 cofdev"L19-&grefc>220/a>      dev209id="L10220 clavypto;ass="line" name="L5021" c>21" a21_MDE5ng">2quot;5uthenc-hmac-sha384-2bc-3d5s-lit5s.c"span>   ucte               >21" a2_pnam922209id="L10220 c>21" a2_pnam92222134*               pnam209id="L10220 cpnamypto220 c>220/a>      lav_get_drvd92a209id="L10220 clav_get_drvd92a&quo(               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5nc#L9222045ZEclass="sref">chDE23_EDE5BLOCK5SIZEa>(<,a hre   ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>22134*               t_ a>         h     >_ a>2213c4*               n         h     nypto;ass="line" name="L5021" c>21" a21_MDE5nK_SIZEcla5="sref">chCRYPTO_AL2_TYPE5AEADa5(< |a href="+cinte               i209id="L10220 caypto;ass="line" name="L5021" c>21" a21_MDE5n_DIGEST_S5d="L1021" class="li2e" na5e="L252>(<,aass="line" name="L5021" c>21" a21_MDE5f="drZEcla5s="sref">chDES3_EDE2BLOCK5SIZEa52_SIZEa>(<,a h               list_for_each_entry_saf2209id="L10220 clist_for_each_entry_saf2&quo(               t_ a>         h     >_ a>2213c4               n         h     nypto,0&               pnam209id="L10220 cpnamypto-&grefc>220/a>       a>olist209id="L10220 c a>olist2213c4               entry         h     entryypto)4"a>   &qu2     5tos.cDIGES5_SIZEclass="sref">c2SHA385_DIGE5T_SIZEa>(<,a href="driswitch (               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218ass="line" name="L4021" c>2)4"a>   &qu2     5tR_TY href5        },a href="d2ivers5crypt52talitos.c#L92213 id="casers/crypto/talitos.c#L922203HASH"LBLKCIPHER"line" name="L4s.c#L922203HASH"LBLKCIPHERalit:a>   &qu2     5tref=YPTO_5 . href="+code=chd"2c_hdm5templ52href="drivers/crypto/casers/crypto/talitos.c#L922203HASH"LEAD"line" name="L4s.c#L922203HASH"LEADalit:a>   &qu2     5DR_T2PE_IP5EC_ESPclass="sref">2hDESC5HDR_T5PE_IPSEC_ESPa>((<,a h               5021" _unregister_ a>         h     5021" _unregister_ a>&quo(&               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash21YPE_AE         h     <,21" ypa_);ass="line" name="L5021" c>21" a21_MDE5href2"driv5rs/crypto/talitos.c2L922152id="51021" class="lin |a hr(21" a21_MDE5hg">2quot;5ref="drivers/crypto2talit5s.c#L522133id="L1021  class=casers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DE:a>   &qu2     5Dc#L9222045 href="drivers/cryp2o/tal5tos.c53IZEa>(<,a href="drivers/crypt               5021" _unregister_ 8 a>         hashef5021" _unregister_ 8 a>&quo(&               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_);ass="line" name="L5021" c>21" a21_MDE5E_AE2ref="5rivers/crypto/talit2s.c#L5221"553< |a href="+code=deCRRRRRRRRRbreak;ass="line" name="L5021" c>21" a21_MDE5h_DIGEST_S5|a href="drivers/cr2pto/t5litos53922156id="L1021ne" nalass="line" name="L5021" c>21" a21_MDE5E="drZEcla5 href="drivers/cryp2o/tal5tos.c53<,a href="drivers/cry               list_del209id="L10220 clist_del&quo(&               t_ a>         h     >_ a>2213-&grefc>220/a>      entry         h     entryypto);ass="line" name="L5021" c>21" a21_MDE5hos.cDIGES5SHA384_HMACa>(<,a h2ef="d5ivers53_SIZEa>(<,a href="drifc>220/a>      kfre="line" name="L4kfre=&quo(               t_ a>         h     >_ a>2213);ass="line" name="L5021" c>21" a21_MDE5hR_TY href5"+code=chlypeclass=2sref"53rypt5/talitos.c#L92lass="line" name="L5021" c>21" a21_MDE5Eref=YPTO_5LG_TYPE_AEADa>(<,a 2ref="53>
<,53cryptass="line" name="L5021" c>21" a21_MDE5 hre2="dri5ers/crypto/talitos.2#L922541id=54E_IPSEC_ESPa>if (fc>220/a>      hw_supportPTO_ALG_ASYNCa>(hw_supportP&quo(               dev209id="L10220 clavypto,>               ode=deDESC_H0RRNGvers/cryp  href="+coeDESC_H0RRNG"L19))ass="line" name="L5021" c>21" a21_MDE5enc(2mac(s5a512),cbc(aes))&quo2;span5
<,a 54021" class="lin |a hr               >21" a2_unregister_rn>         h     >21" a2_unregister_rn>&quo(               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5eg">2quot;5uthenc-hmac-sha512-2bc-ae5-lito54href=ass="line" name="L5021" c>21" a2     5eDES2>(< |5ss="sref">chAES_BLO2K_SIZ5a>(<,54IZEa>(<,a hrefor (fc>220/a>      i209id="L10220 caypto4200;e               i209id="L10220 caypto <0 c>220/a>      pnam209id="L10220 cpnamypto-&grefc>220/a>      num_channelPTO_ALG_ASYNCa>(num_channelP |a ;e               i209id="L10220 caypto++)ass="line" name="L5021" c>21" a21_MDE5e_AE2ref="5="sref">chCRYPTO_AL2_TYPE5AEADa54< |a href="+code=deCR               kfre="line" name="L4kfre=&quo(               pnam209id="L10220 cpnamypto-&grefc>220/a>      chan         h     chanalit[               i209id="L10220 caypto]    . hrefhash21fifE         h     fifEypto);ass="line" name="L5021" c>21" a21_MDE5e_DIGEST_S5d="L1021" class="li2e" na5e="L454>(<,aass="line" name="L5021" c>21" a21_MDE5 ="drZEcla5ef">chAES_BLOCK_SIZ2a>(<,5 href54_SIZEa>(<,a h               kfre="line" name="L4kfre=&quo(               pnam209id="L10220 cpnamypto-&grefc>220/a>      chan         h     chanalit);ass="line" name="L5021" c>21" a21_MDE5eos.cDIGES5_SIZEclass="sref">c2SHA515_DIGE54talitass="line" name="L5021" c>21" a21_MDE5 R_TY href5        },a href="d2ivers5crypt548ZEa>(<,a hrefor (fc>220/a>      i209id="L10220 caypto4200;e               i209id="L10220 caypto <02;e               i209id="L10220 caypto++)ass="line" name="L5021" c>21" a21_MDE5eref=YPTO_5 . href="+code=chd"2c_hdm5templ54href="drivers/crypto/if (fc>220/a>      pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[               i209id="L10220 caypto])4"a>   &qu2     5DR_T2PE_IP5EC_ESPclass="sref">2hDESC5HDR_T5PE_IPSEC_ESPa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(               pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[               i209id="L10220 caypto],>               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5a hr2f="dr5vers/crypto/talitos2c#L925152id5"L1021" class="line" name="L52fc>220/a>      irq_dispose_mappin>         h     irq_dispose_mappin>&quo(               pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[               i209id="L10220 caypto]);ass="line" name="L5021" c>21" a21_MDE5ag">2quot;5 href="drivers/cryp2o/tal5tos.c55.c"span>
<,a hrelass="line" name="L5021" c>21" a21_MDE5 |a 2ref="5rivers/crypto/talit2s.c#L52215455< |a ass="line" name="L5021" c>21" a21_MDE5 _AE2Dclas5|a href="drivers/cr2pto/t5litos55< |a href="+c               >2sklet_kill209id="L10220 c>2sklet_kill&quo(&               pnam209id="L10220 cpnamypto-&grefc>220/a>      lone_>2sk209id="L10220 clone_>2skalit[0]);ass="line" name="L5021" c>21" a21_MDE5a_DIGEST_S5 href="drivers/cryp2o/tal5tos.c5L922156id="L10if (fc>220/a>      pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a21_MDE5 ="drZEcla5SHA512_HMACa>(<,a h2ef="d5ivers55<,a href="drivers/cry               >2sklet_kill209id="L10220 c>2sklet_kill&quo(&               pnam209id="L10220 cpnamypto-&grefc>220/a>      lone_>2sk209id="L10220 clone_>2skalit[1]);ass="line" name="L5021" c>21" a21_MDE5aos.cDIGES5"+code=chlypeclass=2sref"55vers55talitass="line" name="L5021" c>21" a21_MDE5 R_TY href5LG_TYPE_AEADa>(<,a 2ref="55rypt55>   2213);ass="line" name="L5021" c>21" a21_MDE5    2     5ers/crypto/talitos.2#L92256 id=55cryptass="line" name="L5021" c>21" a21_MDE5enc(2mac(s5a512),cbc(vis3_ede)2"5span>56L1021" class=               lav_set_drvd92a209id="L10220 clav_set_drvd92a&quo(               dev209id="L10220 clavypto,>               NULL209id="L10220 cNULL2213);ass="line" name="L5021" c>21" a21_MDE5ng">2quot;5uthenc-hmac-sha512-2bc-3d5s-lit56ef="dass="line" name="L5021" c>21" a21_MDE5DE_B2OCK_S5ZEclass="sref">chDE23_EDE5BLOCK5SIZEa>(<,a hre               kfre="line" name="L4kfre=&quo(               pnam209id="L10220 cpnamypto);ass="line" name="L5021" c>21" a21_MDE5n|a 2ref="5="sref">chCRYPTO_AL2_TYPE5AEADa56< |a ass="line" name="L5021" c>21" a21_MDE5D_AE2Dclas5d="L1021" class="li2e" na5e="L656< |a href="+creturn 0;ass="line" name="L5021" c>21" a21_MDE5Dc#L2221"65s="sref">chDES3_EDE2BLOCK5SIZEa5(<,a hlass="line" name="L5021" c>21" a21_MDE5n="drZEcla5_SIZEclass="sref">c2SHA515_DIGE56ryptoass="line" name="L5021" c>21" a21_MDE5DDE12MDEUB5        },a href="d2ivers5crypt5/talitstatic    ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>22134*               t21" a2_ a>_ aloc         h     >21" a2_ a>_ aloc&quo(   ucte               devic2209id="L10220 clavic2alito*               dev209id="L10220 clavypto,ass="line" name="L5021" c>21" a21_MDE5DR_TY href5 . href="+code=chd"2c_hdm56hlyp56talitos.c#L92213 id="""""""""""""""""""""""""""""""""""""   ucte               >21" a2_ a>os.c#L922209id="L10220 c>21" a2_ a>os.c#L922yptoass="line" name="L5021" c>21" a21_MDE5D   2     5EC_ESPclass="sref">2hDESC56iver56022" class="line" namrrrrrrrr___________________________________*               t.c#L922209id="L10220 c>" name="L19)ass="line" name="L5021" c>21" a21_MDE5href2"driv5rs/crypto/talitos.c2L922151id="571021""a>   &qu2     5hg">2quot;5ref="drivers/crypto2talit5s.c#L57,a href="driv   ucte               >21" a2_pnam922209id="L10220 c>21" a2_pnam92222134*               pnam209id="L10220 cpnamypto220 c>220/a>      lav_get_drvd92a209id="L10220 clav_get_drvd92a&quo(               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5hE_B2OCK_S5 href="drivers/cryp2o/tal5tos.c57.c"span>   ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>22134*               t_ a>         h     >_ a>2213;ass="line" name="L5021" c>21" a21_MDE5h|a 2ref="5rivers/crypto/talit2s.c#L52217457IZEa>(<,a hre   ucte               5021" _ a>         h     5021" _ a>22134*                a>                      ;ass="line" name="L5021" c>21" a21_MDE5h_AE2Dclas5|a href="drivers/cr2pto/t5litos571" c>ass="line" name="L5021" c>21" a21_MDE5_PAD2>   |5 href="drivers/cryp2o/tal5tos.c575ZEa>(<,a hre               t_ a>         h     >_ a>2213220 c>220/a>      kz aloc         h     kz aloc&quo( 220of(   ucte               >21" a2_5021" _ a>         h     >21" a2_5021" _ a>2213),>               GFP_KERNEL209id="L10220 cGFP_KERNELypto);ass="line" name="L5021" c>21" a21_MDE5h="drZEcla5SHA512_HMACa>(<,a h2ef="d5ivers57drivers/cryptif (!               t_ a>         h     >_ a>2213)ass="line" name="L5021" c>21" a21_MDE5hDE12MDEUB5"+code=chlypeclass=2sref"57rypt57_SIZEa>(<,a href="drireturn                ERR_PTR"line" name="L4ERR_PTR&quo(-               ENOMEM"line" name="L4ENOMEMypto);ass="line" name="L5021" c>21" a21_MDE5hR_TY href5LG_TYPE_AEADa>(<,a 2ref="57rypt57talitass="line" name="L5021" c>21" a21_MDE5A   2     5ers/crypto/talitos.2#L92258 id=57href="drivers               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typto220*               t.c#L922209id="L10220 c>" name="L19;ass="line" name="L5021" c>21" a21_MDE5enc(2mac(m55),cbc(aes))"s2an>
<5a hre58021" ass="line" name="L5021" c>21" a21_MDE5ng">2quot;5uthenc-hmac-md5-cbc2aes-l5tos.c58.c"span>switch (               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218ass="line" name="L4021" c>2)4"a>   &qu2     5OCK_2IZEcl5ss="sref">chAES_BLO2K_SIZ5a>(<,58.c"span>casers/crypto/talitos.c#L922203HASH"LBLKCIPHER"line" name="L4s.c#L922203HASH"LBLKCIPHERalit:a>   &qu2     5O|a 2ref="5="sref">chCRYPTO_AL2_TYPE5AEADa58IZEa>(<,a href="drive                a>                      220&               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash21YPE_AE         h     <,21" ypa_;ass="line" name="L5021" c>21" a21_MDE5e_AE2Dclas5d="L1021" class="li2e" na58itos58< |a href="+code=deCR                a>                      -&grefc>220/a>      202iinit               50a_init&quo220 c>220/a>      t21" a2_50a_init               >21" a2_50a_init&quo;ass="line" name="L5021" c>21" a21_MDE5ePAD2>   |5ef">chAES_BLOCK_SIZ2a>(<,5 href58922156id="L1021ne" na                a>                      -&grefc>220/a>      202iass="line" name="L4202iass=    220&               5021" _ blkcipheriass="line" name="L42021" _ blkcipheriass=&quo;ass="line" name="L5021" c>21" a21_MDE5e="drZEcla5ZEclass="sref">chMD2_DIGE5T_SIZ58<,a href="drivers/cry                a>                      -&grefc>220/a>      202i blkcipher"line" name="L4202i blkcipher        . hrefhash21setkey         h     setkey&quo220 c>220/a>       blkcipherisetkey         h      blkcipherisetkey&quo;ass="line" name="L5021" c>21" a21_MDE5eDE12MDEUB5        },a href="d2ivers5crypt58_SIZEa>(<,a href="drifc>220/a>       a>                      -&grefc>220/a>      202i blkcipher"line" name="L4202i blkcipher        . hrefhash21en5021""line" name="L4en5021"&quo220 c>220/a>       blkcipherien5021""line" name="L4 blkcipherien5021"&quo;ass="line" name="L5021" c>21" a21_MDE5eR_TY href5 . href="+code=chd"2c_hdm5templ58talitos.c#L92213 id="fc>220/a>       a>                      -&grefc>220/a>      202i blkcipher"line" name="L4202i blkcipher        . hrefhash21de5021""line" name="L4de5021"&quo220 c>220/a>       blkcipheride5021""line" name="L4 blkcipheride5021"&quo;ass="line" name="L5021" c>21" a21_MDE5e   2     5EC_ESPclass="sref">2hDESC5HDR_T58022" class="line" namfc>220/a>       a>                      -&grefc>220/a>      202i blkcipher"line" name="L4202i blkcipher        . hrefhash21genam209id="L10220 cgenam&quo220                     sha22 eseqivs="sref">chcp;ass="line" name="L5021" c>21" a21_MDE5a hr2f="dr5vers/crypto/talitos2c#L925191id59E_IPSEC_ESPa>(21" a21_MDE5_CBC2>(< |5 href="drivers/cryp2o/tal5tos.c59.c"span>casers/crypto/talitos.c#L922203HASH"LEAD"line" name="L4s.c#L922203HASH"LEADalit:a>   &qu2     5 |a 2ref="5rivers/crypto/talit2s.c#L52219359.c"span>
<,a hre                a>                      220&               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash21YPE_AE         h     <,21" ypa_;ass="line" name="L5021" c>21" u2     5 |a 2ref="5|a href="drivers/cr2pto/t5litos59IZEa>(<,a href="drive                a>                      -&grefc>220/a>      202iinit               50a_init&quo220 c>220/a>      t21" a2_50a_init_aead         h     >21" a2_50a_init_aead&quo;ass="line" name="L5021" c>21" u2     5 _AE2Dclas5 href="drivers/cryp2o/tal5tos.c5L922195id="L1021href="                a>                      -&grefc>220/a>      202iass="line" name="L4202iass=    220&               5021" _ eadiass="line" name="L42021" _ eadiass=&quo;ass="line" name="L5021" c>21" u2     5 PAD2>   |5MACa>(<,a href="dri2ers/c5ypto/59922156id="L1021ne" na                a>                      -&grefc>220/a>      202iaead         h     202iaead        . hrefhash21setkey         h     setkey&quo220 c>220/a>       eadisetkey         h      eadisetkey&quo;ass="line" name="L5021" c>21" u2     5 ="drZEcla5"+code=chlypeclass=2sref"59DIGE59<,a href="drivers/cry                a>                      -&grefc>220/a>      202i ead         h     202iaead        . hrefhash21setauth0220 class="line" nsetauth0220&quo220 c>220/a>       eadisetauth0220 class="line" n eadisetauth0220&quo;ass="line" name="L5021" c>21" u2     5 DE12MDEUB5LG_TYPE_AEADa>(<,a 2ass="5121" 59_SIZEa>(<,a href="drifc>220/a>       a>                      -&grefc>220/a>      202i ead         h     202iaead        . hrefhash21en5021""line" name="L4en5021"&quo220 c>220/a>       eadien5021""line" name="L4 eadien5021"&quo;ass="line" name="L5021" c>21" u2     5 R_TY href5ers/crypto/talitos.c#L922599id=59talitos.c#L92213 id="fc>220/a>       a>                      -&grefc>220/a>      202i ead         h     202iaead        . hrefhash21de5021""line" name="L4de5021"&quo220 c>220/a>       eadide5021""line" name="L4 eadide5021"&quo;ass="line" name="L5021" c>21" u2     5    2     55),cbc(vis3_ede))"sp5n>
<,59022" class="line" namfc>220/a>       a>                      -&grefc>220/a>      202i ead         h     202iaead        . hrefhash21gamen5021""line" name="L4gamen5021"&quo220 c>220/a>       eadigamen5021""line" name="L4 eadigamen5021"&quo;ass="line" name="L5021" c>21" u2     6ng">"6uthenc-hmac-md5-cbc-3des-6itos.60E_IPSEC_ESPa>(                      -&grefc>220/a>      202i ead         h     202iaead        . hrefhash21genam209id="L10220 cgenam&quo220                     sha22 <built-in&gres="sref">chcp;ass="line" name="L5021" c>21" a21_MDE6n1">"6uhref="drivers/cryp2o/tal6BLOCK60L1021" class="line" nbreak;ass="line" name="L5021" c>21" a21_MDE6n2">"6uivers/crypto/talit2s.c#L6AEADa60.c"span>casers/crypto/talitos.c#L922203HASH"L10220 class="line" name="L9322HASHR_SEDE0_DE:a>   &qu2     6n3">"6ua href="drivers/cr2pto/t6e="L960IZEa>(<,a href="drive                a>                      220&               t_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash218 a>               h           . hrefhash21base               base&quo;ass="line" name="L5021" c>21" u2     6n4">"6uhref="drivers/cryp2o/tal6SIZEa60< |a href="+code=deCR                a>                      -&grefc>220/a>      202iinit               50a_init&quo220 c>220/a>      t21" a2_50a_init_a8 a>         hashef>21" a2_50a_init_a8 a>&quo;ass="line" name="L5021" c>21" u2     6n5">"6uACa>(<,a href="dri2ers/c6T_SIZ60922156id="L1021ne" na                a>                      -&grefc>220/a>      202iass="line" name="L4202iass=    220&               5021" _ ">ch_ass="line" name="L42021" _ ">ch_ass=&quo;ass="line" name="L5021" c>21" u2     6n6">"6u+code=chlypeclass=2sref"6crypt60<,a href="drivers/cry               >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21init               init&quo220 c>220/a>       ">ch_init                ">ch_init&quo;ass="line" name="L5021" c>21" u2     6n7">"6uG_TYPE_AEADa>(<,a 2ass="6templ60_SIZEa>(<,a href="drifc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21upd922         hashefupd922&quo220 c>220/a>       ">ch_upd922         hashef ">ch_upd922&quo;ass="line" name="L5021" c>21" u2     6n8">"6urs/crypto/talitos.c#L9226HDR_T60talitos.c#L92213 id="fc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21final209id="L10220 cfinal&quo220 c>220/a>       ">ch_final209id="L10220 c ">ch_final&quo;ass="line" name="L5021" c>21" u2     6n9">"6u),cbc(vis3_ede))"sp6 id="60022" class="line" namfc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21finup209id="L10220 cfinup&quo220 c>220/a>       ">ch_finup209id="L10220 c ">ch_finup&quo;ass="line" name="L5021" c>21" u2     6BCa>(< |a 6ref="drivers/crypto/talit6s.c#L6222"1id="L1022  clasamfc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21digest209id="L10220 cdigest&quo220 c>220/a>       ">ch_digest209id="L10220 c ">ch_digest&quo;ass="line" name="L5021" c>21" u2     6B1">"6 href="drivers/crypto/tal6tos.c61021" class="lin |a hr               >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21setkey         h     setkey&quo220 c>220/a>       ">ch_setkey         h      ">ch_setkey&quo;ass="line" name="L5021" c>21" u2     6B2">"6rivers/crypto/talitos.c#L62221361href=ass="line" name="L5021" c>21" a2     6Bc#L9222046|a href="drivers/crypto/t6litos61IZEa>(<,a href="driveif (!(               pnam209id="L10220 cpnamypto-&grefc>220/a>      featur"PTO_ALG_ASYNCa>(featur"PZEa>(&rs/crypto/talitoTALITOS_FTR_HMAC_OKTO_ALG_ASYNCa>(TALITOS_FTR_HMAC_OKZEa>)v&&ass="line" name="L5021" c>21" a21_MDE6BK_SIZEcla6 href="drivers/crypto/tal6tos.c61< |a href="+code=deCRRRRR!               strncmp209id="L10220 cstrncmp |a (                a>                      -&grefc>220/a>      202iypto"line" name="L4202iypto    ,0                     sha22 hmacs="sref">chcp, 4))4"a>   &qu2     63_DIGEST_S6MACa>(<,a href="drivers/c6ypto/61922156id="L1021ne" nain |a hr               kfre="line" name="L4kfre=&quo(               t_ a>         h     >_ a>2213);ass="line" name="L5021" c>21" a21_MDE6f="drivers6crypto/talitos.c#L922186e6">chA61<,a href="drivers/cryyyyyyyyyreturn                ERR_PTR"line" name="L4ERR_PTR&quo(-               ENOTSUPP"line" name="L4ENOTSUPP2213);ass="line" name="L5021" c>21" a21_MDE6f7">"692id="LC_HDR_TCBCa>(< |a 6ref="61_SIZEa>(<,a href="drilass="line" name="L5021" c>21" a21_MDE6DR_TY href6"+code=chlypeclass=2sref"61iver61talitos.c#L92213 id="if (!(               pnam209id="L10220 cpnamypto-&grefc>220/a>      featur"PTO_ALG_ASYNCa>(featur"PZEa>(&rs/crypto/talitoTALITOS_FTR_SHA224_HWINITTO_ALG_ASYNCa>(TALITOS_FTR_SHA224_HWINITZEa>)v&&ass="line" name="L5021" c>21" a21_MDE6B9">"6LG_TYPE_AEADa>(<,a 2ref="61 id=61022" class="line" namrrrr(!                  cmp209id="L10220 cstrcmp |a (                a>                      -&grefc>220/a>      202iypto"line" name="L4202iypto    ,0                     sha22 sha224s="sref">chcp) ||ass="line" name="L5021" c>21" a21_MDE6 hre2="dri6ers/crypto/talitos.2#L922621id=62E_IPSEC_ESPa>((<,!                  cmp209id="L10220 cstrcmp |a (                a>                      -&grefc>220/a>      202iypto"line" name="L4202iypto    ,0                     sha22 hmac(sha224)s="sref">chcp)))4"a>   &qu2     6enc(2mac(s6a384),cbc(vis3_ede)2"6span>62L1021" class="line" name="L52fc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218 a>                          . hrefhash218 a>         hashef">chypa_    . hrefhash21init               init&quo220 c>220/a>       ">ch_init_sha224_swinit                ">ch_init_sha224_swinit&quo;ass="line" name="L5021" c>21" u2     6ng">2quot;6uthenc-hmac-sha384-2bc-3d6s-lit62.c"span>
<,a hreame="L52fc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218de/talitos.c#L922209id="L10220 class="line" name="L192=ass="line" name="L5021" c>21" u2     6nc#L9222046ZEclass="sref">chDE23_EDE6BLOCK62IZEa>(<,a href="drivers/crypt
<,a hreame="L52fc>220/a>      ="+coeDESHASHRCOMMON_NONSNOOP_NO_AF       href="+cod="+coeDESHASHRCOMMON_NONSNOOP_NO_AF  ZEa>(|ass="line" name="L5021" c>21" a21_MDE6 K_SIZEcla6="sref">chCRYPTO_AL2_TYPE6AEADa62< |a href="+code=deCRRRRRrypt
<,a hreame="L52fc>220/a>      ="+coeDESC_H0RMDEUA     href="+cod="+coeDESC_H0RMDEUAZEa>(|ass="line" name="L5021" c>21" a21_MDE6 _DIGEST_S6d="L1021" class="li2e" na6e="L262922156id="L1021ne" nain |a hr
<,a hreame="L52fc>220/a>      ="+coeDESMODE0RMDEU_SHA2SHA512_HMAC="+cod="+coeDESMODE0RMDEU_SHA2SH&quo;ass="line" name="L5021" c>21" u2     6n="drivers6s="sref">chDES3_EDE2BLOCK6SIZEa62<,a href="drivers/crylass="line" name="L5021" c>21" a21_MDE6tos.cDIGES6_SIZEclass="sref">c2SHA386_DIGE6T_SIZEa>(<,a href="dribreak;ass="line" name="L5021" c>21" a21_MDE6tR_TY href6        },a href="d2ivers6crypt62talitos.c#L92default:a>   &qu2     6tref=YPTO_6 . href="+code=chd"2c_hdm6templ62href="drivers/crypto/e="L8021" c>218dev_err"line" name="L4dev_err |a (               dev209id="L10220 clavypto,>                     sha22 unknown algorithm 021" %d\ns="sref">chcp, fc>220/a>      >_ a>         h     >_ a>2213-&grefc>220/a>       a>t                  typtome="L8021" c>218ass="line" name="L4021" c>2);ass="line" name="L5021" c>21" a21_MDE6DR_T2PE_IP6EC_ESPclass="sref">2hDESC6HDR_T6PE_IPSEC_ESPa>(2);ass="line" name="L5021" c>21" a21_MDE6Dnc(2mac(s6rs/crypto/talitos.c2L922162id="61021" class="llass="line" name="L5021" c>21" a21_MDE6hg">2quot;6ref="drivers/crypto2talit6s.c#L63href=ass="line" name="L5021" c>21" a2     6Dc#L9222046 href="drivers/cryp2o/tal6tos.c63#L922194id="L                a>                      -&grefc>220/a>      202imodulo"line" name="L4202imodulo&quo220 c>220/a>      THISSMODULETO_ALG_ASYNCa>(THISSMODULE&quo;ass="line" name="L5021" c>21" u2     6E_AE2ref="6rivers/crypto/talit2s.c#L6221"563< |a href="+c                a>                      -&grefc>220/a>      202ipnaority         h     202ipnaority&quo220 c>220/a>      TALITOS_CRA_PRIORITYTO_ALG_ASYNCa>(TALITOS_CRA_PRIORITY&quo;ass="line" name="L5021" c>21" u2     6E_DIGEST_S6|a href="drivers/cr2pto/t6litos635ZEa>(<,a hre                a>                      -&grefc>220/a>      202i lignm2sk209id="L10220 c202i lignm2sk&quo2200;ass="line" name="L5021" c>21" a21_MDE6E="drZEcla6 href="drivers/cryp2o/tal6tos.c63_SIZEa>(<,a h                a>                      -&grefc>220/a>      202ictx0220 class="line" nam2ictx0220&quo220 220of(   ucte               >21" a2_5tx         h     >21" a2_5tx2213);ass="line" name="L5021" c>21" a21_MDE6Dos.cDIGES6SHA384_HMACa>(<,a h2ef="d6ivers63_SIZEa>(<,a h                a>                      -&grefc>220/a>      202iflagPTO_ALG_ASYNCa>(202iflagPZEa>(|20 c>220/a>      name="L9322KERN_DRIVER_ONLYTO_ALG_ASYNCa>(name="L9322KERN_DRIVER_ONLY&quo;ass="line" name="L5021" c>21" u2     6ER_TY href6"+code=chlypeclass=2sref"63rypt63talitass="line" name="L5021" c>21" a21_MDE6Eref=YPTO_6LG_TYPE_AEADa>(<,a 2ref="63>
<,63href="drivers               t_ a>         h     >_ a>2213-&grefc>220/a>      dev209id="L10220 clavypto220fc>220/a>      dev209id="L10220 clavypto;ass="line" name="L5021" c>21" u2     6 hre2="dri6ers/crypto/talitos.2#L922641id=64021" ass="line" name="L5021" c>21" a21_MDE6enc(2mac(s6a512),cbc(aes))&quo2;span6
<,a 64021" class="lreturn                t_ a>         h     >_ a>2213;ass="line" name="L5021" c>21" a21_MDE6eg">2quot;6uthenc-hmac-sha512-2bc-ae6-lito64href=lass="line" name="L5021" c>21" a21_MDE6eDES2>(< |6ss="sref">chAES_BLO2K_SIZ6a>(<,64< |a ass="line" name="L5021" c>21" a21_MDE6e_AE2ref="6="sref">chCRYPTO_AL2_TYPE6AEADa64#L922static inte               >21" a2_pnob=_irq209id="L10220 c>21" a2_pnob=_irq&quo(   ucte               nameform_devic2209id="L10220 cnameform_devic222134*               ofdev209id="L10220 cofdev"L19)ass="line" name="L5021" c>21" a21_MDE6e_DIGEST_S6d="L1021" class="li2e" na6e="L46492217"a>   &qu2     6 ="drZEcla6ef">chAES_BLOCK_SIZ2a>(<,6 href64_SIZEa>(<,a h   ucte               devic2209id="L10220 clavic2alito*               dev209id="L10220 clavypto220&               ofdev209id="L10220 cofdev"L19-&grefc>220/a>      dev209id="L10220 clavypto;ass="line" name="L5021" c>21" a21_MDE6eos.cDIGES6_SIZEclass="sref">c2SHA516_DIGE647SIZEa>(<,a h   ucte               devic2_node209id="L10220 clavic2_nodealito*               np209id="L10220 cnp&quo220 c>220/a>      ofdev209id="L10220 cofdev"L19-&grefc>220/a>      dev209id="L10220 clavyptome="L8021" c>218of_node209id="L10220 cof_nodeypto;ass="line" name="L5021" c>21" a21_MDE6eR_TY href6        },a href="d2ivers6crypt648ZEa>(<,a hre   ucte               >21" a2_pnam922209id="L10220 c>21" a2_pnam92222134*               pnam209id="L10220 cpnamypto220 c>220/a>      lav_get_drvd92a209id="L10220 clav_get_drvd92a&quo(               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE6eref=YPTO_6 . href="+code=chd"2c_hdm6templ64href="driversinte               err"line" name="L4err |a ;ass="line" name="L5021" c>21" a21_MDE6DR_T2PE_IP6EC_ESPclass="sref">2hDESC6HDR_T65021" ass="line" name="L5021" c>21" a21_MDE6a hr2f="dr6vers/crypto/talitos2c#L926152id6"L1021" class=               pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0]220 c>220/a>      irq_of_parse_and_map209id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp&quo, 0);ass="line" name="L5021" c>21" a21_MDE6ag">2quot;6 href="drivers/cryp2o/tal6tos.c65="L1022" clasif (!               pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2     6 |a 2ref="6rivers/crypto/talit2s.c#L62215465IZEa>(<,a href="drive               dev_err"line" name="L4dev_err |a (               dev209id="L10220 clavypto,>                     sha22 failed to map arq\ns="sref">chcp);ass="line" name="L5021" c>21" a21_MDE6a_AE2ref="6|a href="drivers/cr2pto/t6litos65< |a href="+code=deCRreturn -               EINVAL209id="L10220 cEINVAL c>2;ass="line" name="L5021" c>21" a21_MDE6a_DIGEST_S6 href="drivers/cryp2o/tal6tos.c6L922156id="L10lass="line" name="L5021" c>21" a21_MDE6 ="drZEcla6SHA512_HMACa>(<,a h2ef="d6ivers65ryptoass="line" name="L5021" c>21" a21_MDE6aos.cDIGES6ss="li2e" na5e="L656< |a 65vers659 c>27ss="li2e" na5e="L656< |a8_ a2_pnam92222134*           2_29 cpnamypto220 c>220/a>      lav_get_drvd3t5 href="dr21" c>21" 3   ucte               dev55rypt55> 6    /* ="d the 021mary6 |a      */rivers/dr21" c>21" 3   ucte               devam209id="L60220 cpnamypto-&grefc>2206a>   662sref"53rypt5/talf_parse_and_map209id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp1quo, 0);ass="line" name="L5021" c>21" a21_" class=  6            lav_set_drvd96a209i66chypa_    . hrefhash21digest209id="Lrvd92a209id="L10220 clav_e/talitos.c#L922209iquest"L5021" c>21" a21_M9iquest"L505e="L656< |a 65vers609id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp&q2c_hdm6templ62hrefe="L8020/a0 cupt_4c">"6uhref="drivers/0/a0 cupt_4c"          h     >21" a2_5021" _ a>22134*     6 dev209id=6L10220 clavypto,>        6     6621init               init&quo" clasif (!               pna1" a2__ class=id="L10220 cpnamyp1" a2__ classrypt648ZEa>(<,a hre   ucte               >21" ESPa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(         6>21" a21_M6E5DE_B2OCK_S5ZEclass="sre6">chD66.c65="L1022" clasif (go2  656< |a 65vers609imary_ou"L4dev_err |a ( 09imary_ou"    sha22 failed to map arq\ns="sref">chcp)re="line" 6ame="L4kfre=&quo(        6     6pnam209id="L10="drivers/cr2pto/t6litos65< |a href="+c1_MDE5n|a 6ref="5="sref">chCRYPTO_AL6_TYPE66     chan         h     chanalit[         6_MDE5D_AE26clas5d="L1021" class="li26" na566a hre                a>     rvd92a209id="L10220 clav_e/talitos.c#L922209iquest"L5021" c>21" a21_M9iquest"L505e="L656< |a 65vers609id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp&q2c_hdm6templ62hrefe="L8020/a0 cupt_ch0_2>"6uhref="drivers/0/a0 cupt_ch0_2          h     >21" a2_5021" _ a>22134*     6 >21" a21_M1" a21_MDE5Dc#L2221"65s="6ref">66SHA2SH&quo;ass="line"" clasif (!               pna1" a2__ class=id="L10220 cpnamyp1" a2__ classrypt648ZEa>(<,a hre   ucte               >21" ESPa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(         6>pnamypto221" a2_ a>_ aloc         h6    >61" a2_ a>_ alo             pnam20rvd92a209id="L10220 clav_static inte               >21" a2_pnob=de=chd"2c_6dm56hlyp56talitos.c#L92216 id="6""""""""""""""""""""""go2  656< |a 65vers609imary_ou"L4dev_err |a ( 09imary_ou"    sha22 failed to map arq\ns="sref">chcp)   2     56C_ESPclass="sref">2hDESC56iver567>21" a21_MDE6eref=YPTO_6 . href="+code=chd"__________6________*               t6c#L926209id="L10220 R4"a>   /* ="d the secondary6 |a      */rivers/dr21" c>21" 3   ucte               dev222134*   6           pnam209id="L10620 cp67ULL209id="L10220 cNULL2213);rvd92a209id="L10220 clav_e/talitos.c#L922209iquest"L5021" c>21" a21_M9iquest"L505e="L656< |a 65vers609id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp1q2c_hdm6templ62hrefe="L8020/a0 cupt_ch1_3>"6uhref="drivers/0/a0 cupt_ch1_3          h     >21" a2_5021" _ a>22134*     6ers/cryp2o6tal5tos.c57.c"span> 6 ucte67refc>220/a>       a>t          !               pna1" a2__ class=id="L10220 cpnamyp1" a2__ classrypt648ZEa>(<,a hre   ucte               >21" ESPa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(         6a 2ref="5r6vers/crypto/talit2s.c#L52617457674 a2_ a>_ alo             pnam20rvd92a209id="L10220 clav_so, 0);ass="line" name="L5021" c>21" a21_         h6    5021" _ a>22134*     6     672iinit               50a_init&quo220 pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  9iquest secondary6 |a 2ref="6rivers/crypto/talit2s.c#L62215465IZEa>(<,a href    kz alo6&quo( 220of(   ucte      6     67" nain |a hr
<,a hrears65ryptoass="line" i209id="L10220 caypto],>               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5a hr2f="dr5vers/crypto/talitos2c#L925f="d5ivers55<,a href="drivers/cry        6P_KERNELyp6o);ass="line" name="L50216 c>216 a21_MDE5h="drZEcla5SHL922156id="L10lass="line" name="L5021" c>21" a21_MDE6 ="drZEcla6SHA512_HMACa>(<,a h2ef="d6iveine" name="L5021" c>21" u2     6E_DIGEST"+code=chl6peclass=2sref"57rypt57_SI6Ea>(<67s53_SIZEa>(<,a href="drifc>220/a>      kfre="line" 6e" name="L6ERR_PTR&quo(-            6  ENO6709id="L10220 caounmap&quo(               p6href="driv6rs               t_ a>   6     682sref"53rypt510220 clavypto;ass="lirvd92a209id="L10220 clav_get_drvd92a&quo(               dev209id          6 typto220*               6.c#L968"L10220 clav_set_drvd92a&quo(             68.c"s6an>switch (              6t_ a>6      656< |a 65vers609imary_ou"L4dev_err |a ( 09imary_ou"    e="L5021" c>21" a21_MDE6tos.cDIGES6_SIZ&qu2     56CK_2IZEcl5ss="sref">chAES6BLO2K6SIZ5a>(<,58.c&             pnam20rvd92a209id="L10220 clav_so, 0);ass="line" name="L5021" c>21" a21_        h 6   >_ a>2213-&grefc>220/a6     6 a>t                  typtome="L8021" pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  9iquest 021mary6 |a 2ref="6rivers/crypto/talit2s.c#L62215465IZEa>(<,a href          6>                      -&6refc>620/a>      202iinit               50aine" i209id="L10220 caypto],>               dev209id="L10220 clavypto);ass="line" name="L5021" c>21" a21_MDE5a hr2f="dr5vers/crypto/talitos2c#L925ers/cr2pto/t5litos55< |a href="+c        6          6      -&grefc>220/a>     6202ia6s="line" name="L4202iass=    220&ass="line" name="L5021" c>21" a21_MDE6DR_T2PE_IP6EC_ESPclass="sref">2hDESC6HDRine" name="L5021" c>21" u2     6E_DIGESTkcipher"li6e" name="L4202i blkcipher6     6 . hrefhash21sa href="drifc>220/a>      kfre="line" 6her"line" 6ame="L4202i blkcipher    6   . 68ref="dr21" c>21" 3   ucte               devher"line" 6ame="L4202i blkcipher    6   . 6refhash21de50210220 clavypto;ass="lirvd92a209id="L10220 clav_get_drvd92a&quo(               dev209idrefc>220/a6      202i blkcipher"line6 name6"L4202a href="drifc>220/a>      kfre="line" 6220       6             sha22 eseqiv6="sre69"L10220 clav_set_drvd92a&quo(             6"L5021" c>61" a21_MDE5_CBC2>(< |5 hr6f="dr6vers/c12-2bc-ae6-lito64href=lass="line" name=21" c>21" a21_MDE6eDES2>(< |"sref">chAES_BLO2K_SIZ6a>(<,64< |a ass="line" name="L5021" c>21" a21_MDE6e_AE2ref="6="sref">chCRYPTO_AL2_TYPE6AEADa64#L922static inte               >21" a2_pnob=        h 6   >_ a>2213-&grefc>220/a6     6 a>t  , 0);ass="line" name="L5021" c>21" a21_a>        6             -&grefc>220/6>    6 202iinit     20 cofdev"L19)ass="line" name="L5021" c>21" a21_MDE6e_DIGEST_S6d="L1021" class="li2e" na6e="L46492217"a>   &qu2     6 ="drZEcla6ef">chAES_BLOCK_SIZ2a>(<,6 href64_SIZEa>(<,a h   ucte               devic2209id=     a>   6                  -&grefc6220/a6      202iass=ypto220&               ofdev209id="L10220 cofdev"L19-&grefc>220/a>      dev209id="L10220 clavypto;ass="line" name="L5021" c>21" a21_MDE6eos.cDIGES6_SIZEclass="sref">c2SHA516_DIGE647SIZEa>(<,a h   ucte               devic2_node209id="L10220 clavic2_nodeal             devic2209id=          6      202iaead         h 6   206iaead        .dev"L19-&grefc>220/a>      dev209id="L10220 clavyptome="L8021" c>218of_node209id="L10220 cof_nodeypto;ass="line" naclavic2_nodeal             devic2209id= cipher"li6   h     202iaead        6 href6ash21setauth02const unsign&quae6-ode209id="L10220 co9id="L10220 clav co9" naclavic2_nodeal             devic2209id= er"line" 6  202i ead         h     602iae6d        . hreae6-lito64href=lasslass="line" name="L52ESPa>((2213); cof_nodeypto;ass="line" name="L5021" c>21" as5|a href="drivers/cr2pto/t5litos571" c>ass="line" name="L5021" c>21" a209id="L10220 clavyptome="L8021" c>218of_.c575ZEa>(<,a hre               t_ a>         h     >_ a>2213220 c>220/a>      kz aloc         h7&grefc>2207a>      202i ead         7     702iaead       /talf_parse_and_map209id="L10220 carq_of_parse_static inte               >21" a2_pnob7          7   sha22 <built-in&gre7="sre7021init                     dev209id="L10220 c     h     >_ a>2213)ass="line213220 c>220/a>      kz aloc         h7&3        7   >_ a>2213-&grefc>220/a7/cryp70a>         h     >_ a>2213;ass="line" name7>218 a>   7                      . h7efhas70efc>220/a>      202imodulo"lass="line" name="L5021" c>21" a21_MDE5    2     5ers/crypto/talitos.2#L92256 id=55cryptass="line" name="L50ot;5uthenc-hmac-sha512-2bc-3d5s-lit56ef="dass="line" name="L5021" 7          7           -&grefc>220/a>7     70     chan         h     chanalit[         7   a>     7                -&grefc>270/a> 70a hre                a>     ass="line" name="L5021" c>21" a21_MDE6DR_T2PE_I021" c>21" a21_MDE6eos.cDIGESss="line" name="L5021" c>21" a21_MDE6eos.cDIGESd5s-lit56ef="dass="line" name="L5021" 7 7 a>     7   h     202iaead        7     70l&quo(&               pnam209id="L10227          7. hrefhash218 a>         7ashef70="L10220 clone_>2skalit[1]);s9id_t5lk-&grefc>220/a>      s9id_t5lk-&gre   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2reg_t5lk21" c>21" a21_M9ig_t5lk2bc-3d5s-lit56ef="dass="line" name="L5021" 7 9        7. 202i ead         h     7   ha7009id="L10220 caounmap&quo(               p7          7    . hrefhash218 a>     7   ha71 reg209id="L10220 cre>2213);rvd92a209id="L10220 clav_e/talitos.c#L92220="line" name="L5021" c>21" a21_MDE6eDES2>(< |6ss="srefref="6="sref">chCRYPTO_AL2_TYPE6AEADa64#L922sd5s-lit56ef="dass="line" name="L5021" 7          7. hrefhash218 a>         7ashef712iaead       /tal         pnam20rvd92a209id="L10220 clav_static inte               >21" a2_pnob7          7. hrefhash218 a>         7ashef7121init               go2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 7setkey&quo720 c>220/a>       ">ch_se7key  71a>         h     >_ a>2213;ass="line" name7220 cpnamy7to-&grefc>220/a>      fea7ur"PT714 a2_ a>_ alo    f_parse_and_map209id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp1quo, 0);ass="line" name="L5021" c>21" a217trncmp |a 7                a>       7     7        -&grefc>220/a>alitos.c#L92220="sklDE521_MDE5e_AE2Dclas5d="sklDE521_M   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2done_tSYNCa>(TALITOS_CRAdone_tSYN0 cnp&q2c_hdm6templ62hrefe="L802done_4c">"6uhref="drivers/done_4c"tass= 0);ass="line" name="L5021" c>21" a217t  a>     7(<,a href="drivers/c6ypto761922756id="L1021ne" nain |a hr          (unsign&qulong)Pa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(         7os.c#L922176e6">chA61<,a href="drive7s/cry7yyyyyyyreturn } elseo, 0);ass="line" name="L5021" c>21" a217t         7       ENOTSUPP"line" nam7="L4E7OTSUPP2213);ass="line"alitos.c#L92220="sklDE521_MDE5e_AE2Dclas5d="sklDE521_M   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2done_tSYNCa>(TALITOS_CRAdone_tSYN0 cnp&q2c_hdm6templ62hrefe="L802done_ch0_2>"6uhref="drivers/done_ch0_2tass= 0);ass="line" name="L5021" c>21" a217t9        70/a>      featur"PTO_ALG_7SYNCa7(featur"PZEa>(&rs/cryp         (unsign&qulong)Pa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(         7cstrcmp |a7(                a>      7     7         -&grefc>220/aalitos.c#L92220="sklDE521_MDE5e_AE2Dclas5d="sklDE521_M   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2done_tSYNCa>(TALITOS_CRAdone_tSYN0 cnp1q2c_hdm6templ62hrefe="L802done_ch1_3>"6uhref="drivers/done_ch1_3tass= 0);ass="line" name="L5021" c>21" a217 |a (     7          a>             7     7  -&grefc>220/a>      202iypto     (unsign&qulong)Pa>((<,a h               fre=_irq209id="L10220 cfre=_irq&quo(         7c         7     hashef">chypa_    . 7refha7h21init       a href="drifc>220/a>      kfre="line" 7220/a>    7 >_ a>         h     >_ a72213-72a>         h     >_ a>2213;ass="line" name7CK62IZEa>(7,a href="drivers/crypt
<,7 hrea72efc>220/a>      202imodulo"lL922_LIST_H="dr5vers/crypto/tL922_LIST_H="d   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2alg_ti20/a>       a>t   lg_ti20e=_irq209id="L10220 cfre=_irq&quo(         7crncmp |a 7ef">chCRYPTO_AL2_TYPE6AEA7a62< 72     chan         h     chanalit[         721" class=7li2e" na6e="L262922156id=7L102172a hre                a>     ass="line" name="L5021" c>21" a21_MDE6DR_T2PE_I9ig21" c>21" a21_M9igIGESss="line" name="L502_io c>21" a21_MDE6aos02_io c>"srefref="6="sref">c"L1021" class=               pnam209id="L10220 cpnamypto-&grefc>27EU_SHA2SHA712_HMAC="+cod="+coeDESMOD70RMDE7_SHA2SH&quo;as    f_parse_and_map209id="L10220 carq_of_parse_and_map&quo(        9ig21" c>21" a21_M9igIGESuo, 0);ass="line" name="L5021" c>21" a217ef">chDES37EDE2BLOCK6SIZEa62<,a href7"driv72TSUPP2213);ass="line"alitos.c#L92220 pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  02_io c> 2ref="6rivers/crypto/talit2s.c#L62215465IZEa>(<,a hre7Eclass="sr7f">c2SHA386_DIGE6T_SIZEa>7<,a h7ef="dribreak;ass="line" name="L5021" rvd92a209id="L10220 clav_e/tev209id="L10220 c     h     >_ a>2213)ass="line213220 c>220/a>      kz aloc         h7%d\ns=7sref">chcp, fc>220/a>    7 >_ a7         h     >_ a>22go2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 7EC_ESPclas7="sref">2hDESC6HDR_T6PE_I7SEC_E7Pa>(2);ass="line" name="L5021"7c>21" a21_7DE6Dnc(2mac(s6rs/crypto/t7litos7c2L922162id="614"a>   /* ="d SEC ;assio>  apabime=ies from fdev"L tre  */rivers/dr21" c>21" 3   ucte               de7          7     a>                  7   -&7refc>220/a>      202imodulo"l co9id="L10220 clav co9" nass="line" name="L502_="d2 co9erETO_ALG_ASYNCa>(T02_="d2 co9erET"srefref="6="sref">c"L1021" class=           )4"a>         NUL e=_irq209id="L10220 cfre=_irq&quo(         7          7       -&grefc>220/a>    7 202i7naority       /tal         pnam20 co9id="L10220 clav co9" nastatic inte               >21" a2_pnob7_S6|a href7"drivers/cr2pto/t6litos637ZEa>(736id="L1021ne" nain |a_parse_and_map209id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" nass=ode209id="L10220 co9id="L10220 clav co9" naclavic2_nodeal             devic2209id7>         7            -&grefc>220/a7     73l&quo(&               pnam209id="L10227         -7grefc>220/a>      202ifla7PTO_A73="L10220 clone_>2skalit[1]); co9id="L10220 clav co9" nass="line" name="L502_="d2 co9erETO_ALG_ASYNCa>(T02_="d2 co9erET"srefref="6="sref">c"L1021" class=           )4"a>         NUL e=_irq209id="L10220 cfre=_irq&quo(         7 class="sr7RN_DRIVER_ONLYTO_ALG_ASYN7a>(na7e="L9322KERN_D/tal         pnam20 co9id="L10220 clav co9" nastatic inte               >21" a2_pnob7ref="63>
<763href="drivers          7    t74        -&grefc>220/aalitos.c#L9222009id="L10220 carq_of_parse_and_map&quo(        chfifo_lee="L10220 carq_ochfifo_lee" nass=ode209id="L10220 co9id="L10220 clav co9" naclavic2_nodeal             devic2209id7   dev209i7="L10220 clavypto220fc>227/a>  74"L10220 clav_set_drvd92a&quo(             741id=640217 ass="line" name="L5021" 7>21" 74ULL209id="L10220 cNULL2213); co9id="L10220 clav co9" nass="line" name="L502_="d2 co9erETO_ALG_ASYNCa>(T02_="d2 co9erET"srefref="6="sref">c"L1021" class=           )4"a>         NUL e=_irq209id="L10220 cfre=_irq&quo(         7<,a 64021"7class="lreturn           7    t74IZ5a>(<,58.c&             pnam20 co9id="L10220 clav co9" nastatic inte               >21" a2_pnob7r         71" a21_MDE6eg">2quot;6uth7nc-hm74a>t                  typtome="L8021"09id="L10220 carq_of_parse_and_map&quo(        exec_unitsL4dev_err |a ( 0xec_units" nass=ode209id="L10220 co9id="L10220 clav co9" naclavic2_nodeal             devic2209id7          7L10220 c>21" a2_pnob=_irq7quo( 74     chan         h     chanalit[         7220 cnamef7rm_devic222134*          7    o74a hre                a>     aso9id="L10220 clav co9" nass="line" name="L502_="d2 co9erETO_ALG_ASYNCa>(T02_="d2 co9erET"srefref="6="sref">c"L1021" class=           )4"a>         NUL e=_irq209id="L10220 cfre=_irq&quo(         7<         7vic2alito*               7ev20974SHA2SH&quo;as             pnam20 co9id="L10220 clav co9" nastatic inte               >21" a2_pnob7r        -7np&quo220 c>220/a>      o7dev2074TSUPP2213);ass="line"alitos.c#L9222020 carqalit[1])ass="line" name="L5021" c>21" a2dc-hm    s09id="L10220 carq-hm    s" nass=ode209id="L10220 co9id="L10220 clav co9" naclavic2_nodeal             devic2209id7 class="sr7           pnam209id="L10720 cp7409id="L10220 caounmap&quo(               p7="L10220 c7avypto);ass="line" name="75021"752sref"53rypt5/talf_parse_and_map2is_powerIGES2>"6uhref="is_powerIGES2"srefref="6="sref">c09id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" namrrr   202iypto"line"09id="L10220 carq_of_parse_and_map&quo(        chfifo_lee="L10220 carq_ochfifo_lee" nasrrr(!                  cmp209id="L1022072c_hdm6tem7l64href="driversinte     7     75 -&grefc>220/a>    202iypto"line"09id="L10220 carq_of_parse_and_map&quo(        exec_unitsL4dev_err |a ( 0xec_units" nasrr   202iypto"line"09id="L10220 carq_of_parse_and_map&quo(        dc-hm    s09id="L10220 carq-hm    s" nauo, 0);ass="line" name="L5021" c>21" a2170/a>      7rq209id="L10220 carqalit[7]220 7521init               alitos.c#L92220 pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   2q7ot;6 href="drivers/cryp2o7tal6t7s.c65="L1022" clasif (!              rvd92a209id="L10220 clav_e/tev209id="L10220 clavypto,>                     sha22 failed to map arq\ns="sref">chcp7="drive   7           dev_err"line" 7ame="74dev_err |a (         go2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 7;ass="line7 name="L5021" c>21" a21_M7E6a_A72ref="6|a href="drivers/cr2pto/t6litos65< |a href="+7ode=deCRre7urn -               EINVA7209id7"L10220 cEINVAL c>2;ass="line" name="L5021"7c>21" a21_7DE6a_DIGEST_S6 href="driv7rs/cr75SHA2SH&quo;as             pnam20GESfdev"L1is_compatib"drivers/crypto2tGESfdev"L1is_compatib"d"srefref="6="sref">c"L1021" class=           )4"a>   220/a>      lav_get_d7vd3t575TSUPP2213);ass="line"alitos.c#L9222020 carqalit[1])ass="line" name="L5021" c>21" a2="61_SIZEa>(<,a href="drilass="line"13);ass="line" namef"61iver61taRC_LINK_TBL_LEN_INCLUDES_EXTEN=chlypeclass=2sref"61iver61taRC_LINK_TBL_LEN_INCLUDES_EXTEN=IGESd5s-lit56ef="dass="line" name="L5021" 7;class="sr7 c"L1021" class=           )4"a>   21" a2="61_SIZEa>(<,a href="drilass="line"13);ass="line" namef"61iver61tHW_AUTH_CHEC|a href="drivers/crypto/t6litW_AUTH_CHEC|line"10 cEINVAL c>2;ass="line" name="L5021"7"/a>      7L10220 clavypto,>        7     7621init               init&quo" clasif (!              21_MDE6DR_TY href6"+code=chlypeclass=2sref"61iver61talitos.c#L92213 i"10 cEINVAL c>2;ass="line" name="L5021"7"DE6ag">2q7E5DE_B2OCK_S5ZEclass="sre7">chD76.c65="L1022" clasif (init&quo" clasif (!              21_MDE6DR_TY222046|a href="drivers/crypto/t6litos61IZEa>(d5s-lit56ef="dass="line" name="L5021" 7re="line" 7ame="L4kfre=&quo(        7     7pnam205s-lit56ef="dass="line" name="L5021" 7rass="line7ref="5="sref">chCRYPTO_AL7_TYPE76aority         h     202ipna09id="L10220 carq_of_parse_and_map&quo(        chae="L10220 carq_ochae" nass=ap&quo(        s5|a href="drivers/cr2pto/t5litos571" c>ass="line" name="L5021" c>21" achannel>"6uhref="drivers/channel" nauo*5s-lit56ef="dass="line" name="L5021" 7rde=deCRre7clas5d="L1021" class="li27" na5766id="L1021ne" nain |a hr          ref="6="sref">c09id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" nac575ZEa>(<,a hre               t_ a>         h     >_ a>2213220 c>220/a>      kz aloc         h7 >21" a21_71" a21_MDE5Dc#L2221"65s="7ref">76SHA2SH&quo;as    f_parse_and_map209id="L10220 carq_of_parse_and_map&quo(        chae="L10220 carq_ochae" nauo, 0);ass="line" name="L5021" c>21" a217>pnamypto271" a2_ a>_ aloc         h7    >76TSUPP2213);ass="line"alitos.c#L92220 pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  o/t5late channel management 4"ac0 2ref="6rivers/crypto/talit2s.c#L62215465IZEa>(<,a hre7de=chd"2c_7dm56hlyp56talitos.c#L92217 id="7""""""""""""""""""""""" name="L5021" rvd92a209id="L10220 clav_e/tev209id="L10220 c     h     >_ a>2213)ass="line213220 c>220/a>      kz aloc         h7   2     57C_ESPclass="sref">2hDESC57iver577        h     >_ a>22go2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 7__________7________*               t7c#L9277a>( 7 ucte77refc>220/a>  foral         pnam20lass="line" name="L52HDRin-lito64href=lasslass="line" name="L52 <n-lito64href=lass09id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" nan-lito64href=lasslass="line" name="L52++uo, 0);ass="line" name="L5021" c>21" a217a 2ref="5r7vers/crypto/talit2s.c#L5271745777a>t                  typtome="L8021"09id="L10220 carq_of_parse_and_map&quo(        chae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       9ig21" c>21" a21_M9igIGESss="line" name="L5ass="line" name="L5021" c>21" a21_MDE6DR_T2PE_I9ig21" c>21" a21_M9igIGESs+="line" name="L5021" c>21H_STRIDEa href="drivers/crypto/1H_STRIDEIGESs*al         pnam20lass="line" name="L52H+656< |a8_ a2_pnam92222134*           2_297         h7    5021" _ a>22134*     7     772iinit                   f_parse_and_map209id="L10220 carq_of_parse_and_map&quo(               np209id="L10220 cnp1qsrr  l         pnam20lass="line" name="L52H name=1! 0 cEINVAL c>2;ass="line" name="L5021"7    kz alo7&quo( 220of(   ucte      7     77" nain |a hr
<,a hrea        typtome="L8021"09id="L10220 carq_of_parse_and_map&quo(        chae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       9ig21" c>21" a21_M9igIGESs+s="line" name="L5021" c>21H_BASE_OFFSE=chlypeclass=2sref"61ive1H_BASE_OFFSE=IGESd5s-lit56ef="dass="line" name="L5021" 7_>21" a21_7o);ass="line" name="L50217 c>2177. hrefhash21sa href="drifc>220/a>      kfre="line" 7"+code=chl7peclass=2sref"57rypt57_SI7Ea>(<77ref="dr21" c>21" 3   ucte               de7e" name="L7ERR_PTR&quo(-            7  ENO779efc>220/a>  foral         pnam20lass="line" name="L52HDRin-lito64href=lasslass="line" name="L52 <n-lito64href=lass09id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" nan-lito64href=lasslass="line" name="L52++uo, 0);ass="1" 3   ucte               de7href="driv7rs               t_ a>   7     78        -&grefc>220/aalitos.c#L92220s9id_t5lk-&grefc>220/a>      s9id_t5lk-&gre   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2chae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       head_t5lk21" c>21" a21_Mhead_t5lk_ a>2213220 c>220/a>      kz aloc         h7          7 typto220*               7.c#L978chypa_    . hrefhash21digest209id="Ls9id_t5lk-&grefc>220/a>      s9id_t5lk-&gre   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2chae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       tg">_t5lk21" c>21" a21_Mtg">_t5lk_ a>2213220 c>220/a>      kz aloc         h7 22134*   7an>switch (              7t_ a>7821init       a href="drifc>220/a>      kfre="line" 7&qu2     57CK_2IZEcl5ss="sref">chAES7BLO2K78a>         h     >_ a>2213;ass="line" name7        h 7   >_ a>2213-&grefc>220/a7     78efc>220/a>      202imodulo"l c carqalit[1])ass="line" name="L5021" c>21" a2=ifo_lee="L10220 carq_ofifo_lee" nass=h   ucte       9oundup_powIGEStwo21" c>21" a21_M9oundup_powIGEStwo"srefref="6="sref">c09id="L10220 carq_of_parse_and_map&quo(        chfifo_lee="L10220 carq_ochfifo_lee" na2213220 c>220/a>      kz aloc         h7         h7>                      -&7refc>78     chan         h     chanalit[         7          7      -&grefc>220/a>     7202ia7s="line" name=foral         pnam20lass="line" name="L52HDRin-lito64href=lasslass="line" name="L52 <n-lito64href=lass09id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" nan-lito64href=lasslass="line" name="L52++uo, 0);ass="1" 3   ucte analit[         7 >21" a21_7e" name="L4202i blkcipher7     78a21_MDE5h="drZEcla5SHL922156id="L10lass="line" name="L5021" c>21" a21_MDE6 ="drZEclchae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       fifo="L10220 carq_ofifo" nass=ap&quo(        s5|a href="drivers/cr2pto/t5litos571" c>ass="line" name="L5021" c>21" a9iquest>"6uhref="drivers/9iquest" nauo*5s-lit56ef="dass="line" name="L5021" 7her"line" 7ame="L4202i blkcipher    7   . 78TSUPP2213);ass="line""""""""""""""""""""""""""""""   202imodulo"l c carqalit[1])ass="line" name="L5021" c>21" a2=ifo_lee="L10220 carq_ofifo_lee" nac575ZEa>(<,a hre               t_ a>         h     >_ a>2213220 c>220/a>      kz aloc         h7her"line" 7ame="L4202i blkcipher    7   . 78"""""""""""""""""""""    f_parse_and_map209id="L10220 carq_of_parse_and_map&quo(        chae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       fifo="L10220 carq_ofifo" nauo, 0);ass="1" 3   ucte analit[         7refc>220/a7      202i blkcipher"line7 name79        -&grefc>220/a""""""""   202imodulo"l pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  o/t5late 9iquest fifoO_6 . href="+code=chd"2c_hdm6templ62hrelass="line" name="L522213220 c>220/a>      kz aloc         h7220       7             sha22 eseqiv7="sre79 -&grefc>220/a>      202iypto" name="L5021" rvd92a209id="L10220 clav_e/tev209id="L10220 c     h     >_ a>2213)ass="line213220 c>220/a>      kz aloc         h7"L5021" c>71" a21_MDE5_CBC2>(< |5 hr7f="dr7921init               init&quogo2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 7        h 7   >_ a>2213-&grefc>220/a7     79.c65="L1022" clasif (a href="drifc>220/a>      kfre="line" 7a>        7             -&grefc>220/7>    79nam209id="L10="drivers/cr2pto/t6litos65< |a href="+7     a>   7                  -&grefc7220/a79     chan         h     chanalit[         7          7      202iaead         h 7   2079="line" name=foral         pnam20lass="line" name="L52HDRin-lito64href=lasslass="line" name="L52 <n-lito64href=lass09id="L10220 carq_of_parse_and_map&quo(        num_channels1021" class=    um_channels" nan-lito64href=lasslass="line" name="L52++uchan         h     chanalit[         7 >21" a21_7   h     202iaead        7 href79a21_MDE5h="drZEcla5SHL922156id="L10latomic_MDEass="line" nameatomic_MDE   5e      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2chae="L10220 carq_ochae" na[lito64href=lasslass="line" name="L52] h   ucte       submit_counefc>220/a>      submit_counelit[0chan         h     chanalit[         7 er"line" 7  202i ead         h     702iae79TSUPP2213);ass="line""""""""""""-fref="6="sref">c09id="L10220 carq_of_parse_and_map&quo(        chfifo_lee="L10220 carq_ochfifo_lee" na -=1! d5s-lit56ef="dass="line" name="L5021" 7 er"line" 7  202i ead         h     702iae7909id="L10220 caounmap&quo(               p8 202i ead 8       h     202iaead    8   . 80 reg209id="L10220 cre>2213);dma_MDE5mSYNCa>(TALITOS_CRAdma_MDE5mSYN&grefc>220/a>      irq209id="L10220 carqalit[0])>220/a>      iDMA_BIT_MAS|a href="driversDMA_BIT_MAS|&gref36! d5s-lit56ef="dass="line" name="L5021" 8&grefc>2208a>      202i ead         8     80"L10220 clav_set_drvd92a&quo(             8          8   sha22 <built-in&gre8="sre8021init       14"a>   /* reMDE anquaeiti   ze the h/w */rivers/dr21" c>21" 3   ucte               de8&3        8   >_ a>2213-&grefc>220/a8/cryp803reg209id="L10220 cre>2213);rvd92a209id="L10220 clav_e/talitos.c#L92220aeit_e" name="L5021" c>21"aeit_e" nam&grefc>220/a>      irq209id="L10220 carqalit[ d5s-lit56ef="dass="line" name="L5021" 8&4        8             -&grefc>220/8efhas804 a2_ a>_ alo    0220 cre>2213);rvd92a209id="L10220 clav_uo, 0);ass="1" 3   ucte analit[         8          8           -&grefc>220/a>8     802iinit               50a_init&quo220 pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  aeiti   ze e" nam 2ref="6rivers/crypto/talit2s.c#L62215465IZEa>(<,a hre8   a>     8                -&grefc>280/a> 80" nain |a hr
<,a hreago2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 8 7 a>     8   h     202iaead        8     80. hrefhash21sa href="drifc>220/a>      kfre="line" 8          8. hrefhash218 a>         8ashef80ref="dr21" c>21" 3   ucte               de8 9        8. 202i ead         h     8   ha80="L9322KERN_DR4"a>   /* register the RNG,o   avg">abl  */rivers/dr21" c>21" 3   ucte               de8          8    . hrefhash218 a>     8   ha812sref"53rypt5/tal         pnam20hw_supportsL4dev_err |a ( hw_supports&grefc>220/a>      irq209id="L10220 carqalit[0])>220/a>      iDESC_HDR_SEL0_RNGa href="driversDESC_HDR_SEL0_RNGlav_uuo, 0);ass="1" 3   ucte analit[         8          8. hrefhash218 a>         8ashef81chypa_    . hrefhash21digest209id="Lrvd92a209id="L10220 clav_e/talitos.c#L92220drivers/9igister_r20 caypto],>     drivers/9igister_r20&grefc>220/a>      irq209id="L10220 carqalit[ d5s-lit56ef="dass="line" name="L5021" 8          8. hrefhash218 a>         8ashef8121init                   0220 cre>2213);rvd92a209id="L10220 clav_uo, 0);ass="1" 3   ucte analit[         8setkey&quo820 c>220/a>       ">ch_se8key  81.c65="L1022" clasif (init&quo50a_init&quo220 pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qu2  register hwr20:O_6 . href="+code=chd"2c_hdm6templ62hrervd92a209id="L10220 clav_ud5s-lit56ef="dass="line" name="L5021" 8 4        8to-&grefc>220/a>      fea8ur"PT81a>t                  <,a hreago2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 8trncmp |a 8                a>       8     8        -&grefc>220/a>} else5s-lit56ef="dass="line" name="L5021" 8t  a>     8(<,a href="drivers/c6ypto861922856id="L1021ne" nain |a hr     50a_init&quo220 pnainfo="L10220 carq_o pnainfo&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   (<,a hre8os.c#L922186e6">chA61<,a href="drive8s/cry81. hrefhash21sa href="drifc>220/a>      kfre="line" 8t         8       ENOTSUPP"line" nam8="L4E81ref="dr21" c>21" 3   ucte               de8t9        80/a>      featur"PTO_ALG_8SYNCa81="L9322KERN_DR4"a>   /* register te     algorithms the fdev"L supports */rivers/dr21" c>21" 3   ucte               de8cstrcmp |a8(                a>      8     8         -&greforal         pnam20lass="line" name="L52HDRin-lito64href=lasslass="line" name="L52 <n-lito64href=lassARRAY_SIZEa href="driversARRAY_SIZE&grefc>220/a>      ir 3   _algs09id="L10220 car 3   _algslav_ud-lito64href=lasslass="line" name="L52++uo, 0);ass="1" 3   ucte analit[         8 |a (     8          a>             8     8  -&grefc>220/a>      /tal         pnam20hw_supportsL4dev_err |a ( hw_supports&grefc>220/a>      irq209id="L10220 carqalit[0])>220/a>      ir 3   _algs09id="L10220 car 3   _algslav_[lito64href=lasslass="line" name="L52] h   ucte       rq-hmhdr_tem" c>me="L5021" c>21"rq-hmhdr_tem" c>mlav_uuo, 0);ass="1" 3   ucte analit[         8c         8     hashef">chypa_    . 8refha8221init               init&quoss="line" name="L5021" c>21" ace ana_alg caypto],>     drivers/ce ana_alg1initode209id="L10220t_alg caypto],>     d_alg1inirypto/talit2s.c#L62215465IZEa>(<,a hre8220/a>    8 >_ a>         h     >_ a82213-82.c65="L1022" clasif (init&quochar>220/a>      dev20   1021" class=       lav_e/talitos.c#L92220NUL     t_ a>      NUL e=_irypto/talit2s.c#L62215465IZEa>(<,a hre824        8,a href="drivers/crypt
<,8 hrea82a>t                  <,a hreaalitos.c#L92220bool>"6uhref="bool>t   L922156id="L10lauthenref="drivers/cr2authenrlav_e/talitos.c#L92220false="L10220 carq_ofalsee=_irypto/talit2s.c#L62215465IZEa>(<,a hre82rncmp |a 8ef">chCRYPTO_AL2_TYPE6AEA8a62< 82     chan         h     chanalit[         821" class=8li2e" na6e="L262922156id=8L102182a hreL922156id="L10lauthenrese="L10220 carq_oauthenrese hree="L5021" c>21" a21_MDE6tos.cDIGES6_SI8EU_SHA2SHA812_HMAC="+cod="+coeDESMOD80RMDE82SHA2SH&quo;ass="line"" clasifde209id="L10220t_alg caypto],>     d_alg1inie/talitos.c#L92220drivers/ lg_|a href="drivers/cr2drivers/ lg_|a hr&grefc>220/a>      irq209id="L10220 carqalit[0]      irq209id="L102r 3   _algs09id="L10220 car 3   _algslav_[lito64href=lasslass="line" name="L52]crypto/talit2s.c#L62215465IZEa>(<,a hre8ef">chDES38EDE2BLOCK6SIZEa62<,a href8"driv82TSUPP2213);ass="line"a>      /tal         pnam20IS_ERRass="line" nameIS_ERR&grefc>220/a>      it_alg caypto],>     d_alg1iniuuo, 0);ass="1" 3   ucte analit[         8c9        8f">c2SHA386_DIGE6T_SIZEa>8<,a h8ef="dribreak;ass="lines="line"" clasifde209id="L10220rvd92a209id="L10220 clav_e/talitos.c#L92220PTR_ERRass="line" namePTR_ERR&grefc>220/a>      it_alg caypto],>     d_alg1iniurypto/talit2s.c#L62215465IZEa>(<,a hre8%d\ns=8sref">chcp, fc>220/a>    8 >_ a8         h     >_ a>22s="line"a>      /tal         pnam20rvd92a209id="L10220 clav_e//tev209id="L10220 c  TSUPPh     >_ a>2213)asTSUPP1iniuypto/talit2s.c#L62215465IZEa>(<,a hre8&|a (     8="sref">2hDESC6HDR_T6PE_I8SEC_E83 -&grefc>220/a>      202iypto                continuerypto/talit2s.c#L62215465IZEa>(<,a hre8&         8uo(-               EINVAL809id=8321init               init&quo" clasifgo2  656< |a 65vers60 c_ou"L4dev_err |a ( 0 c_ou"IGESd5s-lit56ef="dass="line" name="L5021" 8c>21" a21_8DE6Dnc(2mac(s6rs/crypto/t8litos83.c65="L1022" clasif (init&quoa href="drifc>220/a>      kfre="line" 8          8     a>                  8   -&83nam205s-lit56ef="dass="line" name="L5021" 8          8       -&grefc>220/a>    8 202i83       -&grefc>220/a>>>>>>>>>switchal         pnam20t_alg caypto],>     d_alg1iniame="L5021" c>21" a2alg0/a>       a>t   lg"IGES h   ucte       type="L10220 carq_otypelav_uo, 0);ass="1" 3   ucte analit[         8_S6|a href8"drivers/cr2pto/t6litos638ZEa>(836id="L1021ne" nain |a        case 656< |a 65vers6CRYPTO_ALG_TYPE_ABLKCIPHERass="line" nameCRYPTO_ALG_TYPE_ABLKCIPHER hree="L5021" c>21" a21_MDE6tos.cDIGES6_SI8>         8            -&grefc>220/a8     83SHA2SH&quo;ass="line"" clasifcase 656< |a 65vers6CRYPTO_ALG_TYPE_A="dr5vers/crypto/tCRYPTO_ALG_TYPE_A="d hree="L5021" c>21" a21_MDE6tos.cDIGES6_SI8>f">chDES38grefc>220/a>      202ifla8PTO_A83TSUPP2213);ass="line"""""""""""""""""de209id="L10220rvd92a209id="L10220 clav_e/talitos.c#L92220ce ana_9igister_alg caypto],>     ce ana_9igister_alg&gref="L5021" c>21" a21_MDE6tos.cDIGES6_SI8>9        8RN_DRIVER_ONLYTO_ALG_ASYN8a>(na83f="dribreak;ass="lines="line"" clasifffffffffffffffff      irq209id="L102t_alg caypto],>     d_alg1iniame="L5021" c>21" a2alg0/a>       a>t   lg"IGES h   ucte       alg caypto],>     alg1ini h   ucte       _MDE6t caypto],>     ce ana1iniurypto/talit2s.c#L62215465IZEa>(<,a hre8ref="63>
<863href="drivers          8    t84        -&grefc>220/a""""""""""""""""de209id="L102200   1021" class=       lav_e/talitos.c#L92220t_alg caypto],>     d_alg1iniame="L5021" c>21" a2alg0/a>       a>t   lg"IGES h   ucte       alg caypto],>     alg1ini h   ucte       _MDE6t caypto],>     ce ana1ini h   ucte       _Ma_r 3   _0   1021" class=   _Ma_r 3   _0   IGESd5s-lit56ef="dass="line" name="L5021" 8   dev209i8="L10220 clavypto220fc>228/a>  84 -&grefc>220/a>      202iypto        L922156id="L10lauthenref="drivers/cr2authenrlav_e/talitos.c#L92220authenref="drivers/cr2authenrlav_e?   202iypto"line"authenref="drivers/cr2authenrlav_ee="L5021" c>21" a21_MDE6tos.cDIGES6_SI841id=640218 ass="line" name="L5021" 8>21" 8421init               init&quo" clasif ((((((((( l         pnam20bool>"6uhref="bool>t  )Pa>((220/a>      i0   1021" class=       lav_0])4"a>   (<,a hre8r>21" a21_8class="lreturn           8    t84.c65="L1022" clasif (init&quo" clasifbreakrypto/talit2s.c#L62215465IZEa>(<,a hre8r         81" a21_MDE6eg">2quot;6uth8nc-hm84a>t                          case 656< |a 65vers6CRYPTO_ALG_TYPE_AHASHr5vers/crypto/tCRYPTO_ALG_TYPE_AHASH hree="L5021" c>21" a21_MDE6tos.cDIGES6_SI8          8L10220 c>21" a2_pnob=_irq8quo( 84       -&grefc>220/a>>>>>>>>>        L922156id="L10lrvd92a209id="L10220 clav_e/talitos.c#L92220ce ana_9igister_ahas">"6uhref="ce ana_9igister_ahas"&gref="L5021" c>21" a21_MDE6tos.cDIGES6_SI8220 cnamef8rm_devic222134*          8    o846id="L1021ne" nain |a                                      irq209id="L102t_alg caypto],>     d_alg1iniame="L5021" c>21" a2alg0/a>       a>t   lg"IGES h   ucte       alg caypto],>     alg1ini h   ucte       has">"6uhref="has"&greurypto/talit2s.c#L62215465IZEa>(<,a hre8r         8vic2alito*               8ev20984SHA2SH&quo;ass="line"" clasif        L922156id="L10l0   1021" class=       lav_e/ypto/talit2s.c#L62215465IZEa>(<,a hre8rf">chDES38np&quo220 c>220/a>      o8dev2084TSUPP2213);ass="line""" clasif        L922156id="L10lt_alg caypto],>     d_alg1iniame="L5021" c>21" a2alg0/a>       a>t   lg"IGES h   ucte       alg caypto],>     alg1ini h   ucte       has">"6uhref="has"&gre h   ucte       halg caypto],>     halg1ini h   ucte       base="L10220 carq_obase1ini h   ucte       _Ma_r 3   _0   1021" class=   _Ma_r 3   _0   IGESd5s-lit56ef="dass="line" name="L5021" 8 9        8           pnam209id="L10820 cp84f="dribreak;ass="lines="line"" clasifbreakrypto/talit2s.c#L62215465IZEa>(<,a hre8="L10220 c8avypto);ass="line" name="85021"85        -&grefc>220/a""""""""a href="drifc>220/a>      kfre="line" 82c_hdm6tem8l64href="driversinte     8     85 -&grefc>220/a>                  0220 cre>2213);rvd92a209id="L10220 clav_uo, 0);ass="1" 3   ucte analit[         80/a>      8rq209id="L10220 carqalit[8]220 8521init               " clasif        L922156id="L10l pnam209id="L10220 cpnamypto-&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   &qref="+code=chd"2 0);ass="1" 3   ucte analit[         80>21" a21_8ot;6 href="drivers/cryp2o8tal6t8s.c65="L1022" clasif (        " clasif        L922156id="L10l0   1021" class=       lav_urypto/talit2s.c#L62215465IZEa>(<,a hre8="drive   8           dev_err"line" 8ame="84dev_err |a (         " clasif        L922156id="L10lkfre 1021" class=   kfre &grefc>220/a>      it_alg caypto],>     d_alg1iniurypto/talit2s.c#L62215465IZEa>(<,a hre8;ass="line8 name="L5021" c>21" a21_M8E6a_A85       -&grefc>220/a>>>>>>>>>} elseo, 0);ass="line" name="L5021" c>21" a218ode=deCRre8urn -               EINVA8209id856id="L1021ne" nain |a                c>220/a>      iti20_add_tg"> caypto],>     ti20_add_tg">&gref      irq209id="L102t_alg caypto],>     d_alg1iniame="L5021" c>21" a2entrTO_ALG_ASYNCa>(TentrTlit[0]      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2alg_ti20/a>       a>t   lg_ti20e=_irq209id="L10220 cfre=_irq&quo(         8c>21" a21_8DE6a_DIGEST_S6 href="driv8rs/cr85SHA2SH&quo;ass="line"" clasif            0220 cre>2213);authenref="drivers/cr2authenrlav_uo, 0);ass="1" 3   ucte analit[         80f">chDES380 c>220/a>      lav_get_d8vd3t585TSUPP2213);ass="line"""""""""""""""""""""""""ss="line" name="L5021"ce ana_alg caypto],>     ce ana_alg1initode209id="L10220alg caypto],>     alg1inie/ypto/talit2s.c#L62215465IZEa>(<,a hre8;class="sr8      alg1iniand_map&quo(        cMa_0   1021" class=   _Ma_0   IGESd5s-lit56ef="dass="line" name="L5021" 8"/a>      8L10220 clavypto,>        8     8621init               init&quo" clasif (222222de209id="L10220memmov 1021" class=   memmov &grefc>220/a>      i0   1021" class=       lav_H+6500])>220/a>      i0   1021" class=       lav_H+672 0);ass="1" 3   ucte analit[         8"DE6ag">2q8E5DE_B2OCK_S5ZEclass="sre8">chD86.c65="L1022" clasif (init&quo" clasif (clasif (222222de209id="L10220ss=lee="L10220 carq_oss=lee&grefc>220/a>      i0   1021" class=       lav_) -c7urypto/talit2s.c#L62215465IZEa>(<,a hre8re="line" 8ame="L4kfre=&quo(        8     86dev_err |a (         " clasif         (222222de209id="L10220memcpTO_ALG_ASYNCa>(TmemcpT&grefc>220/a>      i0   1021" class=       lav_H+670])4"a>   (<,a hre8rass="line8ref="5="sref">chCRYPTO_AL8_TYPE86     chan         h     chanalit[         8rde=deCRre8clas5d="L1021" class="li28" na5866id="L1021ne" nain |a hr              (222222de209id="L102200   1021" class=       lav_e/talitos.c#L92220alg caypto],>     alg1iniand_map&quo(        cMa_r 3   _0   1021" class=   _Ma_r 3   _0   IGESd5s-lit56ef="dass="line" name="L5021" 8 >21" a21_81" a21_MDE5Dc#L2221"65s="8ref">86SHA2SH&quo;ass="line"" clasif         (222222de209id="L10220memmov 1021" class=   memmov &grefc>220/a>      i0   1021" class=       lav_H+6500])>220/a>      i0   1021" class=       lav_H+672 0);ass="1" 3   ucte analit[         8"f">chDES381" a2_ a>_ aloc         h8    >86TSUPP2213);ass="line"s="line"" clasif         (222222de209id="L10220ss=lee="L10220 carq_oss=lee&grefc>220/a>      i0   1021" class=       lav_) -c7urypto/talit2s.c#L62215465IZEa>(<,a hre8rclass="sr8dm56hlyp56talitos.c#L92218 id="8""""""""""""""""""""""" clasif         (222222de209id="L10220memcpTO_ALG_ASYNCa>(TmemcpT&grefc>220/a>      i0   1021" class=       lav_H+670])4"a>   (<,a hre8   2     58C_ESPclass="sref">2hDESC58iver5872sref209id="L10220 cfre=_irq&quo(         8__________8________*               t8c#L9287chypa_    . hrefhash2222222222222222222222222go2  656< |a 65vers6authenrese="L10220 carq_oauthenrese hrerypto/talit2s.c#L62215465IZEa>(<,a hre8 /a>      8           pnam209id="L10820 cp8721init               init&quo" clasifa href="drifc>220/a>      kfre="line" 8ers/cryp2o8tal5tos.c57.c"span> 8 ucte87.c65="L1022" clasif (init&quoa href="drifc>220/a>      kfre="line" 8a 2ref="5r8vers/crypto/talit2s.c#L5281745787a>t                  a href="drifc>220/a>      kfre="line" 8aass="line8    5021" _ a>22134*     8     872iinit       a href="drifc>220/a>      kfre="line" 8ade=deCRre8&quo( 220of(   ucte      8     87" nain |a hr
    f_parse_and_map2ti20_empETO_ALG_ASYNCa>(Tti20_empET&gref      irq209id="L10220 carqalit[1])ass="line" name="L5021" c>21" a2alg_ti20/a>       a>t   lg_ti20e=_iruypto/talit2s.c#L62215465IZEa>(<,a hre8_>21" a21_8o);ass="line" name="L50218 c>2187SHA2SH&quo;ass="line"L922156id="L10l pnainfo="L10220 carq_o pnainfo&grefc>220/a>      irq209id="L10220 carqalit[0])4"a>   (<87TSUPP2213);ass="line"s="line""(char>2)Pa>((<02_="d2 co9erETO_ALG_ASYNCa>(T02_="d2 co9erET"srefref="6="sref">c"L1021" class=           )4"a>         NUL e=_irurypto/talit2s.c#L62215465IZEa>(<,a hre8 class="sr8ERR_PTR&quo(-            8  ENO8709id="L10220 caounmap&quo(               p8href="driv8rs               t_ a>   8     88        -&grereturn 0rypto/talit2s.c#L62215465IZEa>(<,a hre8          8 typto220*               8.c#L988"L10220 clav_set_drvd92a&quo(             8 22134*   8an>switch (              8t_ a>8821ini0220 cre>2213);rvd_ou"L4dev_err |a ( 0 c_ou"IGESe="L5021" c>21" a21_MDE6tos.cDIGES6_SI8&qu2     58CK_2IZEcl5ss="sref">chAES8BLO2K883reg209id="L10220 cre>2213);drivers/9imov 1021" class=   drivers/9imov "srefref="6="sref">cofrq209id="L10220 caofrq2e=_irq209id="L10220 cfre=_irq&quo(         8        h 8   >_ a>2213-&grefc>220/a8     88nam205s-lit56ef="dass="line" name="L5021" 8         h8>                      -&8refc>885       -&grereturn 0220 cre>2213);rvd92a209id="L10220 clav_q209id="L10220 cfre=_irq&quo(         8 de=deCRre8      -&grefc>220/a>     8202ia8s="lina href="drifc>220/a>      kfre="line" 8 >21" a21_8e" name="L4202i blkcipher8     88l&quo(&               pnam209id="L10228her"line" 8ame="L4202i blkcipher    8   . 88TSUPPstatic const"ss="line" name="L5021"GESfdev"L1idO_ALG_ASYNCa>(T02_fdev"L1id     0220 cre>2213);drivers/matc">"6uhref="drivers/matc"lav_[]e/t, 0);ass="1" 3   ucte analit[         8her"line" 8ame="L4202i blkcipher    8   . 88""""""""""""", 0);ass="1" 3   ucte analit[         8refc>220/a8      202i blkcipher"line8 name89        -&grefc>220/a h   ucte       _ompatib"drivers/crypto2tcompatib"d"sree/ta4"a>   (< |5 hr8f="dr8921init       {}2 0);ass="1" 3   ucte analit[         82qu2     58   >_ a>2213-&grefc>220/a8     89.c65=}q209id="L10220 cfre=_irq&quo(         8a>        8             -&grefc>220/8>    89nam20h   ucte       MODULE_DEVICE_TABLEa href="driversMODULE_DEVICE_TABLE"srefref="6="sref">cofO_ALG_ASYNCa>(T02      )220 cre>2213);drivers/matc">"6uhref="drivers/matc"lav_rq209id="L10220 cfre=_irq&quo(         8     a>   8                  -&grefc8220/a89     chan         h     chanalit[         8          8      202iaead         h 8   2089="linstatic ss="line" name="L5021"" c>form_r 3   arqalit[1])ass=" c>form_r 3        0220 cre>2213);drivers/r 3   arqalit[1])ass=drivers/r 3   "sree/t, 0);ass="1" 3   ucte analit[         8r>21" a21_8   h     202iaead        8 href89a21_MDE5h="dr h   ucte       r 3   arqalit[1])ass=r 3   "sree/t, 0);ass="1" 3   ucte analit[         8rer"line" 8  202i ead         h     802iae89TSUPP2213);ass="line" h   ucte       0   1021" class=       lav_e/ta4"a>   220/a h   ucte       02_matc"_tab"drivers/crypto2tGESmatc"_tab"dlav_e/talitos.c#L92220drivers/matc">"6uhref="drivers/matc"lav_  0);ass="1" 3   ucte analit[         9 102i ead 9             sha22 eseqiv9     90 -&grefc>220/}2 0);ass="1" 3   ucte analit[         9          9   sha22 <built-in&gre9="sre9021init        h   ucte        cobdrivers/crypto2t cobdlav_e/talitos.c#L92220drivers/ cobdrivers/crypto2tdrivers/ cobdlav_  0);ass="1" 3   ucte analit[         9 3        9   >_ a>2213-&grefc>220/a9/cryp903reg209id="L1 h   ucte       9imov 1021" class=   9imov "sree/talitos.c#L92220drivers/9imov 1021" class=   drivers/9imov "sre  0);ass="1" 3   ucte analit[         9 4        9             -&grefc>220/9efhas904 a2_}q209id="L10220 cfre=_irq&quo(         9          9           -&grefc>220/a>9     90     chan         h     chanalit[         9   a>     9                -&grefc>290/a> 90a hreL922156id="L10lmodule_" c>form_r 3   arqalit[1])ass=module_" c>form_r 3   &grefc>220/a>      itrivers/r 3   arqalit[1])ass=drivers/r 3   "srerq209id="L10220 cfre=_irq&quo(         9 7 a>     9   h     202iaead        9     90l&quo(&               pnam209id="L10229          9. hrefhash218 a>         9ashef90ref="h   ucte       MODULE_LICENSEa href="driversMODULE_LICENSE&grefc4"a>   (<,a hre9 9        9. 202i ead         h     9   ha90="L93h   ucte       MODULE_AUTHORass="line" nameMODULE_AUTHOR&grefc4"a>      (<,a hre9 102i ead 9. hrefhash218 a>         9ashef91chypa


The origshal LXR software by the pto/talithttp://sourceforge.net/projects/lx a>LXR communitTlit[0]this experimental c#L6io> by pto/talitmailto:lx @18 ux.no">lx @18 ux.no1ini
lx .18 ux.no kindly hosted by pto/talithttp://www.redpill-18 pro.no">Redpill L8 pro ASlit[0]provider of L8 ux consultass anquo9eratio>s serev"Ls since 1995.