linux/drivers/crypto/n2_core.c
<<
>>
Prefs
   1/* n2_core.c: Niagara2 Stream Processing Unit (SPU) crypto support.
   2 *
   3 * Copyright (C) 2010, 2011 David S. Miller <davem@davemloft.net>
   4 */
   5
   6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
   7
   8#include <linux/kernel.h>
   9#include <linux/module.h>
  10#include <linux/of.h>
  11#include <linux/of_device.h>
  12#include <linux/cpumask.h>
  13#include <linux/slab.h>
  14#include <linux/interrupt.h>
  15#include <linux/crypto.h>
  16#include <crypto/md5.h>
  17#include <crypto/sha.h>
  18#include <crypto/aes.h>
  19#include <crypto/des.h>
  20#include <linux/mutex.h>
  21#include <linux/delay.h>
  22#include <linux/sched.h>
  23
  24#include <crypto/internal/hash.h>
  25#include <crypto/scatterwalk.h>
  26#include <crypto/algapi.h>
  27
  28#include <asm/hypervisor.h>
  29#include <asm/mdesc.h>
  30
  31#include "n2_core.h"
  32
  33#define DRV_MODULE_NAME         "n2_crypto"
  34#define DRV_MODULE_VERSION      "0.2"
  35#define DRV_MODULE_RELDATE      "July 28, 2011"
  36
  37static char version[] __devinitdata =
  38        DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n";
  39
  40MODULE_AUTHOR("David S. Miller (davem@davemloft.net)");
  41MODULE_DESCRIPTION("Niagara2 Crypto driver");
  42MODULE_LICENSE("GPL");
  43MODULE_VERSION(DRV_MODULE_VERSION);
  44
  45#define N2_CRA_PRIORITY         200
  46
  47static DEFINE_MUTEX(spu_lock);
  48
  49struct spu_queue {
  50        cpumask_t               sharing;
  51        unsigned long           qhandle;
  52
  53        spinlock_t              lock;
  54        u8                      q_type;
  55        void                    *q;
  56        unsigned long           head;
  57        unsigned long           tail;
  58        struct list_head        jobs;
  59
  60        unsigned long           devino;
  61
  62        char                    irq_name[32];
  63        unsigned int            irq;
  64
  65        struct list_head        list;
  66};
  67
  68static struct spu_queue **cpu_to_cwq;
  69static struct spu_queue **cpu_to_mau;
  70
  71static unsigned long spu_next_offset(struct spu_queue *q, unsigned long off)
  72{
  73        if (q->q_type == HV_NCS_QTYPE_MAU) {
  74                off += MAU_ENTRY_SIZE;
  75                if (off == (MAU_ENTRY_SIZE * MAU_NUM_ENTRIES))
  76                        off = 0;
  77        } else {
  78                off += CWQ_ENTRY_SIZE;
  79                if (off == (CWQ_ENTRY_SIZE * CWQ_NUM_ENTRIES))
  80                        off = 0;
  81        }
  82        return off;
  83}
  84
  85struct n2_request_common {
  86        struct list_head        entry;
  87        unsigned int            offset;
  88};
  89#define OFFSET_NOT_RUNNING      (~(unsigned int)0)
  90
  91/* An async job request records the final tail value it used in
  92 * n2_request_common->offset, test to see if that offset is in
  93 * the range old_head, new_head, inclusive.
  94 */
  95static inline bool job_finished(struct spu_queue *q, unsigned int offset,
  96                                unsigned long old_head, unsigned long new_head)
  97{
  98        if (old_head <= new_head) {
  99                if (offset > old_head && offset <= new_head)
 100                        return true;
 101        } else {
 102                if (offset > old_head || offset <= new_head)
 103                        return true;
 104        }
 105        return false;
 106}
 107
 108/* When the HEAD marker is unequal to the actual HEAD, we get
 109 * a virtual device INO interrupt.  We should process the
 110 * completed CWQ entries and adjust the HEAD marker to clear
 111 * the IRQ.
 112 */
 113static irqreturn_t cwq_intr(int irq, void *dev_id)
 114{
 115        unsigned long off, new_head, hv_ret;
 116        struct spu_queue *q = dev_id;
 117
 118        pr_err("CPU[%d]: Got CWQ interrupt for qhdl[%lx]\n",
 119               smp_processor_id(), q->qhandle);
 120
 121        spin_lock(&q->lock);
 122
 123        hv_ret = sun4v_ncs_gethead(q->qhandle, &new_head);
 124
 125        pr_err("CPU[%d]: CWQ gethead[%lx] hv_ret[%lu]\n",
 126               smp_processor_id(), new_head, hv_ret);
 127
 128        for (off = q->head; off != new_head; off = spu_next_offset(q, off)) {
 129                /* XXX ... XXX */
 130        }
 131
 132        hv_ret = sun4v_ncs_sethead_marker(q->qhandle, new_head);
 133        if (hv_ret == HV_EOK)
 134                q->head = new_head;
 135
 136        spin_unlock(&q->lock);
 137
 138        return IRQ_HANDLED;
 139}
 140
 141static irqreturn_t mau_intr(int irq, void *dev_id)
 142{
 143        struct spu_queue *q = dev_id;
 144        unsigned long head, hv_ret;
 145
 146        spin_lock(&q->lock);
 147
 148        pr_err("CPU[%d]: Got MAU interrupt for qhdl[%lx]\n",
 149               smp_processor_id(), q->qhandle);
 150
 151        hv_ret = sun4v_ncs_gethead(q->qhandle, &head);
 152
 153        pr_err("CPU[%d]: MAU gethead[%lx] hv_ret[%lu]\n",
 154               smp_processor_id(), head, hv_ret);
 155
 156        sun4v_ncs_sethead_marker(q->qhandle, head);
 157
 158        spin_unlock(&q->lock);
 159
 160        return IRQ_HANDLED;
 161}
 162
 163static void *spu_queue_next(struct spu_queue *q, void *cur)
 164{
 165        return q->q + spu_next_offset(q, cur - q->q);
 166}
 167
 168static int spu_queue_num_free(struct spu_queue *q)
 169{
 170        unsigned long head = q->head;
 171        unsigned long tail = q->tail;
 172        unsigned long end = (CWQ_ENTRY_SIZE * CWQ_NUM_ENTRIES);
 173        unsigned long diff;
 174
 175        if (head > tail)
 176                diff = head - tail;
 177        else
 178                diff = (end - tail) + head;
 179
 180        return (diff / CWQ_ENTRY_SIZE) - 1;
 181}
 182
 183static void *spu_queue_alloc(struct spu_queue *q, int num_entries)
 184{
 185        int avail = spu_queue_num_free(q);
 186
 187        if (avail >= num_entries)
 188                return q->q + q->tail;
 189
 190        return NULL;
 191}
 192
 193static unsigned long spu_queue_submit(struct spu_queue *q, void *last)
 194{
 195        unsigned long hv_ret, new_tail;
 196
 197        new_tail = spu_next_offset(q, last - q->q);
 198
 199        hv_ret = sun4v_ncs_settail(q->qhandle, new_tail);
 200        if (hv_ret == HV_EOK)
 201                q->tail = new_tail;
 202        return hv_ret;
 203}
 204
 205static u64 control_word_base(unsigned int len, unsigned int hmac_key_len,
 206                             int enc_type, int auth_type,
 207                             unsigned int hash_len,
 208                             bool sfas, bool sob, bool eob, bool encrypt,
 209                             int opcode)
 210{
 211        u64 word = (len - 1) & CONTROL_LEN;
 212
 213        word |= ((u64) opcode << CONTROL_OPCODE_SHIFT);
 214        word |= ((u64) enc_type << CONTROL_ENC_TYPE_SHIFT);
 215        word |= ((u64) auth_type << CONTROL_AUTH_TYPE_SHIFT);
 216        if (sfas)
 217                word |= CONTROL_STORE_FINAL_AUTH_STATE;
 218        if (sob)
 219                word |= CONTROL_START_OF_BLOCK;
 220        if (eob)
 221                word |= CONTROL_END_OF_BLOCK;
 222        if (encrypt)
 223                word |= CONTROL_ENCRYPT;
 224        if (hmac_key_len)
 225                word |= ((u64) (hmac_key_len - 1)) << CONTROL_HMAC_KEY_LEN_SHIFT;
 226        if (hash_len)
 227                word |= ((u64) (hash_len - 1)) << CONTROL_HASH_LEN_SHIFT;
 228
 229        return word;
 230}
 231
 232#if 0
 233static inline bool n2_should_run_async(struct spu_queue *qp, int this_len)
 234{
 235        if (this_len >= 64 ||
 236            qp->head != qp->tail)
 237                return true;
 238        return false;
 239}
 240#endif
 241
 242struct n2_ahash_alg {
 243        struct list_head        entry;
 244        const char              *hash_zero;
 245        const u32               *hash_init;
 246        u8                      hw_op_hashsz;
 247        u8                      digest_size;
 248        u8                      auth_type;
 249        u8                      hmac_type;
 250        struct ahash_alg        alg;
 251};
 252
 253static inline struct n2_ahash_alg *n2_ahash_alg(struct crypto_tfm *tfm)
 254{
 255        struct crypto_alg *alg = tfm->__crt_alg;
 256        struct ahash_alg *ahash_alg;
 257
 258        ahash_alg = container_of(alg, struct ahash_alg, halg.base);
 259
 260        return container_of(ahash_alg, struct n2_ahash_alg, alg);
 261}
 262
 263struct n2_hmac_alg {
 264        const char              *child_alg;
 265        struct n2_ahash_alg     derived;
 266};
 267
 268static inline struct n2_hmac_alg *n2_hmac_alg(struct crypto_tfm *tfm)
 269{
 270        struct crypto_alg *alg = tfm->__crt_alg;
 271        struct ahash_alg *ahash_alg;
 272
 273        ahash_alg = container_of(alg, struct ahash_alg, halg.base);
 274
 275        return container_of(ahash_alg, struct n2_hmac_alg, derived.alg);
 276}
 277
 278struct n2_hash_ctx {
 279        struct crypto_ahash             *fallback_tfm;
 280};
 281
 282#define N2_HASH_KEY_MAX                 32 /* HW limit for all HMAC requests */
 283
 284struct n2_hmac_ctx {
 285        struct n2_hash_ctx              base;
 286
 287        struct crypto_shash             *child_shash;
 288
 289        int                             hash_key_len;
 290        unsigned char                   hash_key[N2_HASH_KEY_MAX];
 291};
 292
 293struct n2_hash_req_ctx {
 294        union {
 295                struct md5_state        md5;
 296                struct sha1_state       sha1;
 297                struct sha256_state     sha256;
 298        } u;
 299
 300        struct ahash_request            fallback_req;
 301};
 302
 303static int n2_hash_async_init(struct ahash_request *req)
 304{
 305        struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 306        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
 307        struct n2_hash_ctx *ctx = crypto_ahash_ctx(tfm);
 308
 309        ahash_request_set_tfm(&rctx->fallback_req, ctx->fallback_tfm);
 310        rctx->fallback_req.base.flags = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
 311
 312        return crypto_ahash_init(&rctx->fallback_req);
 313}
 314
 315static int n2_hash_async_update(struct ahash_request *req)
 316{
 317        struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 318        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
 319        struct n2_hash_ctx *ctx = crypto_ahash_ctx(tfm);
 320
 321        ahash_request_set_tfm(&rctx->fallback_req, ctx->fallback_tfm);
 322        rctx->fallback_req.base.flags = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
 323        rctx->fallback_req.nbytes = req->nbytes;
 324        rctx->fallback_req.src = req->src;
 325
 326        return crypto_ahash_update(&rctx->fallback_req);
 327}
 328
 329static int n2_hash_async_final(struct ahash_request *req)
 330{
 331        struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 332        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
 333        struct n2_hash_ctx *ctx = crypto_ahash_ctx(tfm);
 334
 335        ahash_request_set_tfm(&rctx->fallback_req, ctx->fallback_tfm);
 336        rctx->fallback_req.base.flags = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
 337        rctx->fallback_req.result = req->result;
 338
 339        return crypto_ahash_final(&rctx->fallback_req);
 340}
 341
 342static int n2_hash_async_finup(struct ahash_request *req)
 343{
 344        struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 345        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
 346        struct n2_hash_ctx *ctx = crypto_ahash_ctx(tfm);
 347
 348        ahash_request_set_tfm(&rctx->fallback_req, ctx->fallback_tfm);
 349        rctx->fallback_req.base.flags = req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
 350        rctx->fallback_req.nbytes = req->nbytes;
 351        rctx->fallback_req.src = req->src;
 352        rctx->fallback_req.result = req->result;
 353
 354        return crypto_ahash_finup(&rctx->fallback_req);
 355}
 356
 357static int n2_hash_cra_init(struct crypto_tfm *tfm)
 358{
 359        const char *fallback_driver_name = tfm->__crt_alg->cra_name;
 360        struct crypto_ahash *ahash = __crypto_ahash_cast(tfm);
 361        struct n2_hash_ctx *ctx = crypto_ahash_ctx(ahash);
 362        struct crypto_ahash *fallback_tfm;
 363        int err;
 364
 365        fallback_tfm = crypto_alloc_ahash(fallback_driver_name, 0,
 366                                          CRYPTO_ALG_NEED_FALLBACK);
 367        if (IS_ERR(fallback_tfm)) {
 368                pr_warning("Fallback driver '%s' could not be loaded!\n",
 369                           fallback_driver_name);
 370                err = PTR_ERR(fallback_tfm);
 371                goto out;
 372        }
 373
 374        crypto_ahash_set_reqsize(ahash, (sizeof(struct n2_hash_req_ctx) +
 375                                         crypto_ahash_reqsize(fallback_tfm)));
 376
 377        ctx->fallback_tfm = fallback_tfm;
 378        return 0;
 379
 380out:
 381        return err;
 382}
 383
 384static void n2_hash_cra_exit(struct crypto_tfm *tfm)
 385{
 386        struct crypto_ahash *ahash = __crypto_ahash_cast(tfm);
 387        struct n2_hash_ctx *ctx = crypto_ahash_ctx(ahash);
 388
 389        crypto_free_ahash(ctx->fallback_tfm);
 390}
 391
 392static int n2_hmac_cra_init(struct crypto_tfm *tfm)
 393{
 394        const char *fallback_driver_name = tfm->__crt_alg->cra_name;
 395        struct crypto_ahash *ahash = __crypto_ahash_cast(tfm);
 396        struct n2_hmac_ctx *ctx = crypto_ahash_ctx(ahash);
 397        struct n2_hmac_alg *n2alg = n2_hmac_alg(tfm);
 398        struct crypto_ahash *fallback_tfm;
 399        struct crypto_shash *child_shash;
 400        int err;
 401
 402        fallback_tfm = crypto_alloc_ahash(fallback_driver_name, 0,
 403                                          CRYPTO_ALG_NEED_FALLBACK);
 404        if (IS_ERR(fallback_tfm)) {
 405                pr_warning("Fallback driver '%s' could not be loaded!\n",
 406                           fallback_driver_name);
 407                err = PTR_ERR(fallback_tfm);
 408                goto out;
 409        }
 410
 411        child_shash = crypto_alloc_shash(n2alg->child_alg, 0, 0);
 412        if (IS_ERR(child_shash)) {
 413                pr_warning("Child shash '%s' could not be loaded!\n",
 414                           n2alg->child_alg);
 415                err = PTR_ERR(child_shash);
 416                goto out_free_fallback;
 417        }
 418
 419        crypto_ahash_set_reqsize(ahash, (sizeof(struct n2_hash_req_ctx) +
 420                                         crypto_ahash_reqsize(fallback_tfm)));
 421
 422        ctx->child_shash = child_shash;
 423        ctx->base.fallback_tfm = fallback_tfm;
 424        return 0;
 425
 426out_free_fallback:
 427        crypto_free_ahash(fallback_tfm);
 428
 429out:
 430        return err;
 431}
 432
 433static void n2_hmac_cra_exit(struct crypto_tfm *tfm)
 434{
 435        struct crypto_ahash *ahash = __crypto_ahash_cast(tfm);
 436        struct n2_hmac_ctx *ctx = crypto_ahash_ctx(ahash);
 437
 438        crypto_free_ahash(ctx->base.fallback_tfm);
 439        crypto_free_shash(ctx->child_shash);
 440}
 441
 442static int n2_hmac_async_setkey(struct crypto_ahash *tfm, const u8 *key,
 443                                unsigned int keylen)
 444{
 445        struct n2_hmac_ctx *ctx = crypto_ahash_ctx(tfm);
 446        struct crypto_shash *child_shash = ctx->child_shash;
 447        struct crypto_ahash *fallback_tfm;
 448        struct {
 449                struct shash_desc shash;
 450                char ctx[crypto_shash_descsize(child_shash)];
 451        } desc;
 452        int err, bs, ds;
 453
 454        fallback_tfm = ctx->base.fallback_tfm;
 455        err = crypto_ahash_setkey(fallback_tfm, key, keylen);
 456        if (err)
 457                return err;
 458
 459        desc.shash.tfm = child_shash;
 460        desc.shash.flags = crypto_ahash_get_flags(tfm) &
 461                CRYPTO_TFM_REQ_MAY_SLEEP;
 462
 463        bs = crypto_shash_blocksize(child_shash);
 464        ds = crypto_shash_digestsize(child_shash);
 465        BUG_ON(ds > N2_HASH_KEY_MAX);
 466        if (keylen > bs) {
 467                err = crypto_shash_digest(&desc.shash, key, keylen,
 468                                          ctx->hash_key);
 469                if (err)
 470                        return err;
 471                keylen = ds;
 472        } else if (keylen <= N2_HASH_KEY_MAX)
 473                memcpy(ctx->hash_key, key, keylen);
 474
 475        ctx->hash_key_len = keylen;
 476
 477        return err;
 478}
 479
 480static unsigned long wait_for_tail(struct spu_queue *qp)
 481{
 482        unsigned long head, hv_ret;
 483
 484        do {
 485                hv_ret = sun4v_ncs_gethead(qp->qhandle, &head);
 486                if (hv_ret != HV_EOK) {
 487                        pr_err("Hypervisor error on gethead\n");
 488                        break;
 489                }
 490                if (head == qp->tail) {
 491                        qp->head = head;
 492                        break;
 493                }
 494        } while (1);
 495        return hv_ret;
 496}
 497
 498static unsigned long submit_and_wait_for_tail(struct spu_queue *qp,
 499                                              struct cwq_initial_entry *ent)
 500{
 501        unsigned long hv_ret = spu_queue_submit(qp, ent);
 502
 503        if (hv_ret == HV_EOK)
 504                hv_ret = wait_for_tail(qp);
 505
 506        return hv_ret;
 507}
 508
 509static int n2_do_async_digest(struct ahash_request *req,
 510                              unsigned int auth_type, unsigned int digest_size,
 511                              unsigned int result_size, void *hash_loc,
 512                              unsigned long auth_key, unsigned int auth_key_len)
 513{
 514        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
 515        struct cwq_initial_entry *ent;
 516        struct crypto_hash_walk walk;
 517        struct spu_queue *qp;
 518        unsigned long flags;
 519        int err = -ENODEV;
 520        int nbytes, cpu;
 521
 522        /* The total effective length of the operation may not
 523         * exceed 2^16.
 524         */
 525        if (unlikely(req->nbytes > (1 << 16))) {
 526                struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 527                struct n2_hash_ctx *ctx = crypto_ahash_ctx(tfm);
 528
 529                ahash_request_set_tfm(&rctx->fallback_req, ctx->fallback_tfm);
 530                rctx->fallback_req.base.flags =
 531                        req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
 532                rctx->fallback_req.nbytes = req->nbytes;
 533                rctx->fallback_req.src = req->src;
 534                rctx->fallback_req.result = req->result;
 535
 536                return crypto_ahash_digest(&rctx->fallback_req);
 537        }
 538
 539        nbytes = crypto_hash_walk_first(req, &walk);
 540
 541        cpu = get_cpu();
 542        qp = cpu_to_cwq[cpu];
 543        if (!qp)
 544                goto out;
 545
 546        spin_lock_irqsave(&qp->lock, flags);
 547
 548        /* XXX can do better, improve this later by doing a by-hand scatterlist
 549         * XXX walk, etc.
 550         */
 551        ent = qp->q + qp->tail;
 552
control = control_word_base(nbytes, auth_key_len, 0,
 554                                         auth_type, digest_size,
 555                                         false, true, false, false,
 556                                         OPCODE_INPLACE_BIT |
 557                                         OPCODE_AUTH_MAC);
 558        src_addr = __pa(walk.data);
 559        auth_key_addr = auth_key;
 560        auth_iv_addr = __pa(hash_loc);
 561        ent->final_auth_state_addr = 0UL;
 562        ent->enc_key_addr = 0UL;
 563        ent->enc_iv_addr = 0UL;
 564        ent->dest_addr = __pa(hash_loc);
 565
 566        nbytes = crypto_hash_walk_done(&walk, 0);
 567        while (nbytes > 0) {
 568                ent = spu_queue_next(qp, ent);
 569
 570                s="line" name="="L551" class="line" name->control = (nbytes - 1);
 571                src_addr = __pa(walk.data);
 572                auth_key_addr = 0UL;
 573                auth_iv_addr = 0UL;
 574                ent->final_auth_state_addr = 0UL;
 575                ent->enc_key_addr = 0UL;
 576                ent->enc_iv_addr = 0UL;
 577                ent->dest_addr = 0UL;
 578
 579                nbytes = crypto_hash_walk_done(&walk, 0);
 580        }
 581        ent->control |= CONTROL_END_OF_BLOCK;
 582
 583        if (submit_and_wait_for_tail(qp, ent) != HV_EOK)
 584                err = -EINVAL;
 585        else
 586                err = 0;
 587
 588        spin_unlock_irqrestore(&qp->lock, flags);
 589
 590        if (!err)
 591                memcpy(req->result, hash_loc, result_size);
 592out:
 593        put_cpu();
 594
 595        return err;
 596}
 597
 598static int n2_hash_async_digest(struct ahash_request *req)
 599{
 600        struct n2_ahash_alg *n2alg = n2_ahash_alg(req->base.tfm);
 601        struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 602        int ds;
 603
 604        ds = n2alg->digest_size;
 605        if (unlikely(req->nbytes == 0)) {
 606                memcpy(req->result, n2alg->hash_zero, ds);
 607                return 0;
 608        }
 609        memcpy(&rctx->u, n2alg->hash_init, n2alg->hw_op_hashsz);
 610
 611        return n2_do_async_digest(req, n2alg->auth_type,
 612                                  n2alg->hw_op_hashsz, ds,
 613                                  &rctx->u, 0UL, 0);
 614}
 615
 616static int n2_hmac_async_digest(struct ahash_request *req)
 617{
 618        struct n2_hmac_alg *n2alg = n2_hmac_alg(req->base.tfm);
 619        struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 620        struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
 621        struct n2_hmac_ctx *ctx = crypto_ahash_ctx(tfm);
 622        int ds;
 623
 624        ds = n2alg->derived.digest_size;
 625        if (unlikely(req->nbytes == 0) ||
 626            unlikely(ctx->hash_key_len > N2_HASH_KEY_MAX)) {
 627                struct n2_hash_req_ctx *rctx = ahash_request_ctx(req);
 628                struct n2_hash_ctx *ctx = crypto_ahash_ctx(tfm);
 629
 630                ahash_request_set_tfm(&rctx->fallback_req, ctx->fallback_tfm);
 631                rctx->fallback_req.base.flags =
 632                        req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP;
 633                rctx->fallback_req.nbytes = req->nbytes;
 634                rctx->fallback_req.src = req->src;
 635                rctx->fallback_req.result = req->result;
 636
 637                return crypto_ahash_digest(&rctx->fallback_req);
 638        }
 639        memcpy(&rctx->u, n2alg->derived.hash_init,
 640               n2alg->derived.hw_op_hashsz);
 641
 642        return n2_do_async_digest(req, n2alg->derived.hmac_type,
 643                                  n2alg->derived.hw_op_hashsz, ds,
 644                                  &rctx->u,
 645                                  __pa(&ctx->hash_key),
 646                                  ctx->hash_key_len);
 647}
 648
 649struct n2_cipher_context {
 650        int                     key_len;
 651        int                     enc_type;
 652        union {
                u8              aes[AES_MAX_KEY_SIZE];
 654                u8              des[DES_KEY_SIZE];
 655                u8              des3[3 * DES_KEY_SIZE];
 656                u8              arc4[258]; /* S-box, X, Y */
 657        } key;
 658};
 659
 660#define N2_CHUNK_ARR_LEN        16
 661
 662struct n2_crypto_chunk {
 663        struct list_head        entry;
 664        unsigned long           iv_paddr : 44;
 665        unsigned long           arr_len : 20;
 666        unsigned long           dest_paddr;
 667        unsigned long           dest_final;
 668        struct {
 669                unsigned long   src_paddr : 44;
 670                unsigned long   src_len : 20;
 671        } arr[N2_CHUNK_ARR_LEN];
 672};
 673
 674struct n2_request_context {
 675        struct ablkcipher_walk  walk;
 676        struct list_head        chunk_list;
 677        struct n2_crypto_chunk  chunk;
 678        u8                      temp_iv[16];
 679};
 680
 681/* The SPU allows some level of flexibility for partial cipher blocks
 682 * being specified in a descriptor.
 683 *
 684 * It merely requires that every descriptor's length field is at least
 685 * as large as the cipher block size.  This means that a cipher block
 686 * can span at most 2 descriptors.  However, this does not allow a
 687 * partial block to span into the final descriptor as that would
 688 * violate the rule (since every descriptor's length must be at lest
 689 * the block size).  So, for example, assuming an 8 byte block size:
 690 *
 691 *      0xe --> 0xa --> 0x8
 692 *
 693 * is a valid length sequence, whereas:
 694 *
 695 *      0xe --> 0xb --> 0x7
 696 *
 697 * is not a valid sequence.
 698 */
 699
 700struct n2_cipher_alg {
 701        struct list_head        entry;
 702        u8                      enc_type;
 703        struct crypto_alg       alg;
 704};
 705
 706static inline struct n2_cipher_alg *n2_cipher_alg(struct crypto_tfm *tfm)
 707{
 708        struct crypto_alg *alg = tfm->__crt_alg;
 709
 710        return container_of(alg, struct n2_cipher_alg, alg);
 711}
 712
 713struct n2_cipher_request_context {
 714        struct ablkcipher_walk  walk;
 715};
 716
 717static int n2_aes_setkey(struct crypto_ablkcipher *cipher, const u8 *key,
 718                         unsigned int keylen)
 719{
 720        struct crypto_tfm *tfm = crypto_ablkcipher_tfm(cipher);
 721        struct n2_cipher_context *ctx = crypto_tfm_ctx(tfm);
 722        struct n2_cipher_alg *n2alg = n2_cipher_alg(tfm);
 723
 724        ctx->enc_type = (n2alg->enc_type & ENC_TYPE_CHAINING_MASK);
 725
 726        switch (keylen) {
 727        case AES_KEYSIZE_128:
 728                ctx->enc_type |= ENC_TYPE_ALG_AES128;
 729                break;
 730        case AES_KEYSIZE_192:
 731                ctx->enc_type |= ENC_TYPE_ALG_AES192;
 732                break;
 733        case AES_KEYSIZE_256:
 734                ctx->enc_type |= ENC_TYPE_ALG_AES256;
 735                break;
 736        default:
 737                crypto_ablkcipher_set_flags(cipher, CRYPTO_TFM_RES_BAD_KEY_LEN);
 738                return -EINVAL;
 739        }
 740
 741        ctx->key_len = keylen;
 742        memcpy(ctx->key.aes, key, keylen);
 743        return 0;
 744}
 745
 746static int n2_des_setkey(struct crypto_ablkcipher *cipher, const u8 *key,
 747                         unsigned int keylen)
 748{
 749        struct crypto_tfm *tfm = crypto_ablkcipher_tfm(cipher);
 750        struct n2_cipher_context *ctx = crypto_tfm_ctx(tfm);
 751        struct n2_cipher_alg *n2alg = n2_cipher_alg(tfm);
 752        u32 tmp[DES_EXPKEY_WORDS];
        int err;
 754
 755        ctx->enc_type = n2alg->enc_type;
 756
 757        if (keylen != DES_KEY_SIZE) {
 758                crypto_ablkcipher_set_flags(cipher, CRYPTO_TFM_RES_BAD_KEY_LEN);
 759                return -EINVAL;
 760        }
 761
 762        err = des_ekey(tmp, key);
 763        if (err == 0 && (tfm->crt_flags & CRYPTO_TFM_REQ_WEAK_KEY)) {
 764                tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY;
 765                return -EINVAL;
 766        }
 767
 768        ctx->key_len = keylen;
 769        memcpy(ctx->key.des, key, keylen);
 770        return 0;
 771}
 772
 773static int n2_3des_setkey(struct crypto_ablkcipher *cipher, const u8 *key,
 774                          unsigned int keylen)
 775{
 776        struct crypto_tfm *tfm = crypto_ablkcipher_tfm(cipher);
 777        struct n2_cipher_context *ctx = crypto_tfm_ctx(tfm);
 778        struct n2_cipher_alg *n2alg = n2_cipher_alg(tfm);
 779
 780        ctx->enc_type = n2alg->enc_type;
 781
 782        if (keylen != (3 * DES_KEY_SIZE)) {
 783                crypto_ablkcipher_set_flags(cipher, CRYPTO_TFM_RES_BAD_KEY_LEN);
 784                return -EINVAL;
 785        }
 786        ctx->key_len = keylen;
 787        memcpy(ctx->key.des3, key, keylen);
 788        return 0;
 789}
 790
 791static int n2_arc4_setkey(struct crypto_ablkcipher *cipher, const u8 *key,
 792                          unsigned int keylen)
 793{
 794        struct crypto_tfm *tfm = crypto_ablkcipher_tfm(cipher);
 795        struct n2_cipher_context *ctx = crypto_tfm_ctx(tfm);
 796        struct n2_cipher_alg *n2alg = n2_cipher_alg(tfm);
 797        u8 *s = ctx->key.arc4;
 798        u8 *x = s + 256;
 799        u8 *y = x + 1;
 800        int i, j, k;
 801
 802        ctx->enc_type = n2alg->enc_type;
 803
 804        j = k = 0;
 805        *x = 0;
 806        *y = 0;
 807        for (i = 0; i < 256; i++)
 808                s[i] = i;
 809        for (i = 0; i < 256; i++) {
 810                u8 a = s[i];
 811                j = (j + key[k] + a) & 0xff;
 812                s[i] = s[j];
 813                s[j] = a;
 814                if (++k >= keylen)
 815                        k = 0;
 816        }
 817
 818        return 0;
 819}
 820
 821static inline int cipher_descriptor_len(int nbytes, unsigned int block_size)
 822{
 823        int this_len = nbytes;
 824
 825        this_len -= (nbytes & (block_size - 1));
 826        return this_len > (1 << 16) ? (1 << 16) : this_len;
 827}
 828
 829static int __n2_crypt_chunk(struct crypto_tfm *tfm, struct n2_crypto_chunk *cp,
 830                            struct spu_queue *qp, bool encrypt)
 831{
 832        struct n2_cipher_context *ctx = crypto_tfm_ctx(tfm);
 833        struct cwq_initial_entry *ent;
 834        bool in_place;
 835        int i;
 836
 837        ent = spu_queue_alloc(qp, cp->arr_len);
 838        if (!ent) {
 839                pr_info("queue_alloc() of %d fails\n",
 840                        cp->arr_len);
 841                return -EBUSY;
 842        }
 843
 844        in_place = (cp->dest_paddr == cp->arr[0].src_paddr);
 845
 846        ent->control = control_word_base(cp->arr[0].src_len,
 847                                         0, ctx->enc_type, 0, 0,
 848                                         false, true, false, encrypt,
 849                                         OPCODE_ENCRYPT |
 850                                         (in_place ? OPCODE_INPLACE_BIT : 0));
 851        ent->src_addr = cp->arr[0].src_paddr;
 852        ent->auth_key_addr = 0UL;
        ent->auth_iv_addr = 0UL;
 854        ent->final_auth_state_addr = 0UL;
 855        ent->enc_key_addr = __pa(&ctx->key);
 856        ent->enc_iv_addr = cp->iv_paddr;
 857        ent->dest_addr = (in_place ? 0UL : cp->dest_paddr);
 858
 859        for (i = 1; i < cp->arr_len; i++) {
 860                ent = spu_queue_next(qp, ent);
 861
 862                ent->control = cp->arr[i].src_len - 1;
 863                ent->src_addr = cp->arr[i].src_paddr;
 864                ent->auth_key_addr = 0UL;
 865                ent->auth_iv_addr = 0UL;
 866                ent->final_auth_state_addr = 0UL;
 867                ent->enc_key_addr = 0UL;
 868                ent->enc_iv_addr = 0UL;
 869                ent->dest_addr = 0UL;
 870        }
 871        ent->control |= CONTROL_END_OF_BLOCK;
 872
 873        return (spu_queue_submit(qp, ent) != HV_EOK) ? -EINVAL : 0;
 874}
 875
 876static int n2_compute_chunks(struct ablkcipher_request *req)
 877{
 878        struct n2_request_context *rctx = ablkcipher_request_ctx(req);
 879        struct ablkcipher_walk *walk = &rctx->walk;
 880        struct n2_crypto_chunk *chunk;
 881        unsigned long dest_prev;
 882        unsigned int tot_len;
 883        bool prev_in_place;
 884        int err, nbytes;
 885
 886        ablkcipher_walk_init(walk, req->dst, req->src, req->nbytes);
 887        err = ablkcipher_walk_phys(req, walk);
 888        if (err)
 889                return err;
 890
 891        INIT_LIST_HEAD(&rctx->chunk_list);
 892
chunk;
enc_key_addr<             a>,  79389UL;
 891        chunk;
 868833" class="line"  833 " class="sref">rctx->c8pher<89a>;
chunk;
 8sref">enc_iv_addr = ent->chunk;
 8class="sref">i <  815                    >.chunk;
 8="sref">in_place = (ent->s8/a> +89>);
90/a>
 883        false, ent->k90/a>
 cl~" class="sref">ent-> 809
 815                   9f="+code=9nc_type" class="sref">en9_type9/a>;
 809
 825        (src, arr_len<9> = 90UL;
in_place = (de=arr" class="sref">arr[i].90UL;
 834        bool 90UL;
bool i);
i90UL;
arr[epage_to>        dst, 9+) {
dst, rctx->i<9a>];
in_place = (epage_to>        walk, a) 9amp; 9xff;
walk, rctx->j<9a>];
 84de=arr" class="sref">arr[cp->a9/a>;
static inlineef="+code=src" class="sref">src, ablkcipher_walk_phys( -= (cp->9eylen91a>;
91UL;
chunk;
 8class="sref">i < arr_len<96" class=9line" name="L816"> 816    91a>,
 883         8191 0,
 883        ] = <9me="L818"> 818      9 retu91a>,
in_place = () |                   chunk;
 8class="sref">i <  8292>];
 826    f="+code=arr_len" class="sref">arr_len<9code=bloc9_size" class="sref">bloc9_size92ff;
chunk;
 8="sre=ent"1" class="line" name=ent"ne" e=ent" class="sref" id="L881" class="line" name="L881"> 881        unsigned long  891        chunk;
 868833" class="line"  833 de=false" class="sref">false, 9bytes92a>,
 891        INIT_LIST_HEAD(&rctx-> 8292UL;
chunk;
        GFP_ATOMICref="+code=n2_cGFP_ATOMICrctx" class="sref">rctx->block_size9/a> -92UL;
arr_len<9c" class=9his_len" class="sref">th9s_len92a>,
 881        unsigned long         unsigned long ] = <9" class="line" name="L829"> 8292a>,
 *cp9/a>,
 891        chunk;
 868833" class="line"  833 " class="sref">rctx->e9crypt93>];
chunk;
 8class="sref">i < arr_len<9a> *ent93a>,
chunk;
 8="sref">in_place = ( 8="sref">in_place = (rctx->in9place93UL;
 815                   9    int <9 href="+code=i" class="s9ef">i93UL;
 8393UL;
chunk;
 8clasref">i < chunk;
 8class="sref">i < arr[ e=arr" class="sref">arr[i].ar9_len<93UL;
chunk;
 8clasref">i < chunk;
 8class="sref">i < arr[ore.c#L823" id="L823" class="line" ode=bool" class="sref">bool ) {
chunk;
 8class="sref">i < bool ;
ar9_len<9a>);
 cl name="L868"> 8="sref">in_place = (bool  883         834        bool  842    94>];
ore.c#L823" id="L823" class="line" ode=bool" class="sref">bool  8494a>;
src_9addr<94UL;
 887docore.c#L821" id="="L887"> 887docoeef="+code=src" "+code=ablkcipher_walk_phys" class="sref">ablkcipher_walk_phys( 884        int ore.c#L823" id="L823" class="line" " class="sref">rctx-> 8494UL;
 888       9ref="+cod9=src_len" class="sref">s9c_len9/a>,
enc_type9/a>, 9, 0,
e9crypt9/a>,
chunk;
 8class="sref">i < arr_len<9DE_ENCRYP9" class="sref">OPCODE_EN9RYPT<9a> |
chunk;
 8="sre=ent"1" class="line" name=ent"ne" e=ent" class="sref" id="L881" class="line" name="L881"> 881        unsigned long OPCODE_INPLACE_BIT9/a> :95>);
 891        chunk;
 868833" class="line"  833 d_1"> 891        INIT_LIST_HEAD(&rctx->src9paddr9/a>;
auth_key_addr9/a> =95a>;
auth_iv_addr9/a> =90UL;
 889                re9class="sr9f">final_auth_state_addr9/a> =90UL;
iv9paddr9/a>;
n2_compute_chunks(struct  888       9ode=dest_9addr" class="sref">dest_9addr<9a>);
<"+code=arr_len" class="sref">arr_le749ref="+749);
 878        struct n2_request_context *rctx = ablkcipher_requestL9en; <9 href="+code=i" class="s9ef">i96lk;
 880        strHEAD(&        sttmn ( 889               p, 9nt);

 888    ref="+cod9=src_len" class="sref">s9c_len9/a> - 1;
 *walk = &walk = & -= (cp->;
auth_key_9ddr 887="+c namletore.c#L821" id="="L887"> 887="+c namtai"="L891"> 891     eblkcipher_walk *walk = &cp->auth_iv_9ddr _safmletore.c#L821" ine"ofor_each833"> _safm>rctx = (&        sttmn ( d_1"> 891        INIT_LIST_HEAD(&arr_ldr" class9"sref">final_auth_state_9ddr = 0UL;
 891      HEAD(& 868833" class="line"  833 " class="sref">rctx->enc_key_9ddr = 0UL;
chunk;
 888    r749ref="+dr" class="sref">enc_iv_9ddr = 0UL;
rctx = (& " class="sref">rctx->dest_9ddr = 0UL;
 89097t);
CONTROL_EN9_OF_B9OCK;
9INVAL9/a> : a>
static int n2_compute_chunks(struct spu_queue *qp, bool9874" id="9874" class="line" name="9874">9874arr_lL875" id=9L875" class="line" name=9L875"97m<89  }
 878        struct n2_request_context *rctx = arr_lLr" class9 href="+code=req" class=9sref"977<89  }
__n2_crypt_chunk(struct req->(struct arr_lLc_key_ad9877" class="line" name="9877">9877{
 8 = arr_lL749ref="+href="+code=req" class="9ref">9eq);
 880        strHEAD(&        sttmn ( 889               >->9alk;
 889               >L870" cl9f="+code=chunk" class="s9ef">c9unk;
 830                            struct  889               >OF_BLOCK9=dest_prev" class="sref"9dest_98t);
tot9len;
 888    de=prev_i9_place" class="sref">pre9_in_p98nt93a>,
 889               , nb9tes;

 8)]e" name="L889"> 889               ,r" class9+code=nbytes" class="sre9">nby9es);
 889               ,c_key_ad9ef="+code=walk" class="s9ef">w9lk);
 888    d749ref="+ href="+code=err" class=9sref"9err)
(& 889                return <9 href="+code=err" class=9sref"9err;

 891               struct arr_l="+code=c9unk_list" class="sref">c9unk_l9st);

 _safmletore.c#L821" ine"ofor_each833"> _safm>rctx = (&        sttmn ( d_1"> 891        INIT_LIST_HEAD(&arr_ly_addr<  9          a>, 99>a9/a>;
rctx = (struct qp, arr_l= c8p99r<94UL;
 888    L885a>(        unsigned long ( 891      HEAD(& 868833" class="line"  833 " class="sref">rctx->.chunk;
 888    codeaf (<9 hre"+code=s" class="sre9">s8/99 = 0UL;
rctx = (& " class="sref">rctx-> = <10L779"+code=s" class="sre10L77>10L7= 0UL;
do> = 3b/63/807fd8a8a409c2ec533a2d2f59743fafaa7a_3/10L77> " class="sref">rctx-> = <10L890" class="line" name=10L89>10L890
arr_10L279> = <10Lnk_list" class="sref">c10Lnk>10LSY94ff;
rctx-> = <10L892" class="line" name=10L89>10Lm<93>];
(qp,  " class="sref">rctx-> = <10L         a>, ent) != rctx-> = <10L+coe=cipher" class="sre10L+c>10L5= 0UL;
rctx-> = <10Lre8="+code=tfm" class="10Lre>10Ly<95a>;
 891               struct arr_10L879> = <10Lef8"+code=arc4" class="10Lef>10L);
(& 8)ctx" class="sr_len" class="sref">arr_101179> = <10[10 t);
a10 809
(struct ent) != arr_101379> = <10de=9href="+code=j" class10de=>10 872
 889              10 479> = <10= <9 href="+code=a" clas10= <>10 a> : 0;
 = <10 hr9f="+code=k" class="s10 hr>10 875
static int n2_compute_chunks(struct rctx-> = <10ss=9line" name="L816"> 810ss=>10 eq)
10 872
arr_101979> = <10= <9me="L818"> 818  10= <>10 9> : 0;
 = <10L829" class="line" name=10L82>108175
static int n2_compute_chunks(struct rctx-> = <10loc9_size" class="sref">10loc>1082q)
false, arr_102479> = <10"+c9de=nbytes" class="sr10"+c>108a> : 0;
108es;
block_10 hr>108875
n2_compute_chunks(struct spu_queue *qp, bool108779> = <10ss=9his_len" class="sref10ss=>108eq)
 878        struct n2_request_context *rctx =  = <10= <9" class="line" name=10= <>108q);
__n2_crypt_chunk(struct req->(struct arr_103779> = <1010);
 8sref">enc_iv_addr = arr_103179> = <10cod9=encrypt" class="sre10cod>10<890
 8 = arr_10<279> = <10loc9 class="line" name="10loc>10<27{
 880        strHEAD(&        sttmn ( 889              10<379> = <108229="+code=tfm" class="10822>10<37{
 830                            struct  889              10<479> = <10 hr9f="+code=ent" class=10 hr>10,
(struct enc_iv_addr 889              10<579> = <10L829n_place" class="sref10L82>10;
10<885
enc_iv_addrent) !=  889              10<779> = <10ss=9" class="line" name=10ss=>10<7s;
 888   10<979> = <10ref9"+code=ent" class="s10ref>10)
 889              104779> = <10all9c() of %d fails\10all>10als;
 8)]e" name="L889"> 889              10a279> = <10loc9code=EBUSY" class="s10loc>10a809
 889              10a379> = <10ss=9line" name="L842"> 810ss=>10aen;
 888   10a479> = <10L849" class="line" name=10L84>10ant93a>,
(& 889              10a579> = <10src9paddr" class="sref">10src>10aes;
10a885
 891               struct arr_10a779> = <10cod9=src_len" class="sre10cod>10a7s;
enc_10_ty>10ak);
qp, arr_104979> = <10cod9=encrypt" class="sre10cod>10a) {
 8sref">enc_iv_addr = enc_iv_addr 8 = walk = &arr_105779> = <10RYP9" class="sref">OPCOD10RYP>10RY/9>) {
 _safmletore.c#L821" ine"ofor_each833"> _safm>rctx = (&        sttmn ( d_1"> 891        INIT_LIST_HEAD(&arr_105179> = <10ss=9sref">OPCODE_INPLACE10ss=>10R8292>];
arr_10R279> = <10=sr9_paddr" class="sref"10=sr>10Rze92ff;
 8sref">enc_iv_addr = enc_iv_addr = arr_105379> = <10" c9ass="sref">auth_key_10" c>10R2292>];
rctx = (struct arr_105479> = <10r" 9lass="sref">auth_iv_10r" >10Rnt93a>,
 888   105579> = <10"sr9f">final_auth_state_10"sr>10R8292UL;
        unsigned long  = <10L849="+code=key" class="10L84>10R -92UL;
 8sref">enc_iv_addr = (& 8="sre=ent"1" class="line" name=ent"nhre -ne" name="L8eblkcipher_walk *walk = & -= ( 891      HEAD(& 868833" class="line"  833 " class="sref">rctx-> = <10st_9addr" class="sref">d10st_>10R2792 0,
chunk;
 888   10R979> = <1074910R8292a>,
rctx = (& " class="sref">rctx-> = <10 href="+code=i" class="s10 hr>10 h292a>,
 = <10href="+code=ent" class="10hre>10  :95>);
enc_iv_addrenc_iv_addr 8 = enc_iv_addr =  " class="sref">rctx-> = <10L861" class="line" name=10L86>10 dr9/a>;
arr_106379> = <10=src_len" class="sref">s10=sr>10 a> - 1;
 _safm_re_lenmletore.c#L821" ine"ofor_each833"> _safm_re_lenm>rctx = (&        sttmn ( d_1"> 891        INIT_LIST_HEAD(&arr_106479> = <10=src_paddr" class="sref"10=sr>10 es92a>,
arr_106579> = <10" class="sref">auth_key_10" c>10 8292UL;
chunk;
arr_106679> = <10r" class="sref">auth_iv_10r" >10  -92UL;
 8sref">enc_iv_addr = enc_iv_addr 8 = walk = &arr_106779> = <10"sref">final_auth_state_10"sr>10 en9/a>,
arr_106879> = <10r" class="sref">enc_key_10r" >10 2792 0,
 8sref">enc_iv_addr =  8clasref">i <  8class="sref">i < arr[ = <10dr" class="sref">enc_iv_10dr">10 8292a>,
 8clasref">i <  8class="sref">i < arr[<-"+(+a href="drivers/crypto/n2_core.c107779> = <10addr" class="sref">dest_10add>10ad292a>,
walk = & -= (cp-> = <10ss="line" name="L870"> 810ss=>10apt93>];
CONTROL_EN10 cl>10aze92ff;
enc_iv_addrarr_107379> = <10L872" class="line" name=10L87>10a2292>];
 srefp" class="sref">cp-> = <10de=EINVAL" class="sref">10de=>10a8494a>;
 ="+x = (& 8clasref">i <  8class="sref">i < arr[ = <10L875" class="line" name=10L87>10a -92UL;
(& 8clasref">i <  8class="sref">i < arr[<-"+(+a href="drivers/crypto/n2_core.c107779> = <10 href="+code=req" class=10 hr>10aen92a>,
walk = & -= (cp-> = <10877" class="line" name="10877>10a2792 0,
enc_iv_addr srefp" class="sref">cp-> = <10href="+code=req" class="10hre>10a8292a>,
 * re0        st__v ">enc_iv_addr 8 = enc_iv_addr )qtx" class="sr_len" class="sref">arr_108779> = <10ref="+code=walk" class="10ref>10re292a>,
walk = & -= (cp-> = <10f="+code=chunk" class="s10f=">10rpt93>];
10rze92ff;
 8sref">enc_iv_addr = enc_iv_addr = arr_108379> = <10code=tot_len" class="sre10cod>10r2292>];
rctx = (struct false, arr_108479> = <10_place" class="sref">pre10_pl>10rnt93a>,
 888   108579> = <10"+code=nbytes" class="sr10"+c>10r8292UL;
        unsigned long  = <10L885" class="line" name=10L88>10r -92UL;
 891      HEAD(& 868833" class="line"  833 " class="sref">rctx-> = <10+code=nbytes" class="sre10+co>10ren92a>,
chunk;
 888   108879> = <10ef="+code=walk" class="s10ef=>10r2792 0,
rctx = (& " class="sref">rctx-> = <10 href="+code=err" class=10 hr>10r8292a>,
10 hr9/a>;
10 890
arr_109279> = <10unk_list" class="sref">c10unk>10 SY94ff;
rctx-> = <10L892" class="line" name=10L89>10 m<93>];
(qp,  " class="sref">rctx-> = <10          a>, ent) != rctx-> = <10"+coe=cipher" class="sre10"+c>10 5= 0UL;
rctx-> = <10hre8="+code=tfm" class="10hre>10 y<95a>;
 891               struct  = <10 hre"+code=s" class="sre10 hr>10  = 0Uef="drivers/cryouffseD(& 8)ctx" class="sr_len" class="sref">arr_11L179> = <11L890" class="line" name=11L89>110t);
c11Lnk>110809
(struct ent) != enc_iv_addrarr_11L379> = <11L892" class="line" name=11L89>110872
 889              11L479> = <11L         a>,  = <11L+coe=cipher" class="sre11L+c>110es;
, <_="aining="L880" class="lin, <_="ainingleto="L89a>static int n2_compute_chunks(struct rctx-> = <11Lre8="+code=tfm" class="11Lre>110eq)
(struct arr_11L979> = <11Lhre"+code=s" class="sre11Lhr>1109> : 0;
 = <11[111175
n2_compute_chunks(struct rctx-> = <11L809=a" class="sref">a1112q)
11 872
(struct false, arr_11 479> = <11= <9 href="+code=a" clas11= <>11 a> : 0;
 = <11 hr9f="+code=k" class="s11 hr>11 875="drivers/crypto/n2_coreef">n2t+c letore.c#L821" id="ef">n2t+c 72)
 811ss=>111s);
(struct <816"letore.c#L821" i16""line" name="L889"> 889              11 879> = <11L819" class="line" name=11L81>11 872
(struct  889              11 979> = <11= <9me="L818"> 818  11= <>1118292a>,
 -= ( -= (        unsigned long  = <11L829" class="line" name=11L82>112nk;
n2alg="L880" class="s="sref">n2algk;
c#L830" id="L83s="sref">n="L880" class="s="sref">nass=reak 881        unsigned long  = <11loc9_size" class="sref">11loc>1182q        unsigned long  = <118229 class="line" name="11822>112 =95a>;
112a> : a>
="drivers/crypto/n2_coreef">n2t+c letore.c#L821" id="ef">n2t+c 72 = n2t+c  id="L876" classref">n2t+c  t; )
112 = 0UL;
/* ARC4: only ECB is supported (="aining bits igncord) */;
block_11 hr>112 -92UL;
=ing=>"ecb(arc4)"arr_118779> = <11ss=9his_len" class="sref11ss=>112en92a>,
=ing=>"ecb-arc4"arr_118879> = <11L819 class="line" name="11L81>1122792 0,
 -= (arr_118979> = <11= <9" class="line" name=11= <>1128292a>,
 -= ((struct ent) != arr_113779> = <11113e292a>,
ent) !=  )qtx" class="sr_len" class="sref">arr_113179> = <11cod9=encrypt" class="sre11cod>113pt93>];
n="L880" class="s="sref">nass=rs/cr=r>)
arr_11<379> = <118229="+code=tfm" class="11822>1132292>];
 -= (arr_11<479> = <11 hr9f="+code=ent" class=11 hr>113nt93a>,
arr_11<579> = <11L829n_place" class="sref11L82>1138292UL;
qp, arr_11<679> = <11t <9 href="+code=i" clas11t <>113 -92UL;
qpdeaqp" a hr,
arr_11<779> = <11ss=9" class="line" name=11ss=>113en92a>,
arr_11<879> = <11ode9arr_len" class="sref11ode>11);
arr_11<979> = <11ref9"+code=ent" class="s11ref>11arr_114779> = <11all9c() of %d fails\11all>1140= 0UL;
/* DES: ECB CBC and CFB are supported */;
=ing=>"ecb(des)"arr_11a279> = <11loc9code=EBUSY" class="s11loc>114ze92ff;
=ing=>"ecb-des"arr_11a379> = <11ss=9line" name="L842"> 811ss=>1142292>];
 -= ( -= (arr_11a479> = <11L849" class="line" name=11L84>11ant93a>,
 -= ((struct ent) != arr_11a579> = <11src9paddr" class="sref">11src>1148292UL;
(struct ent) !=  )qtx" class="sr_len" class="sref">arr_114679> = <11L849" class="line" name=11L84>114 -92UL;
n="L880" class="s="sref">nass=rs/cr=r>)
 -= (arr_11a879> = <11_ty9e" class="sref">enc_11_ty>1142792 0,
 -= ( -= (arr_11a979> = <11cod9=encrypt" class="sre11cod>11a) {
arr_115779> = <11RYP9" class="sref">OPCOD11RYP>11RY/9>) {
qp, arr_115179> = <11ss=9sref">OPCODE_INPLACE11ss=>11R8292>];
qpdeaqp" a hr,
arr_11R279> = <11=sr9_paddr" class="sref"11=sr>11Rze92ff;
arr_115379> = <11" c9ass="sref">auth_key_11" c>11R2292>];
arr_115479> = <11r" 9lass="sref">auth_iv_11r" >11Rnt93a>,
=ing=>"cbc(des)"arr_115579> = <11"sr9f">final_auth_state_11"sr>11R8292UL;
=ing=>"cbc-des"arr_11R679> = <11L849="+code=key" class="11L84>11R -92UL;
 -= ( -= (arr_11R779> = <11de=9v_paddr" class="sref11de=>11Ren9/a>,
 -= ((struct ent) != arr_11R879> = <11st_9addr" class="sref">d11st_>11R2792 0,
ent) !=  )qtx" class="sr_len" class="sref">arr_11R979> = <1174911R8292a>,
n="L880" class="s="sref">nass=rs/cr=r>)
 -= (,
arr_116179> = <11href="+code=ent" class="11hre>11  :95>);
 -= (arr_116279> = <11L861" class="line" name=11L86>116ze92ff;
 -= ( -= (arr_116379> = <11=src_len" class="sref">s11=sr>11 a> - 1;
arr_116479> = <11=src_paddr" class="sref"11=sr>11 es92a>,
qp, arr_116579> = <11" class="sref">auth_key_11" c>11 8292UL;
qpdeaqp" a hr,
arr_116679> = <11r" class="sref">auth_iv_11r" >11  -92UL;
arr_116779> = <11"sref">final_auth_state_11"sr>11 en9/a>,
arr_116879> = <11r" class="sref">enc_key_11r" >11 2792 0,
=ing=>"cfb(des)"arr_11 979> = <11dr" class="sref">enc_iv_11dr">11 8292a>,
=ing=>"cfb-des"arr_117779> = <11addr" class="sref">dest_11add>11ad292a>,
 -= ( -= (arr_11a179> = <11ss="line" name="L870"> 811ss=>11apt93>];
 -= ((struct ent) != arr_11a279> = <11 class="sref">CONTROL_EN11 cl>11aze92ff;
ent) !=  )qtx" class="sr_len" class="sref">arr_117379> = <11L872" class="line" name=11L87>11a2292>];
n="L880" class="s="sref">nass=rs/cr=r>)
11de=>117es92a>,
 -= ( -= (arr_11a579> = <11874" class="line" name="11874>11a8292UL;
 -= ( -= (arr_117679> = <11L875" class="line" name=11L87>11a -92UL;
arr_117779> = <11 href="+code=req" class=11 hr>11aen92a>,
qp, arr_11a879> = <11877" class="line" name="11877>11a2792 0,
qpdeaqp" a hr,
arr_11a979> = <11href="+code=req" class="11hre>11a8292a>,
arr_118779> = <11ref="+code=walk" class="11ref>11re292a>,
arr_118179> = <11f="+code=chunk" class="s11f=">118t);
11rze92ff;
/* 3DES: ECB CBC and CFB are supported */;
=ing=>"ecb(des3_ede)"arr_118479> = <11_place" class="sref">pre11_pl>11rnt93a>,
=ing=>"ecb-3des"arr_118579> = <11"+code=nbytes" class="sr11"+c>11r8292UL;
 -= ( -= (arr_118679> = <11L885" class="line" name=11L88>11r -92UL;
 -= ((struct ent) != arr_118779> = <11+code=nbytes" class="sre11+co>11ren92a>,
ent) !=  )qtx" class="sr_len" class="sref">arr_118879> = <11ef="+code=walk" class="s11ef=>11r2792 0,
n="L880" class="s="sref">nass=rs/cr=r>)
11r8292a>,
 -= (arr_119779> = <11 href="+code=err" class=11 hr>119h292a>,
 -= (arr_119179> = <11L890" class="line" name=11L89>119 :95>);
arr_119279> = <11unk_list" class="sref">c11unk>11 SY94ff;
qp, arr_119379> = <11L892" class="line" name=11L89>11 m<93>];
qpdeaqp" a hr,
arr_119479> = <11          a>, arr_119579> = <11"+coe=cipher" class="sre11"+c>11 5= 0UL;
arr_119679> = <11hre8="+code=tfm" class="11hre>119 -92UL;
=ing=>"cbc(des3_ede)"arr_119779> = <11hre8="+code=tfm" class="11hre>119en92a>,
=ing=>"cbc-3des"arr_119879> = <11ref8"+code=arc4" class="11ref>1192792 0,
 -= ( -= (arr_119979> = <11 hre"+code=s" class="sre11 hr>1198292a>,
 -= ((struct ent) != arr_12L779> = <12L779"+code=s" class="sre12L77>120e292a>,
ent) !=  )qtx" class="sr_len" class="sref">arr_12L179> = <12L890" class="line" name=12L89>120pt93>];
n="L880" class="s="sref">nass=rs/cr=r>)
c12Lnk>120SY94ff;
arr_12L379> = <12L892" class="line" name=12L89>1202292>];
 -= (arr_12L479> = <12L         a>,  -= (arr_12L579> = <12L+coe=cipher" class="sre12L+c>1208292UL;
arr_12L679> = <12Lre8="+code=tfm" class="12Lre>120 -92UL;
qp, arr_12L779> = <12Lre8="+code=tfm" class="12Lre>120en92a>,
qpdeaqp" a hr,
arr_12L879> = <12Lef8"+code=arc4" class="12Lef>1202792 0,
arr_12L979> = <12Lhre"+code=s" class="sre12Lhr>1208292a>,
arr_121779> = <12 hr9f="+code=i" class="s12 hr>121e292a>,
=ing=>"cfb(des3_ede)"arr_121179> = <12[121pt93>];
=ing=>"cfb-3des"arr_12 279> = <12L809=a" class="sref">a121ze92ff;
 -= ( -= (arr_121379> = <12de=9href="+code=j" class12de=>1212292>];
 -= ((struct ent) != arr_12 479> = <12= <9 href="+code=a" clas12= <>121es92a>,
ent) !=  )qtx" class="sr_len" class="sref">arr_12 579> = <12 hr9de=keylen" class="sr12 hr>1218292UL;
n="L880" class="s="sref">nass=rs/cr=r>)
 -= (arr_121779> = <12ss=9line" name="L816"> 812ss=>121en92a>,
 -= (arr_12 879> = <12L819" class="line" name=12L81>1212792 0,
arr_12 979> = <12= <9me="L818"> 818  12= <>1218292a>,
qp, arr_122779> = <128199 class="line" name="12819>122h292a>,
qpdeaqp" a hr,
arr_122179> = <12L829" class="line" name=12L82>122pt93>];
arr_122279> = <12loc9_size" class="sref">12loc>1222292a>,
arr_122379> = <128229 class="line" name="12822>1222292>];
/* AES: ECB CBC and CTR are supported */;
122nt93a>,
=ing=>"ecb(aes)"arr_122579> = <12L829" class="line" name=12L82>1228292UL;
=ing=>"ecb-aes"arr_122679> = <12 hr9 class="sref">block_12 hr>122 -92UL;
 -= ( -= (arr_128779> = <12ss=9his_len" class="sref12ss=>122en92a>,
 -= ((struct arr_128879> = <12L819 class="line" name="12L81>1222792 0,
ent) !=  )qtx" class="sr_len" class="sref">arr_128979> = <12= <9" class="line" name=12= <>1228292a>,
n="L880" class="s="sref">nass=rs/cr=r>)
123e292a>,
 -= ( -= (arr_123179> = <12cod9=encrypt" class="sre12cod>123pt93>];
 -= ( -= (arr_123279> = <12loc9 class="line" name="12loc>123ze92ff;
arr_12<379> = <128229="+code=tfm" class="12822>1232292>];
qp, arr_12<479> = <12 hr9f="+code=ent" class=12 hr>123nt93a>,
qpdeaqp" a hr,
arr_12<579> = <12L829n_place" class="sref12L82>1238292UL;
arr_12<679> = <12t <9 href="+code=i" clas12t <>123 -92UL;
arr_12<779> = <12ss=9" class="line" name=12ss=>123en92a>,
=ing=>"cbc(aes)"arr_12<879> = <12ode9arr_len" class="sref12ode>1232792 0,
=ing=>"cbc-aes"arr_12<979> = <12ref9"+code=ent" class="s12ref>1238292a>,
 -= ( -= (arr_124779> = <12all9c() of %d fails\12all>124d292a>,
 -= ((struct arr_124179> = <12ode9arr_len" class="sref12ode>124pt93>];
ent) !=  )qtx" class="sr_len" class="sref">arr_12a279> = <12loc9code=EBUSY" class="s12loc>124ze92ff;
n="L880" class="s="sref">nass=rs/cr=r>)
 812ss=>1242292>];
arr_124479> = <12L849" class="line" name=12L84>12ant93a>,
 -= (arr_12a579> = <12src9paddr" class="sref">12src>1248292UL;
 -= ( -= (arr_124679> = <12L849" class="line" name=12L84>124 -92UL;
arr_12a779> = <12cod9=src_len" class="sre12cod>124en92a>,
qp, arr_12a879> = <12_ty9e" class="sref">enc_12_ty>1242792 0,
qpdeaqp" a hr,
arr_12a979> = <12cod9=encrypt" class="sre12cod>12a) {
arr_125779> = <12RYP9" class="sref">OPCOD12RYP>125e292a>,
arr_125179> = <12ss=9sref">OPCODE_INPLACE12ss=>125890
=ing=>"ctr(aes)"arr_12R279> = <12=sr9_paddr" class="sref"12=sr>12Rze92ff;
=ing=>"ctr-aes"arr_125379> = <12" c9ass="sref">auth_key_12" c>1252292>];
 -= ( -= (arr_125479> = <12r" 9lass="sref">auth_iv_12r" >125nt93a>,
 -= ((struct arr_125579> = <12"sr9f">final_auth_state_12"sr>12R8292UL;
ent) !=  )qtx" class="sr_len" class="sref">arr_12R679> = <12L849="+code=key" class="12L84>12R -92UL;
n="L880" class="s="sref">nass=rs/cr=r>)
 -= (,
arr_12R879> = <12st_9addr" class="sref">d12st_>12R2792 0,
 -= ( -= (arr_12R979> = <1274912R8292a>,
 -= ( -= (arr_126779> = <12 href="+code=i" class="s12 hr>12 h292a>,
arr_126179> = <12href="+code=ent" class="12hre>12  :95>);
qp, arr_126279> = <12L861" class="line" name=12L86>126ze92ff;
qpdeaqp" a hr,
arr_126379> = <12=src_len" class="sref">s12=sr>12 a> - 1;
arr_126479> = <12=src_paddr" class="sref"12=sr>12 es92a>,
arr_126579> = <12" class="sref">auth_key_12" c>126es;
auth_iv_12r" >12  -92U}reak 881        unsigned long  = <12"sref">final_auth_state_12"sr>12 en9/a#def_auext" class="srefNUM_CIPHER_TMPLS">ent) != ="-> -= ((struct n2t+c  id="L876" classref">n2t+c  t;  " class="sref">rctx-> = <12r" class="sref">enc_key_12r" >12 2792 > " class="sref">rctx-> = <12dr" class="sref">enc_iv_12dr">12 8292aa>
(struct (struct n2alg id="L876" classref">n2alg t;         unsigned long  = <12addr" class="sref">dest_12add>127ls;
 812ss=>127175="drivers/crypto/n2_corhash2t+c letore.c#L821" id=hash2t+c s92a>>)
CONTROL_EN12 cl>12aze92ff;
        unsigned long  = <12L872" class="line" name=12L87>12a2292>];
        unsigned long  = <12de=EINVAL" class="sref">12de=>127es92a>,
qphash2ini "linreak 881        unsigned long  = <12874" class="line" name="12874>12a8292UL;
qphw_op=hashsz"linreak 881        unsigned long  = <12L875" class="line" name=12L87>12a -92UL;
 -= (        unsigned long  = <12 href="+code=req" class=12 hr>12aen92a>,
 -= ( -= (        unsigned long  = <12href="+code=req" class="12hre>12a8292a>,
 -= (        unsigned long  = <12ref="+code=walk" class="12ref>12re292a}reak 881        unsigned long  = <12f="+code=chunk" class="s12f=">128t);
12rze92fa>
 = <12code=tot_len" class="sre12cod>12r2292>];
arr_128479> = <12_place" class="sref">pre12_pl>12rnt93a>,
arr_128579> = <12"+code=nbytes" class="sr12"+c>12r8292U}reak 881        unsigned long  = <12L885" class="line" name=12L88>12r -92Ua>
qpmd52ini e92f[="->ent) != )
arr_128879> = <12ef="+code=walk" class="s12ef=>1282792 0,
arr_128979> = <12 href="+code=err" class=12 hr>1288292a>,
arr_129779> = <12 href="+code=err" class=12 hr>129h292a>,
arr_129179> = <12L890" class="line" name=12L89>129 :95>}reak 881        unsigned long  = <12unk_list" class="sref">c12unk>129ze92fa>
 = <12L892" class="line" name=12L89>1292292>];
arr_129479> = <12          a>, arr_129579> = <12"+coe=cipher" class="sre12"+c>12 5= 0UL;
arr_129679> = <12hre8="+code=tfm" class="12hre>129 -92U}reak 881        unsigned long  = <12hre8="+code=tfm" class="12hre>129en92aa>
qpsha12ini e92f[="-> -= ()
 -= ( -= (arr_129979> = <12 hre"+code=s" class="sre12 hr>1298292a}reak 881        unsigned long  = <13L779"+code=s" class="sre13L77>130e292aa>
 = <13L890" class="line" name=13L89>130pt93>];
arr_13L279> = <13Lnk_list" class="sref">c13Lnk>130SY94ff;
arr_13L379> = <13L892" class="line" name=13L89>1302292>];
arr_13L479> = <13L         a>, arr_13L579> = <13L+coe=cipher" class="sre13L+c>1308292U}reak 881        unsigned long  = <13Lre8="+code=tfm" class="13Lre>130 -92Ua>
qpsha2562ini e92f[="-> -= ()
 -= ( -= (arr_13L879> = <13Lef8"+code=arc4" class="13Lef>1302792 0,
arr_13L979> = <13Lhre"+code=s" class="sre13Lhr>1308292a}reak 881        unsigned long  = <13 hr9f="+code=i" class="s13 hr>131e292aa>
 = <13[131pt93>];
arr_13 279> = <13L809=a" class="sref">a131SY94ff;
arr_131379> = <13de=9href="+code=j" class13de=>1312292>];
arr_131479> = <13= <9 href="+code=a" clas13= <>131nt93a>,
arr_131579> = <13 hr9de=keylen" class="sr13 hr>1318292U}reak 881        unsigned long  = <13 hr9f="+code=k" class="s13 hr>131 -92Ua>
qpsha2242ini e92f[="-> -= ()
 813ss=>131en92a>,
 -= (arr_13 879> = <13L819" class="line" name=13L81>1312792 0,
arr_13 979> = <13= <9me="L818"> 818  13= <>1318292a}reak 881        unsigned long  = <138199 class="line" name="13819>132ls;
1321-92Ua>
="drivers/crypto/n2_corhash2t+c letore.c#L821" id=hash2t+c s92a>="->)
13loc>1322292a>,
=ing=>"md5"arr_132379> = <138229 class="line" name="13822>132a> - 1;
arr_132479> = <13"+c9de=nbytes" class="sr13"+c>1324> - 1;
qphash2ini "liners/=re"->qpmd52ini e92fqtx" class="sr_len" class="sref">arr_132579> = <13L829" class="line" name=13L82>1328292UL;
arr_132679> = <13 hr9 class="sref">block_13 hr>132 -92UL;
arr_132779> = <13ss=9his_len" class="sref13ss=>132en92a>,
qphw_op=hashsz"lin/=re"-> -= (arr_132879> = <13L819 class="line" name="13L81>1322792 0,
 -= (arr_132979> = <13= <9" class="line" name=13= <>1328292a>,
 -= ( -= (arr_133779> = <131330292a>,
=ing=>"sha1"arr_133179> = <13cod9=encrypt" class="sre13cod>133pt93>];
arr_133279> = <13loc9 class="line" name="13loc>133ze92ff;
qphash2ini "liners/=re"->qpsha12ini e92fqtx" class="sr_len" class="sref">arr_133379> = <138229="+code=tfm" class="13822>1332292>];
arr_133479> = <13 hr9f="+code=ent" class=13 hr>133nt93a>,
arr_133579> = <13L829n_place" class="sref13L82>1338292UL;
qphw_op=hashsz"lin/=re"-> -= (arr_133679> = <13t <9 href="+code=i" clas13t <>133 -92UL;
 -= (arr_133779> = <13ss=9" class="line" name=13ss=>133en92a>,
 -= ( -= (arr_133879> = <13ode9arr_len" class="sref13ode>1332792 0,
=ing=>"sha256"arr_133979> = <13ref9"+code=ent" class="s13ref>1338292a>,
arr_134779> = <13all9c() of %d fails\13all>134d292a>,
qphash2ini "liners/=re"->qpsha2562ini e92fqtx" class="sr_len" class="sref">arr_134179> = <13ode9arr_len" class="sref13ode>134pt93>];
arr_134279> = <13loc9code=EBUSY" class="s13loc>134ze92ff;
arr_134379> = <13ss=9line" name="L842"> 813ss=>1342292>];
qphw_op=hashsz"lin/=re"-> -= (arr_134479> = <13L849" class="line" name=13L84>13ant93a>,
 -= (arr_134579> = <13src9paddr" class="sref">13src>1348292UL;
 -= ( -= (arr_134679> = <13L849" class="line" name=13L84>1346792 0,
=ing=>"sha224"arr_13a779> = <13cod9=src_len" class="sre13cod>134en92a>,
arr_13a879> = <13_ty9e" class="sref">enc_13_ty>1342792 0,
qphash2ini "liners/=re"->qpsha2242ini e92fqtx" class="sr_len" class="sref">arr_13a979> = <13cod9=encrypt" class="sre13cod>13a) {
arr_135779> = <13RYP9" class="sref">OPCOD13RYP>135d292a>,
arr_135179> = <13ss=9sref">OPCODE_INPLACE13ss=>135pt93>];
qphw_op=hashsz"lin/=re"-> -= (arr_13R279> = <13=sr9_paddr" class="sref"13=sr>13Rze92ff;
 -= (arr_13R379> = <13" c9ass="sref">auth_key_13" c>1352292>];
 -= ( -= (arr_135479> = <13r" 9lass="sref">auth_iv_13r" >135nt93a}reak 881        unsigned long  = <13"sr9f">final_auth_state_13"sr>13R8292U#def_auext" class="srefNUM_HASH_TMPLS">ent) != ="-> -= ((struct  " class="sref">rctx-> = <13L849="+code=key" class="13L84>13R -92U> " class="sref">rctx-> = <13de=9v_paddr" class="sref13de=>135en92aa>
(struct (struct         unsigned long  = <13st_9addr" class="sref">d13st_>13R2792 a>
(struct (struct         unsigned long  = <1374913R8292aeak 881        unsigned long  = <13 href="+code=i" class="s13 hr>136e292aa>
        unsigned long  = <13href="+code=ent" class="13hre>136t);
136ze92fa>
 " class="sref">rctx-> = <13=src_len" class="sref">s13=sr>13 a> - >)
13 es92a>,
="drivers/crypto/n2_corref">n2algletore.c#L821" id=ref">n2algs92a>*="->n="L880" class="ref">nass=,>*="->n2t+c="L880" class="ref">n2t+c292areak 881        unsigned long  = <13" class="sref">auth_key_13" c>1365s92a>,
="drivers/crypto/n2_corahash2algletore.c#L821" id=ahash2algs92a>*="->*="->auth_iv_13r" >1366s92a>,
="drivers/crypto/n2_corhmaa_algletore.c#L821" id=hmaa_algs92a>*="->*="->final_auth_state_13"sr>13 en9/aeak 881        unsigned long  = <13r" class="sref">enc_key_13r" >1362792 0,
n="L880" class="ref">nass=,>="->n2t+c="L880" class="ref">n2t+c292a, &="->n2alg id="L876" classref">n2alg t; <,>="->)
enc_iv_13dr">1368292a>,
n="L880" class="ref">nass=->="->        unsigned long  = <13addr" class="sref">dest_13add>137h292a>,
n="L880" class="ref">nass=->="->        unsigned long  = <13ss="line" name="L870"> 813ss=>137 :95>);
 -= ((struct n="L880" class="ref">nass=ereak 881        unsigned long  = <13 class="sref">CONTROL_EN13 cl>13aze92ff;
        unsigned long  = <13L872" class="line" name=13L87>13a2292>];
="->="->)
13de=>1374292a>,
        unsigned long  = <13874" class="line" name="13874>1375292a>,
        unsigned long  = <13L875" class="line" name=13L87>137 -92UL;
 -= ((struct         unsigned long  = <13 href="+code=req" class=13 hr>13aen92a>,
        unsigned long  = <13877" class="line" name="13877>13a2792 0,
="->="->)
        unsigned long  = <13ref="+code=walk" class="13ref>138h292a>,
        unsigned long  = <13f="+code=chunk" class="s13f=">138 :95>);
 -= ((struct         unsigned long  = <13=dest_prev" class="sref"13=de>138ze92ff;
        unsigned long  = <13code=tot_len" class="sre13cod>13r2292>}eak 881        unsigned long  = <13_place" class="sref">pre13_pl>13rnt93aeak 881        unsigned long  = <13"+code=nbytes" class="sr13"+c>13r8292Ua>
n2cra2ini class="sref">qpid=ref">n2cra2ini s92a=a>="drivers/crypto/n2_rcryptntfmid="L876" classrcryptntfms92a>*="-> " class="sref">rctx-> = <13L885" class="line" name=13L88>13r -92U>)
n="L880" class="crt_s="sref">ne92ff="-> -= (="drivers/crypto/n2_/n2request_contex class="sref">qpid=request_contex s92aereak 881        unsigned long  = <13ef="+code=walk" class="s13ef=>1382792 0,
        unsigned long  = <13 href="+code=err" class=13 hr>1388292a}eak 881        unsigned long  = <13 href="+code=err" class=13 hr>139ls;
1391292Ua>
qp__devini s92a>="->n="L880" class="__o/nregister_one_ref">ns92a=const a>="drivers/crypto/n2_corref">n2t+c class="sref">qpid=ref">n2t+c s92a>*="->qpt+c s92ae> " class="sref">rctx-> = <13unk_list" class="sref">c13unk>139ze92f>)
1392292>];
="drivers/crypto/n2_corref">n2algletore.c#L821" id=ref">n2algs92a>*="->="->139es92a>,
="drivers/crypto/n2_rcryptnalgid="L876" classrcryptnalgs92a>*="->        unsigned long  = <13"+coe=cipher" class="sre13"+c>13 5= 0UL;
rctx-> = <13hre8="+code=tfm" class="13hre>139en92a>,
 " class="sref">rctx-> = <13ref8"+code=arc4" class="13ref>1392792 0,
        unsigned long  = <14L890" class="line" name=14L89>140t);
c14Lnk>140SY94ff;
(struct ="-> -= (=span9" classa>=ing=>"%s"qpt+c s92a->="->        unsigned long  = <14L892" class="line" name=14L89>1402292>];
(struct      _816"e92f,>="-> -= (=span9" classa>=ing=>"%s-n2"qpt+c s92a->="->        unsigned long  = <14L         a>,         unsigned long  = <14L+coe=cipher" class="sre14L+c>1408292UL;
 -= (arr_14L679> = <14Lre8="+code=tfm" class="14Lre>140 -92UL;
ent) !=         unsigned long  = <14Lre8="+code=tfm" class="14Lre>140en92a>,
 -= (qpt+c s92a->="-> -= (qpt+c s92a->="-> -= (        unsigned long  = <14Lhre"+code=s" class="sre14Lhr>1408292a>,
="drivers/crypto/n2_/n2ref">n2contex class="sref">qpid=ref">n2contex "linereak 881        unsigned long  = <14 hr9f="+code=i" class="s14 hr>141h292a>,
n_typba> -= (n_typbass=reak 881        unsigned long  = <14[141pt93>];
n="L880" class="s="sref">nass=r=re"->qpt+c s92a->="->n="L880" class="s="sref">nass=reak 881        unsigned long  = <14L809=a" class="sref">a141SY94ff;
qpcra2ini s92aetext" class="sref/n2ref">n2cra2ini class="sref">qpid=ref">n2cra2ini s92areak 881        unsigned long  = <14de=9href="+code=j" class14de=>1412292>];
141nt93aeak 881        unsigned long  = <14 hr9de=keylen" class="sr14 hr>1418292UL;
n2alg id="L876" classref">n2alg t;         unsigned long  = <14 hr9f="+code=k" class="s14 hr>141 -92UL;
(struct         unsigned long  = <14ss=9line" name="L816"> 814ss=>141en92a>,
 = <14L819" class="line" name=14L81>1412792 0,
=ing=>"%s alg registration failed\n"        unsigned long  = <14= <9me="L818"> 818  14= <>1418292a>,
        unsigned long  = <148199 class="line" name="14819>142h292a>,
 -= ((struct         unsigned long  = <14L829" class="line" name=14L82>142pt93>];
)
14loc>1422792 0,
=ing=>"%s alg registered\n"        unsigned long  = <148229 class="line" name="14822>142a> - 1;
        unsigned long  = <14"+c9de=nbytes" class="sr14"+c>1424> - 1;
1428292U}eak 881        unsigned long  = <14 hr9 class="sref">block_14 hr>142 -92U> " class="sref">rctx-> = <14ss=9his_len" class="sref14ss=>142en92aa>
qp__devini s92a>="->="drivers/crypto/n2_corahash2algletore.c#L821" id=ahash2algs92a>*="-> " class="sref">rctx-> = <14L819 class="line" name="14L81>1422792 >)
1428292a>,
="drivers/crypto/n2_corhmaa_algletore.c#L821" id=hmaa_algs92a>*="->="->1430292a>,
="drivers/crypto/n2_ahash2algletore.c#L821" ahash2algs92a>*="->        unsigned long  = <14cod9=encrypt" class="sre14cod>143pt93>];
="drivers/crypto/n2_rcryptnalgid="L876" classrcryptnalgs92a>*="-> -= (        unsigned long  = <14loc9 class="line" name="14loc>143ze92ff;
143nt93a>,
 " class="sref">rctx-> = <14L829n_place" class="sref14L82>1438292UL;
143 -92U> " class="sref">rctx-> = <14ss=9" class="line" name=14ss=>143en92a>,
        unsigned long  = <14ode9arr_len" class="sref14ode>1432792 0,
="->="drivers/crypto/n2_/n2ahash2algletore.c#L821" id=ahash2algs92a)ereak 881        unsigned long  = <14ref9"+code=ent" class="s14ref>1438292a>,
        unsigned long  = <14all9c() of %d fails\14all>144ls;
        unsigned long  = <14loc9code=EBUSY" class="s14loc>144SY94ff;
        unsigned long  = <14ss=9line" name="L842"> 814ss=>1442292>];
        unsigned long  = <14L849" class="line" name=14L84>144nt93aeak 881        unsigned long  = <14src9paddr" class="sref">14src>1448292UL;
        unsigned long  = <14L849" class="line" name=14L84>144 -92UL;
(struct  -= (="-> -= (=span9" classa>=ing=>"hmaa(%s)"        unsigned long  = <14cod9=src_len" class="sre14cod>144en92a>,
(struct  -= (     _816"e92f,>="-> -= (=span9" classa>=ing=>"hmaa-%s-n2"        unsigned long  = <14_ty9e" class="sref">enc_14_ty>1442792 eak 881        unsigned long  = <14cod9=encrypt" class="sre14cod>1448292a>,
="drivers/crypto/n2_/n2hmaa_ctxid="L876" class/n2hmaa_ctxs92aereak 881        unsigned long  = <14RYP9" class="sref">OPCOD14RYP>145h292a>,
qpcra2ini s92aetext" class="sref/n2hmaa_cra2ini class="sref">qpid=hmaa_cra2ini "linreak 881        unsigned long  = <14ss=9sref">OPCODE_INPLACE14ss=>145pt93>];
qpcra2exi s92aetext" class="sref/n2hmaa_cra2exi class="sref">qp/n2hmaa_cra2exi "linreak 881        unsigned long  = <14=sr9_paddr" class="sref"14=sr>14Rze92feak 881        unsigned long  = <14" c9ass="sref">auth_key_14" c>1452292>];
        unsigned long  = <14r" 9lass="sref">auth_iv_14r" >145nt93a>,
(struct         unsigned long  = <14"sr9f">final_auth_state_14"sr>1455= 0UL;
 = <14L849="+code=key" class="14L84>145 -92UL;
=ing=>"%s alg registration failed\n" -= (        unsigned long  = <14de=9v_paddr" class="sref14de=>1457-92UL;
        unsigned long  = <14st_9addr" class="sref">d14st_>1452792 0,
 -= ((struct         unsigned long  = <147491458292a>,
)
=ing=>"%s alg registered\n" -= (        unsigned long  = <14href="+code=ent" class="14hre>146pt93>];
        unsigned long  = <14L861" class="line" name=14L86>146SY94ff;
s14=sr>1462292>}eak 881        unsigned long  = <14=src_paddr" class="sref"14=sr>146nt93aeak 881        unsigned long  = <14" class="sref">auth_key_14" c>1468292Ua>
qp__devini s92a>="->="drivers/crypto/n2_corhash2t+c letore.c#L821" id=hash2t+c s92a>*="->qpt+c s92ae> " class="sref">rctx-> = <14r" class="sref">auth_iv_14r" >146 -92U>)
final_auth_state_14"sr>1467-92UL;
="drivers/crypto/n2_corahash2algletore.c#L821" id=ahash2algs92a>*="->="->enc_key_14r" >1462792 0,
="drivers/crypto/n2_hash2alg lommonletore.c#L821" hash2alg lommons92a>*="->        unsigned long  = <14dr" class="sref">enc_iv_14dr">1468292a>,
="drivers/crypto/n2_rcryptnalgid="L876" classrcryptnalgs92a>*="-> -= (        unsigned long  = <14addr" class="sref">dest_14add>1470292a>,
="drivers/crypto/n2_ahash2algletore.c#L821" ahash2algs92a>*="->        unsigned long  = <14ss="line" name="L870"> 814ss=>147 :95>);
CONTROL_EN14 cl>147ze92feak 881        unsigned long  = <14L872" class="line" name=14L87>14a2292>];
 " class="sref">rctx-> = <14de=EINVAL" class="sref">14de=>1474292a>,
147 -92UL;
qpt+c s92a->="->        unsigned long  = <14 href="+code=req" class=14 hr>147en92a>,
qphash2ini "line=re"->qpt+c s92a->="->qphash2ini "linreak 881        unsigned long  = <14877" class="line" name="14877>14a2792 0,
qpt+c s92a->="-> -= (        unsigned long  = <14href="+code=req" class="14hre>1478292a>,
qpt+c s92a->="-> -= (        unsigned long  = <14ref="+code=walk" class="14ref>148h292a>,
qphw_op=hashsz"lin/=re"->qpt+c s92a->="->qphw_op=hashsz"linreak 881        unsigned long  = <14f="+code=chunk" class="s14f=">148pt93>];
qpt+c s92a->="-> -= (        unsigned long  = <14=dest_prev" class="sref"14=de>148ze92feak 881        unsigned long  = <14code=tot_len" class="sre14cod>1482292>];
        unsigned long  = <14_place" class="sref">pre14_pl>148nt93a>,
(struct qpini s92aetext" class="sref/n2hash2async_ini class="sref">qpid=hash2async_ini s92areak 881        unsigned long  = <14"+code=nbytes" class="sr14"+c>1488292UL;
148 -92UL;
qpfina s92aetext" class="sref/n2hash2async_fina class="sref">qp/n2hash2async_fina s92areak 881        unsigned long  = <14+code=nbytes" class="sre14+co>148en92a>,
        unsigned long  = <14 href="+code=err" class=14 hr>1488292aeak 881        unsigned long  = <14 href="+code=err" class=14 hr>149h292a>,
        unsigned long  = <14L890" class="line" name=14L89>149pt93>];
qpt+c s92a->="-> -= (        unsigned long  = <14unk_list" class="sref">c14unk>149ze92feak 881        unsigned long  = <14L892" class="line" name=14L89>1492292>];
        unsigned long  = <14          a>, (struct  -= (="-> -= (=span9" classa>=ing=>"%s"qpt+c s92a->="->        unsigned long  = <14"+coe=cipher" class="sre14"+c>1498292UL;
(struct  -= (     _816"e92f,>="-> -= (=span9" classa>=ing=>"%s-n2"qpt+c s92a->="->        unsigned long  = <14hre8="+code=tfm" class="14hre>149 -92UL;
        unsigned long  = <14hre8="+code=tfm" class="14hre>149en92a>,
 -= (arr_149879> = <14ref8"+code=arc4" class="14ref>1492792 0,
arr_149979> = <14 hre"+code=s" class="sre14 hr>1498292a>,
        unsigned long  = <15L779"+code=s" class="sre15L77>150h292a>,
 -= (qpt+c s92a->="-> -= (150pt93>];
="drivers/crypto/n2_/n2hash2ctxid="L876" class/n2hash2ctx"linereak 881        unsigned long  = <15Lnk_list" class="sref">c15Lnk>150SY94ff;
1502292>];
qpcra2ini s92aetext" class="sref/n2hash2cra2ini class="sref">qpid=hash2cra2ini s92areak 881        unsigned long  = <15L         a>, qpcra2exi s92aetext" class="sref/n2hash2cra2exi class="sref">qp/n2hash2cra2exi s92areak 881        unsigned long  = <15L+coe=cipher" class="sre15L+c>1505292aeak 881        unsigned long  = <15Lre8="+code=tfm" class="15Lre>150 -92UL;
        unsigned long  = <15Lre8="+code=tfm" class="15Lre>150en92a>,
        unsigned long  = <15Lef8"+code=arc4" class="15Lef>1502792 0,
 = <15Lhre"+code=s" class="sre15Lhr>1508292a>,
=ing=>"%s alg registration failed\n" -= (        unsigned long  = <15 hr9f="+code=i" class="s15 hr>151h292a>,
        unsigned long  = <15[151 :95>);
 -= ((struct         unsigned long  = <15L809=a" class="sref">a151SY94ff;
)
1512292>];
=ing=>"%s alg registered\n" -= (        unsigned long  = <15= <9 href="+code=a" clas15= <>151nt93a>,
        unsigned long  = <15 hr9de=keylen" class="sr15 hr>1518292UL;
        unsigned long  = <15 hr9f="+code=k" class="s15 hr>151 -92UL;
(struct         unsigned long  = <15ss=9line" name="L816"> 815ss=>151en92a>,
1512792 }eak 881        unsigned long  = <15= <9me="L818"> 818  15= <>1518292aeak 881        unsigned long  = <158199 class="line" name="15819>152h292aa>
qp__devini s92a>="->        unsigned long  = <15L829" class="line" name=15L82>152pt93>>)
15loc>152ze92ff;
qpie92f,>="->152nt93a>,
(struct         unsigned long  = <15L829" class="line" name=15L82>1525= 0UL;
        unsigned long  = <15 hr9 class="sref">block_15 hr>152 -92UL;
qpou s92areak 881        unsigned long  = <15ss=9his_len" class="sref15ss=>152en92aeak 881        unsigned long  = <15L819 class="line" name="15L81>1522792 0,
qpie92fete0rivers/crypto/n2_iclass="sref">qpie92f <rivers/crypto/n2_NUM_HASH_TMPLSid="L876" classNUM_HASH_TMPLSs92arivers/crypto/n2_iclass="sref">qpie92f++ea>)
1528292a>,
qpie92f])reak 881        unsigned long  = <15153h292a>,
 = <15cod9=encrypt" class="sre15cod>153 :95>);
        unsigned long  = <15loc9 class="line" name="15loc>1532792 0,
(struct qpou s92areak 881        unsigned long  = <158229="+code=tfm" class="15822>1532292>];
153nt93a>,
        unsigned long  = <15L829n_place" class="sref15L82>1538292UL;
qpie92fete0rivers/crypto/n2_iclass="sref">qpie92f <rivers/crypto/n2_NUM_CIPHER_TMPLSid="L876" classNUM_CIPHER_TMPLSs92arivers/crypto/n2_iclass="sref">qpie92f++ea>)
153 -92UL;
n="L880" class="__o/nregister_one_ref">ns92a=&="->n2t+c  id="L876" classref">n2t+c  s92a[vers/crypto/n2_iclass="sref">qpie92f])reak 881        unsigned long  = <15ss=9" class="line" name=15ss=>1537-92UL;
 = <15ode9arr_len" class="sref15ode>1532792 0,
        unsigned long  = <15ref9"+code=ent" class="s15ref>1538292a>,
qpou s92areak 881        unsigned long  = <15all9c() of %d fails\15all>154h292a>,
 815ss=>1542292>ks(struct qpou s92a:eak 881        unsigned long  = <15L849" class="line" name=15L84>154nt93a>,
(struct         unsigned long  = <15src9paddr" class="sref">15src>1548292UL;
154 -92U}eak 881        unsigned long  = <15cod9=src_len" class="sre15cod>154en92aeak 881        unsigned long  = <15_ty9e" class="sref">enc_15_ty>1542792 a>
qp__devexi s92a>="->        unsigned long  = <15cod9=encrypt" class="sre15cod>1548292a>)
OPCOD15RYP>155h292a>,
        unsigned long  = <15ss=9sref">OPCODE_INPLACE15ss=>155pt93>];
        unsigned long  = <15=sr9_paddr" class="sref"15=sr>1552792 0,
        unsigned long  = <15" c9ass="sref">auth_key_15" c>1552292>];
        unsigned long  = <15r" 9lass="sref">auth_iv_15r" >155nt93a}eak 881        unsigned long  = <15"sr9f">final_auth_state_15"sr>1555292aeak 881        unsigned long  = <15L849="+code=key" class="15L84>155 -92Ukspan9" classlomment">/* To map CWQ queues torinterrupt sources, the hypervisor API provides        unsigned long  = <15de=9v_paddr" class="sref15de=>1557-92Ukspan9" classlomment"> * a devino.  This isn't    y useful torus because all of the        unsigned long  = <15st_9addr" class="sref">d15st_>1552792 kspan9" classlomment"> * interrupts listed in the device_nref have been translated to        unsigned long  = <157491558292akspan9" classlomment"> * Linux virtual IRQ cookie numb   .        unsigned long  = <15 href="+code=i" class="s15 hr>156h292akspan9" classlomment"> *        unsigned long  = <15href="+code=ent" class="15hre>156pt93>kspan9" classlomment"> * So wf have torback-translate,vgoing through the 'intr' and 'ino'        unsigned long  = <15L861" class="line" name=15L86>156SY94fkspan9" classlomment"> * property tables of the n2cp MDESC nref, matching it with the OF        unsigned long  = <15=src_len" class="sref">s15=sr>1562292>kspan9" classlomment"> * 'interrupts' property entries, in order tortorfigure ou  which        unsigned long  = <15=src_paddr" class="sref"15=sr>156nt93akspan9" classlomment"> * devinovgoes torwhich already-translated IRQ.        unsigned long  = <15" class="sref">auth_key_15" c>1568292Ukspan9" classlomment"> */        unsigned long  = <15r" class="sref">auth_iv_15r" >156 -92Ua>
="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="->]*="->        unsigned long  = <15"sref">final_auth_state_15"sr>1567-92UL;
        unsigned long  = <15r" class="sref">enc_key_15r" >1562792 >)
enc_iv_15dr">1568292a>,
        unsigned long  = <15addr" class="sref">dest_15add>1570292a>,
 815ss=>157 :95>);
qpie92freak 881        unsigned long  = <15 class="sref">CONTROL_EN15 cl>157ze92feak 881        unsigned long  = <15L872" class="line" name=15L87>15a2292>];
qpie92fete0rivers/crypto/n2_iclass="sref">qpie92f <rivers/crypto/n2_ic="L880" class="ip"lin->="->qpie92f++ea>)
15de=>1574292a>,
qpie92f]f="->        unsigned long  = <15874" class="line" name="15874>1578292UL;
        unsigned long  = <15L875" class="line" name=15L87>157 -92UL;
        unsigned long  = <15 href="+code=req" class=15 hr>157en92a>,
qpie92fettext" class="srefic="L880" class="ip"lin->="->        unsigned long  = <15877" class="line" name="15877>1572792 0,
        unsigned long  = <15href="+code=req" class="15hre>1578292aeak 881        unsigned long  = <15ref="+code=walk" class="15ref>158h292a>,
qpie92f]f="->158pt93>eak 881        unsigned long  = <15=dest_prev" class="sref"15=de>158SY94ff;
qpof_get_propertys92a=="->qpof_nrefe92f,>kspan9" classa>=ing=>"interrupts"        unsigned long  = <15code=tot_len" class="sre15cod>1582292>];
        unsigned long  = <15_place" class="sref">pre15_pl>1584292a>,
        unsigned long  = <15"+code=nbytes" class="sr15"+c>1585292aeak 881        unsigned long  = <15L885" class="line" name=15L88>158 -92UL;
qpie92fete0rivers/crypto/n2_iclass="sref">qpie92f <rivers/crypto/n2_dev="L880" class="deve92f->="->qpie92f++ea>)
qpie92f]ettext" class="srefintr="L880" class="intrs92aeeak 881        unsigned long  = <15ef="+code=walk" class="s15ef=>1582792 0,
qpie92freak 881        unsigned long  = <15 href="+code=err" class=15 hr>1588292a>,
        unsigned long  = <15 href="+code=err" class=15 hr>159ls;
159pt93>];
        unsigned long  = <15unk_list" class="sref">c15unk>159ze92f}eak 881        unsigned long  = <15L892" class="line" name=15L89>1592292>eak 881        unsigned long  = <15          a>, ="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="->]*="->        unsigned long  = <15"+coe=cipher" class="sre15"+c>1598292UL;
a>="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]*="->        unsigned long  = <15hre8="+code=tfm" class="15hre>159 -92UL;
n2tletore.c#L821" irq_handl>n2ts92a>="->nletore.c#L821" handl>ns92aeeak 881        unsigned long  = <15hre8="+code=tfm" class="15hre>159en92a>)
        unsigned long  = <16L779"+code=s" class="sre16L77>160ls;
160pt93>];
_to_devinos92a=="->        unsigned long  = <16Lnk_list" class="sref">c16Lnk>160SY94ff;
1602292>];
160nt93aeak 881        unsigned long  = <16L+coe=cipher" class="sre16L+c>1608292UL;
        unsigned long  = <16Lre8="+code=tfm" class="16Lre>160 -92UL;
        unsigned long  = <16Lre8="+code=tfm" class="16Lre>1607-92UL;
        unsigned long  = <16Lef8"+code=arc4" class="16Lef>1602792 eak 881        unsigned long  = <16Lhre"+code=s" class="sre16Lhr>1608292a>,
        unsigned long  = <16 hr9f="+code=i" class="s16 hr>161ls;
161pt93>];
(struct =span9" classa>=ing=>"%s-%d"=ers/crypto/n2_indexid="L876" classindexs92a)reak 881        unsigned long  = <16L809=a" class="sref">a161ze92feak 881        unsigned long  = <16de=9href="+code=j" class16de=>1612292>];
(struct =ers/crypto/n2_handl>nletore.c#L821" handl>ns92a, 0,r="->=ers/crypto/n2_c="L880" class="p"lin)reak 881        unsigned long  = <16= <9 href="+code=a" clas16= <>161nt93a}eak 881        unsigned long  = <16 hr9de=keylen" class="sr16 hr>1615292aeak 881        unsigned long  = <16 hr9f="+code=k" class="s16 hr>161 -92Ua>
="drivers/crypto/n2_kmem_cach"letore.c#L821" kmem_cach"292>]*="->        unsigned long  = <16ss=9line" name="L816"> 816ss=>161en92aeak 881        unsigned long  = <16L819" class="line" name=16L81>1612792 a>
 818  16= <>1618292a>)
(struct 162pt93>}eak 881        unsigned long  = <16loc9_size" class="sref">16loc>162ze92feak 881        unsigned long  = <168229 class="line" name="16822>1622292>a>
162nt93a>)
1628292UL;
 -= ((struct         unsigned long  = <16 hr9 class="sref">block_16 hr>162 -92U}eak 881        unsigned long  = <16ss=9his_len" class="sref16ss=>162en92aeak 881        unsigned long  = <16L819 class="line" name="16L81>1622792 a>
qpqueue_cach"2ini s92a=voideeak 881        unsigned long  = <16= <9" class="line" name=16= <>1628292a>)
163h292a>,
        unsigned long  = <16cod9=encrypt" class="sre16cod>163 :95>);
        unsigned long  = <16loc9 class="line" name="16loc>1632792 0,
 -= (=ing=>"mau_queue"        unsigned long  = <168229="+code=tfm" class="16822>1632292>];
]*eak 881        unsigned long  = <16 hr9f="+code=ent" class=16 hr>1634292a>,
        unsigned long  = <16L829n_place" class="sref16L82>1638292UL;
(struct         unsigned long  = <16t <9 href="+code=i" clas16t <>163 -92UL;
        unsigned long  = <16ss=9" class="line" name=16ss=>1637-92UL;
        unsigned long  = <16all9c() of %d fails\16all>164h292a>,
        unsigned long  = <16ode9arr_len" class="sref16ode>164 :95>);
 -= (=ing=>"cwq_queue"        unsigned long  = <16loc9code=EBUSY" class="s16loc>1642792 0,
(struct ]*eak 881        unsigned long  = <16ss=9line" name="L842"> 816ss=>1642292>];
        unsigned long  = <16L849" class="line" name=16L84>1644292a>,
        unsigned long  = <16src9paddr" class="sref">16src>1648292UL;
)
164 -92UL;
=oyclass="sref">qpkmem_cach"_dea>=oys92a=ks(struct         unsigned long  = <16cod9=src_len" class="sre16cod>1647-92UL;
enc_16_ty>1642792 0,
        unsigned long  = <16cod9=encrypt" class="sre16cod>1648292a>,
        unsigned long  = <16RYP9" class="sref">OPCOD16RYP>165h292a}eak 881        unsigned long  = <16ss=9sref">OPCODE_INPLACE16ss=>165pt93>eak 881        unsigned long  = <16=sr9_paddr" class="sref"16=sr>1652792 a>
=oyclass="sref">qpqueue_cach"2dea>=oys92a=voideeak 881        unsigned long  = <16" c9ass="sref">auth_key_16" c>1652292>>)
auth_iv_16r" >165nt93a>,
(struct =oyclass="sref">qpkmem_cach"_dea>=oys92a=ks(struct         unsigned long  = <16"sr9f">final_auth_state_16"sr>1658292UL;
=oyclass="sref">qpkmem_cach"_dea>=oys92a=ks(struct         unsigned long  = <16L849="+code=key" class="16L84>165 -92U}eak 881        unsigned long  = <16de=9v_paddr" class="sref16de=>165en92aeak 881        unsigned long  = <16st_9addr" class="sref">d16st_>1652792 a>
="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]*="-> = <16 href="+code=i" class="s16 hr>166h292a>,
="->        unsigned long  = <16href="+code=ent" class="16hre>166 :95>);
        unsigned long  = <16L861" class="line" name=16L86>166ze92feak 881        unsigned long  = <16=src_len" class="sref">s16=sr>1662292>];
        unsigned long  = <16=src_paddr" class="sref"16=sr>1664292a>,
auth_key_16" c>1665292aeak 881        unsigned long  = <16r" class="sref">auth_iv_16r" >166 -92UL;
="->final_auth_state_16"sr>1667-92UL;
enc_key_16r" >1662792 eak 881        unsigned long  = <16dr" class="sref">enc_iv_16dr">1668292a>,
(struct &="->        unsigned long  = <16addr" class="sref">dest_16add>167ls;
 816ss=>167pt93>];
&="->        unsigned long  = <16 class="sref">CONTROL_EN16 cl>167ze92feak 881        unsigned long  = <16L872" class="line" name=16L87>1672292>];
(struct  -= (="->(struct         unsigned long  = <16de=EINVAL" class="sref">16de=>1674292a>,
,>&="->        unsigned long  = <16L875" class="line" name=16L87>167 -92UL;
(struct 167en92aeak 881        unsigned long  = <16877" class="line" name="16877>1672792 0,
ks(struct         unsigned long  = <16href="+code=req" class="16hre>1678292aeak 881        unsigned long  = <16ref="+code=walk" class="16ref>168h292a>,
        unsigned long  = <16f="+code=chunk" class="s16f=">168pt93>eak 881        unsigned long  = <16=dest_prev" class="sref"16=de>168SY94ff;
pre16_pl>168nt93aeak 881        unsigned long  = <16"+code=nbytes" class="sr16"+c>1685292aa>
]*="->        unsigned long  = <16L885" class="line" name=16L88>168 -92U>)
1688292a>,
169h292a>,
        unsigned long  = <16L890" class="line" name=16L89>169 :95>);
c16unk>169ze92feak 881        unsigned long  = <16L892" class="line" name=16L89>1692292>];
1694292a>,
 = <16"+coe=cipher" class="sre16"+c>1698292UL;
        unsigned long  = <16hre8="+code=tfm" class="16hre>1697-92UL;
        unsigned long  = <16ref8"+code=arc4" class="16ref>1692792 eak 881        unsigned long  = <16 hre"+code=s" class="sre16 hr>1698292a>,
170pt93>eak 881        unsigned long  = <17Lnk_list" class="sref">c17Lnk>1702792 a>
=oyclass="sref">qpspu_queue_dea>=oys92a=a>="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]*="->        unsigned long  = <17L892" class="line" name=17L89>1702292>>)
1704292a>,
        unsigned long  = <17L+coe=cipher" class="sre17L+c>1705292aeak 881        unsigned long  = <17Lre8="+code=tfm" class="17Lre>170 -92UL;
        unsigned long  = <17Lre8="+code=tfm" class="17Lre>1707-92UL;
(struct  = <17[171pt93>];
        unsigned long  = <17L809=a" class="sref">a1712792 0,
1712292>}eak 881        unsigned long  = <17= <9 href="+code=a" clas17= <>171nt93aeak 881        unsigned long  = <17 hr9de=keylen" class="sr17 hr>1715292aa>
=oyclass="sref">qpspu_list_dea>=oys92a=a>="drivers/crypto/n2_list_headclass="sref">qplist_head292>]*="->qplists92aeeak 881        unsigned long  = <17 hr9f="+code=k" class="s17 hr>171 -92U>)
 817ss=>1717-92UL;
="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]*="->        unsigned long  = <17L819" class="line" name=17L81>1712792 eak 881        unsigned long  = <17= <9me="L818"> 818  17= <>1718292a>,
qplists92a,r="->qplists92aea>)
qpie92freak 881        unsigned long  = <17L829" class="line" name=17L82>172pt93>eak 881        unsigned long  = <17loc9_size" class="sref">17loc>1722792 0,
qpie92fete0rivers/crypto/n2_iclass="sref">qpie92f <rivers/crypto/n2_NR_CPUSid="L876" classNR_CPUSe92frivers/crypto/n2_iclass="sref">qpie92f++ea>)
qpie92f]ettext" class="srefc="L880" class="p"lineeak 881        unsigned long  = <17"+c9de=nbytes" class="sr17"+c>1724292a>,
 -= ([vers/crypto/n2_iclass="sref">qpie92f]etext" class="srefNULL="L880" class="NULL"linreak 881        unsigned long  = <17L829" class="line" name=17L82>1728292UL;
        unsigned long  = <17 hr9 class="sref">block_17 hr>172 -92Ueak 881        unsigned long  = <17ss=9his_len" class="sref17ss=>1727-92UL;
)
=ers/crypto/n2_c="L880" class="p"lin)reak 881        unsigned long  = <17= <9" class="line" name=17= <>1729792 0,
        unsigned long  = <171730292>];
        unsigned long  = <17cod9=encrypt" class="sre17cod>173 :95>);
=oyclass="sref">qpspu_queue_dea>=oys92a==ers/crypto/n2_c="L880" class="p"lin)reak 881        unsigned long  = <17loc9 class="line" name="17loc>1732792 0,
qplists92aereak 881        unsigned long  = <178229="+code=tfm" class="17822>1732292>];
 -= ((struct         unsigned long  = <17 hr9f="+code=ent" class=17 hr>1734292a>,
        unsigned long  = <17L829n_place" class="sref17L82>1738292U}eak 881        unsigned long  = <17t <9 href="+code=i" clas17t <>173 -92Ueak 881        unsigned long  = <17ss=9" class="line" name=17ss=>1737-92Ukspan9" classlomment">/* Walk the backward arcs of a CWQ 'exec-unit' nref,        unsigned long  = <17ode9arr_len" class="sref17ode>1732792 kspan9" classlomment"> * gathe=ing cpu memb   hip information.        unsigned long  = <17ref9"+code=ent" class="s17ref>1738292akspan9" classlomment"> */        unsigned long  = <17all9c() of %d fails\17all>174h292aa>
qpspu_mdesc_walk_arcss92a=a>="drivers/crypto/n2_mdesc_handl>="L880" class="mdesc_handl>292>]*="->="->qpnrefe92f,>a>="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]*="->        unsigned long  = <17ss=9line" name="L842"> 817ss=>1742292>];
]**="->174nt93a>)
17src>1748292UL;
        unsigned long  = <17L849" class="line" name=17L84>174 -92Ueak 881        unsigned long  = <17cod9=src_len" class="sre17cod>1747-92UL;
=ers/crypto/n2_mdesc="L880" class="mdescs92a,>="->qpnrefe92f,>="->qpMDESC_ARC_TYPE_BACKs92aea>)
enc_17_ty>1742792 0,
="->qptgts92aetext" class="srefmdesc_arc_targetletore.c#L821" mdesc_arc_targets92a=ks(struct         unsigned long  = <17cod9=encrypt" class="sre17cod>1749792 0,
qpna6"e92fetext" class="srefmdesc_nref_816"letore.c#L821" mdesc_nref_816"s92a=ks(struct qptgts92a)reak 881        unsigned long  = <17RYP9" class="sref">OPCOD17RYP>1750292>];
qpids92areak 881        unsigned long  = <17ss=9sref">OPCODE_INPLACE17ss=>175pt93>eak 881        unsigned long  = <17=sr9_paddr" class="sref"17=sr>1752792 0,
=cmc="L880" class="s>=cmcs92a=ks(struct qpna6"e92f,>=span9" classa>=ing=>"cpu"        unsigned long  = <17" c9ass="sref">auth_key_17" c>1752292>];
auth_iv_17r" >1754292a>,
qpids92aetext" class="srefmdesc_get_propertyclass="sref">qpmdesc_get_propertys92a=ks(struct qptgts92a,>kspan9" classa>=ing=>"id"        unsigned long  = <17"sr9f">final_auth_state_17"sr>1758292UL;
qpids92a] !text" class="srefNULL="L880" class="NULL"linea>)
=ing=>"%s: SPU cpu slot already set.\n"        unsigned long  = <17de=9v_paddr" class="sref17de=>1757-92UL;
qpof_nrefe92f->="->        unsigned long  = <17st_9addr" class="sref">d17st_>1752792 0,
        unsigned long  = <17 href="+code=i" class="s17 hr>1760292>];
qpids92a,r="->        unsigned long  = <17href="+code=ent" class="17hre>176 :95>);
qpids92a] text" class="srefc="L880" class="p"linreak 881        unsigned long  = <17L861" class="line" name=17L86>1762792 0,
        unsigned long  = <17=src_len" class="sref">s17=sr>1762292>];
        unsigned long  = <17=src_paddr" class="sref"17=sr>176nt93a}eak 881        unsigned long  = <17" class="sref">auth_key_17" c>1765292aeak 881        unsigned long  = <17r" class="sref">auth_iv_17r" >176 -92Ukspan9" classlomment">/* Process an9'exec-unit' MDESC nref of typb9'cwq'.  */        unsigned long  = <17"sref">final_auth_state_17"sr>1767-92Ua>
_exec_uni class="sref">qphandl>_exec_uni s92a=a>="drivers/crypto/n2_spu_mdesc_infoletore.c#L821" spu_mdesc_info292>]*="->="drivers/crypto/n2_list_headclass="sref">qplist_head292>]*="->qplists92aqeak 881        unsigned long  = <17r" class="sref">enc_key_17r" >1762792 0,
="L880" class="mdesc_handl>292>]*="->enc_iv_17dr">1769792 0,
="->qpnrefe92f,>const char]*="->unsigned long ="-> -= (        unsigned long  = <17addr" class="sref">dest_17add>1770292>];
n2ts92a>="->nletore.c#L821" handl>ns92a,>a>="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]**="-> 817ss=>177pt93>>)
CONTROL_EN17 cl>1772792 0,
="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]*="->        unsigned long  = <17L872" class="line" name=17L87>1772292>];
17de=>177nt93aeak 881        unsigned long  = <17874" class="line" name="17874>1778292UL;
="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>),>="->177 -92UL;
)
1777-92UL;
=ing=>"%s: Could nrt alloaate SPU queue.\n"        unsigned long  = <17877" class="line" name="17877>1772792 0,
qpof_nrefe92f->="->        unsigned long  = <17href="+code=req" class="17hre>1779792 0,
178pt93>eak 881        unsigned long  = <17=dest_prev" class="sref"17=de>178SY94ff;
        unsigned long  = <17code=tot_len" class="sre17cod>1782292>];
qpspin_loak2ini s92a=&="->qploakass=ereak 881        unsigned long  = <17_place" class="sref">pre17_pl>178nt93a>,
(struct 1788292UL;
qpjobsass=ereak 881        unsigned long  = <17L885" class="line" name=17L88>1786292UL;
qplist_adds92a=&="->qplists92a,r="->qplists92aereak 881        unsigned long  = <17+code=nbytes" class="sre17+co>178en92aeak 881        unsigned long  = <17ef="+code=walk" class="s17ef=>1782792 0,
qpspu_mdesc_walk_arcss92a=ks(struct qpnrefe92f,>="->="->1788292a>,
1790292>];
179pt93>eak 881        unsigned long  = <17unk_list" class="sref">c17unk>179SY94ff;
        unsigned long  = <17L892" class="line" name=17L89>1792292>];
1794292a>,
1795292aeak 881        unsigned long  = <17hre8="+code=tfm" class="17hre>179 -92UL;
="->="->nletore.c#L821" handl>ns92aereak 881        unsigned long  = <17hre8="+code=tfm" class="17hre>1797-92U}eak 881        unsigned long  = <17ref8"+code=arc4" class="17ref>1792792 eak 881        unsigned long  = <17 hre"+code=s" class="sre17 hr>1798292aa>
="drivers/crypto/n2_mdesc_handl>="L880" class="mdesc_handl>292>]*="->]*="->="drivers/crypto/n2_list_headclass="sref">qplist_head292>]*="->qplists92aqeak 881        unsigned long  = <18L890" class="line" name=18L89>180 :95>);
unsigned long ="-> -= (        unsigned long  = <18Lnk_list" class="sref">c18Lnk>1802792 0,
n2ts92a>="->nletore.c#L821" handl>ns92a,>a>="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292>]**="->1802292>>)
1804292a>,
="->qpnrefe92freak 881        unsigned long  = <18Lre8="+code=tfm" class="18Lre>180 -92Ueak 881        unsigned long  = <18Lre8="+code=tfm" class="18Lre>1807-92UL;
(struct qpnrefe92f,>=span9" classa>=ing=>"exec-unit")
 -= (qpmdesc_get_propertys92a=ks(struct qpnrefe92f,>=span9" classa>=ing=>"typb"        unsigned long  = <18[181 :95>);
 -= (=cmc="L880" class="s>=cmcs92a=ks(struct  -= (        unsigned long  = <18L809=a" class="sref">a1812792 0,
        unsigned long  = <18de=9href="+code=j" class18de=>1812292>eak 881        unsigned long  = <18= <9 href="+code=a" clas18= <>1814292a>,
qphandl>_exec_uni s92a=="->qplists92a,r="->qpnrefe92f,eak 881        unsigned long  = <18 hr9de=keylen" class="sr18 hr>1818292UL;
="-> -= (="->nletore.c#L821" handl>ns92a,>="-> = <18ss=9line" name="L816"> 818ss=>1817-92UL;
=oyclass="sref">qpspu_list_dea>=oys92a=="->qplists92aereak 881        unsigned long  = <18L819" class="line" name=18L81>1812792 0,
 818  18= <>1819792 0,
182pt93>eak 881        unsigned long  = <18loc9_size" class="sref">18loc>1822792 0,
182nt93aeak 881        unsigned long  = <18L829" class="line" name=18L82>1825292aa>
qp__devini 292a>="->qpget_irq_propss92a=a>="drivers/crypto/n2_mdesc_handl>="L880" class="mdesc_handl>292>]*="->="->qpnrefe92f,eak 881        unsigned long  = <18 hr9 class="sref">block_18 hr>182 -92UL;
]*="->        unsigned long  = <18ss=9his_len" class="sref18ss=>1827-92U>)
*="->        unsigned long  = <18= <9" class="line" name=18= <>1829792 0,
        unsigned long  = <181830292>];
qpie92freak 881        unsigned long  = <18cod9=encrypt" class="sre18cod>183pt93>eak 881        unsigned long  = <18loc9 class="line" name="18loc>183SY94ff;
qpmdesc_get_propertys92a=ks(struct qpnrefe92f,>=span9" classa>=ing=>"ino"        unsigned long  = <188229="+code=tfm" class="18822>1832292>];
)
1834292a>,
qpp=intks92a=kspan9" classa>=ing=>"NO9'ino'\n"        unsigned long  = <18L829n_place" class="sref18L82>1838292UL;
qpENODEVe92freak 881        unsigned long  = <18t <9 href="+code=i" clas18t <>183 -92UL;
        unsigned long  = <18ss=9" class="line" name=18ss=>183en92aeak 881        unsigned long  = <18ode9arr_len" class="sref18ode>1832792 0,
qpnum_intrss92aetext" class="srefino_lenletore.c#L821" ino_lens92a / sizeof=="->        unsigned long  = <18ref9"+code=ent" class="s18ref>1838292a>,
="drivers/crypto/n2_ino_blob="L880" class="ino_blobs92aea*eak 881        unsigned long  = <18all9c() of %d fails\18all>1840292>];
qpnum_intrss92a)qeak 881        unsigned long  = <18ode9arr_len" class="sref18ode>184 :95>);
="-> 818ss=>1842292>];
184nt93aeak 881        unsigned long  = <18src9paddr" class="sref">18src>1848292UL;
qpie92fete0rivers/crypto/n2_iclass="sref">qpie92f <rivers/crypto/n2_ic="L880" class="ip"lin->="->qpnum_intrss92arivers/crypto/n2_iclass="sref">qpie92f++ea>)
184 -92UL;
qpie92f]reak 881        unsigned long  = <18cod9=src_len" class="sre18cod>1847-92UL;
qpie92f + 1reak 881        unsigned long  = <18_ty9e" class="sref">enc_18_ty>1842792 0,
qpie92f]reak 881        unsigned long  = <18cod9=encrypt" class="sre18cod>1849792 0,
        unsigned long  = <18RYP9" class="sref">OPCOD18RYP>185ls;
OPCODE_INPLACE18ss=>185 :95>);
        unsigned long  = <18=sr9_paddr" class="sref"18=sr>1852792 }eak 881        unsigned long  = <18" c9ass="sref">auth_key_18" c>1852292>eak 881        unsigned long  = <18r" 9lass="sref">auth_iv_18r" >1854292aa>
qp__devini 292a>="->qpgrab_mdesc_irq_propss92a=a>="drivers/crypto/n2_mdesc_handl>="L880" class="mdesc_handl>292>]*="->final_auth_state_18"sr>1858292UL;
="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="->="drivers/crypto/n2_spu_mdesc_infoletore.c#L821" spu_mdesc_info292>]*="->        unsigned long  = <18de=9v_paddr" class="sref18de=>1857-92UL;
        unsigned long  = <18st_9addr" class="sref">d18st_>1852792 >)
        unsigned long  = <18 href="+code=i" class="s18 hr>1860292>];
qpnrefe92freak 881        unsigned long  = <18href="+code=ent" class="18hre>186pt93>eak 881        unsigned long  = <18L861" class="line" name=18L86>186SY94ff;
qpof_get_propertys92a=ks(struct qpof_nrefe92f,>=span9" classa>=ing=>"reg"        unsigned long  = <18=src_len" class="sref">s18=sr>1862292>];
        unsigned long  = <18=src_paddr" class="sref"18=sr>1864292a>,
qpENODEVe92freak 881        unsigned long  = <18" class="sref">auth_key_18" c>1865292aeak 881        unsigned long  = <18r" class="sref">auth_iv_18r" >1866292UL;
(struct qpnrefe92f,>=span9" classa>=ing=>"virtual-device")
final_auth_state_18"sr>1867-92UL;
qpna6"e92freak 881        unsigned long  = <18r" class="sref">enc_key_18r" >1862792 0,
*="->        unsigned long  = <18dr" class="sref">enc_iv_18dr">1868292aeak 881        unsigned long  = <18addr" class="sref">dest_18add>1870292>];
qpna6"e92fetext" class="srefmdesc_get_propertyclass="sref">qpmdesc_get_propertys92a=ks(struct qpnrefe92f,>=span9" classa>=ing=>"na6""        unsigned long  = <18ss="line" name="L870"> 818ss=>187 :95>);
qpna6"e92fe||ivers/crypto/n2_s>=cmc="L880" class="s>=cmcs92a=ks(struct qpna6"e92f,>="->        unsigned long  = <18 class="sref">CONTROL_EN18 cl>1872792 0,
        unsigned long  = <18L872" class="line" name=18L87>1872292>];
qpmdesc_get_propertys92a=ks(struct qpnrefe92f,>=span9" classa>=ing=>"cfg-handl>"        unsigned long  = <18de=EINVAL" class="sref">18de=>1874292a>,
        unsigned long  = <18874" class="line" name="18874>1878292UL;
        unsigned long  = <18L875" class="line" name=18L87>187 -92UL;
        unsigned long  = <18 href="+code=req" class=18 hr>1877-92UL;
qpget_irq_propss92a=ks(struct qpnrefe92f,>="->        unsigned long  = <18877" class="line" name="18877>1872792 0,
        unsigned long  = <18href="+code=req" class="18hre>1878292aeak 881        unsigned long  = <18ref="+code=walk" class="18ref>188h292a>,
qpENODEVe92freak 881        unsigned long  = <18f="+code=chunk" class="s18f=">188pt93>}eak 881        unsigned long  = <18=dest_prev" class="sref"18=de>188SY94feak 881        unsigned long  = <18code=tot_len" class="sre18cod>1882292>a>
pre18_pl>1884292>a>
1885292aeak 881        unsigned long  = <18L885" class="line" name=18L88>1886292Ua>
qp__devini 292a>="->nletore.c#L821" ed spu_hvapi_regist>ns92a=voideeak 881        unsigned long  = <18+code=nbytes" class="sre18+co>1887-92U>)
1888292aeak 881        unsigned long  = <18 href="+code=err" class=18 hr>1890292>];
1891292>];
c18unk>189SY94feak 881        unsigned long  = <18L892" class="line" name=18L89>1892292>];
ns92a=ks(struct         unsigned long  = <18          a>, 1898292UL;
=ing=>"Regist>ned NCS HVAPI     ion9%lu.%lu\n"        unsigned long  = <18 hre"+code=s" class="sre18 hr>1899792 0,
190pt93>eak 881        unsigned long  = <19Lnk_list" class="sref">c19Lnk>1902792 0,
1902292>}eak 881        unsigned long  = <19L         a>, nletore.c#L821" ed spu_hvapi_unregist>ns92a=voideeak 881        unsigned long  = <19Lre8="+code=tfm" class="19Lre>190 -92U>)
ns92a=ks(struct         unsigned long  = <19Lef8"+code=arc4" class="19Lef>1902792 }eak 881        unsigned long  = <19Lhre"+code=s" class="sre19Lhr>1908292aeak 881        unsigned long  = <19 hr9f="+code=i" class="s19 hr>1910292>a>
qpglobal_821s92areak 881        unsigned long  = <19[191pt93>eak 881        unsigned long  = <19L809=a" class="sref">a1912792 a>
qp__devini 292a>="->qpgrab_global_82sourcess92a=voideeak 881        unsigned long  = <19de=9href="+code=j" class19de=>1912292>>)
1914292a>,
qpmutex_loaks92a=&="->qpspu_loak"lin)reak 881        unsigned long  = <19ss=9line" name="L816"> 819ss=>191en92aeak 881        unsigned long  = <19L819" class="line" name=19L81>1912792 0,
qpglobal_821s92a++eeak 881        unsigned long  = <19= <9me="L818"> 818  19= <>1919792 0,
qpou s92areak 881        unsigned long  = <198199 class="line" name="19819>192ls;
1921292>];
ns92a=)reak 881        unsigned long  = <19loc9_size" class="sref">19loc>1922792 0,
qpou s92areak 881        unsigned long  = <19"+c9de=nbytes" class="sr19"+c>192nt93aeak 881        unsigned long  = <19L829" class="line" name=19L82>1928292UL;
qpqueue_cache2ini s92a=)reak 881        unsigned long  = <19 hr9 class="sref">block_19 hr>192 -92UL;
qpou _hvapi_releasfs92areak 881        unsigned long  = <19L819 class="line" name="19L81>1922792 eak 881        unsigned long  = <19= <9" class="line" name=19= <>1928292a>,
1930292>];
="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292> *) *r="->        unsigned long  = <19cod9=encrypt" class="sre19cod>193 :95>);
        unsigned long  = <198229="+code=tfm" class="19822>1932292>];
qpou _queue_cache2dea>=oys92areak 881        unsigned long  = <19 hr9f="+code=ent" class=19 hr>193nt93aeak 881        unsigned long  = <19L829n_place" class="sref19L82>1938292UL;
="drivers/crypto/n2_spu_queueletore.c#L821" spu_queue292> *) *r="->        unsigned long  = <19t <9 href="+code=i" clas19t <>193 -92UL;
1937-92UL;
        unsigned long  = <19ode9arr_len" class="sref19ode>1932792 0,
qpou s92a:eak 881        unsigned long  = <19ss=9line" name="L842"> 819ss=>1942292>];
1944292a>,
qpglobal_821s92a--reak 881        unsigned long  = <19src9paddr" class="sref">19src>1948292UL;
qpmutex_unloaks92a=&="->qpspu_loak"lin)reak 881        unsigned long  = <19L849" class="line" name=19L84>194 -92UL;
enc_19_ty>1942792 xt" class="srefou _free_cwq_table="L880" class="ou _free_cwq_tables92a:eak 881        unsigned long  = <19cod9=encrypt" class="sre19cod>1948292a>,
(struct         unsigned long  = <19RYP9" class="sref">OPCOD19RYP>1950292>];
        unsigned long  = <19ss=9sref">OPCODE_INPLACE19ss=>195pt93>eak 881        unsigned long  = <19=sr9_paddr" class="sref"19=sr>1952792 xt" class="srefou _queue_cache2dea>=oyclass="sref">qpou _queue_cache2dea>=oys92a:eak 881        unsigned long  = <19" c9ass="sref">auth_key_19" c>1952292>];
qpqueue_cache2dea>=oys92a=)reak 881        unsigned long  = <19r" 9lass="sref">auth_iv_19r" >195nt93aeak 881        unsigned long  = <19"sr9f">final_auth_state_19"sr>1958292Uxt" class="srefou _hvapi_releasfclass="sref">qpou _hvapi_releasfs92a:eak 881        unsigned long  = <19L849="+code=key" class="19L84>1956292UL;
ns92a=)reak 881        unsigned long  = <19de=9v_paddr" class="sref19de=>1957-92UL;
qpou s92areak 881        unsigned long  = <19st_9addr" class="sref">d19st_>1952792 }eak 881        unsigned long  = <197491958292aeak 881        unsigned long  = <19 href="+code=i" class="s19 hr>1960292>a>
qpreleasf_global_82sourcess92a=voideeak 881        unsigned long  = <19href="+code=ent" class="19hre>196pt93>>)
196SY94ff;
qpmutex_loaks92a=&="->qpspu_loak"lin)reak 881        unsigned long  = <19=src_len" class="sref">s19=sr>1962292>];
qpglobal_821s92aea>)
1964292a>,
(struct         unsigned long  = <19" class="sref">auth_key_19" c>1968292UL;
        unsigned long  = <19r" class="sref">auth_iv_19r" >196 -92Ueak 881        unsigned long  = <19"sref">final_auth_state_19"sr>1967-92UL;
(struct         unsigned long  = <19r" class="sref">enc_key_19r" >1962792 0,
        unsigned long  = <19dr" class="sref">enc_iv_19dr">1968292aeak 881        unsigned long  = <19addr" class="sref">dest_19add>1970292>];
qpqueue_cache2dea>=oys92a=)reak 881        unsigned long  = <19ss="line" name="L870"> 819ss=>197 :95>);
nletore.c#L821" ed spu_hvapi_unregist>ns92a=)reak 881        unsigned long  = <19 class="sref">CONTROL_EN19 cl>1972792 0,
        unsigned long  = <19L872" class="line" name=19L87>1972292>];
qpmutex_unloaks92a=&="->qpspu_loak"lin)reak 881        unsigned long  = <19de=EINVAL" class="sref">19de=>1974292a}eak 881        unsigned long  = <19874" class="line" name="19874>1975292aeak 881        unsigned long  = <19L875" class="line" name=19L87>1976292Ua>
="drivers/crypto/n2_ed lunsigletore.c#L821" ed lunsig292> *i="->qp__devini 292a>="->1977-92U>)
 *vers/crypto/n2_ec="L880" class="nps92aetext" class="srefkzalloaid="L876" classkzalloas92a=sizeof=a>="drivers/crypto/n2_ed lunsigletore.c#L821" ed lunsig292>),>="->198 :95>);
qpcwq_lists92aereak 881        unsigned long  = <19=dest_prev" class="sref"19=de>198SY94feak 881        unsigned long  = <19code=tot_len" class="sre19cod>1982292>];
pre19_pl>1984292a}eak 881        unsigned long  = <19"+code=nbytes" class="sr19"+c>1985292aeak 881        unsigned long  = <19L885" class="line" name=19L88>1986292Ua>
 *vers/crypto/n2_ec="L880" class="nps92aeeak 881        unsigned long  = <19+code=nbytes" class="sre19+co>1987-92U>)
 = <19 href="+code=err" class=19 hr>1989792 0,
(struct 1990292>];
        unsigned long  = <19L890" class="line" name=19L89>1991292>];
        unsigned long  = <19unk_list" class="sref">c19unk>199SY94feak 881        unsigned long  = <19L892" class="line" name=19L89>1992292>];
(struct 1994292a}eak 881        unsigned long  = <19"+coe=cipher" class="sre19"+c>1995292aeak 881        unsigned long  = <19hre8="+code=tfm" class="19hre>1996292Ua>
qp__devini 292a>="->     _    ionletore.c#L821" ed spu_>     _    ions92a=voideeak 881        unsigned long  = <19hre8="+code=tfm" class="19hre>1997-92U>)
        unsigned long  = <19 hre"+code=s" class="sre19 hr>1998292aeak 881        unsigned long  = <20L779"+code=s" class="sre20L77>20L7792 0,
 = 3b/63/807fd8a8a409c2ec533a2d2f59743fafaa7a_3/20L77>ak 881        unsigned long  = <20L890" class="line" name=20L89>20L :95>);
=ing=>"%s"        unsigned long  = <20Lnk_list" class="sref">c20Lnk>20L2792 }eak 881        unsigned long  = <20L892" class="line" name=20L89>20L2292>eak 881        unsigned long  = <20L         a>, qp__devini 292a>="->="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="-> = <20Lre8="+code=tfm" class="20Lre>20L6792 0,
="drivers/crypto/n2_mdesc_handl>="L880" class="mdesc_handl>292>]*="->        unsigned long  = <20Lef8"+code=arc4" class="20Lef>20L2792 0,
="drivers/crypto/n2_ed lunsigletore.c#L821" ed lunsig292> *vers/crypto/n2_ec="L880" class="nps92areak 881        unsigned long  = <20Lhre"+code=s" class="sre20Lhr>20L9792 0,
20 1292>];
     _    ions92a=ereak 881        unsigned long  = <20L809=a" class="sref">a20 SY94feak 881        unsigned long  = <20de=9href="+code=j" class20de=>20 2292>];
qpof_nrefe92f->="->        unsigned long  = <20= <9 href="+code=a" clas20= <>20 4292>];
=ing=>"Found N2CP at9%s\n"        unsigned long  = <20 hr9de=keylen" class="sr20 hr>20 5292aeak 881        unsigned long  = <20 hr9f="+code=k" class="s20 hr>20 6292UL;
 820ss=>20 7-92UL;
 = <20L819" class="line" name=20L81>20 2792 0,
=ing=>"%s: Unable to alloaate n2cc.\n"        unsigned long  = <20= <9me="L818"> 818  20= <>20 9792 0,
        unsigned long  = <208199 class="line" name="20819>2081792 0,
2081292>];
        unsigned long  = <20loc9_size" class="sref">20loc>208SY94feak 881        unsigned long  = <208229 class="line" name="20822>2082292>];
qpgrab_global_82sourcess92a=ereak 881        unsigned long  = <20"+c9de=nbytes" class="sr20"+c>2084-92UL;
 = <20L829" class="line" name=20L82>2088292UL;
=ing=>"%s: Unable to grab "block_20 hr>208 -92UL;
=ing=>"global 82sources.\n"        unsigned long  = <20ss=9his_len" class="sref20ss=>2087-92UL;
2088292aeak 881        unsigned long  = <2020];
 = <208229="+code=tfm" class="20822>20<2292>];
=ing=>"%s: Unable to grab MDESC.\n"        unsigned long  = <20 hr9f="+code=ent" class=20 hr>20<4292a>,
        unsigned long  = <20L829n_place" class="sref20L82>20<8292UL;
qpENODEVe92freak 881        unsigned long  = <20t <9 href="+code=i" clas20t <>20< -92UL;
20<7792 0,
        unsigned long  = <20ode9arr_len" class="sref20ode>20<8292>];
qpgrab_mdesc_irq_propss92a=="->=span9" classa>=ing=>"n2cc"        unsigned long  = <20ref9"+code=ent" class="s20ref>20<9792 0,
 = <20all9c() of %d fails\20all>20al292>];
=ing=>"%s: Unable to grab IRQ props.\n"        unsigned long  = <20ode9arr_len" class="sref20ode>20a :95>);
        unsigned long  = <20loc9code=EBUSY" class="s20loc>20a2792 0,
qpmdesc_releasfs92a=="-> 820ss=>20a2292>];
20a4792 0,
        unsigned long  = <20src9paddr" class="sref">20src>20a5292aeak 881        unsigned long  = <20L849" class="line" name=20L84>20a6292UL;
&="->qpcwq_lists92aqeak 881        unsigned long  = <20cod9=src_len" class="sre20cod>20a7-92UL;
=ing=>"cwq"qpHV_NCS_QTYPE_CWQs92aqv="->enc_20_ty>20a2792 0,
        unsigned long  = <20cod9=encrypt" class="sre20cod>20a8292a>,
qpmdesc_releasfs92a=="->OPCOD20RYP>20RY292aeak 881        unsigned long  = <20ss=9sref">OPCODE_INPLACE20ss=>20R :95>);
 = <20=sr9_paddr" class="sref"20=sr>20R2792 0,
=ing=>"%s: CWQ MDESC scan failed.\n"        unsigned long  = <20" c9ass="sref">auth_key_20" c>20R2292>];
        unsigned long  = <20r" 9lass="sref">auth_iv_20r" >20R4292a>,
final_auth_state_20"sr>20R5792 0,
        unsigned long  = <20L849="+code=key" class="20L84>20R -92Ueak 881        unsigned long  = <20de=9v_paddr" class="sref20de=>20R7-92UL;
qped regist>n_algss92a=ereak 881        unsigned long  = <20st_9addr" class="sref">d20st_>20R2792 0,
 = <2074920R9792 0,
=ing=>"%s: Unable to regist>n algorithms.\n"        unsigned long  = <20 href="+code=i" class="s20 hr>20 h292>];
        unsigned long  = <20href="+code=ent" class="20hre>20  :95>);
qpou _free_spu_liste92freak 881        unsigned long  = <20L861" class="line" name=20L86>20 2792 0,
        unsigned long  = <20=src_len" class="sref">s20=sr>20 2292>eak 881        unsigned long  = <20=src_paddr" class="sref"20=sr>20 4292>];
auth_key_20" c>20 5292aeak 881        unsigned long  = <20r" class="sref">auth_iv_20r" >20  -92UL;
        unsigned long  = <20"sref">final_auth_state_20"sr>20 en92aeak 881        unsigned long  = <20r" class="sref">enc_key_20r" >20 2792 xt" class="srefou _free_spu_listclass="sref">qpou _free_spu_liste92f:eak 881        unsigned long  = <20dr" class="sref">enc_iv_20dr">20 8292a>,
qpspu_list_dea>=oys92a=&="->qpcwq_lists92aereak 881        unsigned long  = <20addr" class="sref">dest_20add>20adn92aeak 881        unsigned long  = <20ss="line" name="L870"> 820ss=>20a1792 xt" class="srefou _free_global="L880" class="ou _free_globale92f:eak 881        unsigned long  = <20 class="sref">CONTROL_EN20 cl>20aSY94ff;
qpreleasf_global_82sourcess92a=ereak 881        unsigned long  = <20L872" class="line" name=20L87>20a2292>eak 881        unsigned long  = <20de=EINVAL" class="sref">20de=>20a4792 xt" class="srefou _free_n2cc="L880" class="ou _free_n2ccs92a:eak 881        unsigned long  = <20874" class="line" name="20874>20a8292UL;
20a -92Ueak 881        unsigned long  = <20 href="+code=req" class=20 hr>20a7-92UL;
qp__devexi -92ULxt" class="srefed lunsig_removeid="L876" classed lunsig_removes92a=s>="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="->20rpt93>>)
20rSY94ff;
="drivers/crypto/n2_ed lunsigletore.c#L821" ed lunsig292> *vers/crypto/n2_ec="L880" class="nps92aetext" class="srefdev_get_drvdata="L880" class="dev_get_drvdatas92a=&="->pre20_pl>20r4292>];
qped unregist>n_algss92a=ereak 881        unsigned long  = <20"+code=nbytes" class="sr20"+c>20r5292aeak 881        unsigned long  = <20L885" class="line" name=20L88>20r6292UL;
qpspu_list_dea>=oys92a=&="->qpcwq_lists92aereak 881        unsigned long  = <20+code=nbytes" class="sre20+co>20ren92aeak 881        unsigned long  = <20ef="+code=walk" class="s20ef=>20r8292>];
qpreleasf_global_82sourcess92a=ereak 881        unsigned long  = <20 href="+code=err" class=20 hr>20r8292aeak 881        unsigned long  = <20 href="+code=err" class=20 hr>20 h292UL;
20 pt93>eak 881        unsigned long  = <20unk_list" class="sref">c20unk>20 2792 0,
        unsigned long  = <20L892" class="line" name=20L89>20 2292>}eak 881        unsigned long  = <20          a>, 20 5292aa>
="drivers/crypto/n2_ed mauletore.c#L821" ed mau292> *i="->qp__devini 292a>="-> = <20hre8="+code=tfm" class="20hre>20 7Y94ff;
="drivers/crypto/n2_ed mauletore.c#L821" ed mau292> *="->="drivers/crypto/n2_ed mauletore.c#L821" ed mau292>),>="->qpmau_lists92aereak 881        unsigned long  = <21L890" class="line" name=21L89>210pt93>eak 881        unsigned long  = <21Lnk_list" class="sref">c21Lnk>2102792 0,
2102292>}eak 881        unsigned long  = <21L         a>,  *="-> = <21Lre8="+code=tfm" class="21Lre>2107-92UL;
 = <21Lef8"+code=arc4" class="21Lef>2102792 0,
(struct         unsigned long  = <21 hr9f="+code=i" class="s21 hr>2110292>];
        unsigned long  = <21[211pt93>eak 881        unsigned long  = <21L809=a" class="sref">a211SY94ff;
(struct 2112292>}eak 881        unsigned long  = <21= <9 href="+code=a" clas21= <>211nt93aeak 881        unsigned long  = <21 hr9de=keylen" class="sr21 hr>2115292aa>
qp__devini 292a>="->="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="-> = <21ss=9line" name="L816"> 821ss=>2117Y94ff;
="drivers/crypto/n2_mdesc_handl>="L880" class="mdesc_handl>292>]*="->21 2792 0,
        unsigned long  = <21= <9me="L818"> 818  21= <>21 9792 0,
="drivers/crypto/n2_ed mauletore.c#L821" ed mau292> *="->212pt93>eak 881        unsigned long  = <21loc9_size" class="sref">21loc>212SY94ff;
     _    ions92a=ereak 881        unsigned long  = <218229 class="line" name="21822>2122292>eak 881        unsigned long  = <21"+c9de=nbytes" class="sr21"+c>2124292>];
qpof_nrefe92f->="->        unsigned long  = <21L829" class="line" name=21L82>2128292UL;
=ing=>"Found NCP at9%s\n"        unsigned long  = <21 hr9 class="sref">block_21 hr>212 -92Ueak 881        unsigned long  = <21ss=9his_len" class="sref21ss=>2127-92UL;
 = <21= <9" class="line" name=21= <>2129792 0,
=ing=>"%s: Unable to alloaate ncc.\n"        unsigned long  = <21213h292>];
        unsigned long  = <21cod9=encrypt" class="sre21cod>213 :95>);
2134292>];
qpgrab_global_82sourcess92a=ereak 881        unsigned long  = <21L829n_place" class="sref21L82>21<8292UL;
 = <21t <9 href="+code=i" clas21t <>21< -92UL;
=ing=>"%s: Unable to grab "2137-92UL;
=ing=>"global 82sources.\n"        unsigned long  = <21ode9arr_len" class="sref21ode>2132792 0,
 821ss=>21a2292>];
 = <21L849" class="line" name=21L84>2144292a>,
=ing=>"%s: Unable to grab MDESC.\n"        unsigned long  = <21src9paddr" class="sref">21src>2148292UL;
        unsigned long  = <21L849" class="line" name=21L84>214 -92UL;
qpENODEVe92freak 881        unsigned long  = <21cod9=src_len" class="sre21cod>21a7-92UL;
enc_21_ty>2142792 0,
        unsigned long  = <21cod9=encrypt" class="sre21cod>2148292aeak 881        unsigned long  = <21RYP9" class="sref">OPCOD21RYP>215h292UL;
qpgrab_mdesc_irq_propss92a=="->=span9" classa>=ing=>"ncc"        unsigned long  = <21ss=9sref">OPCODE_INPLACE21ss=>21R :95>);
 = <21=sr9_paddr" class="sref"21=sr>21R2792 0,
=ing=>"%s: Unable to grab IRQ props.\n"        unsigned long  = <21" c9ass="sref">auth_key_21" c>21R2292>];
        unsigned long  = <21r" 9lass="sref">auth_iv_21r" >21R4292a>,
qpmdesc_releasfs92a=="->final_auth_state_21"sr>2158292UL;
d21st_>2158292>];
&="->qpmau_lists92aqeak 881        unsigned long  = <2174921R9792 0,
=ing=>"mau"qpHV_NCS_QTYPE_MAUs92aqv="->        unsigned long  = <21href="+code=ent" class="21hre>2161292>];
qpmdesc_releasfs92a=="->216SY94feak 881        unsigned long  = <21=src_len" class="sref">s21=sr>2162292>];
 = <21=src_paddr" class="sref"21=sr>2164292a>,
=ing=>"%s: MAU MDESC scan failed.\n"        unsigned long  = <21" class="sref">auth_key_21" c>2168292UL;
        unsigned long  = <21r" class="sref">auth_iv_21r" >216 -92UL;
final_auth_state_21"sr>2167792 0,
        unsigned long  = <21r" class="sref">enc_key_21r" >2162792 eak 881        unsigned long  = <21dr" class="sref">enc_iv_21dr">21 8292a>,
dest_21add>21adn92aeak 881        unsigned long  = <21ss="line" name="L870"> 821ss=>2171292>];
        unsigned long  = <21 class="sref">CONTROL_EN21 cl>217SY94feak 881        unsigned long  = <21L872" class="line" name=21L87>21a2292>xt" class="srefou _free_global="L880" class="ou _free_globale92f:eak 881        unsigned long  = <21de=EINVAL" class="sref">21de=>2174292>];
qpreleasf_global_82sourcess92a=ereak 881        unsigned long  = <21874" class="line" name="21874>2175292aeak 881        unsigned long  = <21L875" class="line" name=21L87>21a -92Uxt" class="srefou _free_ncc="L880" class="ou _free_nccs92a:eak 881        unsigned long  = <21 href="+code=req" class=21 hr>2177-92UL;
218pt93>eak 881        unsigned long  = <21=dest_prev" class="sref"21=de>21rSY94fa>
qp__devexi -92ULxt" class="srefed mau_removeid="L876" classed mau_removes92a=s>="drivers/crypto/n2_platform_device="L880" class="platform_device292>]*="-> = <21_place" class="sref">pre21_pl>21r4292>];
="drivers/crypto/n2_ed mauletore.c#L821" ed mau292> *="->21r5292aeak 881        unsigned long  = <21L885" class="line" name=21L88>21r6292UL;
qpspu_list_dea>=oys92a=&="->qpmau_lists92aereak 881        unsigned long  = <21+code=nbytes" class="sre21+co>21ren92aeak 881        unsigned long  = <21ef="+code=walk" class="s21ef=>21r8292>];
qpreleasf_global_82sourcess92a=ereak 881        unsigned long  = <21 href="+code=err" class=21 hr>21r8292aeak 881        unsigned long  = <21 href="+code=err" class=21 hr>21 h292UL;
21 pt93>eak 881        unsigned long  = <21unk_list" class="sref">c21unk>21 2792 0,
        unsigned long  = <21L892" class="line" name=21L89>21 2292>}eak 881        unsigned long  = <21          a>, 21 5292aa>
="drivers/crypto/n2_of_device_id="L880" class="of_device_id-92ULxt" class="srefed lunsig_matchletore.c#L821" ed lunsig_match-92U[]ete>)
 = <21hre8="+code=tfm" class="21hre>2197-92UL;
=ing=>"n2cc"        unsigned long  = <21ref8"+code=arc4" class="21ref>2192792 0,
=ing=>"SUNW,n2-cwq"        unsigned long  = <21 hre"+code=s" class="sre21 hr>21 9792 0,
        unsigned long  = <22L779"+code=s" class="sre22L77>2200292>];
)
220 :95>);
=ing=>"n2cc"        unsigned long  = <22Lnk_list" class="sref">c22Lnk>2202792 0,
=ing=>"SUNW,vf-cwq"        unsigned long  = <22L892" class="line" name=22L89>2203792 0,
        unsigned long  = <22L         a>,  = <22L+coe=cipher" class="sre22L+c>2208292UL;
=ing=>"n2cc"        unsigned long  = <22Lre8="+code=tfm" class="22Lre>220 -92UL;
=ing=>"SUNW,kt-cwq"        unsigned long  = <22Lre8="+code=tfm" class="22Lre>2207-92UL;
        unsigned long  = <22Lef8"+code=arc4" class="22Lef>2202792 0,
        unsigned long  = <22Lhre"+code=s" class="sre22Lhr>2209792 }reak 881        unsigned long  = <22 hr9f="+code=i" class="s22 hr>221dn92aeak 881        unsigned long  = <22[2211792 xt" class="srefMODULE_DEVICE_TABLE="L880" class="MODULE_DEVICE_TABLEs92a=="->        unsigned long  = <22L809=a" class="sref">a221SY94feak 881        unsigned long  = <22de=9href="+code=j" class22de=>2212292>a>
="drivers/crypto/n2_platform_d     ="L880" class="platform_d     -92ULxt" class="srefed lunsig_d     ="L880" class="ed lunsig_d     s92aete>)
2214292>];
 = <22 hr9de=keylen" class="sr22 hr>2218292UL;
=ing=>"n2cc"        unsigned long  = <22 hr9f="+code=k" class="s22 hr>221 -92UL;
 822ss=>2217-92UL;
        unsigned long  = <22L819" class="line" name=22L81>22 2792 0,
        unsigned long  = <22= <9me="L818"> 818  22= <>22 9792 0,
        unsigned long  = <228199 class="line" name="22819>2281792 0,
        unsigned long  = <22L829" class="line" name=22L82>222pt93>}reak 881        unsigned long  = <22loc9_size" class="sref">22loc>222SY94feak 881        unsigned long  = <228229 class="line" name="22822>2222292>a>
="drivers/crypto/n2_of_device_id="L880" class="of_device_id-92ULxt" class="srefed mau_matchletore.c#L821" ed mau_match-92U[]ete>)
2224292>];
)
2228292UL;
=ing=>"ncc"        unsigned long  = <22 hr9 class="sref">block_22 hr>222 -92UL;
=ing=>"SUNW,n2-mau"        unsigned long  = <22ss=9his_len" class="sref22ss=>2227-92UL;
        unsigned long  = <22L819 class="line" name="22L81>2222792 0,
)
2229792 0,
=ing=>"ncc"        unsigned long  = <22223h292>];
=ing=>"SUNW,vf-mau"        unsigned long  = <22cod9=encrypt" class="sre22cod>223 :95>);
        unsigned long  = <22loc9 class="line" name="22loc>2232792 0,
)
=ing=>"ncc"        unsigned long  = <22 hr9f="+code=ent" class=22 hr>2234292a>,
=ing=>"SUNW,kt-mau"        unsigned long  = <22L829n_place" class="sref22L82>22<8292UL;
        unsigned long  = <22t <9 href="+code=i" clas22t <>22< -92UL;
        unsigned long  = <22ss=9" class="line" name=22ss=>2237-92U}reak 881        unsigned long  = <22ode9arr_len" class="sref22ode>2232792 eak 881        unsigned long  = <22ref9"+code=ent" class="s22ref>22<9792 xt" class="srefMODULE_DEVICE_TABLE="L880" class="MODULE_DEVICE_TABLEs92a=="->        unsigned long  = <22all9c() of %d fails\22all>224dn92aeak 881        unsigned long  = <22ode9arr_len" class="sref22ode>2241292>a>
="drivers/crypto/n2_platform_d     ="L880" class="platform_d     -92ULxt" class="srefed mau_d     ="L880" class="ed mau_d     s92aete>)
 = <22ss=9line" name="L842"> 822ss=>2242292>];
=ing=>"ncc"        unsigned long  = <22L849" class="line" name=22L84>2244292a>,
22src>2248292UL;
        unsigned long  = <22L849" class="line" name=22L84>224 -92UL;
        unsigned long  = <22cod9=src_len" class="sre22cod>22a7-92UL;
        unsigned long  = <22_ty9e" class="sref">enc_22_ty>2242792 0,
        unsigned long  = <22cod9=encrypt" class="sre22cod>2249792 }reak 881        unsigned long  = <22RYP9" class="sref">OPCOD22RYP>225dn92aeak 881        unsigned long  = <22ss=9sref">OPCODE_INPLACE22ss=>2251292>a>
qp__ini 292a>="->qped ini s92a=voideeak 881        unsigned long  = <22=sr9_paddr" class="sref"22=sr>22R2792 >)
auth_key_22" c>22R2292>];
auth_iv_22r" >225nt93aeak 881        unsigned long  = <22"sr9f">final_auth_state_22"sr>2258292UL;
 = <22L849="+code=key" class="22L84>225 -92UL;
d22st_>2252792 0,
226SY94feak 881        unsigned long  = <22=src_len" class="sref">s22=sr>2262292>a>
qp__exi -92ULxt" class="srefed exi class="sref">qped exi s92a=voideeak 881        unsigned long  = <22=src_paddr" class="sref"22=sr>2264292a>)
auth_key_22" c>2268292UL;
auth_iv_22r" >2266292UL;
final_auth_state_22"sr>2267792 }eak 881        unsigned long  = <22r" class="sref">enc_key_22r" >2262792 eak 881        unsigned long  = <22dr" class="sref">enc_iv_22dr">2269792 xt" class="srefmodule ini class="sref">qpmodule ini s92a=="->qped ini s92aereak 881        unsigned long  = <22addr" class="sref">dest_22add>22adn92axt" class="srefmodule exi class="sref">qpmodule exi s92a=="->qped exi s92aereak 881        unsigned long  = <22ss="line" name="L870"> 822ss=>2271292>
n=> The original LXR software by the ak 881LXR communi ye92f,>this experimental ion by ak 881lxn@ameux.noe92f. n=> lxn.ameux.no kindly host>d by ak 881Redpill Lmepro ASe92f,>provider of Lmeuxrconsulting and oper