• M
    crypto: geode - Consistently use AES_KEYSIZE_128 · 2e1fc34b
    Marek Vasut 提交于
    Consistently use AES_KEYSIZE_128 instead of arbitrary defined value.
    Signed-off-by: NMarek Vasut <marex@denx.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
    Cc: Eric Bénard <eric@eukrea.com>
    Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
    Cc: Kent Yoder <key@linux.vnet.ibm.com>
    Cc: Michal Ludvig <michal@logix.cz>
    Cc: Varun Wadekar <vwadekar@nvidia.com>
    Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
    Cc: linux-geode@lists.infradead.org
    Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
    2e1fc34b
geode-aes.h 1.5 KB
/* Copyright (C) 2003-2006, Advanced Micro Devices, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#ifndef _GEODE_AES_H_
#define _GEODE_AES_H_

/* driver logic flags */
#define AES_MODE_ECB 0
#define AES_MODE_CBC 1

#define AES_DIR_DECRYPT 0
#define AES_DIR_ENCRYPT 1

#define AES_FLAGS_HIDDENKEY (1 << 0)

/* Register definitions */

#define AES_CTRLA_REG  0x0000

#define AES_CTRL_START     0x01
#define AES_CTRL_DECRYPT   0x00
#define AES_CTRL_ENCRYPT   0x02
#define AES_CTRL_WRKEY     0x04
#define AES_CTRL_DCA       0x08
#define AES_CTRL_SCA       0x10
#define AES_CTRL_CBC       0x20

#define AES_INTR_REG  0x0008

#define AES_INTRA_PENDING (1 << 16)
#define AES_INTRB_PENDING (1 << 17)

#define AES_INTR_PENDING  (AES_INTRA_PENDING | AES_INTRB_PENDING)
#define AES_INTR_MASK     0x07

#define AES_SOURCEA_REG   0x0010
#define AES_DSTA_REG      0x0014
#define AES_LENA_REG      0x0018
#define AES_WRITEKEY0_REG 0x0030
#define AES_WRITEIV0_REG  0x0040

/*  A very large counter that is used to gracefully bail out of an
 *  operation in case of trouble
 */

#define AES_OP_TIMEOUT    0x50000

struct geode_aes_op {

	void *src;
	void *dst;

	u32 mode;
	u32 dir;
	u32 flags;
	int len;

	u8 key[AES_KEYSIZE_128];
	u8 *iv;

	union {
		struct crypto_blkcipher *blk;
		struct crypto_cipher *cip;
	} fallback;
	u32 keylen;
};

#endif
反馈
建议
客服 返回
顶部