|
Linux Kernel
3.7.1
|
#include <linux/module.h>#include <linux/init.h>#include <linux/errno.h>#include <linux/kernel.h>#include <linux/clk.h>#include <linux/platform_device.h>#include <linux/scatterlist.h>#include <linux/dma-mapping.h>#include <linux/io.h>#include <linux/mutex.h>#include <linux/interrupt.h>#include <linux/completion.h>#include <linux/workqueue.h>#include <mach/clk.h>#include <crypto/scatterwalk.h>#include <crypto/aes.h>#include <crypto/internal/rng.h>#include "tegra-aes.h"Go to the source code of this file.
Data Structures | |
| struct | tegra_aes_slot |
| struct | tegra_aes_reqctx |
| struct | tegra_aes_dev |
| struct | tegra_aes_ctx |
Macros | |
| #define | FLAGS_MODE_MASK 0x00FF |
| #define | FLAGS_ENCRYPT BIT(0) |
| #define | FLAGS_CBC BIT(1) |
| #define | FLAGS_GIV BIT(2) |
| #define | FLAGS_RNG BIT(3) |
| #define | FLAGS_OFB BIT(4) |
| #define | FLAGS_NEW_KEY BIT(5) |
| #define | FLAGS_NEW_IV BIT(6) |
| #define | FLAGS_INIT BIT(7) |
| #define | FLAGS_FAST BIT(8) |
| #define | FLAGS_BUSY 9 |
| #define | AES_HW_DMA_BUFFER_SIZE_BYTES 0x4000 |
| #define | AES_HW_KEY_TABLE_LENGTH_BYTES 64 |
| #define | AES_HW_IV_SIZE 16 |
| #define | AES_HW_KEYSCHEDULE_LEN 256 |
| #define | AES_IVKEY_SIZE (AES_HW_KEY_TABLE_LENGTH_BYTES + AES_HW_KEYSCHEDULE_LEN) |
| #define | MEMDMA_DIR_DTOVRAM 0 /* sdram -> vram */ |
| #define | MEMDMA_DIR_VTODRAM 1 /* vram -> sdram */ |
| #define | MEMDMA_DIR_SHIFT 25 |
| #define | MEMDMA_NUM_WORDS_SHIFT 12 |
| #define | SSK_SLOT_NUM 4 |
| #define | AES_NR_KEYSLOTS 8 |
| #define | TEGRA_AES_QUEUE_LENGTH 50 |
| #define | DEFAULT_RNG_BLK_SZ 16 |
| #define | AES_HW_MAX_ICQ_LENGTH 5 |
Enumerations | |
| enum | { CMD_BLKSTARTENGINE = 0x0E, CMD_DMASETUP = 0x10, CMD_DMACOMPLETE = 0x11, CMD_SETTABLE = 0x15, CMD_MEMDMAVD = 0x22 } |
| enum | { SUBCMD_VRAM_SEL = 0x1, SUBCMD_CRYPTO_TABLE_SEL = 0x3, SUBCMD_KEY_TABLE_SEL = 0x8 } |
| enum | { CMDQ_KEYTABLEADDR_SHIFT = 0, CMDQ_KEYTABLEID_SHIFT = 17, CMDQ_VRAMSEL_SHIFT = 23, CMDQ_TABLESEL_SHIFT = 24, CMDQ_OPCODE_SHIFT = 26 } |
Functions | |
| unsigned long long | tegra_chip_uid (void) |
| void | tegra_aes_cra_exit (struct crypto_tfm *tfm) |
| module_platform_driver (tegra_aes_driver) | |
| MODULE_DESCRIPTION ("Tegra AES/OFB/CPRNG hw acceleration support.") | |
| MODULE_AUTHOR ("NVIDIA Corporation") | |
| MODULE_LICENSE ("GPL v2") | |
| #define AES_HW_DMA_BUFFER_SIZE_BYTES 0x4000 |
Definition at line 71 of file tegra-aes.c.
| #define AES_HW_IV_SIZE 16 |
Definition at line 89 of file tegra-aes.c.
| #define AES_HW_KEY_TABLE_LENGTH_BYTES 64 |
Definition at line 78 of file tegra-aes.c.
| #define AES_HW_KEYSCHEDULE_LEN 256 |
Definition at line 90 of file tegra-aes.c.
| #define AES_HW_MAX_ICQ_LENGTH 5 |
Definition at line 136 of file tegra-aes.c.
| #define AES_IVKEY_SIZE (AES_HW_KEY_TABLE_LENGTH_BYTES + AES_HW_KEYSCHEDULE_LEN) |
Definition at line 91 of file tegra-aes.c.
| #define AES_NR_KEYSLOTS 8 |
Definition at line 131 of file tegra-aes.c.
| #define DEFAULT_RNG_BLK_SZ 16 |
Definition at line 133 of file tegra-aes.c.
| #define FLAGS_BUSY 9 |
Definition at line 62 of file tegra-aes.c.
| #define FLAGS_CBC BIT(1) |
Definition at line 54 of file tegra-aes.c.
| #define FLAGS_ENCRYPT BIT(0) |
Definition at line 53 of file tegra-aes.c.
| #define FLAGS_FAST BIT(8) |
Definition at line 61 of file tegra-aes.c.
| #define FLAGS_GIV BIT(2) |
Definition at line 55 of file tegra-aes.c.
| #define FLAGS_INIT BIT(7) |
Definition at line 60 of file tegra-aes.c.
| #define FLAGS_MODE_MASK 0x00FF |
Definition at line 52 of file tegra-aes.c.
| #define FLAGS_NEW_IV BIT(6) |
Definition at line 59 of file tegra-aes.c.
| #define FLAGS_NEW_KEY BIT(5) |
Definition at line 58 of file tegra-aes.c.
| #define FLAGS_OFB BIT(4) |
Definition at line 57 of file tegra-aes.c.
| #define FLAGS_RNG BIT(3) |
Definition at line 56 of file tegra-aes.c.
| #define MEMDMA_DIR_DTOVRAM 0 /* sdram -> vram */ |
Definition at line 110 of file tegra-aes.c.
| #define MEMDMA_DIR_SHIFT 25 |
Definition at line 112 of file tegra-aes.c.
| #define MEMDMA_DIR_VTODRAM 1 /* vram -> sdram */ |
Definition at line 111 of file tegra-aes.c.
| #define MEMDMA_NUM_WORDS_SHIFT 12 |
Definition at line 113 of file tegra-aes.c.
| #define SSK_SLOT_NUM 4 |
Definition at line 129 of file tegra-aes.c.
| #define TEGRA_AES_QUEUE_LENGTH 50 |
Definition at line 132 of file tegra-aes.c.
| anonymous enum |
Definition at line 94 of file tegra-aes.c.
| anonymous enum |
Definition at line 103 of file tegra-aes.c.
| anonymous enum |
| CMDQ_KEYTABLEADDR_SHIFT | |
| CMDQ_KEYTABLEID_SHIFT | |
| CMDQ_VRAMSEL_SHIFT | |
| CMDQ_TABLESEL_SHIFT | |
| CMDQ_OPCODE_SHIFT |
Definition at line 116 of file tegra-aes.c.
| MODULE_AUTHOR | ( | "NVIDIA Corporation" | ) |
| MODULE_DESCRIPTION | ( | "Tegra AES/OFB/CPRNG hw acceleration support." | ) |
| MODULE_LICENSE | ( | "GPL v2" | ) |
| module_platform_driver | ( | tegra_aes_driver | ) |
| void tegra_aes_cra_exit | ( | struct crypto_tfm * | tfm | ) |
Definition at line 805 of file tegra-aes.c.
1.8.2