Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
omap-sham.c File Reference
#include <linux/err.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/clk.h>
#include <linux/irq.h>
#include <linux/io.h>
#include <linux/platform_device.h>
#include <linux/scatterlist.h>
#include <linux/dma-mapping.h>
#include <linux/delay.h>
#include <linux/crypto.h>
#include <linux/cryptohash.h>
#include <crypto/scatterwalk.h>
#include <crypto/algapi.h>
#include <crypto/sha.h>
#include <crypto/hash.h>
#include <crypto/internal/hash.h>
#include <plat/cpu.h>
#include <plat/dma.h>
#include <mach/irqs.h>

Go to the source code of this file.

Data Structures

struct  omap_sham_reqctx
 
struct  omap_sham_hmac_ctx
 
struct  omap_sham_ctx
 
struct  omap_sham_dev
 
struct  omap_sham_drv
 

Macros

#define pr_fmt(fmt)   "%s: " fmt, __func__
 
#define SHA_REG_DIGEST(x)   (0x00 + ((x) * 0x04))
 
#define SHA_REG_DIN(x)   (0x1C + ((x) * 0x04))
 
#define SHA1_MD5_BLOCK_SIZE   SHA1_BLOCK_SIZE
 
#define MD5_DIGEST_SIZE   16
 
#define SHA_REG_DIGCNT   0x14
 
#define SHA_REG_CTRL   0x18
 
#define SHA_REG_CTRL_LENGTH   (0xFFFFFFFF << 5)
 
#define SHA_REG_CTRL_CLOSE_HASH   (1 << 4)
 
#define SHA_REG_CTRL_ALGO_CONST   (1 << 3)
 
#define SHA_REG_CTRL_ALGO   (1 << 2)
 
#define SHA_REG_CTRL_INPUT_READY   (1 << 1)
 
#define SHA_REG_CTRL_OUTPUT_READY   (1 << 0)
 
#define SHA_REG_REV   0x5C
 
#define SHA_REG_REV_MAJOR   0xF0
 
#define SHA_REG_REV_MINOR   0x0F
 
#define SHA_REG_MASK   0x60
 
#define SHA_REG_MASK_DMA_EN   (1 << 3)
 
#define SHA_REG_MASK_IT_EN   (1 << 2)
 
#define SHA_REG_MASK_SOFTRESET   (1 << 1)
 
#define SHA_REG_AUTOIDLE   (1 << 0)
 
#define SHA_REG_SYSSTATUS   0x64
 
#define SHA_REG_SYSSTATUS_RESETDONE   (1 << 0)
 
#define DEFAULT_TIMEOUT_INTERVAL   HZ
 
#define FLAGS_BUSY   0
 
#define FLAGS_FINAL   1
 
#define FLAGS_DMA_ACTIVE   2
 
#define FLAGS_OUTPUT_READY   3
 
#define FLAGS_INIT   4
 
#define FLAGS_CPU   5
 
#define FLAGS_DMA_READY   6
 
#define FLAGS_FINUP   16
 
#define FLAGS_SG   17
 
#define FLAGS_SHA1   18
 
#define FLAGS_HMAC   19
 
#define FLAGS_ERROR   20
 
#define OP_UPDATE   1
 
#define OP_FINAL   2
 
#define OMAP_ALIGN_MASK   (sizeof(u32)-1)
 
#define OMAP_ALIGNED   __attribute__((aligned(sizeof(u32))))
 
#define BUFLEN   PAGE_SIZE
 
#define OMAP_SHAM_QUEUE_LENGTH   1
 
#define SG_AA(sg)   (IS_ALIGNED(sg->offset, sizeof(u32)))
 
#define SG_SA(sg)   (IS_ALIGNED(sg->length, SHA1_MD5_BLOCK_SIZE))
 

Functions

 module_init (omap_sham_mod_init)
 
 module_exit (omap_sham_mod_exit)
 
 MODULE_DESCRIPTION ("OMAP SHA1/MD5 hw acceleration support.")
 
 MODULE_LICENSE ("GPL v2")
 
 MODULE_AUTHOR ("Dmitry Kasatkin")
 

Macro Definition Documentation

#define BUFLEN   PAGE_SIZE

Definition at line 96 of file omap-sham.c.

#define DEFAULT_TIMEOUT_INTERVAL   HZ

Definition at line 73 of file omap-sham.c.

#define FLAGS_BUSY   0

Definition at line 76 of file omap-sham.c.

#define FLAGS_CPU   5

Definition at line 81 of file omap-sham.c.

#define FLAGS_DMA_ACTIVE   2

Definition at line 78 of file omap-sham.c.

#define FLAGS_DMA_READY   6

Definition at line 82 of file omap-sham.c.

#define FLAGS_ERROR   20

Definition at line 88 of file omap-sham.c.

#define FLAGS_FINAL   1

Definition at line 77 of file omap-sham.c.

#define FLAGS_FINUP   16

Definition at line 84 of file omap-sham.c.

#define FLAGS_HMAC   19

Definition at line 87 of file omap-sham.c.

#define FLAGS_INIT   4

Definition at line 80 of file omap-sham.c.

#define FLAGS_OUTPUT_READY   3

Definition at line 79 of file omap-sham.c.

#define FLAGS_SG   17

Definition at line 85 of file omap-sham.c.

#define FLAGS_SHA1   18

Definition at line 86 of file omap-sham.c.

#define MD5_DIGEST_SIZE   16

Definition at line 48 of file omap-sham.c.

#define OMAP_ALIGN_MASK   (sizeof(u32)-1)

Definition at line 93 of file omap-sham.c.

#define OMAP_ALIGNED   __attribute__((aligned(sizeof(u32))))

Definition at line 94 of file omap-sham.c.

#define OMAP_SHAM_QUEUE_LENGTH   1

Definition at line 136 of file omap-sham.c.

#define OP_FINAL   2

Definition at line 91 of file omap-sham.c.

#define OP_UPDATE   1

Definition at line 90 of file omap-sham.c.

#define pr_fmt (   fmt)    "%s: " fmt, __func__

Definition at line 16 of file omap-sham.c.

#define SG_AA (   sg)    (IS_ALIGNED(sg->offset, sizeof(u32)))

Definition at line 428 of file omap-sham.c.

#define SG_SA (   sg)    (IS_ALIGNED(sg->length, SHA1_MD5_BLOCK_SIZE))

Definition at line 430 of file omap-sham.c.

#define SHA1_MD5_BLOCK_SIZE   SHA1_BLOCK_SIZE

Definition at line 47 of file omap-sham.c.

#define SHA_REG_AUTOIDLE   (1 << 0)

Definition at line 68 of file omap-sham.c.

#define SHA_REG_CTRL   0x18

Definition at line 52 of file omap-sham.c.

#define SHA_REG_CTRL_ALGO   (1 << 2)

Definition at line 56 of file omap-sham.c.

#define SHA_REG_CTRL_ALGO_CONST   (1 << 3)

Definition at line 55 of file omap-sham.c.

#define SHA_REG_CTRL_CLOSE_HASH   (1 << 4)

Definition at line 54 of file omap-sham.c.

#define SHA_REG_CTRL_INPUT_READY   (1 << 1)

Definition at line 57 of file omap-sham.c.

#define SHA_REG_CTRL_LENGTH   (0xFFFFFFFF << 5)

Definition at line 53 of file omap-sham.c.

#define SHA_REG_CTRL_OUTPUT_READY   (1 << 0)

Definition at line 58 of file omap-sham.c.

#define SHA_REG_DIGCNT   0x14

Definition at line 50 of file omap-sham.c.

#define SHA_REG_DIGEST (   x)    (0x00 + ((x) * 0x04))

Definition at line 44 of file omap-sham.c.

#define SHA_REG_DIN (   x)    (0x1C + ((x) * 0x04))

Definition at line 45 of file omap-sham.c.

#define SHA_REG_MASK   0x60

Definition at line 64 of file omap-sham.c.

#define SHA_REG_MASK_DMA_EN   (1 << 3)

Definition at line 65 of file omap-sham.c.

#define SHA_REG_MASK_IT_EN   (1 << 2)

Definition at line 66 of file omap-sham.c.

#define SHA_REG_MASK_SOFTRESET   (1 << 1)

Definition at line 67 of file omap-sham.c.

#define SHA_REG_REV   0x5C

Definition at line 60 of file omap-sham.c.

#define SHA_REG_REV_MAJOR   0xF0

Definition at line 61 of file omap-sham.c.

#define SHA_REG_REV_MINOR   0x0F

Definition at line 62 of file omap-sham.c.

#define SHA_REG_SYSSTATUS   0x64

Definition at line 70 of file omap-sham.c.

#define SHA_REG_SYSSTATUS_RESETDONE   (1 << 0)

Definition at line 71 of file omap-sham.c.

Function Documentation

MODULE_AUTHOR ( "Dmitry Kasatkin"  )
MODULE_DESCRIPTION ( "OMAP SHA1/MD5 hw acceleration support."  )
module_exit ( omap_sham_mod_exit  )
module_init ( omap_sham_mod_init  )
MODULE_LICENSE ( "GPL v2 )