summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/patches/2.6.39/ocf-20100325.patch4418
1 files changed, 2203 insertions, 2215 deletions
diff --git a/target/linux/patches/2.6.39/ocf-20100325.patch b/target/linux/patches/2.6.39/ocf-20100325.patch
index ac5a677fc..b26a65bc1 100644
--- a/target/linux/patches/2.6.39/ocf-20100325.patch
+++ b/target/linux/patches/2.6.39/ocf-20100325.patch
@@ -1,6 +1,6 @@
diff -Nur linux-2.6.39.orig/crypto/Kconfig linux-2.6.39/crypto/Kconfig
--- linux-2.6.39.orig/crypto/Kconfig 2011-05-19 06:06:34.000000000 +0200
-+++ linux-2.6.39/crypto/Kconfig 2011-07-31 11:31:52.923425588 +0200
++++ linux-2.6.39/crypto/Kconfig 2011-08-01 14:38:18.000000000 +0200
@@ -866,3 +866,6 @@
source "drivers/crypto/Kconfig"
@@ -10,7 +10,7 @@ diff -Nur linux-2.6.39.orig/crypto/Kconfig linux-2.6.39/crypto/Kconfig
+
diff -Nur linux-2.6.39.orig/crypto/Kconfig.orig linux-2.6.39/crypto/Kconfig.orig
--- linux-2.6.39.orig/crypto/Kconfig.orig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/Kconfig.orig 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/crypto/Kconfig.orig 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,868 @@
+#
+# Generic algorithms support
@@ -882,7 +882,7 @@ diff -Nur linux-2.6.39.orig/crypto/Kconfig.orig linux-2.6.39/crypto/Kconfig.orig
+endif # if CRYPTO
diff -Nur linux-2.6.39.orig/crypto/Makefile linux-2.6.39/crypto/Makefile
--- linux-2.6.39.orig/crypto/Makefile 2011-05-19 06:06:34.000000000 +0200
-+++ linux-2.6.39/crypto/Makefile 2011-07-31 11:31:53.014664900 +0200
++++ linux-2.6.39/crypto/Makefile 2011-08-01 14:38:18.000000000 +0200
@@ -89,6 +89,8 @@
obj-$(CONFIG_CRYPTO_USER_API_HASH) += algif_hash.o
obj-$(CONFIG_CRYPTO_USER_API_SKCIPHER) += algif_skcipher.o
@@ -894,7 +894,7 @@ diff -Nur linux-2.6.39.orig/crypto/Makefile linux-2.6.39/crypto/Makefile
#
diff -Nur linux-2.6.39.orig/crypto/Makefile.orig linux-2.6.39/crypto/Makefile.orig
--- linux-2.6.39.orig/crypto/Makefile.orig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/Makefile.orig 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/crypto/Makefile.orig 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,96 @@
+#
+# Cryptographic API
@@ -992,9 +992,487 @@ diff -Nur linux-2.6.39.orig/crypto/Makefile.orig linux-2.6.39/crypto/Makefile.or
+#
+obj-$(CONFIG_XOR_BLOCKS) += xor.o
+obj-$(CONFIG_ASYNC_CORE) += async_tx/
+diff -Nur linux-2.6.39.orig/crypto/ocf/Config.in linux-2.6.39/crypto/ocf/Config.in
+--- linux-2.6.39.orig/crypto/ocf/Config.in 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/Config.in 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,36 @@
++#############################################################################
++
++mainmenu_option next_comment
++comment 'OCF Configuration'
++tristate 'OCF (Open Cryptograhic Framework)' CONFIG_OCF_OCF
++dep_mbool ' enable fips RNG checks (fips check on RNG data before use)' \
++ CONFIG_OCF_FIPS $CONFIG_OCF_OCF
++dep_mbool ' enable harvesting entropy for /dev/random' \
++ CONFIG_OCF_RANDOMHARVEST $CONFIG_OCF_OCF
++dep_tristate ' cryptodev (user space support)' \
++ CONFIG_OCF_CRYPTODEV $CONFIG_OCF_OCF
++dep_tristate ' cryptosoft (software crypto engine)' \
++ CONFIG_OCF_CRYPTOSOFT $CONFIG_OCF_OCF
++dep_tristate ' safenet (HW crypto engine)' \
++ CONFIG_OCF_SAFE $CONFIG_OCF_OCF
++dep_tristate ' IXP4xx (HW crypto engine)' \
++ CONFIG_OCF_IXP4XX $CONFIG_OCF_OCF
++dep_mbool ' Enable IXP4xx HW to perform SHA1 and MD5 hashing (very slow)' \
++ CONFIG_OCF_IXP4XX_SHA1_MD5 $CONFIG_OCF_IXP4XX
++dep_tristate ' hifn (HW crypto engine)' \
++ CONFIG_OCF_HIFN $CONFIG_OCF_OCF
++dep_tristate ' talitos (HW crypto engine)' \
++ CONFIG_OCF_TALITOS $CONFIG_OCF_OCF
++dep_tristate ' pasemi (HW crypto engine)' \
++ CONFIG_OCF_PASEMI $CONFIG_OCF_OCF
++dep_tristate ' ep80579 (HW crypto engine)' \
++ CONFIG_OCF_EP80579 $CONFIG_OCF_OCF
++dep_tristate ' Micronas c7108 (HW crypto engine)' \
++ CONFIG_OCF_C7108 $CONFIG_OCF_OCF
++dep_tristate ' ocfnull (does no crypto)' \
++ CONFIG_OCF_OCFNULL $CONFIG_OCF_OCF
++dep_tristate ' ocf-bench (HW crypto in-kernel benchmark)' \
++ CONFIG_OCF_BENCH $CONFIG_OCF_OCF
++endmenu
++
++#############################################################################
+diff -Nur linux-2.6.39.orig/crypto/ocf/Kconfig linux-2.6.39/crypto/ocf/Kconfig
+--- linux-2.6.39.orig/crypto/ocf/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/Kconfig 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,119 @@
++menu "OCF Configuration"
++
++config OCF_OCF
++ tristate "OCF (Open Cryptograhic Framework)"
++ help
++ A linux port of the OpenBSD/FreeBSD crypto framework.
++
++config OCF_RANDOMHARVEST
++ bool "crypto random --- harvest entropy for /dev/random"
++ depends on OCF_OCF
++ help
++ Includes code to harvest random numbers from devices that support it.
++
++config OCF_FIPS
++ bool "enable fips RNG checks"
++ depends on OCF_OCF && OCF_RANDOMHARVEST
++ help
++ Run all RNG provided data through a fips check before
++ adding it /dev/random's entropy pool.
++
++config OCF_CRYPTODEV
++ tristate "cryptodev (user space support)"
++ depends on OCF_OCF
++ help
++ The user space API to access crypto hardware.
++
++config OCF_CRYPTOSOFT
++ tristate "cryptosoft (software crypto engine)"
++ depends on OCF_OCF
++ help
++ A software driver for the OCF framework that uses
++ the kernel CryptoAPI.
++
++config OCF_SAFE
++ tristate "safenet (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ A driver for a number of the safenet Excel crypto accelerators.
++ Currently tested and working on the 1141 and 1741.
++
++config OCF_IXP4XX
++ tristate "IXP4xx (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ XScale IXP4xx crypto accelerator driver. Requires the
++ Intel Access library.
++
++config OCF_IXP4XX_SHA1_MD5
++ bool "IXP4xx SHA1 and MD5 Hashing"
++ depends on OCF_IXP4XX
++ help
++ Allows the IXP4xx crypto accelerator to perform SHA1 and MD5 hashing.
++ Note: this is MUCH slower than using cryptosoft (software crypto engine).
++
++config OCF_HIFN
++ tristate "hifn (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for various HIFN based crypto accelerators.
++ (7951, 7955, 7956, 7751, 7811)
++
++config OCF_HIFNHIPP
++ tristate "Hifn HIPP (HW packet crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for various HIFN (HIPP) based crypto accelerators
++ (7855)
++
++config OCF_TALITOS
++ tristate "talitos (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for Freescale's security engine (SEC/talitos).
++
++config OCF_PASEMI
++ tristate "pasemi (HW crypto engine)"
++ depends on OCF_OCF && PPC_PASEMI
++ help
++ OCF driver for the PA Semi PWRficient DMA Engine
++
++config OCF_EP80579
++ tristate "ep80579 (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for the Intel EP80579 Integrated Processor Product Line.
++
++config OCF_CRYPTOCTEON
++ tristate "cryptocteon (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for the Cavium OCTEON Processors.
++
++config OCF_KIRKWOOD
++ tristate "kirkwood (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for the Marvell Kirkwood (88F6xxx) Processors.
++
++config OCF_C7108
++ tristate "Micronas 7108 (HW crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for the Microna 7108 Cipher processors.
++
++config OCF_OCFNULL
++ tristate "ocfnull (fake crypto engine)"
++ depends on OCF_OCF
++ help
++ OCF driver for measuring ipsec overheads (does no crypto)
++
++config OCF_BENCH
++ tristate "ocf-bench (HW crypto in-kernel benchmark)"
++ depends on OCF_OCF
++ help
++ A very simple encryption test for the in-kernel interface
++ of OCF. Also includes code to benchmark the IXP Access library
++ for comparison.
++
++endmenu
+diff -Nur linux-2.6.39.orig/crypto/ocf/Makefile linux-2.6.39/crypto/ocf/Makefile
+--- linux-2.6.39.orig/crypto/ocf/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/Makefile 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,124 @@
++# for SGlinux builds
++-include $(ROOTDIR)/modules/.config
++
++OCF_OBJS = crypto.o criov.o
++
++ifdef CONFIG_OCF_RANDOMHARVEST
++ OCF_OBJS += random.o
++endif
++
++ifdef CONFIG_OCF_FIPS
++ OCF_OBJS += rndtest.o
++endif
++
++# Add in autoconf.h to get #defines for CONFIG_xxx
++AUTOCONF_H=$(ROOTDIR)/modules/autoconf.h
++ifeq ($(AUTOCONF_H), $(wildcard $(AUTOCONF_H)))
++ EXTRA_CFLAGS += -include $(AUTOCONF_H)
++ export EXTRA_CFLAGS
++endif
++
++ifndef obj
++ obj ?= .
++ _obj = subdir
++ mod-subdirs := safe hifn ixp4xx talitos ocfnull
++ export-objs += crypto.o criov.o random.o
++ list-multi += ocf.o
++ _slash :=
++else
++ _obj = obj
++ _slash := /
++endif
++
++EXTRA_CFLAGS += -I$(obj)/.
++
++obj-$(CONFIG_OCF_OCF) += ocf.o
++obj-$(CONFIG_OCF_CRYPTODEV) += cryptodev.o
++obj-$(CONFIG_OCF_CRYPTOSOFT) += cryptosoft.o
++obj-$(CONFIG_OCF_BENCH) += ocf-bench.o
++
++$(_obj)-$(CONFIG_OCF_SAFE) += safe$(_slash)
++$(_obj)-$(CONFIG_OCF_HIFN) += hifn$(_slash)
++$(_obj)-$(CONFIG_OCF_IXP4XX) += ixp4xx$(_slash)
++$(_obj)-$(CONFIG_OCF_TALITOS) += talitos$(_slash)
++$(_obj)-$(CONFIG_OCF_PASEMI) += pasemi$(_slash)
++$(_obj)-$(CONFIG_OCF_EP80579) += ep80579$(_slash)
++$(_obj)-$(CONFIG_OCF_CRYPTOCTEON) += cryptocteon$(_slash)
++$(_obj)-$(CONFIG_OCF_KIRKWOOD) += kirkwood$(_slash)
++$(_obj)-$(CONFIG_OCF_OCFNULL) += ocfnull$(_slash)
++$(_obj)-$(CONFIG_OCF_C7108) += c7108$(_slash)
++
++ocf-objs := $(OCF_OBJS)
++
++$(list-multi) dummy1: $(ocf-objs)
++ $(LD) -r -o $@ $(ocf-objs)
++
++.PHONY:
++clean:
++ rm -f *.o *.ko .*.o.flags .*.ko.cmd .*.o.cmd .*.mod.o.cmd *.mod.c
++ rm -f */*.o */*.ko */.*.o.cmd */.*.ko.cmd */.*.mod.o.cmd */*.mod.c */.*.o.flags
++
++ifdef TOPDIR
++-include $(TOPDIR)/Rules.make
++endif
++
++#
++# release gen targets
++#
++
++.PHONY: patch
++patch:
++ REL=`date +%Y%m%d`; \
++ patch=ocf-linux-$$REL.patch; \
++ patch24=ocf-linux-24-$$REL.patch; \
++ patch26=ocf-linux-26-$$REL.patch; \
++ ( \
++ find . -name Makefile; \
++ find . -name Config.in; \
++ find . -name Kconfig; \
++ find . -name README; \
++ find . -name '*.[ch]' | grep -v '.mod.c'; \
++ ) | while read t; do \
++ diff -Nau /dev/null $$t | sed 's?^+++ \./?+++ linux/crypto/ocf/?'; \
++ done > $$patch; \
++ cat patches/linux-2.4.35-ocf.patch $$patch > $$patch24; \
++ cat patches/linux-2.6.33-ocf.patch $$patch > $$patch26
++
++.PHONY: tarball
++tarball:
++ REL=`date +%Y%m%d`; RELDIR=/tmp/ocf-linux-$$REL; \
++ CURDIR=`pwd`; \
++ rm -rf /tmp/ocf-linux-$$REL*; \
++ mkdir -p $$RELDIR/tools; \
++ cp README* $$RELDIR; \
++ cp patches/openss*.patch $$RELDIR; \
++ cp patches/crypto-tools.patch $$RELDIR; \
++ cp tools/[!C]* $$RELDIR/tools; \
++ cd ..; \
++ tar cvf $$RELDIR/ocf-linux.tar \
++ --exclude=CVS \
++ --exclude=.* \
++ --exclude=*.o \
++ --exclude=*.ko \
++ --exclude=*.mod.* \
++ --exclude=README* \
++ --exclude=ocf-*.patch \
++ --exclude=ocf/patches/openss*.patch \
++ --exclude=ocf/patches/crypto-tools.patch \
++ --exclude=ocf/tools \
++ ocf; \
++ gzip -9 $$RELDIR/ocf-linux.tar; \
++ cd /tmp; \
++ tar cvf ocf-linux-$$REL.tar ocf-linux-$$REL; \
++ gzip -9 ocf-linux-$$REL.tar; \
++ cd $$CURDIR/../../user; \
++ rm -rf /tmp/crypto-tools-$$REL*; \
++ tar cvf /tmp/crypto-tools-$$REL.tar \
++ --exclude=CVS \
++ --exclude=.* \
++ --exclude=*.o \
++ --exclude=cryptotest \
++ --exclude=cryptokeytest \
++ crypto-tools; \
++ gzip -9 /tmp/crypto-tools-$$REL.tar
++
+diff -Nur linux-2.6.39.orig/crypto/ocf/README linux-2.6.39/crypto/ocf/README
+--- linux-2.6.39.orig/crypto/ocf/README 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/README 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,167 @@
++README - ocf-linux-20100325
++---------------------------
++
++This README provides instructions for getting ocf-linux compiled and
++operating in a generic linux environment. For other information you
++might like to visit the home page for this project:
++
++ http://ocf-linux.sourceforge.net/
++
++Adding OCF to linux
++-------------------
++
++ Not much in this file for now, just some notes. I usually build
++ the ocf support as modules but it can be built into the kernel as
++ well. To use it:
++
++ * mknod /dev/crypto c 10 70
++
++ * to add OCF to your kernel source, you have two options. Apply
++ the kernel specific patch:
++
++ cd linux-2.4*; gunzip < ocf-linux-24-XXXXXXXX.patch.gz | patch -p1
++ cd linux-2.6*; gunzip < ocf-linux-26-XXXXXXXX.patch.gz | patch -p1
++
++ if you do one of the above, then you can proceed to the next step,
++ or you can do the above process by hand with using the patches against
++ linux-2.4.35 and 2.6.33 to include the ocf code under crypto/ocf.
++ Here's how to add it:
++
++ for 2.4.35 (and later)
++
++ cd linux-2.4.35/crypto
++ tar xvzf ocf-linux.tar.gz
++ cd ..
++ patch -p1 < crypto/ocf/patches/linux-2.4.35-ocf.patch
++
++ for 2.6.23 (and later), find the kernel patch specific (or nearest)
++ to your kernel versions and then:
++
++ cd linux-2.6.NN/crypto
++ tar xvzf ocf-linux.tar.gz
++ cd ..
++ patch -p1 < crypto/ocf/patches/linux-2.6.NN-ocf.patch
++
++ It should be easy to take this patch and apply it to other more
++ recent versions of the kernels. The same patches should also work
++ relatively easily on kernels as old as 2.6.11 and 2.4.18.
++
++ * under 2.4 if you are on a non-x86 platform, you may need to:
++
++ cp linux-2.X.x/include/asm-i386/kmap_types.h linux-2.X.x/include/asm-YYY
++
++ so that you can build the kernel crypto support needed for the cryptosoft
++ driver.
++
++ * For simplicity you should enable all the crypto support in your kernel
++ except for the test driver. Likewise for the OCF options. Do not
++ enable OCF crypto drivers for HW that you do not have (for example
++ ixp4xx will not compile on non-Xscale systems).
++
++ * make sure that cryptodev.h (from ocf-linux.tar.gz) is installed as
++ crypto/cryptodev.h in an include directory that is used for building
++ applications for your platform. For example on a host system that
++ might be:
++
++ /usr/include/crypto/cryptodev.h
++
++ * patch your openssl-0.9.8n code with the openssl-0.9.8n.patch.
++ (NOTE: there is no longer a need to patch ssh). The patch is against:
++ openssl-0_9_8e
++
++ If you need a patch for an older version of openssl, you should look
++ to older OCF releases. This patch is unlikely to work on older
++ openssl versions.
++
++ openssl-0.9.8n.patch
++ - enables --with-cryptodev for non BSD systems
++ - adds -cpu option to openssl speed for calculating CPU load
++ under linux
++ - fixes null pointer in openssl speed multi thread output.
++ - fixes test keys to work with linux crypto's more stringent
++ key checking.
++ - adds MD5/SHA acceleration (Ronen Shitrit), only enabled
++ with the --with-cryptodev-digests option
++ - fixes bug in engine code caching.
++
++ * build crypto-tools-XXXXXXXX.tar.gz if you want to try some of the BSD
++ tools for testing OCF (ie., cryptotest).
++
++How to load the OCF drivers
++---------------------------
++
++ First insert the base modules:
++
++ insmod ocf
++ insmod cryptodev
++
++ You can then install the software OCF driver with:
++
++ insmod cryptosoft
++
++ and one or more of the OCF HW drivers with:
++
++ insmod safe
++ insmod hifn7751
++ insmod ixp4xx
++ ...
++
++ all the drivers take a debug option to enable verbose debug so that
++ you can see what is going on. For debug you load them as:
++
++ insmod ocf crypto_debug=1
++ insmod cryptodev cryptodev_debug=1
++ insmod cryptosoft swcr_debug=1
++
++ You may load more than one OCF crypto driver but then there is no guarantee
++ as to which will be used.
++
++ You can also enable debug at run time on 2.6 systems with the following:
++
++ echo 1 > /sys/module/ocf/parameters/crypto_debug
++ echo 1 > /sys/module/cryptodev/parameters/cryptodev_debug
++ echo 1 > /sys/module/cryptosoft/parameters/swcr_debug
++ echo 1 > /sys/module/hifn7751/parameters/hifn_debug
++ echo 1 > /sys/module/safe/parameters/safe_debug
++ echo 1 > /sys/module/ixp4xx/parameters/ixp_debug
++ ...
++
++Testing the OCF support
++-----------------------
++
++ run "cryptotest", it should do a short test for a couple of
++ des packets. If it does everything is working.
++
++ If this works, then ssh will use the driver when invoked as:
++
++ ssh -c 3des username@host
++
++ to see for sure that it is operating, enable debug as defined above.
++
++ To get a better idea of performance run:
++
++ cryptotest 100 4096
++
++ There are more options to cryptotest, see the help.
++
++ It is also possible to use openssl to test the speed of the crypto
++ drivers.
++
++ openssl speed -evp des -engine cryptodev -elapsed
++ openssl speed -evp des3 -engine cryptodev -elapsed
++ openssl speed -evp aes128 -engine cryptodev -elapsed
++
++ and multiple threads (10) with:
++
++ openssl speed -evp des -engine cryptodev -elapsed -multi 10
++ openssl speed -evp des3 -engine cryptodev -elapsed -multi 10
++ openssl speed -evp aes128 -engine cryptodev -elapsed -multi 10
++
++ for public key testing you can try:
++
++ cryptokeytest
++ openssl speed -engine cryptodev rsa -elapsed
++ openssl speed -engine cryptodev dsa -elapsed
++
++David McCullough
++david_mccullough@mcafee.com
+diff -Nur linux-2.6.39.orig/crypto/ocf/c7108/Makefile linux-2.6.39/crypto/ocf/c7108/Makefile
+--- linux-2.6.39.orig/crypto/ocf/c7108/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/c7108/Makefile 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,12 @@
++# for SGlinux builds
++-include $(ROOTDIR)/modules/.config
++
++obj-$(CONFIG_OCF_C7108) += aes-7108.o
++
++obj ?= .
++EXTRA_CFLAGS += -I$(obj)/.. -I$(obj)/
++
++ifdef TOPDIR
++-include $(TOPDIR)/Rules.make
++endif
++
diff -Nur linux-2.6.39.orig/crypto/ocf/c7108/aes-7108.c linux-2.6.39/crypto/ocf/c7108/aes-7108.c
--- linux-2.6.39.orig/crypto/ocf/c7108/aes-7108.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/c7108/aes-7108.c 2011-07-31 11:31:53.083432923 +0200
++++ linux-2.6.39/crypto/ocf/c7108/aes-7108.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,839 @@
+/*
+ * Copyright (C) 2006 Micronas USA
@@ -1837,7 +2315,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/c7108/aes-7108.c linux-2.6.39/crypto/ocf/
+MODULE_DESCRIPTION("Cypher 7108 Crypto (OCF module for kernel crypto)");
diff -Nur linux-2.6.39.orig/crypto/ocf/c7108/aes-7108.h linux-2.6.39/crypto/ocf/c7108/aes-7108.h
--- linux-2.6.39.orig/crypto/ocf/c7108/aes-7108.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/c7108/aes-7108.h 2011-07-31 11:31:53.103425544 +0200
++++ linux-2.6.39/crypto/ocf/c7108/aes-7108.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2006 Micronas USA
@@ -1973,66 +2451,10 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/c7108/aes-7108.h linux-2.6.39/crypto/ocf/
+
+
+#endif /* __C7108_AES_7108_H__ */
-diff -Nur linux-2.6.39.orig/crypto/ocf/c7108/Makefile linux-2.6.39/crypto/ocf/c7108/Makefile
---- linux-2.6.39.orig/crypto/ocf/c7108/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/c7108/Makefile 2011-07-31 11:31:53.143425698 +0200
-@@ -0,0 +1,12 @@
-+# for SGlinux builds
-+-include $(ROOTDIR)/modules/.config
-+
-+obj-$(CONFIG_OCF_C7108) += aes-7108.o
-+
-+obj ?= .
-+EXTRA_CFLAGS += -I$(obj)/.. -I$(obj)/
-+
-+ifdef TOPDIR
-+-include $(TOPDIR)/Rules.make
-+endif
-+
-diff -Nur linux-2.6.39.orig/crypto/ocf/Config.in linux-2.6.39/crypto/ocf/Config.in
---- linux-2.6.39.orig/crypto/ocf/Config.in 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/Config.in 2011-07-31 11:31:53.203897229 +0200
-@@ -0,0 +1,36 @@
-+#############################################################################
-+
-+mainmenu_option next_comment
-+comment 'OCF Configuration'
-+tristate 'OCF (Open Cryptograhic Framework)' CONFIG_OCF_OCF
-+dep_mbool ' enable fips RNG checks (fips check on RNG data before use)' \
-+ CONFIG_OCF_FIPS $CONFIG_OCF_OCF
-+dep_mbool ' enable harvesting entropy for /dev/random' \
-+ CONFIG_OCF_RANDOMHARVEST $CONFIG_OCF_OCF
-+dep_tristate ' cryptodev (user space support)' \
-+ CONFIG_OCF_CRYPTODEV $CONFIG_OCF_OCF
-+dep_tristate ' cryptosoft (software crypto engine)' \
-+ CONFIG_OCF_CRYPTOSOFT $CONFIG_OCF_OCF
-+dep_tristate ' safenet (HW crypto engine)' \
-+ CONFIG_OCF_SAFE $CONFIG_OCF_OCF
-+dep_tristate ' IXP4xx (HW crypto engine)' \
-+ CONFIG_OCF_IXP4XX $CONFIG_OCF_OCF
-+dep_mbool ' Enable IXP4xx HW to perform SHA1 and MD5 hashing (very slow)' \
-+ CONFIG_OCF_IXP4XX_SHA1_MD5 $CONFIG_OCF_IXP4XX
-+dep_tristate ' hifn (HW crypto engine)' \
-+ CONFIG_OCF_HIFN $CONFIG_OCF_OCF
-+dep_tristate ' talitos (HW crypto engine)' \
-+ CONFIG_OCF_TALITOS $CONFIG_OCF_OCF
-+dep_tristate ' pasemi (HW crypto engine)' \
-+ CONFIG_OCF_PASEMI $CONFIG_OCF_OCF
-+dep_tristate ' ep80579 (HW crypto engine)' \
-+ CONFIG_OCF_EP80579 $CONFIG_OCF_OCF
-+dep_tristate ' Micronas c7108 (HW crypto engine)' \
-+ CONFIG_OCF_C7108 $CONFIG_OCF_OCF
-+dep_tristate ' ocfnull (does no crypto)' \
-+ CONFIG_OCF_OCFNULL $CONFIG_OCF_OCF
-+dep_tristate ' ocf-bench (HW crypto in-kernel benchmark)' \
-+ CONFIG_OCF_BENCH $CONFIG_OCF_OCF
-+endmenu
-+
-+#############################################################################
diff -Nur linux-2.6.39.orig/crypto/ocf/criov.c linux-2.6.39/crypto/ocf/criov.c
--- linux-2.6.39.orig/crypto/ocf/criov.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/criov.c 2011-07-31 11:31:53.295924155 +0200
-@@ -0,0 +1,215 @@
++++ linux-2.6.39/crypto/ocf/criov.c 2011-08-01 14:39:10.000000000 +0200
+@@ -0,0 +1,212 @@
+/* $OpenBSD: criov.c,v 1.9 2002/01/29 15:48:29 jason Exp $ */
+
+/*
@@ -2069,9 +2491,6 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/criov.c linux-2.6.39/crypto/ocf/criov.c
+__FBSDID("$FreeBSD: src/sys/opencrypto/criov.c,v 1.5 2006/06/04 22:15:13 pjd Exp $");
+ */
+
-+#ifndef AUTOCONF_INCLUDED
-+#include <linux/config.h>
-+#endif
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/slab.h>
@@ -2250,8 +2669,8 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/criov.c linux-2.6.39/crypto/ocf/criov.c
+
diff -Nur linux-2.6.39.orig/crypto/ocf/crypto.c linux-2.6.39/crypto/ocf/crypto.c
--- linux-2.6.39.orig/crypto/ocf/crypto.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/crypto.c 2011-07-31 11:31:53.353516125 +0200
-@@ -0,0 +1,1784 @@
++++ linux-2.6.39/crypto/ocf/crypto.c 2011-08-01 14:38:42.000000000 +0200
+@@ -0,0 +1,1781 @@
+/*-
+ * Linux port done by David McCullough <david_mccullough@mcafee.com>
+ * Copyright (C) 2006-2010 David McCullough
@@ -2317,9 +2736,6 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/crypto.c linux-2.6.39/crypto/ocf/crypto.c
+ */
+
+
-+#ifndef AUTOCONF_INCLUDED
-+#include <linux/config.h>
-+#endif
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/list.h>
@@ -4036,9 +4452,30 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/crypto.c linux-2.6.39/crypto/ocf/crypto.c
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@mcafee.com>");
+MODULE_DESCRIPTION("OCF (OpenBSD Cryptographic Framework)");
+diff -Nur linux-2.6.39.orig/crypto/ocf/cryptocteon/Makefile linux-2.6.39/crypto/ocf/cryptocteon/Makefile
+--- linux-2.6.39.orig/crypto/ocf/cryptocteon/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/cryptocteon/Makefile 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,17 @@
++# for SGlinux builds
++-include $(ROOTDIR)/modules/.config
++
++obj-$(CONFIG_OCF_CRYPTOCTEON) += cryptocteon.o
++
++obj ?= .
++EXTRA_CFLAGS += -I$(obj)/.. -I$(obj)/
++
++ifdef CONFIG_OCF_CRYPTOCTEON
++# you need the cavium crypto component installed
++EXTRA_CFLAGS += -I$(ROOTDIR)/prop/include
++endif
++
++ifdef TOPDIR
++-include $(TOPDIR)/Rules.make
++endif
++
diff -Nur linux-2.6.39.orig/crypto/ocf/cryptocteon/cavium_crypto.c linux-2.6.39/crypto/ocf/cryptocteon/cavium_crypto.c
--- linux-2.6.39.orig/crypto/ocf/cryptocteon/cavium_crypto.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/cryptocteon/cavium_crypto.c 2011-07-31 11:31:53.423416093 +0200
++++ linux-2.6.39/crypto/ocf/cryptocteon/cavium_crypto.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,2283 @@
+/*
+ * Copyright (c) 2009 David McCullough <david.mccullough@securecomputing.com>
@@ -6325,7 +6762,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/cryptocteon/cavium_crypto.c linux-2.6.39/
+/****************************************************************************/
diff -Nur linux-2.6.39.orig/crypto/ocf/cryptocteon/cryptocteon.c linux-2.6.39/crypto/ocf/cryptocteon/cryptocteon.c
--- linux-2.6.39.orig/crypto/ocf/cryptocteon/cryptocteon.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/cryptocteon/cryptocteon.c 2011-07-31 11:31:53.583903727 +0200
++++ linux-2.6.39/crypto/ocf/cryptocteon/cryptocteon.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,574 @@
+/*
+ * Octeon Crypto for OCF
@@ -6901,31 +7338,10 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/cryptocteon/cryptocteon.c linux-2.6.39/cr
+MODULE_LICENSE("BSD");
+MODULE_AUTHOR("David McCullough <david_mccullough@mcafee.com>");
+MODULE_DESCRIPTION("Cryptocteon (OCF module for Cavium OCTEON crypto)");
-diff -Nur linux-2.6.39.orig/crypto/ocf/cryptocteon/Makefile linux-2.6.39/crypto/ocf/cryptocteon/Makefile
---- linux-2.6.39.orig/crypto/ocf/cryptocteon/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/cryptocteon/Makefile 2011-07-31 11:31:53.633421731 +0200
-@@ -0,0 +1,17 @@
-+# for SGlinux builds
-+-include $(ROOTDIR)/modules/.config
-+
-+obj-$(CONFIG_OCF_CRYPTOCTEON) += cryptocteon.o
-+
-+obj ?= .
-+EXTRA_CFLAGS += -I$(obj)/.. -I$(obj)/
-+
-+ifdef CONFIG_OCF_CRYPTOCTEON
-+# you need the cavium crypto component installed
-+EXTRA_CFLAGS += -I$(ROOTDIR)/prop/include
-+endif
-+
-+ifdef TOPDIR
-+-include $(TOPDIR)/Rules.make
-+endif
-+
diff -Nur linux-2.6.39.orig/crypto/ocf/cryptodev.c linux-2.6.39/crypto/ocf/cryptodev.c
--- linux-2.6.39.orig/crypto/ocf/cryptodev.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/cryptodev.c 2011-07-31 11:31:53.693904315 +0200
-@@ -0,0 +1,1060 @@
++++ linux-2.6.39/crypto/ocf/cryptodev.c 2011-08-01 14:38:54.000000000 +0200
+@@ -0,0 +1,1057 @@
+/* $OpenBSD: cryptodev.c,v 1.52 2002/06/19 07:22:46 deraadt Exp $ */
+
+/*-
@@ -6967,9 +7383,6 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/cryptodev.c linux-2.6.39/crypto/ocf/crypt
+__FBSDID("$FreeBSD: src/sys/opencrypto/cryptodev.c,v 1.34 2007/05/09 19:37:02 gnn Exp $");
+ */
+
-+#ifndef AUTOCONF_INCLUDED
-+#include <linux/config.h>
-+#endif
+#include <linux/types.h>
+#include <linux/time.h>
+#include <linux/delay.h>
@@ -7988,7 +8401,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/cryptodev.c linux-2.6.39/crypto/ocf/crypt
+MODULE_DESCRIPTION("Cryptodev (user interface to OCF)");
diff -Nur linux-2.6.39.orig/crypto/ocf/cryptodev.h linux-2.6.39/crypto/ocf/cryptodev.h
--- linux-2.6.39.orig/crypto/ocf/cryptodev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/cryptodev.h 2011-07-31 11:31:53.743486891 +0200
++++ linux-2.6.39/crypto/ocf/cryptodev.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,479 @@
+/* $FreeBSD: src/sys/opencrypto/cryptodev.h,v 1.25 2007/05/09 19:37:02 gnn Exp $ */
+/* $OpenBSD: cryptodev.h,v 1.31 2002/06/11 11:14:29 beck Exp $ */
@@ -8471,7 +8884,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/cryptodev.h linux-2.6.39/crypto/ocf/crypt
+#endif /* _CRYPTO_CRYPTO_H_ */
diff -Nur linux-2.6.39.orig/crypto/ocf/cryptosoft.c linux-2.6.39/crypto/ocf/cryptosoft.c
--- linux-2.6.39.orig/crypto/ocf/cryptosoft.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/cryptosoft.c 2011-07-31 11:31:53.783528522 +0200
++++ linux-2.6.39/crypto/ocf/cryptosoft.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,1210 @@
+/*
+ * An OCF module that uses the linux kernel cryptoapi, based on the
@@ -9683,9 +10096,132 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/cryptosoft.c linux-2.6.39/crypto/ocf/cryp
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("David McCullough <david_mccullough@securecomputing.com>");
+MODULE_DESCRIPTION("Cryptosoft (OCF module for kernel crypto)");
+diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/Makefile linux-2.6.39/crypto/ocf/ep80579/Makefile
+--- linux-2.6.39.orig/crypto/ocf/ep80579/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/ep80579/Makefile 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,119 @@
++#########################################################################
++#
++# Targets supported
++# all - builds everything and installs
++# install - identical to all
++# depend - build dependencies
++# clean - clears derived objects except the .depend files
++# distclean- clears all derived objects and the .depend file
++#
++# @par
++# This file is provided under a dual BSD/GPLv2 license. When using or
++# redistributing this file, you may do so under either license.
++#
++# GPL LICENSE SUMMARY
++#
++# Copyright(c) 2007,2008,2009 Intel Corporation. All rights reserved.
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of version 2 of the GNU General Public License as
++# published by the Free Software Foundation.
++#
++# This program is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
++# The full GNU General Public License is included in this distribution
++# in the file called LICENSE.GPL.
++#
++# Contact Information:
++# Intel Corporation
++#
++# BSD LICENSE
++#
++# Copyright(c) 2007,2008,2009 Intel Corporation. All rights reserved.
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++#
++# * Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# * Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in
++# the documentation and/or other materials provided with the
++# distribution.
++# * Neither the name of Intel Corporation nor the names of its
++# contributors may be used to endorse or promote products derived
++# from this software without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++#
++# version: Security.L.1.0.2-229
++############################################################################
++
++
++####################Common variables and definitions########################
++
++ifndef ICP_ROOT
++$(warning ICP_ROOT is undefined. Please set the path to EP80579 release package directory \
++ "-> setenv ICP_ROOT <path>")
++all fastdep:
++ :
++else
++
++ifndef KERNEL_SOURCE_ROOT
++$(error KERNEL_SOURCE_ROOT is undefined. Please set the path to the kernel source directory \
++ "-> setenv KERNEL_SOURCE_ROOT <path>")
++endif
++
++# Ensure The ENV_DIR environmental var is defined.
++ifndef ICP_ENV_DIR
++$(error ICP_ENV_DIR is undefined. Please set the path to EP80579 driver environment.mk file \
++ "-> setenv ICP_ENV_DIR <path>")
++endif
++
++#Add your project environment Makefile
++include ${ICP_ENV_DIR}/environment.mk
++
++#include the makefile with all the default and common Make variable definitions
++include ${ICP_BUILDSYSTEM_PATH}/build_files/common.mk
++
++#Add the name for the executable, Library or Module output definitions
++OUTPUT_NAME= icp_ocf
++
++# List of Source Files to be compiled
++SOURCES= icp_common.c icp_sym.c icp_asym.c icp_ocf_linux.c
++
++#common includes between all supported OSes
++INCLUDES= -I ${ICP_API_DIR} -I${ICP_LAC_API} \
++-I${ICP_OCF_SRC_DIR}
++
++# The location of the os level makefile needs to be changed.
++include ${ICP_ENV_DIR}/${ICP_OS}_${ICP_OS_LEVEL}.mk
++
++# On the line directly below list the outputs you wish to build for,
++# e.g "lib_static lib_shared exe module" as shown below
++install: module
++
++###################Include rules makefiles########################
++include ${ICP_BUILDSYSTEM_PATH}/build_files/rules.mk
++###################End of Rules inclusion#########################
++
++endif
diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_asym.c linux-2.6.39/crypto/ocf/ep80579/icp_asym.c
--- linux-2.6.39.orig/crypto/ocf/ep80579/icp_asym.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ep80579/icp_asym.c 2011-07-31 11:31:53.843638287 +0200
++++ linux-2.6.39/crypto/ocf/ep80579/icp_asym.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,1334 @@
+/***************************************************************************
+ *
@@ -11023,7 +11559,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_asym.c linux-2.6.39/crypto/oc
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_common.c linux-2.6.39/crypto/ocf/ep80579/icp_common.c
--- linux-2.6.39.orig/crypto/ocf/ep80579/icp_common.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ep80579/icp_common.c 2011-07-31 11:31:53.903427275 +0200
++++ linux-2.6.39/crypto/ocf/ep80579/icp_common.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,773 @@
+/*************************************************************************
+ *
@@ -11800,7 +12336,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_common.c linux-2.6.39/crypto/
+ LAC_MAX_VER);
diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_ocf.h linux-2.6.39/crypto/ocf/ep80579/icp_ocf.h
--- linux-2.6.39.orig/crypto/ocf/ep80579/icp_ocf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ep80579/icp_ocf.h 2011-07-31 11:31:53.934826868 +0200
++++ linux-2.6.39/crypto/ocf/ep80579/icp_ocf.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,376 @@
+/***************************************************************************
+ *
@@ -12180,7 +12716,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_ocf.h linux-2.6.39/crypto/ocf
+/* ICP_OCF_H_ */
diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_sym.c linux-2.6.39/crypto/ocf/ep80579/icp_sym.c
--- linux-2.6.39.orig/crypto/ocf/ep80579/icp_sym.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ep80579/icp_sym.c 2011-07-31 11:31:53.993903094 +0200
++++ linux-2.6.39/crypto/ocf/ep80579/icp_sym.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,1153 @@
+/***************************************************************************
+ *
@@ -13335,133 +13871,27 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/icp_sym.c linux-2.6.39/crypto/ocf
+ DPRINTK("%s() Should not reach this point\n", __FUNCTION__);
+ return NULL;
+}
-diff -Nur linux-2.6.39.orig/crypto/ocf/ep80579/Makefile linux-2.6.39/crypto/ocf/ep80579/Makefile
---- linux-2.6.39.orig/crypto/ocf/ep80579/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ep80579/Makefile 2011-07-31 11:31:54.063418329 +0200
-@@ -0,0 +1,119 @@
-+#########################################################################
-+#
-+# Targets supported
-+# all - builds everything and installs
-+# install - identical to all
-+# depend - build dependencies
-+# clean - clears derived objects except the .depend files
-+# distclean- clears all derived objects and the .depend file
-+#
-+# @par
-+# This file is provided under a dual BSD/GPLv2 license. When using or
-+# redistributing this file, you may do so under either license.
-+#
-+# GPL LICENSE SUMMARY
-+#
-+# Copyright(c) 2007,2008,2009 Intel Corporation. All rights reserved.
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of version 2 of the GNU General Public License as
-+# published by the Free Software Foundation.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-+# The full GNU General Public License is included in this distribution
-+# in the file called LICENSE.GPL.
-+#
-+# Contact Information:
-+# Intel Corporation
-+#
-+# BSD LICENSE
-+#
-+# Copyright(c) 2007,2008,2009 Intel Corporation. All rights reserved.
-+# All rights reserved.
-+#
-+# Redistribution and use in source and binary forms, with or without
-+# modification, are permitted provided that the following conditions
-+# are met:
-+#
-+# * Redistributions of source code must retain the above copyright
-+# notice, this list of conditions and the following disclaimer.
-+# * Redistributions in binary form must reproduce the above copyright
-+# notice, this list of conditions and the following disclaimer in
-+# the documentation and/or other materials provided with the
-+# distribution.
-+# * Neither the name of Intel Corporation nor the names of its
-+# contributors may be used to endorse or promote products derived
-+# from this software without specific prior written permission.
-+#
-+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+#
-+#
-+# version: Security.L.1.0.2-229
-+############################################################################
-+
-+
-+####################Common variables and definitions########################
+diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/Makefile linux-2.6.39/crypto/ocf/hifn/Makefile
+--- linux-2.6.39.orig/crypto/ocf/hifn/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/hifn/Makefile 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,13 @@
++# for SGlinux builds
++-include $(ROOTDIR)/modules/.config
+
-+ifndef ICP_ROOT
-+$(warning ICP_ROOT is undefined. Please set the path to EP80579 release package directory \
-+ "-> setenv ICP_ROOT <path>")
-+all fastdep:
-+ :
-+else
++obj-$(CONFIG_OCF_HIFN) += hifn7751.o
++obj-$(CONFIG_OCF_HIFNHIPP) += hifnHIPP.o
+
-+ifndef KERNEL_SOURCE_ROOT
-+$(error KERNEL_SOURCE_ROOT is undefined. Please set the path to the kernel source directory \
-+ "-> setenv KERNEL_SOURCE_ROOT <path>")
-+endif
++obj ?= .
++EXTRA_CFLAGS += -I$(obj)/.. -I$(obj)/
+
-+# Ensure The ENV_DIR environmental var is defined.
-+ifndef ICP_ENV_DIR
-+$(error ICP_ENV_DIR is undefined. Please set the path to EP80579 driver environment.mk file \
-+ "-> setenv ICP_ENV_DIR <path>")
++ifdef TOPDIR
++-include $(TOPDIR)/Rules.make
+endif
+
-+#Add your project environment Makefile
-+include ${ICP_ENV_DIR}/environment.mk
-+
-+#include the makefile with all the default and common Make variable definitions
-+include ${ICP_BUILDSYSTEM_PATH}/build_files/common.mk
-+
-+#Add the name for the executable, Library or Module output definitions
-+OUTPUT_NAME= icp_ocf
-+
-+# List of Source Files to be compiled
-+SOURCES= icp_common.c icp_sym.c icp_asym.c icp_ocf_linux.c
-+
-+#common includes between all supported OSes
-+INCLUDES= -I ${ICP_API_DIR} -I${ICP_LAC_API} \
-+-I${ICP_OCF_SRC_DIR}
-+
-+# The location of the os level makefile needs to be changed.
-+include ${ICP_ENV_DIR}/${ICP_OS}_${ICP_OS_LEVEL}.mk
-+
-+# On the line directly below list the outputs you wish to build for,
-+# e.g "lib_static lib_shared exe module" as shown below
-+install: module
-+
-+###################Include rules makefiles########################
-+include ${ICP_BUILDSYSTEM_PATH}/build_files/rules.mk
-+###################End of Rules inclusion#########################
-+
-+endif
diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751.c linux-2.6.39/crypto/ocf/hifn/hifn7751.c
--- linux-2.6.39.orig/crypto/ocf/hifn/hifn7751.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/hifn7751.c 2011-07-31 11:31:54.083652242 +0200
-@@ -0,0 +1,2976 @@
++++ linux-2.6.39/crypto/ocf/hifn/hifn7751.c 2011-08-01 14:39:27.000000000 +0200
+@@ -0,0 +1,2973 @@
+/* $OpenBSD: hifn7751.c,v 1.120 2002/05/17 00:33:34 deraadt Exp $ */
+
+/*-
@@ -13510,9 +13940,6 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751.c linux-2.6.39/crypto/ocf/h
+/*
+ * Driver for various Hifn encryption processors.
+ */
-+#ifndef AUTOCONF_INCLUDED
-+#include <linux/config.h>
-+#endif
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/list.h>
@@ -16440,7 +16867,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751.c linux-2.6.39/crypto/ocf/h
+MODULE_DESCRIPTION("OCF driver for hifn PCI crypto devices");
diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751reg.h linux-2.6.39/crypto/ocf/hifn/hifn7751reg.h
--- linux-2.6.39.orig/crypto/ocf/hifn/hifn7751reg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/hifn7751reg.h 2011-07-31 11:31:54.163424609 +0200
++++ linux-2.6.39/crypto/ocf/hifn/hifn7751reg.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,540 @@
+/* $FreeBSD: src/sys/dev/hifn/hifn7751reg.h,v 1.7 2007/03/21 03:42:49 sam Exp $ */
+/* $OpenBSD: hifn7751reg.h,v 1.35 2002/04/08 17:49:42 jason Exp $ */
@@ -16984,7 +17411,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751reg.h linux-2.6.39/crypto/oc
+#endif /* __HIFN_H__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751var.h linux-2.6.39/crypto/ocf/hifn/hifn7751var.h
--- linux-2.6.39.orig/crypto/ocf/hifn/hifn7751var.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/hifn7751var.h 2011-07-31 11:31:54.233424983 +0200
++++ linux-2.6.39/crypto/ocf/hifn/hifn7751var.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,369 @@
+/* $FreeBSD: src/sys/dev/hifn/hifn7751var.h,v 1.9 2007/03/21 03:42:49 sam Exp $ */
+/* $OpenBSD: hifn7751var.h,v 1.42 2002/04/08 17:49:42 jason Exp $ */
@@ -17357,7 +17784,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifn7751var.h linux-2.6.39/crypto/oc
+#endif /* __HIFN7751VAR_H__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPP.c linux-2.6.39/crypto/ocf/hifn/hifnHIPP.c
--- linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPP.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/hifnHIPP.c 2011-07-31 11:31:54.313421813 +0200
++++ linux-2.6.39/crypto/ocf/hifn/hifnHIPP.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,420 @@
+/*-
+ * Driver for Hifn HIPP-I/II chipset
@@ -17781,7 +18208,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPP.c linux-2.6.39/crypto/ocf/h
+MODULE_DESCRIPTION("OCF driver for hifn HIPP-I/II PCI crypto devices");
diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPPreg.h linux-2.6.39/crypto/ocf/hifn/hifnHIPPreg.h
--- linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPPreg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/hifnHIPPreg.h 2011-07-31 11:31:54.373909392 +0200
++++ linux-2.6.39/crypto/ocf/hifn/hifnHIPPreg.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,46 @@
+/*-
+ * Hifn HIPP-I/HIPP-II (7855/8155) driver.
@@ -17831,7 +18258,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPPreg.h linux-2.6.39/crypto/oc
+#endif /* __HIPP_H__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPPvar.h linux-2.6.39/crypto/ocf/hifn/hifnHIPPvar.h
--- linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPPvar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/hifnHIPPvar.h 2011-07-31 11:31:54.423425112 +0200
++++ linux-2.6.39/crypto/ocf/hifn/hifnHIPPvar.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,93 @@
+/*
+ * Hifn HIPP-I/HIPP-II (7855/8155) driver.
@@ -17926,18 +18353,109 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/hifnHIPPvar.h linux-2.6.39/crypto/oc
+#define HIPP_UNLOCK(_sc) spin_unlock_irqrestore(&(_sc)->sc_mtx, l_flags)
+
+#endif /* __HIFNHIPPVAR_H__ */
-diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/Makefile linux-2.6.39/crypto/ocf/hifn/Makefile
---- linux-2.6.39.orig/crypto/ocf/hifn/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/hifn/Makefile 2011-07-31 11:31:54.483424794 +0200
-@@ -0,0 +1,13 @@
+diff -Nur linux-2.6.39.orig/crypto/ocf/ixp4xx/Makefile linux-2.6.39/crypto/ocf/ixp4xx/Makefile
+--- linux-2.6.39.orig/crypto/ocf/ixp4xx/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/ixp4xx/Makefile 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,104 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
+
-+obj-$(CONFIG_OCF_HIFN) += hifn7751.o
-+obj-$(CONFIG_OCF_HIFNHIPP) += hifnHIPP.o
++#
++# You will need to point this at your Intel ixp425 includes, this portion
++# of the Makefile only really works under SGLinux with the appropriate libs
++# installed. They can be downloaded from http://www.snapgear.org/
++#
++ifeq ($(CONFIG_CPU_IXP46X),y)
++IXPLATFORM = ixp46X
++else
++ifeq ($(CONFIG_CPU_IXP43X),y)
++IXPLATFORM = ixp43X
++else
++IXPLATFORM = ixp42X
++endif
++endif
++
++ifdef CONFIG_IXP400_LIB_2_4
++IX_XSCALE_SW = $(ROOTDIR)/modules/ixp425/ixp400-2.4/ixp400_xscale_sw
++OSAL_DIR = $(ROOTDIR)/modules/ixp425/ixp400-2.4/ixp_osal
++endif
++ifdef CONFIG_IXP400_LIB_2_1
++IX_XSCALE_SW = $(ROOTDIR)/modules/ixp425/ixp400-2.1/ixp400_xscale_sw
++OSAL_DIR = $(ROOTDIR)/modules/ixp425/ixp400-2.1/ixp_osal
++endif
++ifdef CONFIG_IXP400_LIB_2_0
++IX_XSCALE_SW = $(ROOTDIR)/modules/ixp425/ixp400-2.0/ixp400_xscale_sw
++OSAL_DIR = $(ROOTDIR)/modules/ixp425/ixp400-2.0/ixp_osal
++endif
++ifdef IX_XSCALE_SW
++ifdef CONFIG_IXP400_LIB_2_4
++IXP_CFLAGS = \
++ -I$(ROOTDIR)/. \
++ -I$(IX_XSCALE_SW)/src/include \
++ -I$(OSAL_DIR)/common/include/ \
++ -I$(OSAL_DIR)/common/include/modules/ \
++ -I$(OSAL_DIR)/common/include/modules/ddk/ \
++ -I$(OSAL_DIR)/common/include/modules/bufferMgt/ \
++ -I$(OSAL_DIR)/common/include/modules/ioMem/ \
++ -I$(OSAL_DIR)/common/os/linux/include/ \
++ -I$(OSAL_DIR)/common/os/linux/include/core/ \
++ -I$(OSAL_DIR)/common/os/linux/include/modules/ \
++ -I$(OSAL_DIR)/common/os/linux/include/modules/ddk/ \
++ -I$(OSAL_DIR)/common/os/linux/include/modules/bufferMgt/ \
++ -I$(OSAL_DIR)/common/os/linux/include/modules/ioMem/ \
++ -I$(OSAL_DIR)/platforms/$(IXPLATFORM)/include/ \
++ -I$(OSAL_DIR)/platforms/$(IXPLATFORM)/os/linux/include/ \
++ -DENABLE_IOMEM -DENABLE_BUFFERMGT -DENABLE_DDK \
++ -DUSE_IXP4XX_CRYPTO
++else
++IXP_CFLAGS = \
++ -I$(ROOTDIR)/. \
++ -I$(IX_XSCALE_SW)/src/include \
++ -I$(OSAL_DIR)/ \
++ -I$(OSAL_DIR)/os/linux/include/ \
++ -I$(OSAL_DIR)/os/linux/include/modules/ \
++ -I$(OSAL_DIR)/os/linux/include/modules/ioMem/ \
++ -I$(OSAL_DIR)/os/linux/include/modules/bufferMgt/ \
++ -I$(OSAL_DIR)/os/linux/include/core/ \
++ -I$(OSAL_DIR)/os/linux/include/platforms/ \
++ -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ \
++ -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp425 \
++ -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp465 \
++ -I$(OSAL_DIR)/os/linux/include/core/ \
++ -I$(OSAL_DIR)/include/ \
++ -I$(OSAL_DIR)/include/modules/ \
++ -I$(OSAL_DIR)/include/modules/bufferMgt/ \
++ -I$(OSAL_DIR)/include/modules/ioMem/ \
++ -I$(OSAL_DIR)/include/platforms/ \
++ -I$(OSAL_DIR)/include/platforms/ixp400/ \
++ -DUSE_IXP4XX_CRYPTO
++endif
++endif
++ifdef CONFIG_IXP400_LIB_1_4
++IXP_CFLAGS = \
++ -I$(ROOTDIR)/. \
++ -I$(ROOTDIR)/modules/ixp425/ixp400-1.4/ixp400_xscale_sw/src/include \
++ -I$(ROOTDIR)/modules/ixp425/ixp400-1.4/ixp400_xscale_sw/src/linux \
++ -DUSE_IXP4XX_CRYPTO
++endif
++ifndef IXPDIR
++IXPDIR = ixp-version-is-not-supported
++endif
++
++ifeq ($(CONFIG_CPU_IXP46X),y)
++IXP_CFLAGS += -D__ixp46X
++else
++ifeq ($(CONFIG_CPU_IXP43X),y)
++IXP_CFLAGS += -D__ixp43X
++else
++IXP_CFLAGS += -D__ixp42X
++endif
++endif
++
++obj-$(CONFIG_OCF_IXP4XX) += ixp4xx.o
+
+obj ?= .
-+EXTRA_CFLAGS += -I$(obj)/.. -I$(obj)/
++EXTRA_CFLAGS += $(IXP_CFLAGS) -I$(obj)/.. -I$(obj)/.
+
+ifdef TOPDIR
+-include $(TOPDIR)/Rules.make
@@ -17945,7 +18463,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/hifn/Makefile linux-2.6.39/crypto/ocf/hif
+
diff -Nur linux-2.6.39.orig/crypto/ocf/ixp4xx/ixp4xx.c linux-2.6.39/crypto/ocf/ixp4xx/ixp4xx.c
--- linux-2.6.39.orig/crypto/ocf/ixp4xx/ixp4xx.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ixp4xx/ixp4xx.c 2011-07-31 11:31:54.543519301 +0200
++++ linux-2.6.39/crypto/ocf/ixp4xx/ixp4xx.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,1324 @@
+/*
+ * An OCF module that uses Intels IXP CryptACC API to do the crypto.
@@ -19271,240 +19789,98 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ixp4xx/ixp4xx.c linux-2.6.39/crypto/ocf/i
+MODULE_LICENSE("Dual BSD/GPL");
+MODULE_AUTHOR("David McCullough <dmccullough@cyberguard.com>");
+MODULE_DESCRIPTION("ixp (OCF module for IXP4xx crypto)");
-diff -Nur linux-2.6.39.orig/crypto/ocf/ixp4xx/Makefile linux-2.6.39/crypto/ocf/ixp4xx/Makefile
---- linux-2.6.39.orig/crypto/ocf/ixp4xx/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ixp4xx/Makefile 2011-07-31 11:31:54.573910448 +0200
-@@ -0,0 +1,104 @@
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/Makefile linux-2.6.39/crypto/ocf/kirkwood/Makefile
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/Makefile 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,19 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
+
-+#
-+# You will need to point this at your Intel ixp425 includes, this portion
-+# of the Makefile only really works under SGLinux with the appropriate libs
-+# installed. They can be downloaded from http://www.snapgear.org/
-+#
-+ifeq ($(CONFIG_CPU_IXP46X),y)
-+IXPLATFORM = ixp46X
-+else
-+ifeq ($(CONFIG_CPU_IXP43X),y)
-+IXPLATFORM = ixp43X
-+else
-+IXPLATFORM = ixp42X
-+endif
-+endif
-+
-+ifdef CONFIG_IXP400_LIB_2_4
-+IX_XSCALE_SW = $(ROOTDIR)/modules/ixp425/ixp400-2.4/ixp400_xscale_sw
-+OSAL_DIR = $(ROOTDIR)/modules/ixp425/ixp400-2.4/ixp_osal
-+endif
-+ifdef CONFIG_IXP400_LIB_2_1
-+IX_XSCALE_SW = $(ROOTDIR)/modules/ixp425/ixp400-2.1/ixp400_xscale_sw
-+OSAL_DIR = $(ROOTDIR)/modules/ixp425/ixp400-2.1/ixp_osal
-+endif
-+ifdef CONFIG_IXP400_LIB_2_0
-+IX_XSCALE_SW = $(ROOTDIR)/modules/ixp425/ixp400-2.0/ixp400_xscale_sw
-+OSAL_DIR = $(ROOTDIR)/modules/ixp425/ixp400-2.0/ixp_osal
-+endif
-+ifdef IX_XSCALE_SW
-+ifdef CONFIG_IXP400_LIB_2_4
-+IXP_CFLAGS = \
-+ -I$(ROOTDIR)/. \
-+ -I$(IX_XSCALE_SW)/src/include \
-+ -I$(OSAL_DIR)/common/include/ \
-+ -I$(OSAL_DIR)/common/include/modules/ \
-+ -I$(OSAL_DIR)/common/include/modules/ddk/ \
-+ -I$(OSAL_DIR)/common/include/modules/bufferMgt/ \
-+ -I$(OSAL_DIR)/common/include/modules/ioMem/ \
-+ -I$(OSAL_DIR)/common/os/linux/include/ \
-+ -I$(OSAL_DIR)/common/os/linux/include/core/ \
-+ -I$(OSAL_DIR)/common/os/linux/include/modules/ \
-+ -I$(OSAL_DIR)/common/os/linux/include/modules/ddk/ \
-+ -I$(OSAL_DIR)/common/os/linux/include/modules/bufferMgt/ \
-+ -I$(OSAL_DIR)/common/os/linux/include/modules/ioMem/ \
-+ -I$(OSAL_DIR)/platforms/$(IXPLATFORM)/include/ \
-+ -I$(OSAL_DIR)/platforms/$(IXPLATFORM)/os/linux/include/ \
-+ -DENABLE_IOMEM -DENABLE_BUFFERMGT -DENABLE_DDK \
-+ -DUSE_IXP4XX_CRYPTO
-+else
-+IXP_CFLAGS = \
-+ -I$(ROOTDIR)/. \
-+ -I$(IX_XSCALE_SW)/src/include \
-+ -I$(OSAL_DIR)/ \
-+ -I$(OSAL_DIR)/os/linux/include/ \
-+ -I$(OSAL_DIR)/os/linux/include/modules/ \
-+ -I$(OSAL_DIR)/os/linux/include/modules/ioMem/ \
-+ -I$(OSAL_DIR)/os/linux/include/modules/bufferMgt/ \
-+ -I$(OSAL_DIR)/os/linux/include/core/ \
-+ -I$(OSAL_DIR)/os/linux/include/platforms/ \
-+ -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ \
-+ -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp425 \
-+ -I$(OSAL_DIR)/os/linux/include/platforms/ixp400/ixp465 \
-+ -I$(OSAL_DIR)/os/linux/include/core/ \
-+ -I$(OSAL_DIR)/include/ \
-+ -I$(OSAL_DIR)/include/modules/ \
-+ -I$(OSAL_DIR)/include/modules/bufferMgt/ \
-+ -I$(OSAL_DIR)/include/modules/ioMem/ \
-+ -I$(OSAL_DIR)/include/platforms/ \
-+ -I$(OSAL_DIR)/include/platforms/ixp400/ \
-+ -DUSE_IXP4XX_CRYPTO
-+endif
-+endif
-+ifdef CONFIG_IXP400_LIB_1_4
-+IXP_CFLAGS = \
-+ -I$(ROOTDIR)/. \
-+ -I$(ROOTDIR)/modules/ixp425/ixp400-1.4/ixp400_xscale_sw/src/include \
-+ -I$(ROOTDIR)/modules/ixp425/ixp400-1.4/ixp400_xscale_sw/src/linux \
-+ -DUSE_IXP4XX_CRYPTO
-+endif
-+ifndef IXPDIR
-+IXPDIR = ixp-version-is-not-supported
-+endif
++obj-$(CONFIG_OCF_KIRKWOOD) += mv_cesa.o
+
-+ifeq ($(CONFIG_CPU_IXP46X),y)
-+IXP_CFLAGS += -D__ixp46X
-+else
-+ifeq ($(CONFIG_CPU_IXP43X),y)
-+IXP_CFLAGS += -D__ixp43X
-+else
-+IXP_CFLAGS += -D__ixp42X
-+endif
-+endif
++mv_cesa-y := cesa/mvCesa.o cesa/mvLru.o cesa/mvMD5.o cesa/mvSHA1.o cesa/AES/mvAesAlg.o cesa/AES/mvAesApi.o cesa/mvCesaDebug.o cesa_ocf_drv.o
+
-+obj-$(CONFIG_OCF_IXP4XX) += ixp4xx.o
++# Extra objects required by the CESA driver
++mv_cesa-y += mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.o mvHal/kw_family/boardEnv/mvBoardEnvLib.o mvHal/mv_hal/twsi/mvTwsi.o mvHal/kw_family/ctrlEnv/sys/mvCpuIf.o mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.o mvHal/kw_family/ctrlEnv/sys/mvSysDram.o mvHal/linux_oss/mvOs.o mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.o mvHal/mv_hal/gpp/mvGpp.o mvHal/kw_family/ctrlEnv/sys/mvSysPex.o mvHal/mv_hal/pex/mvPex.o mvHal/kw_family/boardEnv/mvBoardEnvSpec.o mvHal/common/mvCommon.o mvHal/common/mvDebug.o mvHal/kw_family/ctrlEnv/sys/mvSysCesa.o
+
-+obj ?= .
-+EXTRA_CFLAGS += $(IXP_CFLAGS) -I$(obj)/.. -I$(obj)/.
++ifdef src
++EXTRA_CFLAGS += -I$(src)/.. -I$(src)/cesa -I$(src)/mvHal -I$(src)/mvHal/common -I$(src)/mvHal/kw_family -I$(src)/mvHal/mv_hal -I$(src)/mvHal/linux_oss -I$(src)
++endif
+
++EXTRA_CFLAGS += -DMV_LINUX -DMV_CPU_LE -DMV_ARM -DMV_INCLUDE_CESA -DMV_INCLUDE_PEX -DMV_CACHE_COHERENCY=3
+ifdef TOPDIR
+-include $(TOPDIR)/Rules.make
+endif
+
-diff -Nur linux-2.6.39.orig/crypto/ocf/Kconfig linux-2.6.39/crypto/ocf/Kconfig
---- linux-2.6.39.orig/crypto/ocf/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/Kconfig 2011-07-31 11:31:54.634586634 +0200
-@@ -0,0 +1,119 @@
-+menu "OCF Configuration"
-+
-+config OCF_OCF
-+ tristate "OCF (Open Cryptograhic Framework)"
-+ help
-+ A linux port of the OpenBSD/FreeBSD crypto framework.
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAes.h linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAes.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAes.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAes.h 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,62 @@
++/* mvAes.h v2.0 August '99
++ * Reference ANSI C code
++ */
+
-+config OCF_RANDOMHARVEST
-+ bool "crypto random --- harvest entropy for /dev/random"
-+ depends on OCF_OCF
-+ help
-+ Includes code to harvest random numbers from devices that support it.
++/* AES Cipher header file for ANSI C Submissions
++ Lawrence E. Bassham III
++ Computer Security Division
++ National Institute of Standards and Technology
+
-+config OCF_FIPS
-+ bool "enable fips RNG checks"
-+ depends on OCF_OCF && OCF_RANDOMHARVEST
-+ help
-+ Run all RNG provided data through a fips check before
-+ adding it /dev/random's entropy pool.
++ April 15, 1998
+
-+config OCF_CRYPTODEV
-+ tristate "cryptodev (user space support)"
-+ depends on OCF_OCF
-+ help
-+ The user space API to access crypto hardware.
++ This sample is to assist implementers developing to the Cryptographic
++API Profile for AES Candidate Algorithm Submissions. Please consult this
++document as a cross-reference.
+
-+config OCF_CRYPTOSOFT
-+ tristate "cryptosoft (software crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ A software driver for the OCF framework that uses
-+ the kernel CryptoAPI.
++ ANY CHANGES, WHERE APPROPRIATE, TO INFORMATION PROVIDED IN THIS FILE
++MUST BE DOCUMENTED. CHANGES ARE ONLY APPROPRIATE WHERE SPECIFIED WITH
++THE STRING "CHANGE POSSIBLE". FUNCTION CALLS AND THEIR PARAMETERS CANNOT
++BE CHANGED. STRUCTURES CAN BE ALTERED TO ALLOW IMPLEMENTERS TO INCLUDE
++IMPLEMENTATION SPECIFIC INFORMATION.
++*/
+
-+config OCF_SAFE
-+ tristate "safenet (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ A driver for a number of the safenet Excel crypto accelerators.
-+ Currently tested and working on the 1141 and 1741.
++/* Includes:
++ Standard include files
++*/
+
-+config OCF_IXP4XX
-+ tristate "IXP4xx (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ XScale IXP4xx crypto accelerator driver. Requires the
-+ Intel Access library.
++#include "mvOs.h"
+
-+config OCF_IXP4XX_SHA1_MD5
-+ bool "IXP4xx SHA1 and MD5 Hashing"
-+ depends on OCF_IXP4XX
-+ help
-+ Allows the IXP4xx crypto accelerator to perform SHA1 and MD5 hashing.
-+ Note: this is MUCH slower than using cryptosoft (software crypto engine).
+
-+config OCF_HIFN
-+ tristate "hifn (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for various HIFN based crypto accelerators.
-+ (7951, 7955, 7956, 7751, 7811)
++/* Error Codes - CHANGE POSSIBLE: inclusion of additional error codes */
+
-+config OCF_HIFNHIPP
-+ tristate "Hifn HIPP (HW packet crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for various HIFN (HIPP) based crypto accelerators
-+ (7855)
++/* Key direction is invalid, e.g., unknown value */
++#define AES_BAD_KEY_DIR -1
+
-+config OCF_TALITOS
-+ tristate "talitos (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for Freescale's security engine (SEC/talitos).
++/* Key material not of correct length */
++#define AES_BAD_KEY_MAT -2
+
-+config OCF_PASEMI
-+ tristate "pasemi (HW crypto engine)"
-+ depends on OCF_OCF && PPC_PASEMI
-+ help
-+ OCF driver for the PA Semi PWRficient DMA Engine
++/* Key passed is not valid */
++#define AES_BAD_KEY_INSTANCE -3
+
-+config OCF_EP80579
-+ tristate "ep80579 (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for the Intel EP80579 Integrated Processor Product Line.
++/* Params struct passed to cipherInit invalid */
++#define AES_BAD_CIPHER_MODE -4
+
-+config OCF_CRYPTOCTEON
-+ tristate "cryptocteon (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for the Cavium OCTEON Processors.
++/* Cipher in wrong state (e.g., not initialized) */
++#define AES_BAD_CIPHER_STATE -5
+
-+config OCF_KIRKWOOD
-+ tristate "kirkwood (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for the Marvell Kirkwood (88F6xxx) Processors.
++#define AES_BAD_CIPHER_INSTANCE -7
+
-+config OCF_C7108
-+ tristate "Micronas 7108 (HW crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for the Microna 7108 Cipher processors.
+
-+config OCF_OCFNULL
-+ tristate "ocfnull (fake crypto engine)"
-+ depends on OCF_OCF
-+ help
-+ OCF driver for measuring ipsec overheads (does no crypto)
++/* Function protoypes */
++/* CHANGED: makeKey(): parameter blockLen added
++ this parameter is absolutely necessary if you want to
++ setup the round keys in a variable block length setting
++ cipherInit(): parameter blockLen added (for obvious reasons)
++ */
++int aesMakeKey(MV_U8 *expandedKey, MV_U8 *keyMaterial, int keyLen, int blockLen);
++int aesBlockEncrypt128(MV_U8 mode, MV_U8 *IV, MV_U8 *expandedKey, int keyLen,
++ MV_U32 *plain, int numBlocks, MV_U32 *cipher);
++int aesBlockDecrypt128(MV_U8 mode, MV_U8 *IV, MV_U8 *expandedKey, int keyLen,
++ MV_U32 *plain, int numBlocks, MV_U32 *cipher);
+
-+config OCF_BENCH
-+ tristate "ocf-bench (HW crypto in-kernel benchmark)"
-+ depends on OCF_OCF
-+ help
-+ A very simple encryption test for the in-kernel interface
-+ of OCF. Also includes code to benchmark the IXP Access library
-+ for comparison.
+
-+endmenu
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.c linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.c 2011-07-31 11:31:54.683425043 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,317 @@
+/* rijndael-alg-ref.c v2.0 August '99
+ * Reference ANSI C code
@@ -19825,7 +20201,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.c linux-2.6.39
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.h linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.h 2011-07-31 11:31:54.743635409 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,19 @@
+/* rijndael-alg-ref.h v2.0 August '99
+ * Reference ANSI C code
@@ -19848,7 +20224,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesAlg.h linux-2.6.39
+#endif /* __RIJNDAEL_ALG_H */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesApi.c linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesApi.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesApi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesApi.c 2011-07-31 11:31:54.783912104 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAesApi.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,312 @@
+/* rijndael-api-ref.c v2.1 April 2000
+ * Reference ANSI C code
@@ -20162,75 +20538,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAesApi.c linux-2.6.39
+}
+
+
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAes.h linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAes.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/AES/mvAes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/AES/mvAes.h 2011-07-31 11:31:54.835924463 +0200
-@@ -0,0 +1,62 @@
-+/* mvAes.h v2.0 August '99
-+ * Reference ANSI C code
-+ */
-+
-+/* AES Cipher header file for ANSI C Submissions
-+ Lawrence E. Bassham III
-+ Computer Security Division
-+ National Institute of Standards and Technology
-+
-+ April 15, 1998
-+
-+ This sample is to assist implementers developing to the Cryptographic
-+API Profile for AES Candidate Algorithm Submissions. Please consult this
-+document as a cross-reference.
-+
-+ ANY CHANGES, WHERE APPROPRIATE, TO INFORMATION PROVIDED IN THIS FILE
-+MUST BE DOCUMENTED. CHANGES ARE ONLY APPROPRIATE WHERE SPECIFIED WITH
-+THE STRING "CHANGE POSSIBLE". FUNCTION CALLS AND THEIR PARAMETERS CANNOT
-+BE CHANGED. STRUCTURES CAN BE ALTERED TO ALLOW IMPLEMENTERS TO INCLUDE
-+IMPLEMENTATION SPECIFIC INFORMATION.
-+*/
-+
-+/* Includes:
-+ Standard include files
-+*/
-+
-+#include "mvOs.h"
-+
-+
-+/* Error Codes - CHANGE POSSIBLE: inclusion of additional error codes */
-+
-+/* Key direction is invalid, e.g., unknown value */
-+#define AES_BAD_KEY_DIR -1
-+
-+/* Key material not of correct length */
-+#define AES_BAD_KEY_MAT -2
-+
-+/* Key passed is not valid */
-+#define AES_BAD_KEY_INSTANCE -3
-+
-+/* Params struct passed to cipherInit invalid */
-+#define AES_BAD_CIPHER_MODE -4
-+
-+/* Cipher in wrong state (e.g., not initialized) */
-+#define AES_BAD_CIPHER_STATE -5
-+
-+#define AES_BAD_CIPHER_INSTANCE -7
-+
-+
-+/* Function protoypes */
-+/* CHANGED: makeKey(): parameter blockLen added
-+ this parameter is absolutely necessary if you want to
-+ setup the round keys in a variable block length setting
-+ cipherInit(): parameter blockLen added (for obvious reasons)
-+ */
-+int aesMakeKey(MV_U8 *expandedKey, MV_U8 *keyMaterial, int keyLen, int blockLen);
-+int aesBlockEncrypt128(MV_U8 mode, MV_U8 *IV, MV_U8 *expandedKey, int keyLen,
-+ MV_U32 *plain, int numBlocks, MV_U32 *cipher);
-+int aesBlockDecrypt128(MV_U8 mode, MV_U8 *IV, MV_U8 *expandedKey, int keyLen,
-+ MV_U32 *plain, int numBlocks, MV_U32 *cipher);
-+
-+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.c linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.c 2011-07-31 11:31:54.853425894 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,3126 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -23358,9 +23668,425 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.c linux-2.6.39/crypt
+ if(pMacDataSize != NULL)
+ *pMacDataSize = macDataSize;
+}
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.h linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.h 2011-08-01 14:38:18.000000000 +0200
+@@ -0,0 +1,412 @@
++/*******************************************************************************
++Copyright (C) Marvell International Ltd. and its affiliates
++
++This software file (the "File") is owned and distributed by Marvell
++International Ltd. and/or its affiliates ("Marvell") under the following
++alternative licensing terms. Once you have made an election to distribute the
++File under one of the following license alternatives, please (i) delete this
++introductory statement regarding license alternatives, (ii) delete the two
++license alternatives that you have not elected to use and (iii) preserve the
++Marvell copyright notice above.
++
++********************************************************************************
++Marvell Commercial License Option
++
++If you received this File from Marvell and you have entered into a commercial
++license agreement (a "Commercial License") with Marvell, the File is licensed
++to you under the terms of the applicable Commercial License.
++
++********************************************************************************
++Marvell GPL License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File in accordance with the terms and conditions of the General
++Public License Version 2, June 1991 (the "GPL License"), a copy of which is
++available along with the File in the license.txt file or by writing to the Free
++Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
++on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++
++THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
++WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
++DISCLAIMED. The GPL License provides additional details about this warranty
++disclaimer.
++********************************************************************************
++Marvell BSD License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File under the following licensing terms.
++Redistribution and use in source and binary forms, with or without modification,
++are permitted provided that the following conditions are met:
++
++ * Redistributions of source code must retain the above copyright notice,
++ this list of conditions and the following disclaimer.
++
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++
++ * Neither the name of Marvell nor the names of its contributors may be
++ used to endorse or promote products derived from this software without
++ specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
++ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
++ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++*******************************************************************************/
++
++/*******************************************************************************
++* mvCesa.h - Header File for Cryptographic Engines and Security Accelerator
++*
++* DESCRIPTION:
++* This header file contains macros typedefs and function declaration for
++* the Marvell Cryptographic Engines and Security Accelerator.
++*
++*******************************************************************************/
++
++#ifndef __mvCesa_h__
++#define __mvCesa_h__
++
++#include "mvOs.h"
++#include "mvCommon.h"
++#include "mvDebug.h"
++
++#include "ctrlEnv/mvCtrlEnvSpec.h"
++
++#include "cesa/mvMD5.h"
++#include "cesa/mvSHA1.h"
++
++#include "cesa/mvCesa.h"
++#include "cesa/AES/mvAes.h"
++#include "mvSysHwConfig.h"
++
++#ifdef MV_INCLUDE_IDMA
++#include "idma/mvIdma.h"
++#include "idma/mvIdmaRegs.h"
++#else
++/* Redefine MV_DMA_DESC structure */
++typedef struct _mvDmaDesc
++{
++ MV_U32 byteCnt; /* The total number of bytes to transfer */
++ MV_U32 phySrcAdd; /* The physical source address */
++ MV_U32 phyDestAdd; /* The physical destination address */
++ MV_U32 phyNextDescPtr; /* If we are using chain mode DMA transfer, */
++ /* then this pointer should point to the */
++ /* physical address of the next descriptor, */
++ /* otherwise it should be NULL. */
++}MV_DMA_DESC;
++#endif /* MV_INCLUDE_IDMA */
++
++#include "cesa/mvCesaRegs.h"
++
++#define MV_CESA_AUTH_BLOCK_SIZE 64 /* bytes */
++
++#define MV_CESA_MD5_DIGEST_SIZE 16 /* bytes */
++#define MV_CESA_SHA1_DIGEST_SIZE 20 /* bytes */
++
++#define MV_CESA_MAX_DIGEST_SIZE MV_CESA_SHA1_DIGEST_SIZE
++
++#define MV_CESA_DES_KEY_LENGTH 8 /* bytes = 64 bits */
++#define MV_CESA_3DES_KEY_LENGTH 24 /* bytes = 192 bits */
++#define MV_CESA_AES_128_KEY_LENGTH 16 /* bytes = 128 bits */
++#define MV_CESA_AES_192_KEY_LENGTH 24 /* bytes = 192 bits */
++#define MV_CESA_AES_256_KEY_LENGTH 32 /* bytes = 256 bits */
++
++#define MV_CESA_MAX_CRYPTO_KEY_LENGTH MV_CESA_AES_256_KEY_LENGTH
++
++#define MV_CESA_DES_BLOCK_SIZE 8 /* bytes = 64 bits */
++#define MV_CESA_3DES_BLOCK_SIZE 8 /* bytes = 64 bits */
++
++#define MV_CESA_AES_BLOCK_SIZE 16 /* bytes = 128 bits */
++
++#define MV_CESA_MAX_IV_LENGTH MV_CESA_AES_BLOCK_SIZE
++
++#define MV_CESA_MAX_MAC_KEY_LENGTH 64 /* bytes */
++
++typedef struct
++{
++ MV_U8 cryptoKey[MV_CESA_MAX_CRYPTO_KEY_LENGTH];
++ MV_U8 macKey[MV_CESA_MAX_MAC_KEY_LENGTH];
++ MV_CESA_OPERATION operation;
++ MV_CESA_DIRECTION direction;
++ MV_CESA_CRYPTO_ALG cryptoAlgorithm;
++ MV_CESA_CRYPTO_MODE cryptoMode;
++ MV_U8 cryptoKeyLength;
++ MV_CESA_MAC_MODE macMode;
++ MV_U8 macKeyLength;
++ MV_U8 digestSize;
++
++} MV_CESA_OPEN_SESSION;
++
++typedef struct
++{
++ MV_BUF_INFO *pFrags;
++ MV_U16 numFrags;
++ MV_U16 mbufSize;
++
++} MV_CESA_MBUF;
++
++typedef struct
++{
++ void* pReqPrv; /* instead of reqId */
++ MV_U32 retCode;
++ MV_16 sessionId;
++
++} MV_CESA_RESULT;
++
++typedef void (*MV_CESA_CALLBACK) (MV_CESA_RESULT* pResult);
++
++
++typedef struct
++{
++ void* pReqPrv; /* instead of reqId */
++ MV_CESA_MBUF* pSrc;
++ MV_CESA_MBUF* pDst;
++ MV_CESA_CALLBACK* pFuncCB;
++ MV_16 sessionId;
++ MV_U16 ivFromUser;
++ MV_U16 ivOffset;
++ MV_U16 cryptoOffset;
++ MV_U16 cryptoLength;
++ MV_U16 digestOffset;
++ MV_U16 macOffset;
++ MV_U16 macLength;
++ MV_BOOL skipFlush;
++} MV_CESA_COMMAND;
++
++
++
++MV_STATUS mvCesaHalInit (int numOfSession, int queueDepth, char* pSramBase, MV_U32 cryptEngBase, void *osHandle);
++MV_STATUS mvCesaFinish (void);
++MV_STATUS mvCesaSessionOpen(MV_CESA_OPEN_SESSION *pSession, short* pSid);
++MV_STATUS mvCesaSessionClose(short sid);
++MV_STATUS mvCesaCryptoIvSet(MV_U8* pIV, int ivSize);
++
++MV_STATUS mvCesaAction (MV_CESA_COMMAND* pCmd);
++
++MV_U32 mvCesaInProcessGet(void);
++MV_STATUS mvCesaReadyDispatch(void);
++MV_STATUS mvCesaReadyGet(MV_CESA_RESULT* pResult);
++MV_BOOL mvCesaIsReady(void);
++
++int mvCesaMbufOffset(MV_CESA_MBUF* pMbuf, int offset, int* pBufOffset);
++MV_STATUS mvCesaCopyFromMbuf(MV_U8* pDst, MV_CESA_MBUF* pSrcMbuf,
++ int offset, int size);
++MV_STATUS mvCesaCopyToMbuf(MV_U8* pSrc, MV_CESA_MBUF* pDstMbuf,
++ int offset, int size);
++MV_STATUS mvCesaMbufCopy(MV_CESA_MBUF* pMbufDst, int dstMbufOffset,
++ MV_CESA_MBUF* pMbufSrc, int srcMbufOffset, int size);
++
++/********** Debug functions ********/
++
++void mvCesaDebugMbuf(const char* str, MV_CESA_MBUF *pMbuf, int offset, int size);
++void mvCesaDebugSA(short sid, int mode);
++void mvCesaDebugStats(void);
++void mvCesaDebugStatsClear(void);
++void mvCesaDebugRegs(void);
++void mvCesaDebugStatus(void);
++void mvCesaDebugQueue(int mode);
++void mvCesaDebugSram(int mode);
++void mvCesaDebugSAD(int mode);
++
++
++/******** CESA Private definitions ********/
++#if (MV_CESA_VERSION >= 2)
++#if (MV_CACHE_COHERENCY == MV_CACHE_COHER_SW)
++#define MV_CESA_TDMA_CTRL_VALUE MV_CESA_TDMA_DST_BURST_MASK(MV_CESA_TDMA_BURST_128B) \
++ | MV_CESA_TDMA_SRC_BURST_MASK(MV_CESA_TDMA_BURST_128B) \
++ | MV_CESA_TDMA_OUTSTAND_READ_EN_MASK \
++ | MV_CESA_TDMA_NO_BYTE_SWAP_MASK \
++ | MV_CESA_TDMA_ENABLE_MASK
++#else
++#define MV_CESA_TDMA_CTRL_VALUE MV_CESA_TDMA_DST_BURST_MASK(MV_CESA_TDMA_BURST_32B) \
++ | MV_CESA_TDMA_SRC_BURST_MASK(MV_CESA_TDMA_BURST_128B) \
++ /*| MV_CESA_TDMA_OUTSTAND_READ_EN_MASK */\
++ | MV_CESA_TDMA_ENABLE_MASK
++
++#endif
++#else
++#define MV_CESA_IDMA_CTRL_LOW_VALUE ICCLR_DST_BURST_LIM_128BYTE \
++ | ICCLR_SRC_BURST_LIM_128BYTE \
++ | ICCLR_INT_MODE_MASK \
++ | ICCLR_BLOCK_MODE \
++ | ICCLR_CHAN_ENABLE \
++ | ICCLR_DESC_MODE_16M
++#endif /* MV_CESA_VERSION >= 2 */
++
++#define MV_CESA_MAX_PKT_SIZE (64 * 1024)
++#define MV_CESA_MAX_MBUF_FRAGS 20
++
++#define MV_CESA_MAX_REQ_FRAGS ( (MV_CESA_MAX_PKT_SIZE / MV_CESA_MAX_BUF_SIZE) + 1)
++
++#define MV_CESA_MAX_DMA_DESC (MV_CESA_MAX_MBUF_FRAGS*2 + 5)
++
++#define MAX_CESA_CHAIN_LENGTH 20
++
++typedef enum
++{
++ MV_CESA_IDLE = 0,
++ MV_CESA_PENDING,
++ MV_CESA_PROCESS,
++ MV_CESA_READY,
++#if (MV_CESA_VERSION >= 3)
++ MV_CESA_CHAIN,
++#endif
++} MV_CESA_STATE;
++
++
++/* Session database */
++
++/* Map of Key materials of the session in SRAM.
++ * Each field must be 8 byte aligned
++ * Total size: 32 + 24 + 24 = 80 bytes
++ */
++typedef struct
++{
++ MV_U8 cryptoKey[MV_CESA_MAX_CRYPTO_KEY_LENGTH];
++ MV_U8 macInnerIV[MV_CESA_MAX_DIGEST_SIZE];
++ MV_U8 reservedInner[4];
++ MV_U8 macOuterIV[MV_CESA_MAX_DIGEST_SIZE];
++ MV_U8 reservedOuter[4];
++
++} MV_CESA_SRAM_SA;
++
++typedef struct
++{
++ MV_CESA_SRAM_SA* pSramSA;
++ MV_U32 config;
++ MV_U8 cryptoKeyLength;
++ MV_U8 cryptoIvSize;
++ MV_U8 cryptoBlockSize;
++ MV_U8 digestSize;
++ MV_U8 macKeyLength;
++ MV_U8 valid;
++ MV_U8 ctrMode;
++ MV_U32 count;
++
++} MV_CESA_SA;
++
++/* DMA list management */
++typedef struct
++{
++ MV_DMA_DESC* pDmaFirst;
++ MV_DMA_DESC* pDmaLast;
++
++} MV_CESA_DMA;
++
++
++typedef struct
++{
++ MV_U8 numFrag;
++ MV_U8 nextFrag;
++ int bufOffset;
++ int cryptoSize;
++ int macSize;
++ int newDigestOffset;
++ MV_U8 orgDigest[MV_CESA_MAX_DIGEST_SIZE];
++
++} MV_CESA_FRAGS;
++
++/* Request queue */
++typedef struct
++{
++ MV_U8 state;
++ MV_U8 fragMode;
++ MV_U8 fixOffset;
++ MV_CESA_COMMAND* pCmd;
++ MV_CESA_COMMAND* pOrgCmd;
++ MV_BUF_INFO dmaDescBuf;
++ MV_CESA_DMA dma[MV_CESA_MAX_REQ_FRAGS];
++ MV_BUF_INFO cesaDescBuf;
++ MV_CESA_DESC* pCesaDesc;
++ MV_CESA_FRAGS frags;
++
++
++} MV_CESA_REQ;
++
++
++/* SRAM map */
++/* Total SRAM size calculation */
++/* SRAM size =
++ * MV_CESA_MAX_BUF_SIZE +
++ * sizeof(MV_CESA_DESC) +
++ * MV_CESA_MAX_IV_LENGTH +
++ * MV_CESA_MAX_IV_LENGTH +
++ * MV_CESA_MAX_DIGEST_SIZE +
++ * sizeof(MV_CESA_SRAM_SA)
++ * = 1600 + 32 + 16 + 16 + 24 + 80 + 280 (reserved) = 2048 bytes
++ * = 3200 + 32 + 16 + 16 + 24 + 80 + 728 (reserved) = 4096 bytes
++ */
++typedef struct
++{
++ MV_U8 buf[MV_CESA_MAX_BUF_SIZE];
++ MV_CESA_DESC desc;
++ MV_U8 cryptoIV[MV_CESA_MAX_IV_LENGTH];
++ MV_U8 tempCryptoIV[MV_CESA_MAX_IV_LENGTH];
++ MV_U8 tempDigest[MV_CESA_MAX_DIGEST_SIZE+4];
++ MV_CESA_SRAM_SA sramSA;
++
++} MV_CESA_SRAM_MAP;
++
++
++typedef struct
++{
++ MV_U32 openedCount;
++ MV_U32 closedCount;
++ MV_U32 fragCount;
++ MV_U32 reqCount;
++ MV_U32 maxReqCount;
++ MV_U32 procCount;
++ MV_U32 readyCount;
++ MV_U32 notReadyCount;
++ MV_U32 startCount;
++#if (MV_CESA_VERSION >= 3)
++ MV_U32 maxChainUsage;
++#endif
++
++} MV_CESA_STATS;
++
++
++/* External variables */
++
++extern MV_CESA_STATS cesaStats;
++extern MV_CESA_FRAGS cesaFrags;
++
++extern MV_BUF_INFO cesaSramSaBuf;
++
++extern MV_CESA_SA* pCesaSAD;
++extern MV_U16 cesaMaxSA;
++
++extern MV_CESA_REQ* pCesaReqFirst;
++extern MV_CESA_REQ* pCesaReqLast;
++extern MV_CESA_REQ* pCesaReqEmpty;
++extern MV_CESA_REQ* pCesaReqProcess;
++extern int cesaQueueDepth;
++extern int cesaReqResources;
++#if (MV_CESA_VERSION>= 3)
++extern MV_U32 cesaChainLength;
++#endif
++
++extern MV_CESA_SRAM_MAP* cesaSramVirtPtr;
++extern MV_U32 cesaSramPhysAddr;
++
++static INLINE MV_ULONG mvCesaVirtToPhys(MV_BUF_INFO* pBufInfo, void* pVirt)
++{
++ return (pBufInfo->bufPhysAddr + ((MV_U8*)pVirt - pBufInfo->bufVirtPtr));
++}
++
++/* Additional DEBUG functions */
++void mvCesaDebugSramSA(MV_CESA_SRAM_SA* pSramSA, int mode);
++void mvCesaDebugCmd(MV_CESA_COMMAND* pCmd, int mode);
++void mvCesaDebugDescriptor(MV_CESA_DESC* pDesc);
++
++
++
++#endif /* __mvCesa_h__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaDebug.c linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaDebug.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaDebug.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaDebug.c 2011-07-31 11:31:54.923415148 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaDebug.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,484 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -23846,425 +24572,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaDebug.c linux-2.6.39/
+{
+ memset(&cesaStats, 0, sizeof(cesaStats));
+}
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.h linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesa.h 2011-07-31 11:31:54.973417428 +0200
-@@ -0,0 +1,412 @@
-+/*******************************************************************************
-+Copyright (C) Marvell International Ltd. and its affiliates
-+
-+This software file (the "File") is owned and distributed by Marvell
-+International Ltd. and/or its affiliates ("Marvell") under the following
-+alternative licensing terms. Once you have made an election to distribute the
-+File under one of the following license alternatives, please (i) delete this
-+introductory statement regarding license alternatives, (ii) delete the two
-+license alternatives that you have not elected to use and (iii) preserve the
-+Marvell copyright notice above.
-+
-+********************************************************************************
-+Marvell Commercial License Option
-+
-+If you received this File from Marvell and you have entered into a commercial
-+license agreement (a "Commercial License") with Marvell, the File is licensed
-+to you under the terms of the applicable Commercial License.
-+
-+********************************************************************************
-+Marvell GPL License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File in accordance with the terms and conditions of the General
-+Public License Version 2, June 1991 (the "GPL License"), a copy of which is
-+available along with the File in the license.txt file or by writing to the Free
-+Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
-+on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+
-+THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
-+DISCLAIMED. The GPL License provides additional details about this warranty
-+disclaimer.
-+********************************************************************************
-+Marvell BSD License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File under the following licensing terms.
-+Redistribution and use in source and binary forms, with or without modification,
-+are permitted provided that the following conditions are met:
-+
-+ * Redistributions of source code must retain the above copyright notice,
-+ this list of conditions and the following disclaimer.
-+
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+
-+ * Neither the name of Marvell nor the names of its contributors may be
-+ used to endorse or promote products derived from this software without
-+ specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+
-+*******************************************************************************/
-+
-+/*******************************************************************************
-+* mvCesa.h - Header File for Cryptographic Engines and Security Accelerator
-+*
-+* DESCRIPTION:
-+* This header file contains macros typedefs and function declaration for
-+* the Marvell Cryptographic Engines and Security Accelerator.
-+*
-+*******************************************************************************/
-+
-+#ifndef __mvCesa_h__
-+#define __mvCesa_h__
-+
-+#include "mvOs.h"
-+#include "mvCommon.h"
-+#include "mvDebug.h"
-+
-+#include "ctrlEnv/mvCtrlEnvSpec.h"
-+
-+#include "cesa/mvMD5.h"
-+#include "cesa/mvSHA1.h"
-+
-+#include "cesa/mvCesa.h"
-+#include "cesa/AES/mvAes.h"
-+#include "mvSysHwConfig.h"
-+
-+#ifdef MV_INCLUDE_IDMA
-+#include "idma/mvIdma.h"
-+#include "idma/mvIdmaRegs.h"
-+#else
-+/* Redefine MV_DMA_DESC structure */
-+typedef struct _mvDmaDesc
-+{
-+ MV_U32 byteCnt; /* The total number of bytes to transfer */
-+ MV_U32 phySrcAdd; /* The physical source address */
-+ MV_U32 phyDestAdd; /* The physical destination address */
-+ MV_U32 phyNextDescPtr; /* If we are using chain mode DMA transfer, */
-+ /* then this pointer should point to the */
-+ /* physical address of the next descriptor, */
-+ /* otherwise it should be NULL. */
-+}MV_DMA_DESC;
-+#endif /* MV_INCLUDE_IDMA */
-+
-+#include "cesa/mvCesaRegs.h"
-+
-+#define MV_CESA_AUTH_BLOCK_SIZE 64 /* bytes */
-+
-+#define MV_CESA_MD5_DIGEST_SIZE 16 /* bytes */
-+#define MV_CESA_SHA1_DIGEST_SIZE 20 /* bytes */
-+
-+#define MV_CESA_MAX_DIGEST_SIZE MV_CESA_SHA1_DIGEST_SIZE
-+
-+#define MV_CESA_DES_KEY_LENGTH 8 /* bytes = 64 bits */
-+#define MV_CESA_3DES_KEY_LENGTH 24 /* bytes = 192 bits */
-+#define MV_CESA_AES_128_KEY_LENGTH 16 /* bytes = 128 bits */
-+#define MV_CESA_AES_192_KEY_LENGTH 24 /* bytes = 192 bits */
-+#define MV_CESA_AES_256_KEY_LENGTH 32 /* bytes = 256 bits */
-+
-+#define MV_CESA_MAX_CRYPTO_KEY_LENGTH MV_CESA_AES_256_KEY_LENGTH
-+
-+#define MV_CESA_DES_BLOCK_SIZE 8 /* bytes = 64 bits */
-+#define MV_CESA_3DES_BLOCK_SIZE 8 /* bytes = 64 bits */
-+
-+#define MV_CESA_AES_BLOCK_SIZE 16 /* bytes = 128 bits */
-+
-+#define MV_CESA_MAX_IV_LENGTH MV_CESA_AES_BLOCK_SIZE
-+
-+#define MV_CESA_MAX_MAC_KEY_LENGTH 64 /* bytes */
-+
-+typedef struct
-+{
-+ MV_U8 cryptoKey[MV_CESA_MAX_CRYPTO_KEY_LENGTH];
-+ MV_U8 macKey[MV_CESA_MAX_MAC_KEY_LENGTH];
-+ MV_CESA_OPERATION operation;
-+ MV_CESA_DIRECTION direction;
-+ MV_CESA_CRYPTO_ALG cryptoAlgorithm;
-+ MV_CESA_CRYPTO_MODE cryptoMode;
-+ MV_U8 cryptoKeyLength;
-+ MV_CESA_MAC_MODE macMode;
-+ MV_U8 macKeyLength;
-+ MV_U8 digestSize;
-+
-+} MV_CESA_OPEN_SESSION;
-+
-+typedef struct
-+{
-+ MV_BUF_INFO *pFrags;
-+ MV_U16 numFrags;
-+ MV_U16 mbufSize;
-+
-+} MV_CESA_MBUF;
-+
-+typedef struct
-+{
-+ void* pReqPrv; /* instead of reqId */
-+ MV_U32 retCode;
-+ MV_16 sessionId;
-+
-+} MV_CESA_RESULT;
-+
-+typedef void (*MV_CESA_CALLBACK) (MV_CESA_RESULT* pResult);
-+
-+
-+typedef struct
-+{
-+ void* pReqPrv; /* instead of reqId */
-+ MV_CESA_MBUF* pSrc;
-+ MV_CESA_MBUF* pDst;
-+ MV_CESA_CALLBACK* pFuncCB;
-+ MV_16 sessionId;
-+ MV_U16 ivFromUser;
-+ MV_U16 ivOffset;
-+ MV_U16 cryptoOffset;
-+ MV_U16 cryptoLength;
-+ MV_U16 digestOffset;
-+ MV_U16 macOffset;
-+ MV_U16 macLength;
-+ MV_BOOL skipFlush;
-+} MV_CESA_COMMAND;
-+
-+
-+
-+MV_STATUS mvCesaHalInit (int numOfSession, int queueDepth, char* pSramBase, MV_U32 cryptEngBase, void *osHandle);
-+MV_STATUS mvCesaFinish (void);
-+MV_STATUS mvCesaSessionOpen(MV_CESA_OPEN_SESSION *pSession, short* pSid);
-+MV_STATUS mvCesaSessionClose(short sid);
-+MV_STATUS mvCesaCryptoIvSet(MV_U8* pIV, int ivSize);
-+
-+MV_STATUS mvCesaAction (MV_CESA_COMMAND* pCmd);
-+
-+MV_U32 mvCesaInProcessGet(void);
-+MV_STATUS mvCesaReadyDispatch(void);
-+MV_STATUS mvCesaReadyGet(MV_CESA_RESULT* pResult);
-+MV_BOOL mvCesaIsReady(void);
-+
-+int mvCesaMbufOffset(MV_CESA_MBUF* pMbuf, int offset, int* pBufOffset);
-+MV_STATUS mvCesaCopyFromMbuf(MV_U8* pDst, MV_CESA_MBUF* pSrcMbuf,
-+ int offset, int size);
-+MV_STATUS mvCesaCopyToMbuf(MV_U8* pSrc, MV_CESA_MBUF* pDstMbuf,
-+ int offset, int size);
-+MV_STATUS mvCesaMbufCopy(MV_CESA_MBUF* pMbufDst, int dstMbufOffset,
-+ MV_CESA_MBUF* pMbufSrc, int srcMbufOffset, int size);
-+
-+/********** Debug functions ********/
-+
-+void mvCesaDebugMbuf(const char* str, MV_CESA_MBUF *pMbuf, int offset, int size);
-+void mvCesaDebugSA(short sid, int mode);
-+void mvCesaDebugStats(void);
-+void mvCesaDebugStatsClear(void);
-+void mvCesaDebugRegs(void);
-+void mvCesaDebugStatus(void);
-+void mvCesaDebugQueue(int mode);
-+void mvCesaDebugSram(int mode);
-+void mvCesaDebugSAD(int mode);
-+
-+
-+/******** CESA Private definitions ********/
-+#if (MV_CESA_VERSION >= 2)
-+#if (MV_CACHE_COHERENCY == MV_CACHE_COHER_SW)
-+#define MV_CESA_TDMA_CTRL_VALUE MV_CESA_TDMA_DST_BURST_MASK(MV_CESA_TDMA_BURST_128B) \
-+ | MV_CESA_TDMA_SRC_BURST_MASK(MV_CESA_TDMA_BURST_128B) \
-+ | MV_CESA_TDMA_OUTSTAND_READ_EN_MASK \
-+ | MV_CESA_TDMA_NO_BYTE_SWAP_MASK \
-+ | MV_CESA_TDMA_ENABLE_MASK
-+#else
-+#define MV_CESA_TDMA_CTRL_VALUE MV_CESA_TDMA_DST_BURST_MASK(MV_CESA_TDMA_BURST_32B) \
-+ | MV_CESA_TDMA_SRC_BURST_MASK(MV_CESA_TDMA_BURST_128B) \
-+ /*| MV_CESA_TDMA_OUTSTAND_READ_EN_MASK */\
-+ | MV_CESA_TDMA_ENABLE_MASK
-+
-+#endif
-+#else
-+#define MV_CESA_IDMA_CTRL_LOW_VALUE ICCLR_DST_BURST_LIM_128BYTE \
-+ | ICCLR_SRC_BURST_LIM_128BYTE \
-+ | ICCLR_INT_MODE_MASK \
-+ | ICCLR_BLOCK_MODE \
-+ | ICCLR_CHAN_ENABLE \
-+ | ICCLR_DESC_MODE_16M
-+#endif /* MV_CESA_VERSION >= 2 */
-+
-+#define MV_CESA_MAX_PKT_SIZE (64 * 1024)
-+#define MV_CESA_MAX_MBUF_FRAGS 20
-+
-+#define MV_CESA_MAX_REQ_FRAGS ( (MV_CESA_MAX_PKT_SIZE / MV_CESA_MAX_BUF_SIZE) + 1)
-+
-+#define MV_CESA_MAX_DMA_DESC (MV_CESA_MAX_MBUF_FRAGS*2 + 5)
-+
-+#define MAX_CESA_CHAIN_LENGTH 20
-+
-+typedef enum
-+{
-+ MV_CESA_IDLE = 0,
-+ MV_CESA_PENDING,
-+ MV_CESA_PROCESS,
-+ MV_CESA_READY,
-+#if (MV_CESA_VERSION >= 3)
-+ MV_CESA_CHAIN,
-+#endif
-+} MV_CESA_STATE;
-+
-+
-+/* Session database */
-+
-+/* Map of Key materials of the session in SRAM.
-+ * Each field must be 8 byte aligned
-+ * Total size: 32 + 24 + 24 = 80 bytes
-+ */
-+typedef struct
-+{
-+ MV_U8 cryptoKey[MV_CESA_MAX_CRYPTO_KEY_LENGTH];
-+ MV_U8 macInnerIV[MV_CESA_MAX_DIGEST_SIZE];
-+ MV_U8 reservedInner[4];
-+ MV_U8 macOuterIV[MV_CESA_MAX_DIGEST_SIZE];
-+ MV_U8 reservedOuter[4];
-+
-+} MV_CESA_SRAM_SA;
-+
-+typedef struct
-+{
-+ MV_CESA_SRAM_SA* pSramSA;
-+ MV_U32 config;
-+ MV_U8 cryptoKeyLength;
-+ MV_U8 cryptoIvSize;
-+ MV_U8 cryptoBlockSize;
-+ MV_U8 digestSize;
-+ MV_U8 macKeyLength;
-+ MV_U8 valid;
-+ MV_U8 ctrMode;
-+ MV_U32 count;
-+
-+} MV_CESA_SA;
-+
-+/* DMA list management */
-+typedef struct
-+{
-+ MV_DMA_DESC* pDmaFirst;
-+ MV_DMA_DESC* pDmaLast;
-+
-+} MV_CESA_DMA;
-+
-+
-+typedef struct
-+{
-+ MV_U8 numFrag;
-+ MV_U8 nextFrag;
-+ int bufOffset;
-+ int cryptoSize;
-+ int macSize;
-+ int newDigestOffset;
-+ MV_U8 orgDigest[MV_CESA_MAX_DIGEST_SIZE];
-+
-+} MV_CESA_FRAGS;
-+
-+/* Request queue */
-+typedef struct
-+{
-+ MV_U8 state;
-+ MV_U8 fragMode;
-+ MV_U8 fixOffset;
-+ MV_CESA_COMMAND* pCmd;
-+ MV_CESA_COMMAND* pOrgCmd;
-+ MV_BUF_INFO dmaDescBuf;
-+ MV_CESA_DMA dma[MV_CESA_MAX_REQ_FRAGS];
-+ MV_BUF_INFO cesaDescBuf;
-+ MV_CESA_DESC* pCesaDesc;
-+ MV_CESA_FRAGS frags;
-+
-+
-+} MV_CESA_REQ;
-+
-+
-+/* SRAM map */
-+/* Total SRAM size calculation */
-+/* SRAM size =
-+ * MV_CESA_MAX_BUF_SIZE +
-+ * sizeof(MV_CESA_DESC) +
-+ * MV_CESA_MAX_IV_LENGTH +
-+ * MV_CESA_MAX_IV_LENGTH +
-+ * MV_CESA_MAX_DIGEST_SIZE +
-+ * sizeof(MV_CESA_SRAM_SA)
-+ * = 1600 + 32 + 16 + 16 + 24 + 80 + 280 (reserved) = 2048 bytes
-+ * = 3200 + 32 + 16 + 16 + 24 + 80 + 728 (reserved) = 4096 bytes
-+ */
-+typedef struct
-+{
-+ MV_U8 buf[MV_CESA_MAX_BUF_SIZE];
-+ MV_CESA_DESC desc;
-+ MV_U8 cryptoIV[MV_CESA_MAX_IV_LENGTH];
-+ MV_U8 tempCryptoIV[MV_CESA_MAX_IV_LENGTH];
-+ MV_U8 tempDigest[MV_CESA_MAX_DIGEST_SIZE+4];
-+ MV_CESA_SRAM_SA sramSA;
-+
-+} MV_CESA_SRAM_MAP;
-+
-+
-+typedef struct
-+{
-+ MV_U32 openedCount;
-+ MV_U32 closedCount;
-+ MV_U32 fragCount;
-+ MV_U32 reqCount;
-+ MV_U32 maxReqCount;
-+ MV_U32 procCount;
-+ MV_U32 readyCount;
-+ MV_U32 notReadyCount;
-+ MV_U32 startCount;
-+#if (MV_CESA_VERSION >= 3)
-+ MV_U32 maxChainUsage;
-+#endif
-+
-+} MV_CESA_STATS;
-+
-+
-+/* External variables */
-+
-+extern MV_CESA_STATS cesaStats;
-+extern MV_CESA_FRAGS cesaFrags;
-+
-+extern MV_BUF_INFO cesaSramSaBuf;
-+
-+extern MV_CESA_SA* pCesaSAD;
-+extern MV_U16 cesaMaxSA;
-+
-+extern MV_CESA_REQ* pCesaReqFirst;
-+extern MV_CESA_REQ* pCesaReqLast;
-+extern MV_CESA_REQ* pCesaReqEmpty;
-+extern MV_CESA_REQ* pCesaReqProcess;
-+extern int cesaQueueDepth;
-+extern int cesaReqResources;
-+#if (MV_CESA_VERSION>= 3)
-+extern MV_U32 cesaChainLength;
-+#endif
-+
-+extern MV_CESA_SRAM_MAP* cesaSramVirtPtr;
-+extern MV_U32 cesaSramPhysAddr;
-+
-+static INLINE MV_ULONG mvCesaVirtToPhys(MV_BUF_INFO* pBufInfo, void* pVirt)
-+{
-+ return (pBufInfo->bufPhysAddr + ((MV_U8*)pVirt - pBufInfo->bufVirtPtr));
-+}
-+
-+/* Additional DEBUG functions */
-+void mvCesaDebugSramSA(MV_CESA_SRAM_SA* pSramSA, int mode);
-+void mvCesaDebugCmd(MV_CESA_COMMAND* pCmd, int mode);
-+void mvCesaDebugDescriptor(MV_CESA_DESC* pDesc);
-+
-+
-+
-+#endif /* __mvCesa_h__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaRegs.h linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaRegs.h 2011-07-31 11:31:55.033424351 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaRegs.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,357 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -24625,7 +24935,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaRegs.h linux-2.6.39/c
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaTest.c linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaTest.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaTest.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaTest.c 2011-07-31 11:31:55.053418421 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvCesaTest.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,3096 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -27725,7 +28035,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvCesaTest.c linux-2.6.39/c
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvLru.c linux-2.6.39/crypto/ocf/kirkwood/cesa/mvLru.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvLru.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvLru.c 2011-07-31 11:31:55.133650609 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvLru.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,158 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -27887,7 +28197,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvLru.c linux-2.6.39/crypto
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvLru.h linux-2.6.39/crypto/ocf/kirkwood/cesa/mvLru.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvLru.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvLru.h 2011-07-31 11:31:55.193969642 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvLru.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,112 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -28003,7 +28313,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvLru.h linux-2.6.39/crypto
+#endif /* __mvLru_h__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvMD5.c linux-2.6.39/crypto/ocf/kirkwood/cesa/mvMD5.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvMD5.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvMD5.c 2011-07-31 11:31:55.223415204 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvMD5.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,349 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -28356,7 +28666,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvMD5.c linux-2.6.39/crypto
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvMD5.h linux-2.6.39/crypto/ocf/kirkwood/cesa/mvMD5.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvMD5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvMD5.h 2011-07-31 11:31:55.263415027 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvMD5.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,93 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -28453,7 +28763,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvMD5.h linux-2.6.39/crypto
+#endif /* __mvMD5_h__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvSHA1.c linux-2.6.39/crypto/ocf/kirkwood/cesa/mvSHA1.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvSHA1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvSHA1.c 2011-07-31 11:31:55.323424785 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvSHA1.c 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,239 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -28696,7 +29006,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvSHA1.c linux-2.6.39/crypt
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvSHA1.h linux-2.6.39/crypto/ocf/kirkwood/cesa/mvSHA1.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvSHA1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvSHA1.h 2011-07-31 11:31:55.383926123 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa/mvSHA1.h 2011-08-01 14:38:18.000000000 +0200
@@ -0,0 +1,88 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -28788,7 +29098,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa/mvSHA1.h linux-2.6.39/crypt
+#endif /* __mvSHA1_h__ */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa_ocf_drv.c linux-2.6.39/crypto/ocf/kirkwood/cesa_ocf_drv.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/cesa_ocf_drv.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/cesa_ocf_drv.c 2011-07-31 11:31:55.436832710 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/cesa_ocf_drv.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1296 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -30086,32 +30396,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/cesa_ocf_drv.c linux-2.6.39/cryp
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Ronen Shitrit");
+MODULE_DESCRIPTION("OCF module for Orion CESA crypto");
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/Makefile linux-2.6.39/crypto/ocf/kirkwood/Makefile
---- linux-2.6.39.orig/crypto/ocf/kirkwood/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/Makefile 2011-07-31 11:31:55.503426020 +0200
-@@ -0,0 +1,19 @@
-+# for SGlinux builds
-+-include $(ROOTDIR)/modules/.config
-+
-+obj-$(CONFIG_OCF_KIRKWOOD) += mv_cesa.o
-+
-+mv_cesa-y := cesa/mvCesa.o cesa/mvLru.o cesa/mvMD5.o cesa/mvSHA1.o cesa/AES/mvAesAlg.o cesa/AES/mvAesApi.o cesa/mvCesaDebug.o cesa_ocf_drv.o
-+
-+# Extra objects required by the CESA driver
-+mv_cesa-y += mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.o mvHal/kw_family/boardEnv/mvBoardEnvLib.o mvHal/mv_hal/twsi/mvTwsi.o mvHal/kw_family/ctrlEnv/sys/mvCpuIf.o mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.o mvHal/kw_family/ctrlEnv/sys/mvSysDram.o mvHal/linux_oss/mvOs.o mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.o mvHal/mv_hal/gpp/mvGpp.o mvHal/kw_family/ctrlEnv/sys/mvSysPex.o mvHal/mv_hal/pex/mvPex.o mvHal/kw_family/boardEnv/mvBoardEnvSpec.o mvHal/common/mvCommon.o mvHal/common/mvDebug.o mvHal/kw_family/ctrlEnv/sys/mvSysCesa.o
-+
-+ifdef src
-+EXTRA_CFLAGS += -I$(src)/.. -I$(src)/cesa -I$(src)/mvHal -I$(src)/mvHal/common -I$(src)/mvHal/kw_family -I$(src)/mvHal/mv_hal -I$(src)/mvHal/linux_oss -I$(src)
-+endif
-+
-+EXTRA_CFLAGS += -DMV_LINUX -DMV_CPU_LE -DMV_ARM -DMV_INCLUDE_CESA -DMV_INCLUDE_PEX -DMV_CACHE_COHERENCY=3
-+ifdef TOPDIR
-+-include $(TOPDIR)/Rules.make
-+endif
-+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mv802_3.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mv802_3.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mv802_3.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mv802_3.h 2011-07-31 11:31:55.563424805 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mv802_3.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,213 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -30328,7 +30615,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mv802_3.h linux-2.6
+#endif /* __INCmv802_3h */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvCommon.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvCommon.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvCommon.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvCommon.c 2011-07-31 11:31:55.623424464 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvCommon.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,277 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -30609,7 +30896,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvCommon.c linux-2.
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvCommon.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvCommon.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvCommon.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvCommon.h 2011-07-31 11:31:55.683414272 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvCommon.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,308 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -30921,7 +31208,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvCommon.h linux-2.
+#endif /* __INCmvCommonh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDebug.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDebug.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDebug.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDebug.c 2011-07-31 11:31:55.744001253 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDebug.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,326 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -31251,7 +31538,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDebug.c linux-2.6
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDebug.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDebug.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDebug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDebug.h 2011-07-31 11:31:55.803522408 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDebug.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,178 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -31433,7 +31720,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDebug.h linux-2.6
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDeviceId.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDeviceId.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDeviceId.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDeviceId.h 2011-07-31 11:31:55.873417677 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvDeviceId.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,225 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -31662,7 +31949,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvDeviceId.h linux-
+#endif /* __INCmvDeviceIdh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvHalVer.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvHalVer.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvHalVer.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvHalVer.h 2011-07-31 11:31:55.933421370 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvHalVer.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,73 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -31740,7 +32027,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvHalVer.h linux-2.
\ No newline at end of file
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvStack.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvStack.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvStack.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvStack.c 2011-07-31 11:31:56.005913316 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvStack.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,100 @@
+/*******************************************************************************
+* Copyright 2003, Marvell Semiconductor Israel LTD. *
@@ -31844,7 +32131,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvStack.c linux-2.6
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvStack.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvStack.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvStack.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvStack.h 2011-07-31 11:31:56.063417654 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvStack.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,140 @@
+/*******************************************************************************
+* Copyright 2003, Marvell Semiconductor Israel LTD. *
@@ -31988,7 +32275,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvStack.h linux-2.6
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvTypes.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvTypes.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvTypes.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvTypes.h 2011-07-31 11:31:56.133428544 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/common/mvTypes.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,245 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -32237,7 +32524,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/common/mvTypes.h linux-2.6
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/dbg-trace.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/dbg-trace.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/dbg-trace.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/dbg-trace.c 2011-07-31 11:31:56.193415135 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/dbg-trace.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,110 @@
+#include <linux/kernel.h>
+#include <linux/slab.h>
@@ -32351,7 +32638,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/dbg-trace.c linux-2.6.39/c
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/dbg-trace.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/dbg-trace.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/dbg-trace.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/dbg-trace.h 2011-07-31 11:31:56.263424881 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/dbg-trace.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,24 @@
+
+#ifndef _MV_DBG_TRCE_H_
@@ -32379,7 +32666,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/dbg-trace.h linux-2.6.39/c
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.c 2011-07-31 11:31:56.353421386 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,2513 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -34896,7 +35183,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoard
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.h 2011-07-31 11:31:56.417168808 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvLib.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,376 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -35276,7 +35563,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoard
+#endif /* __INCmvBoardEnvLibh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.c 2011-07-31 11:31:56.473413613 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,848 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -36128,7 +36415,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoard
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.h 2011-07-31 11:31:56.503416279 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoardEnvSpec.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,262 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -36394,7 +36681,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/boardEnv/mvBoard
+#endif /* __INCmvBoardEnvSpech */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.c 2011-07-31 11:31:56.573422903 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,320 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -36718,7 +37005,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.c linu
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.h 2011-07-31 11:31:56.633426997 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,99 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -36821,7 +37108,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/cpu/mvCpu.h linu
+#endif /* __INCmvCpuh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.c 2011-07-31 11:31:56.697175341 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,296 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -37121,7 +37408,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.h 2011-07-31 11:31:56.763415440 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAddrDec.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,203 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -37328,7 +37615,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+#endif /* __INCmvCtrlEnvAddrDech */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAsm.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAsm.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAsm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAsm.h 2011-07-31 11:31:56.813498621 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvAsm.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,98 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -37430,7 +37717,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+#endif /* __INCmvCtrlEnvAsmh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.c 2011-07-31 11:31:56.873923660 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1825 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -39259,7 +39546,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.h 2011-07-31 11:31:56.927164968 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvLib.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,185 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -39448,7 +39735,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+#endif /* __INCmvCtrlEnvLibh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvRegs.h 2011-07-31 11:31:56.963763359 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,419 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -39871,7 +40158,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h 2011-07-31 11:31:57.053422104 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEnvSpec.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,257 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -40132,7 +40419,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/mvCtrlEn
+#endif /* __INCmvCtrlEnvSpech */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.c 2011-07-31 11:31:57.093457179 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1048 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -41184,7 +41471,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAh
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.h 2011-07-31 11:31:57.163532892 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbus.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,130 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -41318,7 +41605,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAh
+#endif /* __INCmvAhbToMbush */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbusRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbusRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbusRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbusRegs.h 2011-07-31 11:31:57.253415286 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAhbToMbusRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,143 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -41465,7 +41752,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvAh
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.c 2011-07-31 11:31:57.313426138 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1036 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -42505,7 +42792,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCp
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.h 2011-07-31 11:31:57.353571728 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIf.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,120 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -42629,7 +42916,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCp
+#endif /* __INCmvCpuIfh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIfRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIfRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIfRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIfRegs.h 2011-07-31 11:31:57.383475045 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCpuIfRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,304 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -42937,7 +43224,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvCp
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.c 2011-07-31 11:31:57.454031576 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,324 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -43265,7 +43552,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.h 2011-07-31 11:31:57.513425449 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysAudio.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,123 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -43392,7 +43679,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.c 2011-07-31 11:31:57.565858871 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,382 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -43778,7 +44065,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.h 2011-07-31 11:31:57.625566357 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysCesa.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,100 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -43882,7 +44169,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.c 2011-07-31 11:31:57.673735086 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,348 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -44234,7 +44521,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.h 2011-07-31 11:31:57.713929774 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysDram.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,80 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -44318,7 +44605,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.c 2011-07-31 11:31:57.783424250 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,658 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -44980,7 +45267,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.h 2011-07-31 11:31:57.823424990 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysGbe.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,113 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -45097,7 +45384,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.c 2011-07-31 11:31:57.883646977 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1697 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -46798,7 +47085,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.h 2011-07-31 11:31:57.943425007 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysPex.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,348 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -47150,7 +47437,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.c 2011-07-31 11:31:57.993424994 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,430 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -47584,7 +47871,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.h 2011-07-31 11:31:58.043427224 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSata.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,128 @@
+
+/*******************************************************************************
@@ -47716,7 +48003,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.c 2011-07-31 11:31:58.103936453 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,427 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -48147,7 +48434,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.h 2011-07-31 11:31:58.143424686 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysSdmmc.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,125 @@
+
+/*******************************************************************************
@@ -48276,7 +48563,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.c 2011-07-31 11:31:58.195923950 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,462 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -48742,7 +49029,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.h 2011-07-31 11:31:58.283937404 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTdm.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,106 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -48852,7 +49139,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.c 2011-07-31 11:31:58.373938021 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,591 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -49447,7 +49734,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.h 2011-07-31 11:31:58.443934991 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysTs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,110 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -49561,7 +49848,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif /* __INCmvTsh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.c 2011-07-31 11:31:58.513939269 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,497 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -50062,7 +50349,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.h 2011-07-31 11:31:58.583425510 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysUsb.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,125 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -50191,7 +50478,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif /* __INCmvUsbh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.c 2011-07-31 11:31:58.643939960 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,662 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -50857,7 +51144,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.h 2011-07-31 11:31:58.703940068 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSysXor.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,140 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -51001,7 +51288,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/ctrlEnv/sys/mvSy
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.c 2011-07-31 11:31:58.773480789 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,75 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -51080,7 +51367,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.h 2011-07-31 11:31:58.833424302 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,74 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -51158,7 +51445,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDevice.
+#endif /* #ifndef __INCmvDeviceH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDeviceRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDeviceRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDeviceRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDeviceRegs.h 2011-07-31 11:31:58.893415953 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDeviceRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,101 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -51263,7 +51550,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/kw_family/device/mvDeviceR
+#endif /* #ifndef __INCmvDeviceRegsH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.c 2011-07-31 11:31:58.983415088 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,211 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -51478,7 +51765,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.c linux-2.6
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.h 2011-07-31 11:31:59.035915493 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,423 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -51905,7 +52192,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOs.h linux-2.6
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOsSata.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOsSata.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOsSata.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOsSata.h 2011-07-31 11:31:59.074148710 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/linux_oss/mvOsSata.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,158 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -52065,9 +52352,388 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/linux_oss/mvOsSata.h linux
+#define MV_IAL_LOG_ID 3
+
+#endif /* __INCmvOsLinuxh */
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,375 @@
++/*******************************************************************************
++Copyright (C) Marvell International Ltd. and its affiliates
++
++********************************************************************************
++Marvell GPL License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File in accordance with the terms and conditions of the General
++Public License Version 2, June 1991 (the "GPL License"), a copy of which is
++available along with the File in the license.txt file or by writing to the Free
++Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
++on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++
++THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
++WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
++DISCLAIMED. The GPL License provides additional details about this warranty
++disclaimer.
++
++*******************************************************************************/
++/*******************************************************************************
++* mvSysHwCfg.h - Marvell system HW configuration file
++*
++* DESCRIPTION:
++* None.
++*
++* DEPENDENCIES:
++* None.
++*
++*******************************************************************************/
++
++#ifndef __INCmvSysHwConfigh
++#define __INCmvSysHwConfigh
++
++#include "../../../../include/linux/autoconf.h"
++
++#define CONFIG_MARVELL 1
++
++/* includes */
++#define _1K 0x00000400
++#define _4K 0x00001000
++#define _8K 0x00002000
++#define _16K 0x00004000
++#define _32K 0x00008000
++#define _64K 0x00010000
++#define _128K 0x00020000
++#define _256K 0x00040000
++#define _512K 0x00080000
++
++#define _1M 0x00100000
++#define _2M 0x00200000
++#define _4M 0x00400000
++#define _8M 0x00800000
++#define _16M 0x01000000
++#define _32M 0x02000000
++#define _64M 0x04000000
++#define _128M 0x08000000
++#define _256M 0x10000000
++#define _512M 0x20000000
++
++#define _1G 0x40000000
++#define _2G 0x80000000
++
++/****************************************/
++/* Soc supporeted Units definitions */
++/****************************************/
++
++#ifdef CONFIG_MV_INCLUDE_PEX
++#define MV_INCLUDE_PEX
++#endif
++#ifdef CONFIG_MV_INCLUDE_TWSI
++#define MV_INCLUDE_TWSI
++#endif
++#ifdef CONFIG_MV_INCLUDE_CESA
++#define MV_INCLUDE_CESA
++#endif
++#ifdef CONFIG_MV_INCLUDE_GIG_ETH
++#define MV_INCLUDE_GIG_ETH
++#endif
++#ifdef CONFIG_MV_INCLUDE_INTEG_SATA
++#define MV_INCLUDE_INTEG_SATA
++#define MV_INCLUDE_SATA
++#endif
++#ifdef CONFIG_MV_INCLUDE_USB
++#define MV_INCLUDE_USB
++#define MV_USB_VOLTAGE_FIX
++#endif
++#ifdef CONFIG_MV_INCLUDE_NAND
++#define MV_INCLUDE_NAND
++#endif
++#ifdef CONFIG_MV_INCLUDE_TDM
++#define MV_INCLUDE_TDM
++#endif
++#ifdef CONFIG_MV_INCLUDE_XOR
++#define MV_INCLUDE_XOR
++#endif
++#ifdef CONFIG_MV_INCLUDE_TWSI
++#define MV_INCLUDE_TWSI
++#endif
++#ifdef CONFIG_MV_INCLUDE_UART
++#define MV_INCLUDE_UART
++#endif
++#ifdef CONFIG_MV_INCLUDE_SPI
++#define MV_INCLUDE_SPI
++#endif
++#ifdef CONFIG_MV_INCLUDE_SFLASH_MTD
++#define MV_INCLUDE_SFLASH_MTD
++#endif
++#ifdef CONFIG_MV_INCLUDE_AUDIO
++#define MV_INCLUDE_AUDIO
++#endif
++#ifdef CONFIG_MV_INCLUDE_TS
++#define MV_INCLUDE_TS
++#endif
++#ifdef CONFIG_MV_INCLUDE_SDIO
++#define MV_INCLUDE_SDIO
++#endif
++
++
++/* NAND flash stuff */
++#ifdef CONFIG_MV_NAND_BOOT
++#define MV_NAND_BOOT
++#endif
++#ifdef CONFIG_MV_NAND
++#define MV_NAND
++#endif
++
++/* SPI flash stuff */
++#ifdef CONFIG_MV_SPI_BOOT
++#define MV_SPI_BOOT
++#endif
++
++
++/****************************************************************/
++/************* General configuration ********************/
++/****************************************************************/
++
++/* Enable Clock Power Control */
++#define MV_INCLUDE_CLK_PWR_CNTRL
++
++/* Disable the DEVICE BAR in the PEX */
++#define MV_DISABLE_PEX_DEVICE_BAR
++
++/* Allow the usage of early printings during initialization */
++#define MV_INCLUDE_EARLY_PRINTK
++
++/****************************************************************/
++/************* NFP configuration ********************************/
++/****************************************************************/
++#define MV_NFP_SEC_Q_SIZE 64
++#define MV_NFP_SEC_REQ_Q_SIZE 1000
++
++
++
++/****************************************************************/
++/************* CESA configuration ********************/
++/****************************************************************/
++
++#ifdef MV_INCLUDE_CESA
++
++#define MV_CESA_MAX_CHAN 4
++
++/* Use 2K of SRAM */
++#define MV_CESA_MAX_BUF_SIZE 1600
++
++#endif /* MV_INCLUDE_CESA */
++
++#if defined(CONFIG_MV_INCLUDE_GIG_ETH)
++
++#ifdef CONFIG_MV_NFP_STATS
++#define MV_FP_STATISTICS
++#else
++#undef MV_FP_STATISTICS
++#endif
++/* Default configuration for SKB_REUSE: 0 - Disabled, 1 - Enabled */
++#define MV_ETH_SKB_REUSE_DEFAULT 1
++/* Default configuration for TX_EN workaround: 0 - Disabled, 1 - Enabled */
++#define MV_ETH_TX_EN_DEFAULT 0
++
++/* un-comment if you want to perform tx_done from within the poll function */
++/* #define ETH_TX_DONE_ISR */
++
++/* put descriptors in uncached memory */
++/* #define ETH_DESCR_UNCACHED */
++
++/* Descriptors location: DRAM/internal-SRAM */
++#define ETH_DESCR_IN_SDRAM
++#undef ETH_DESCR_IN_SRAM /* No integrated SRAM in 88Fxx81 devices */
++
++#if defined(ETH_DESCR_IN_SRAM)
++#if defined(ETH_DESCR_UNCACHED)
++ #define ETH_DESCR_CONFIG_STR "Uncached descriptors in integrated SRAM"
++#else
++ #define ETH_DESCR_CONFIG_STR "Cached descriptors in integrated SRAM"
++#endif
++#elif defined(ETH_DESCR_IN_SDRAM)
++#if defined(ETH_DESCR_UNCACHED)
++ #define ETH_DESCR_CONFIG_STR "Uncached descriptors in DRAM"
++#else
++ #define ETH_DESCR_CONFIG_STR "Cached descriptors in DRAM"
++#endif
++#else
++ #error "Ethernet descriptors location undefined"
++#endif /* ETH_DESCR_IN_SRAM or ETH_DESCR_IN_SDRAM*/
++
++/* SW Sync-Barrier: not relevant for 88fxx81*/
++/* Reasnable to define this macro when descriptors in SRAM and buffers in DRAM */
++/* In RX the CPU theoretically might see himself as the descriptor owner, */
++/* although the buffer hadn't been written to DRAM yet. Performance cost. */
++/* #define INCLUDE_SYNC_BARR */
++
++/* Buffers cache coherency method (buffers in DRAM) */
++#ifndef MV_CACHE_COHER_SW
++/* Taken from mvCommon.h */
++/* Memory uncached, HW or SW cache coherency is not needed */
++#define MV_UNCACHED 0
++/* Memory cached, HW cache coherency supported in WriteThrough mode */
++#define MV_CACHE_COHER_HW_WT 1
++/* Memory cached, HW cache coherency supported in WriteBack mode */
++#define MV_CACHE_COHER_HW_WB 2
++/* Memory cached, No HW cache coherency, Cache coherency must be in SW */
++#define MV_CACHE_COHER_SW 3
++
++#endif
++
++/* DRAM cache coherency configuration */
++#define MV_CACHE_COHERENCY MV_CACHE_COHER_SW
++
++
++#define ETHER_DRAM_COHER MV_CACHE_COHER_SW /* No HW coherency in 88Fxx81 devices */
++
++#if (ETHER_DRAM_COHER == MV_CACHE_COHER_HW_WB)
++ #define ETH_SDRAM_CONFIG_STR "DRAM HW cache coherency (write-back)"
++#elif (ETHER_DRAM_COHER == MV_CACHE_COHER_HW_WT)
++ #define ETH_SDRAM_CONFIG_STR "DRAM HW cache coherency (write-through)"
++#elif (ETHER_DRAM_COHER == MV_CACHE_COHER_SW)
++ #define ETH_SDRAM_CONFIG_STR "DRAM SW cache-coherency"
++#elif (ETHER_DRAM_COHER == MV_UNCACHED)
++# define ETH_SDRAM_CONFIG_STR "DRAM uncached"
++#else
++ #error "Ethernet-DRAM undefined"
++#endif /* ETHER_DRAM_COHER */
++
++
++/****************************************************************/
++/************* Ethernet driver configuration ********************/
++/****************************************************************/
++
++/* port's default queueus */
++#define ETH_DEF_TXQ 0
++#define ETH_DEF_RXQ 0
++
++#define MV_ETH_RX_Q_NUM CONFIG_MV_ETH_RX_Q_NUM
++#define MV_ETH_TX_Q_NUM CONFIG_MV_ETH_TX_Q_NUM
++
++/* interrupt coalescing setting */
++#define ETH_TX_COAL 200
++#define ETH_RX_COAL 200
++
++/* Checksum offloading */
++#define TX_CSUM_OFFLOAD
++#define RX_CSUM_OFFLOAD
++
++#endif /* CONFIG_MV_INCLUDE_GIG_ETH */
++
++/****************************************************************/
++/*************** Telephony configuration ************************/
++/****************************************************************/
++#if defined(CONFIG_MV_TDM_LINEAR_MODE)
++ #define MV_TDM_LINEAR_MODE
++#elif defined(CONFIG_MV_TDM_ULAW_MODE)
++ #define MV_TDM_ULAW_MODE
++#endif
++
++#if defined(CONFIG_MV_TDM_5CHANNELS)
++ #define MV_TDM_5CHANNELS
++#endif
++
++#if defined(CONFIG_MV_TDM_USE_EXTERNAL_PCLK_SOURCE)
++ #define MV_TDM_USE_EXTERNAL_PCLK_SOURCE
++#endif
++
++/* We use the following registers to store DRAM interface pre configuration */
++/* auto-detection results */
++/* IMPORTANT: We are using mask register for that purpose. Before writing */
++/* to units mask register, make sure main maks register is set to disable */
++/* all interrupts. */
++#define DRAM_BUF_REG0 0x30810 /* sdram bank 0 size */
++#define DRAM_BUF_REG1 0x30820 /* sdram config */
++#define DRAM_BUF_REG2 0x30830 /* sdram mode */
++#define DRAM_BUF_REG3 0x308c4 /* dunit control low */
++#define DRAM_BUF_REG4 0x60a90 /* sdram address control */
++#define DRAM_BUF_REG5 0x60a94 /* sdram timing control low */
++#define DRAM_BUF_REG6 0x60a98 /* sdram timing control high */
++#define DRAM_BUF_REG7 0x60a9c /* sdram ODT control low */
++#define DRAM_BUF_REG8 0x60b90 /* sdram ODT control high */
++#define DRAM_BUF_REG9 0x60b94 /* sdram Dunit ODT control */
++#define DRAM_BUF_REG10 0x60b98 /* sdram Extended Mode */
++#define DRAM_BUF_REG11 0x60b9c /* sdram Ddr2 Time Low Reg */
++#define DRAM_BUF_REG12 0x60a00 /* sdram Ddr2 Time High Reg */
++#define DRAM_BUF_REG13 0x60a04 /* dunit Ctrl High */
++#define DRAM_BUF_REG14 0x60b00 /* sdram second DIMM exist */
++
++/* Following the pre-configuration registers default values restored after */
++/* auto-detection is done */
++#define DRAM_BUF_REG_DV 0
++
++/* System Mapping */
++#define SDRAM_CS0_BASE 0x00000000
++#define SDRAM_CS0_SIZE _256M
++
++#define SDRAM_CS1_BASE 0x10000000
++#define SDRAM_CS1_SIZE _256M
++
++#define SDRAM_CS2_BASE 0x20000000
++#define SDRAM_CS2_SIZE _256M
++
++#define SDRAM_CS3_BASE 0x30000000
++#define SDRAM_CS3_SIZE _256M
++
++/* PEX */
++#define PEX0_MEM_BASE 0xe8000000
++#define PEX0_MEM_SIZE _128M
++
++#define PEX0_IO_BASE 0xf2000000
++#define PEX0_IO_SIZE _1M
++
++/* Device Chip Selects */
++#define NFLASH_CS_BASE 0xfa000000
++#define NFLASH_CS_SIZE _2M
++
++#define SPI_CS_BASE 0xf4000000
++#define SPI_CS_SIZE _16M
++
++#define CRYPT_ENG_BASE 0xf0000000
++#define CRYPT_ENG_SIZE _2M
++
++#define BOOTDEV_CS_BASE 0xff800000
++#define BOOTDEV_CS_SIZE _8M
++
++/* CS2 - BOOTROM */
++#define DEVICE_CS2_BASE 0xff900000
++#define DEVICE_CS2_SIZE _1M
++
++/* PEX Work arround */
++/* the target we will use for the workarround */
++#define PEX_CONFIG_RW_WA_TARGET PEX0_MEM
++/*a flag that indicates if we are going to use the
++size and base of the target we using for the workarround
++window */
++#define PEX_CONFIG_RW_WA_USE_ORIGINAL_WIN_VALUES 1
++/* if the above flag is 0 then the following values
++will be used for the workarround window base and size,
++otherwise the following defines will be ignored */
++#define PEX_CONFIG_RW_WA_BASE 0xF3000000
++#define PEX_CONFIG_RW_WA_SIZE _16M
++
++/* Internal registers: size is defined in Controllerenvironment */
++#define INTER_REGS_BASE 0xFEE00000
++
++/* DRAM detection stuff */
++#define MV_DRAM_AUTO_SIZE
++
++/* Board clock detection */
++#define TCLK_AUTO_DETECT /* Use Tclk auto detection */
++#define SYSCLK_AUTO_DETECT /* Use SysClk auto detection */
++#define PCLCK_AUTO_DETECT /* Use PClk auto detection */
++#define L2CLK_AUTO_DETECT /* Use L2Clk auto detection */
++
++/* PEX-PCI\PCI-PCI Bridge*/
++#define PCI0_IF_PTP 0 /* Bridge exist on pciIf0*/
++
++
++
++#endif /* __INCmvSysHwConfigh */
++
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.c 2011-07-31 11:31:59.143416806 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,376 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -52447,7 +53113,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.c lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.h 2011-07-31 11:31:59.173417275 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,121 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -52572,7 +53238,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmr.h lin
+#endif /* __INCmvTmrWtdgh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmrRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmrRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmrRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmrRegs.h 2011-07-31 11:31:59.233950381 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmrRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,121 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -52697,7 +53363,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cntmr/mvCntmrRegs.h
+#endif /* __INCmvTmrwtdgRegsh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.c 2011-07-31 11:31:59.293423615 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,207 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -52908,7 +53574,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.c li
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.h 2011-07-31 11:31:59.353421691 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,213 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -53125,7 +53791,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuCntrs.h li
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.c 2011-07-31 11:31:59.453817640 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,143 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -53272,7 +53938,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.c
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.h 2011-07-31 11:31:59.493426715 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,151 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -53427,7 +54093,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/cpu/mvCpuL2Cntrs.h
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.c 2011-07-31 11:31:59.523424060 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1479 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -54910,7 +55576,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.c lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.h 2011-07-31 11:31:59.563522806 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,191 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -55105,7 +55771,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDram.h lin
+#endif /* __INCmvDram */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.c 2011-07-31 11:31:59.603900955 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1599 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -56706,9 +57372,192 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.c l
+}
+
+
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,179 @@
++/*******************************************************************************
++Copyright (C) Marvell International Ltd. and its affiliates
++
++This software file (the "File") is owned and distributed by Marvell
++International Ltd. and/or its affiliates ("Marvell") under the following
++alternative licensing terms. Once you have made an election to distribute the
++File under one of the following license alternatives, please (i) delete this
++introductory statement regarding license alternatives, (ii) delete the two
++license alternatives that you have not elected to use and (iii) preserve the
++Marvell copyright notice above.
++
++********************************************************************************
++Marvell Commercial License Option
++
++If you received this File from Marvell and you have entered into a commercial
++license agreement (a "Commercial License") with Marvell, the File is licensed
++to you under the terms of the applicable Commercial License.
++
++********************************************************************************
++Marvell GPL License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File in accordance with the terms and conditions of the General
++Public License Version 2, June 1991 (the "GPL License"), a copy of which is
++available along with the File in the license.txt file or by writing to the Free
++Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
++on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++
++THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
++WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
++DISCLAIMED. The GPL License provides additional details about this warranty
++disclaimer.
++********************************************************************************
++Marvell BSD License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File under the following licensing terms.
++Redistribution and use in source and binary forms, with or without modification,
++are permitted provided that the following conditions are met:
++
++ * Redistributions of source code must retain the above copyright notice,
++ this list of conditions and the following disclaimer.
++
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++
++ * Neither the name of Marvell nor the names of its contributors may be
++ used to endorse or promote products derived from this software without
++ specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
++ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
++ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++*******************************************************************************/
++
++
++#ifndef __INCmvDramIfh
++#define __INCmvDramIfh
++
++/* includes */
++#include "ddr1_2/mvDramIfRegs.h"
++#include "ddr1_2/mvDramIfConfig.h"
++#include "ctrlEnv/mvCtrlEnvLib.h"
++
++/* defines */
++/* DRAM Timing parameters */
++#define SDRAM_TWR 15 /* ns tWr */
++#define SDRAM_TRFC_64_512M_AT_200MHZ 70 /* ns tRfc for dens 64-512 @ 200MHz */
++#define SDRAM_TRFC_64_512M 75 /* ns tRfc for dens 64-512 */
++#define SDRAM_TRFC_1G 120 /* ns tRfc for dens 1GB */
++#define SDRAM_TR2R_CYC 1 /* cycle for tR2r */
++#define SDRAM_TR2WW2R_CYC 1 /* cycle for tR2wW2r */
++
++/* typedefs */
++
++/* enumeration for memory types */
++typedef enum _mvMemoryType
++{
++ MEM_TYPE_SDRAM,
++ MEM_TYPE_DDR1,
++ MEM_TYPE_DDR2
++}MV_MEMORY_TYPE;
++
++/* enumeration for DDR1 supported CAS Latencies */
++typedef enum _mvDimmDdr1Cas
++{
++ DDR1_CL_1_5 = 0x02,
++ DDR1_CL_2 = 0x04,
++ DDR1_CL_2_5 = 0x08,
++ DDR1_CL_3 = 0x10,
++ DDR1_CL_4 = 0x40,
++ DDR1_CL_FAULT
++} MV_DIMM_DDR1_CAS;
++
++/* enumeration for DDR2 supported CAS Latencies */
++typedef enum _mvDimmDdr2Cas
++{
++ DDR2_CL_3 = 0x08,
++ DDR2_CL_4 = 0x10,
++ DDR2_CL_5 = 0x20,
++ DDR2_CL_FAULT
++} MV_DIMM_DDR2_CAS;
++
++
++typedef struct _mvDramBankInfo
++{
++ MV_MEMORY_TYPE memoryType; /* DDR1, DDR2 or SDRAM */
++
++ /* DIMM dimensions */
++ MV_U32 numOfRowAddr;
++ MV_U32 numOfColAddr;
++ MV_U32 dataWidth;
++ MV_U32 errorCheckType; /* ECC , PARITY..*/
++ MV_U32 sdramWidth; /* 4,8,16 or 32 */
++ MV_U32 errorCheckDataWidth; /* 0 - no, 1 - Yes */
++ MV_U32 burstLengthSupported;
++ MV_U32 numOfBanksOnEachDevice;
++ MV_U32 suportedCasLatencies;
++ MV_U32 refreshInterval;
++
++ /* DIMM timing parameters */
++ MV_U32 minCycleTimeAtMaxCasLatPs;
++ MV_U32 minCycleTimeAtMaxCasLatMinus1Ps;
++ MV_U32 minCycleTimeAtMaxCasLatMinus2Ps;
++ MV_U32 minRowPrechargeTime;
++ MV_U32 minRowActiveToRowActive;
++ MV_U32 minRasToCasDelay;
++ MV_U32 minRasPulseWidth;
++ MV_U32 minWriteRecoveryTime; /* DDR2 only */
++ MV_U32 minWriteToReadCmdDelay; /* DDR2 only */
++ MV_U32 minReadToPrechCmdDelay; /* DDR2 only */
++ MV_U32 minRefreshToActiveCmd; /* DDR2 only */
++
++ /* Parameters calculated from the extracted DIMM information */
++ MV_U32 size;
++ MV_U32 deviceDensity; /* 16,64,128,256 or 512 Mbit */
++ MV_U32 numberOfDevices;
++
++ /* DIMM attributes (MV_TRUE for yes) */
++ MV_BOOL registeredAddrAndControlInputs;
++
++}MV_DRAM_BANK_INFO;
++
++/* This structure describes CPU interface address decode window */
++typedef struct _mvDramIfDecWin
++{
++ MV_ADDR_WIN addrWin; /* An address window*/
++ MV_BOOL enable; /* Address decode window is enabled/disabled */
++}MV_DRAM_DEC_WIN;
++
++#include "ddr1_2/mvDram.h"
++
++/* mvDramIf.h API list */
++MV_VOID mvDramIfBasicAsmInit(MV_VOID);
++MV_STATUS mvDramIfDetect(MV_U32 forcedCl);
++MV_VOID _mvDramIfConfig(MV_VOID);
++
++MV_STATUS mvDramIfWinSet(MV_TARGET target, MV_DRAM_DEC_WIN *pAddrDecWin);
++MV_STATUS mvDramIfWinGet(MV_TARGET target, MV_DRAM_DEC_WIN *pAddrDecWin);
++MV_STATUS mvDramIfWinEnable(MV_TARGET target,MV_BOOL enable);
++MV_32 mvDramIfBankSizeGet(MV_U32 bankNum);
++MV_32 mvDramIfBankBaseGet(MV_U32 bankNum);
++MV_32 mvDramIfSizeGet(MV_VOID);
++
++#if 0
++MV_STATUS mvDramIfMbusCtrlSet(MV_XBAR_TARGET *pPizzaArbArray);
++MV_STATUS mvDramIfMbusToutSet(MV_U32 timeout, MV_BOOL enable);
++#endif
++
++#endif /* __INCmvDramIfh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfConfig.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfConfig.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfConfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfConfig.h 2011-07-31 11:31:59.643947098 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfConfig.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,192 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -56902,192 +57751,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfConf
+#define FTDLL_DDR2_250MHZ_5281_D1 0x984801
+
+#endif /* __INCmvDramIfh */
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIf.h 2011-07-31 11:31:59.674122418 +0200
-@@ -0,0 +1,179 @@
-+/*******************************************************************************
-+Copyright (C) Marvell International Ltd. and its affiliates
-+
-+This software file (the "File") is owned and distributed by Marvell
-+International Ltd. and/or its affiliates ("Marvell") under the following
-+alternative licensing terms. Once you have made an election to distribute the
-+File under one of the following license alternatives, please (i) delete this
-+introductory statement regarding license alternatives, (ii) delete the two
-+license alternatives that you have not elected to use and (iii) preserve the
-+Marvell copyright notice above.
-+
-+********************************************************************************
-+Marvell Commercial License Option
-+
-+If you received this File from Marvell and you have entered into a commercial
-+license agreement (a "Commercial License") with Marvell, the File is licensed
-+to you under the terms of the applicable Commercial License.
-+
-+********************************************************************************
-+Marvell GPL License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File in accordance with the terms and conditions of the General
-+Public License Version 2, June 1991 (the "GPL License"), a copy of which is
-+available along with the File in the license.txt file or by writing to the Free
-+Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
-+on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+
-+THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
-+DISCLAIMED. The GPL License provides additional details about this warranty
-+disclaimer.
-+********************************************************************************
-+Marvell BSD License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File under the following licensing terms.
-+Redistribution and use in source and binary forms, with or without modification,
-+are permitted provided that the following conditions are met:
-+
-+ * Redistributions of source code must retain the above copyright notice,
-+ this list of conditions and the following disclaimer.
-+
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+
-+ * Neither the name of Marvell nor the names of its contributors may be
-+ used to endorse or promote products derived from this software without
-+ specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+
-+*******************************************************************************/
-+
-+
-+#ifndef __INCmvDramIfh
-+#define __INCmvDramIfh
-+
-+/* includes */
-+#include "ddr1_2/mvDramIfRegs.h"
-+#include "ddr1_2/mvDramIfConfig.h"
-+#include "ctrlEnv/mvCtrlEnvLib.h"
-+
-+/* defines */
-+/* DRAM Timing parameters */
-+#define SDRAM_TWR 15 /* ns tWr */
-+#define SDRAM_TRFC_64_512M_AT_200MHZ 70 /* ns tRfc for dens 64-512 @ 200MHz */
-+#define SDRAM_TRFC_64_512M 75 /* ns tRfc for dens 64-512 */
-+#define SDRAM_TRFC_1G 120 /* ns tRfc for dens 1GB */
-+#define SDRAM_TR2R_CYC 1 /* cycle for tR2r */
-+#define SDRAM_TR2WW2R_CYC 1 /* cycle for tR2wW2r */
-+
-+/* typedefs */
-+
-+/* enumeration for memory types */
-+typedef enum _mvMemoryType
-+{
-+ MEM_TYPE_SDRAM,
-+ MEM_TYPE_DDR1,
-+ MEM_TYPE_DDR2
-+}MV_MEMORY_TYPE;
-+
-+/* enumeration for DDR1 supported CAS Latencies */
-+typedef enum _mvDimmDdr1Cas
-+{
-+ DDR1_CL_1_5 = 0x02,
-+ DDR1_CL_2 = 0x04,
-+ DDR1_CL_2_5 = 0x08,
-+ DDR1_CL_3 = 0x10,
-+ DDR1_CL_4 = 0x40,
-+ DDR1_CL_FAULT
-+} MV_DIMM_DDR1_CAS;
-+
-+/* enumeration for DDR2 supported CAS Latencies */
-+typedef enum _mvDimmDdr2Cas
-+{
-+ DDR2_CL_3 = 0x08,
-+ DDR2_CL_4 = 0x10,
-+ DDR2_CL_5 = 0x20,
-+ DDR2_CL_FAULT
-+} MV_DIMM_DDR2_CAS;
-+
-+
-+typedef struct _mvDramBankInfo
-+{
-+ MV_MEMORY_TYPE memoryType; /* DDR1, DDR2 or SDRAM */
-+
-+ /* DIMM dimensions */
-+ MV_U32 numOfRowAddr;
-+ MV_U32 numOfColAddr;
-+ MV_U32 dataWidth;
-+ MV_U32 errorCheckType; /* ECC , PARITY..*/
-+ MV_U32 sdramWidth; /* 4,8,16 or 32 */
-+ MV_U32 errorCheckDataWidth; /* 0 - no, 1 - Yes */
-+ MV_U32 burstLengthSupported;
-+ MV_U32 numOfBanksOnEachDevice;
-+ MV_U32 suportedCasLatencies;
-+ MV_U32 refreshInterval;
-+
-+ /* DIMM timing parameters */
-+ MV_U32 minCycleTimeAtMaxCasLatPs;
-+ MV_U32 minCycleTimeAtMaxCasLatMinus1Ps;
-+ MV_U32 minCycleTimeAtMaxCasLatMinus2Ps;
-+ MV_U32 minRowPrechargeTime;
-+ MV_U32 minRowActiveToRowActive;
-+ MV_U32 minRasToCasDelay;
-+ MV_U32 minRasPulseWidth;
-+ MV_U32 minWriteRecoveryTime; /* DDR2 only */
-+ MV_U32 minWriteToReadCmdDelay; /* DDR2 only */
-+ MV_U32 minReadToPrechCmdDelay; /* DDR2 only */
-+ MV_U32 minRefreshToActiveCmd; /* DDR2 only */
-+
-+ /* Parameters calculated from the extracted DIMM information */
-+ MV_U32 size;
-+ MV_U32 deviceDensity; /* 16,64,128,256 or 512 Mbit */
-+ MV_U32 numberOfDevices;
-+
-+ /* DIMM attributes (MV_TRUE for yes) */
-+ MV_BOOL registeredAddrAndControlInputs;
-+
-+}MV_DRAM_BANK_INFO;
-+
-+/* This structure describes CPU interface address decode window */
-+typedef struct _mvDramIfDecWin
-+{
-+ MV_ADDR_WIN addrWin; /* An address window*/
-+ MV_BOOL enable; /* Address decode window is enabled/disabled */
-+}MV_DRAM_DEC_WIN;
-+
-+#include "ddr1_2/mvDram.h"
-+
-+/* mvDramIf.h API list */
-+MV_VOID mvDramIfBasicAsmInit(MV_VOID);
-+MV_STATUS mvDramIfDetect(MV_U32 forcedCl);
-+MV_VOID _mvDramIfConfig(MV_VOID);
-+
-+MV_STATUS mvDramIfWinSet(MV_TARGET target, MV_DRAM_DEC_WIN *pAddrDecWin);
-+MV_STATUS mvDramIfWinGet(MV_TARGET target, MV_DRAM_DEC_WIN *pAddrDecWin);
-+MV_STATUS mvDramIfWinEnable(MV_TARGET target,MV_BOOL enable);
-+MV_32 mvDramIfBankSizeGet(MV_U32 bankNum);
-+MV_32 mvDramIfBankBaseGet(MV_U32 bankNum);
-+MV_32 mvDramIfSizeGet(MV_VOID);
-+
-+#if 0
-+MV_STATUS mvDramIfMbusCtrlSet(MV_XBAR_TARGET *pPizzaArbArray);
-+MV_STATUS mvDramIfMbusToutSet(MV_U32 timeout, MV_BOOL enable);
-+#endif
-+
-+#endif /* __INCmvDramIfh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfRegs.h 2011-07-31 11:31:59.713944140 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,306 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -57397,7 +58063,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr1_2/mvDramIfRegs
+#endif /* __INCmvDramIfRegsh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.c 2011-07-31 11:31:59.757175391 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1855 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -59254,10 +59920,10 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.c lin
+ return DRAM_CS_Order[csOrder];
+}
+
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h 2011-07-31 11:31:59.793596608 +0200
-@@ -0,0 +1,157 @@
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,172 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
+
@@ -59323,102 +59989,117 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig
+*******************************************************************************/
+
+
-+#ifndef __INCmvDramIfConfigh
-+#define __INCmvDramIfConfigh
++#ifndef __INCmvDramIfh
++#define __INCmvDramIfh
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* includes */
++#include "ddr2/mvDramIfRegs.h"
++#include "ddr2/mvDramIfConfig.h"
++#include "ctrlEnv/mvCtrlEnvLib.h"
+
+/* defines */
++/* DRAM Timing parameters */
++#define SDRAM_TWR 15 /* ns tWr */
++#define SDRAM_TRFC_64_512M_AT_200MHZ 70 /* ns tRfc for dens 64-512 @ 200MHz */
++#define SDRAM_TRFC_64_512M 75 /* ns tRfc for dens 64-512 */
++#define SDRAM_TRFC_1G 120 /* ns tRfc for dens 1GB */
++#define SDRAM_TR2R_CYC 1 /* cycle for tR2r */
+
-+/* registers defaults values */
-+
-+#define SDRAM_CONFIG_DV (SDRAM_SRMODE_DRAM | BIT25 | BIT30)
-+
-+#define SDRAM_DUNIT_CTRL_LOW_DDR2_DV \
-+ (SDRAM_SRCLK_KEPT | \
-+ SDRAM_CLK1DRV_NORMAL | \
-+ (BIT28 | BIT29))
++#define CAL_AUTO_DETECT 0 /* Do not force CAS latancy (mvDramIfDetect) */
++#define ECC_DISABLE 1 /* Force ECC to Disable */
++#define ECC_ENABLE 0 /* Force ECC to ENABLE */
++/* typedefs */
+
-+#define SDRAM_ADDR_CTRL_DV 2
-+
-+#define SDRAM_TIMING_CTRL_LOW_REG_DV \
-+ ((0x2 << SDRAM_TRCD_OFFS) | \
-+ (0x2 << SDRAM_TRP_OFFS) | \
-+ (0x1 << SDRAM_TWR_OFFS) | \
-+ (0x0 << SDRAM_TWTR_OFFS) | \
-+ (0x5 << SDRAM_TRAS_OFFS) | \
-+ (0x1 << SDRAM_TRRD_OFFS))
++/* enumeration for memory types */
++typedef enum _mvMemoryType
++{
++ MEM_TYPE_SDRAM,
++ MEM_TYPE_DDR1,
++ MEM_TYPE_DDR2
++}MV_MEMORY_TYPE;
+
-+/* Note: value of 0 in register means one cycle, 1 means two and so on */
-+#define SDRAM_TIMING_CTRL_HIGH_REG_DV \
-+ ((0x0 << SDRAM_TR2R_OFFS) | \
-+ (0x0 << SDRAM_TR2W_W2R_OFFS) | \
-+ (0x1 << SDRAM_TW2W_OFFS))
++/* enumeration for DDR2 supported CAS Latencies */
++typedef enum _mvDimmDdr2Cas
++{
++ DDR2_CL_3 = 0x08,
++ DDR2_CL_4 = 0x10,
++ DDR2_CL_5 = 0x20,
++ DDR2_CL_6 = 0x40,
++ DDR2_CL_FAULT
++} MV_DIMM_DDR2_CAS;
+
-+#define SDRAM_OPEN_PAGES_CTRL_REG_DV SDRAM_OPEN_PAGE_EN
+
-+/* Presence Ctrl Low Ctrl High Dunit Ctrl Ext Mode */
-+/* CS0 0x84210000 0x00000000 0x0000780F 0x00000440 */
-+/* CS0+CS1 0x84210000 0x00000000 0x0000780F 0x00000440 */
-+/* CS0+CS2 0x030C030C 0x00000000 0x0000740F 0x00000404 */
-+/* CS0+CS1+CS2 0x030C030C 0x00000000 0x0000740F 0x00000404 */
-+/* CS0+CS2+CS3 0x030C030C 0x00000000 0x0000740F 0x00000404 */
-+/* CS0+CS1+CS2+CS3 0x030C030C 0x00000000 0x0000740F 0x00000404 */
++typedef struct _mvDramBankInfo
++{
++ MV_MEMORY_TYPE memoryType; /* DDR1, DDR2 or SDRAM */
+
-+#define DDR2_ODT_CTRL_LOW_CS0_CS1_DV 0x84210000
-+#define DDR2_ODT_CTRL_HIGH_CS0_CS1_DV 0x00000000
-+#define DDR2_DUNIT_ODT_CTRL_CS0_CS1_DV 0x0000E80F
-+#ifdef MV78XX0
-+#define DDR_SDRAM_EXT_MODE_CS0_CS1_DV 0x00000040
-+#else
-+#define DDR_SDRAM_EXT_MODE_CS0_CS1_DV 0x00000440
-+#endif
++ /* DIMM dimensions */
++ MV_U32 numOfRowAddr;
++ MV_U32 numOfColAddr;
++ MV_U32 dataWidth;
++ MV_U32 errorCheckType; /* ECC , PARITY..*/
++ MV_U32 sdramWidth; /* 4,8,16 or 32 */
++ MV_U32 errorCheckDataWidth; /* 0 - no, 1 - Yes */
++ MV_U32 burstLengthSupported;
++ MV_U32 numOfBanksOnEachDevice;
++ MV_U32 suportedCasLatencies;
++ MV_U32 refreshInterval;
+
-+#define DDR2_ODT_CTRL_LOW_CS0_CS1_CS2_CS3_DV 0x030C030C
-+#define DDR2_ODT_CTRL_HIGH_CS0_CS1_CS2_CS3_DV 0x00000000
-+#define DDR2_DUNIT_ODT_CTRL_CS0_CS1_CS2_CS3_DV 0x0000F40F
-+#ifdef MV78XX0
-+#define DDR_SDRAM_EXT_MODE_CS0_CS1_CS2_CS3_DV 0x00000004
-+#define DDR_SDRAM_EXT_MODE_FAST_CS0_CS1_CS2_CS3_DV 0x00000044
-+#else
-+#define DDR_SDRAM_EXT_MODE_CS0_CS1_CS2_CS3_DV 0x00000404
-+#define DDR_SDRAM_EXT_MODE_FAST_CS0_CS1_CS2_CS3_DV 0x00000444
-+#endif
++ /* DIMM timing parameters */
++ MV_U32 minCycleTimeAtMaxCasLatPs;
++ MV_U32 minCycleTimeAtMaxCasLatMinus1Ps;
++ MV_U32 minCycleTimeAtMaxCasLatMinus2Ps;
++ MV_U32 minRowPrechargeTime;
++ MV_U32 minRowActiveToRowActive;
++ MV_U32 minRasToCasDelay;
++ MV_U32 minRasPulseWidth;
++ MV_U32 minWriteRecoveryTime; /* DDR2 only */
++ MV_U32 minWriteToReadCmdDelay; /* DDR2 only */
++ MV_U32 minReadToPrechCmdDelay; /* DDR2 only */
++ MV_U32 minRefreshToActiveCmd; /* DDR2 only */
++
++ /* Parameters calculated from the extracted DIMM information */
++ MV_U32 size;
++ MV_U32 deviceDensity; /* 16,64,128,256 or 512 Mbit */
++ MV_U32 numberOfDevices;
+
-+/* DDR SDRAM Adderss/Control and Data Pads Calibration default values */
-+#define DDR2_ADDR_CTRL_PAD_STRENGTH_TYPICAL_DV \
-+ (3 << SDRAM_PRE_DRIVER_STRENGTH_OFFS)
-+
-+#define DDR2_DATA_PAD_STRENGTH_TYPICAL_DV \
-+ (3 << SDRAM_PRE_DRIVER_STRENGTH_OFFS)
++ /* DIMM attributes (MV_TRUE for yes) */
++ MV_BOOL registeredAddrAndControlInputs;
++ MV_BOOL registeredDQMBinputs;
++
++}MV_DRAM_BANK_INFO;
+
-+/* DDR SDRAM Mode Register default value */
-+#define DDR2_MODE_REG_DV (SDRAM_BURST_LEN_4 | SDRAM_WR_3_CYC)
-+/* DDR SDRAM Timing parameter default values */
-+#define SDRAM_TIMING_CTRL_LOW_REG_DEFAULT 0x33136552
-+#define SDRAM_TRFC_DEFAULT_VALUE 0x34
-+#define SDRAM_TRFC_DEFAULT SDRAM_TRFC_DEFAULT_VALUE
-+#define SDRAM_TW2W_DEFALT (0x1 << SDRAM_TW2W_OFFS)
++#include "ddr2/spd/mvSpd.h"
+
-+#define SDRAM_TIMING_CTRL_HIGH_REG_DEFAULT (SDRAM_TRFC_DEFAULT | SDRAM_TW2W_DEFALT)
++/* mvDramIf.h API list */
++MV_VOID mvDramIfBasicAsmInit(MV_VOID);
++MV_STATUS mvDramIfDetect(MV_U32 forcedCl, MV_BOOL eccDisable);
++MV_VOID _mvDramIfConfig(int entryNum);
+
-+#define SDRAM_FTDLL_REG_DEFAULT_LEFT 0x88C800
-+#define SDRAM_FTDLL_REG_DEFAULT_RIGHT 0x88C800
-+#define SDRAM_FTDLL_REG_DEFAULT_UP 0x88C800
++MV_U32 mvDramIfBankSizeGet(MV_U32 bankNum);
++MV_U32 mvDramIfBankBaseGet(MV_U32 bankNum);
++MV_U32 mvDramIfSizeGet(MV_VOID);
++MV_U32 mvDramIfCalGet(void);
++MV_STATUS mvDramIfSingleBitErrThresholdSet(MV_U32 threshold);
++MV_VOID mvDramIfSelfRefreshSet(void);
++void mvDramIfShow(void);
++MV_U32 mvDramIfGetFirstCS(void);
++MV_U32 mvDramIfGetCSorder(MV_U32 csOrder );
++MV_U32 mvDramCsSizeGet(MV_U32 csNum);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __INCmvDramIfh */
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h 2011-07-31 11:31:59.834833008 +0200
-@@ -0,0 +1,172 @@
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfConfig.h 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,157 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
+
@@ -59484,107 +60165,92 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h lin
+*******************************************************************************/
+
+
-+#ifndef __INCmvDramIfh
-+#define __INCmvDramIfh
++#ifndef __INCmvDramIfConfigh
++#define __INCmvDramIfConfigh
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* includes */
-+#include "ddr2/mvDramIfRegs.h"
-+#include "ddr2/mvDramIfConfig.h"
-+#include "ctrlEnv/mvCtrlEnvLib.h"
+
+/* defines */
-+/* DRAM Timing parameters */
-+#define SDRAM_TWR 15 /* ns tWr */
-+#define SDRAM_TRFC_64_512M_AT_200MHZ 70 /* ns tRfc for dens 64-512 @ 200MHz */
-+#define SDRAM_TRFC_64_512M 75 /* ns tRfc for dens 64-512 */
-+#define SDRAM_TRFC_1G 120 /* ns tRfc for dens 1GB */
-+#define SDRAM_TR2R_CYC 1 /* cycle for tR2r */
+
-+#define CAL_AUTO_DETECT 0 /* Do not force CAS latancy (mvDramIfDetect) */
-+#define ECC_DISABLE 1 /* Force ECC to Disable */
-+#define ECC_ENABLE 0 /* Force ECC to ENABLE */
-+/* typedefs */
++/* registers defaults values */
+
-+/* enumeration for memory types */
-+typedef enum _mvMemoryType
-+{
-+ MEM_TYPE_SDRAM,
-+ MEM_TYPE_DDR1,
-+ MEM_TYPE_DDR2
-+}MV_MEMORY_TYPE;
++#define SDRAM_CONFIG_DV (SDRAM_SRMODE_DRAM | BIT25 | BIT30)
+
-+/* enumeration for DDR2 supported CAS Latencies */
-+typedef enum _mvDimmDdr2Cas
-+{
-+ DDR2_CL_3 = 0x08,
-+ DDR2_CL_4 = 0x10,
-+ DDR2_CL_5 = 0x20,
-+ DDR2_CL_6 = 0x40,
-+ DDR2_CL_FAULT
-+} MV_DIMM_DDR2_CAS;
++#define SDRAM_DUNIT_CTRL_LOW_DDR2_DV \
++ (SDRAM_SRCLK_KEPT | \
++ SDRAM_CLK1DRV_NORMAL | \
++ (BIT28 | BIT29))
+
++#define SDRAM_ADDR_CTRL_DV 2
++
++#define SDRAM_TIMING_CTRL_LOW_REG_DV \
++ ((0x2 << SDRAM_TRCD_OFFS) | \
++ (0x2 << SDRAM_TRP_OFFS) | \
++ (0x1 << SDRAM_TWR_OFFS) | \
++ (0x0 << SDRAM_TWTR_OFFS) | \
++ (0x5 << SDRAM_TRAS_OFFS) | \
++ (0x1 << SDRAM_TRRD_OFFS))
+
-+typedef struct _mvDramBankInfo
-+{
-+ MV_MEMORY_TYPE memoryType; /* DDR1, DDR2 or SDRAM */
++/* Note: value of 0 in register means one cycle, 1 means two and so on */
++#define SDRAM_TIMING_CTRL_HIGH_REG_DV \
++ ((0x0 << SDRAM_TR2R_OFFS) | \
++ (0x0 << SDRAM_TR2W_W2R_OFFS) | \
++ (0x1 << SDRAM_TW2W_OFFS))
+
-+ /* DIMM dimensions */
-+ MV_U32 numOfRowAddr;
-+ MV_U32 numOfColAddr;
-+ MV_U32 dataWidth;
-+ MV_U32 errorCheckType; /* ECC , PARITY..*/
-+ MV_U32 sdramWidth; /* 4,8,16 or 32 */
-+ MV_U32 errorCheckDataWidth; /* 0 - no, 1 - Yes */
-+ MV_U32 burstLengthSupported;
-+ MV_U32 numOfBanksOnEachDevice;
-+ MV_U32 suportedCasLatencies;
-+ MV_U32 refreshInterval;
++#define SDRAM_OPEN_PAGES_CTRL_REG_DV SDRAM_OPEN_PAGE_EN
+
-+ /* DIMM timing parameters */
-+ MV_U32 minCycleTimeAtMaxCasLatPs;
-+ MV_U32 minCycleTimeAtMaxCasLatMinus1Ps;
-+ MV_U32 minCycleTimeAtMaxCasLatMinus2Ps;
-+ MV_U32 minRowPrechargeTime;
-+ MV_U32 minRowActiveToRowActive;
-+ MV_U32 minRasToCasDelay;
-+ MV_U32 minRasPulseWidth;
-+ MV_U32 minWriteRecoveryTime; /* DDR2 only */
-+ MV_U32 minWriteToReadCmdDelay; /* DDR2 only */
-+ MV_U32 minReadToPrechCmdDelay; /* DDR2 only */
-+ MV_U32 minRefreshToActiveCmd; /* DDR2 only */
-+
-+ /* Parameters calculated from the extracted DIMM information */
-+ MV_U32 size;
-+ MV_U32 deviceDensity; /* 16,64,128,256 or 512 Mbit */
-+ MV_U32 numberOfDevices;
++/* Presence Ctrl Low Ctrl High Dunit Ctrl Ext Mode */
++/* CS0 0x84210000 0x00000000 0x0000780F 0x00000440 */
++/* CS0+CS1 0x84210000 0x00000000 0x0000780F 0x00000440 */
++/* CS0+CS2 0x030C030C 0x00000000 0x0000740F 0x00000404 */
++/* CS0+CS1+CS2 0x030C030C 0x00000000 0x0000740F 0x00000404 */
++/* CS0+CS2+CS3 0x030C030C 0x00000000 0x0000740F 0x00000404 */
++/* CS0+CS1+CS2+CS3 0x030C030C 0x00000000 0x0000740F 0x00000404 */
+
-+ /* DIMM attributes (MV_TRUE for yes) */
-+ MV_BOOL registeredAddrAndControlInputs;
-+ MV_BOOL registeredDQMBinputs;
-+
-+}MV_DRAM_BANK_INFO;
++#define DDR2_ODT_CTRL_LOW_CS0_CS1_DV 0x84210000
++#define DDR2_ODT_CTRL_HIGH_CS0_CS1_DV 0x00000000
++#define DDR2_DUNIT_ODT_CTRL_CS0_CS1_DV 0x0000E80F
++#ifdef MV78XX0
++#define DDR_SDRAM_EXT_MODE_CS0_CS1_DV 0x00000040
++#else
++#define DDR_SDRAM_EXT_MODE_CS0_CS1_DV 0x00000440
++#endif
+
-+#include "ddr2/spd/mvSpd.h"
++#define DDR2_ODT_CTRL_LOW_CS0_CS1_CS2_CS3_DV 0x030C030C
++#define DDR2_ODT_CTRL_HIGH_CS0_CS1_CS2_CS3_DV 0x00000000
++#define DDR2_DUNIT_ODT_CTRL_CS0_CS1_CS2_CS3_DV 0x0000F40F
++#ifdef MV78XX0
++#define DDR_SDRAM_EXT_MODE_CS0_CS1_CS2_CS3_DV 0x00000004
++#define DDR_SDRAM_EXT_MODE_FAST_CS0_CS1_CS2_CS3_DV 0x00000044
++#else
++#define DDR_SDRAM_EXT_MODE_CS0_CS1_CS2_CS3_DV 0x00000404
++#define DDR_SDRAM_EXT_MODE_FAST_CS0_CS1_CS2_CS3_DV 0x00000444
++#endif
+
-+/* mvDramIf.h API list */
-+MV_VOID mvDramIfBasicAsmInit(MV_VOID);
-+MV_STATUS mvDramIfDetect(MV_U32 forcedCl, MV_BOOL eccDisable);
-+MV_VOID _mvDramIfConfig(int entryNum);
++/* DDR SDRAM Adderss/Control and Data Pads Calibration default values */
++#define DDR2_ADDR_CTRL_PAD_STRENGTH_TYPICAL_DV \
++ (3 << SDRAM_PRE_DRIVER_STRENGTH_OFFS)
++
++#define DDR2_DATA_PAD_STRENGTH_TYPICAL_DV \
++ (3 << SDRAM_PRE_DRIVER_STRENGTH_OFFS)
+
-+MV_U32 mvDramIfBankSizeGet(MV_U32 bankNum);
-+MV_U32 mvDramIfBankBaseGet(MV_U32 bankNum);
-+MV_U32 mvDramIfSizeGet(MV_VOID);
-+MV_U32 mvDramIfCalGet(void);
-+MV_STATUS mvDramIfSingleBitErrThresholdSet(MV_U32 threshold);
-+MV_VOID mvDramIfSelfRefreshSet(void);
-+void mvDramIfShow(void);
-+MV_U32 mvDramIfGetFirstCS(void);
-+MV_U32 mvDramIfGetCSorder(MV_U32 csOrder );
-+MV_U32 mvDramCsSizeGet(MV_U32 csNum);
++/* DDR SDRAM Mode Register default value */
++#define DDR2_MODE_REG_DV (SDRAM_BURST_LEN_4 | SDRAM_WR_3_CYC)
++/* DDR SDRAM Timing parameter default values */
++#define SDRAM_TIMING_CTRL_LOW_REG_DEFAULT 0x33136552
++#define SDRAM_TRFC_DEFAULT_VALUE 0x34
++#define SDRAM_TRFC_DEFAULT SDRAM_TRFC_DEFAULT_VALUE
++#define SDRAM_TW2W_DEFALT (0x1 << SDRAM_TW2W_OFFS)
++
++#define SDRAM_TIMING_CTRL_HIGH_REG_DEFAULT (SDRAM_TRFC_DEFAULT | SDRAM_TW2W_DEFALT)
++
++#define SDRAM_FTDLL_REG_DEFAULT_LEFT 0x88C800
++#define SDRAM_FTDLL_REG_DEFAULT_RIGHT 0x88C800
++#define SDRAM_FTDLL_REG_DEFAULT_UP 0x88C800
+
+#ifdef __cplusplus
+}
@@ -59593,7 +60259,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIf.h lin
+#endif /* __INCmvDramIfh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfRegs.h 2011-07-31 11:31:59.893679319 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,423 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -60020,7 +60686,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfRegs.h
+#endif /* __INCmvDramIfRegsh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfStaticInit.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfStaticInit.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfStaticInit.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfStaticInit.h 2011-07-31 11:31:59.943416960 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfStaticInit.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,179 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -60203,7 +60869,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/mvDramIfStatic
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.c 2011-07-31 11:32:00.023420475 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1474 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -61681,7 +62347,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.c li
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.h 2011-07-31 11:32:00.073415544 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,192 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -61877,7 +62543,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/ddr2/spd/mvSpd.h li
+#endif /* __INCmvDram */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEth.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEth.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEth.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEth.c 2011-07-31 11:32:00.094444907 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEth.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,2952 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -64833,7 +65499,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEth.c lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.c 2011-07-31 11:32:00.143449361 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,748 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -65585,7 +66251,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.h 2011-07-31 11:32:00.203425336 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,146 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -65735,7 +66401,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthDebug.
+#endif
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthGbe.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthGbe.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthGbe.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthGbe.h 2011-07-31 11:32:00.283831547 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthGbe.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,751 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -66490,7 +67156,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthGbe.h
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthRegs.h 2011-07-31 11:32:00.344567101 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,700 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -67194,7 +67860,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/gbe/mvEthRegs.h
+#endif /* __INCmvEthRegsh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/mvEth.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/mvEth.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/mvEth.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/mvEth.h 2011-07-31 11:32:00.384198160 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/eth/mvEth.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,356 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -67554,7 +68220,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/eth/mvEth.h linux-2
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.c 2011-07-31 11:32:00.443429216 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,362 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -67920,7 +68586,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.c linux-2
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.h 2011-07-31 11:32:00.513421842 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,118 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -68042,7 +68708,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGpp.h linux-2
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGppRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGppRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGppRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGppRegs.h 2011-07-31 11:32:00.553416918 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGppRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,116 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -68162,7 +68828,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/gpp/mvGppRegs.h lin
+#endif /* #ifndef __INCmvGppRegsH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.c 2011-07-31 11:32:00.613425350 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1047 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -69213,7 +69879,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.c linux-2
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.h 2011-07-31 11:32:00.683428754 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,185 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -69402,7 +70068,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPci.h linux-2
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPciRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPciRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPciRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPciRegs.h 2011-07-31 11:32:00.763876199 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPciRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,411 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -69817,7 +70483,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci/mvPciRegs.h lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.c 2011-07-31 11:32:00.813955320 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,669 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -70490,7 +71156,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.c li
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.h 2011-07-31 11:32:00.873625579 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,134 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -70628,7 +71294,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIf.h li
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIfRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIfRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIfRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIfRegs.h 2011-07-31 11:32:00.943680001 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIfRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,245 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -70877,7 +71543,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/mvPciIfRegs.
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.c 2011-07-31 11:32:01.013425599 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1006 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -71887,7 +72553,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvP
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.h 2011-07-31 11:32:01.073415309 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvPciUtils.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,323 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -72214,7 +72880,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pci-if/pci_util/mvP
+#endif /* #ifndef __INCmvPciUtilsh */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.c 2011-07-31 11:32:01.113957654 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1143 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -73361,7 +74027,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.c linux-2
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.h 2011-07-31 11:32:01.193522686 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,168 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -73533,7 +74199,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPex.h linux-2
+#endif /* #ifndef __INCPEXH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h 2011-07-31 11:32:01.273424287 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,751 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -74288,7 +74954,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvPexRegs.h lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.c 2011-07-31 11:32:01.333424120 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,313 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -74605,7 +75271,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.c l
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.h 2011-07-31 11:32:01.383424915 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,82 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -74691,7 +75357,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/pex/mvVrtBrgPex.h l
+#endif /* #ifndef __INCPEXH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.c 2011-07-31 11:32:01.433415347 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1522 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -76217,7 +76883,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.c l
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.h 2011-07-31 11:32:01.483424510 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,166 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -76387,7 +77053,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlash.h l
+#endif /* __INCmvSFlashH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlashSpec.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlashSpec.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlashSpec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlashSpec.h 2011-07-31 11:32:01.533415775 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlashSpec.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,233 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -76624,7 +77290,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/sflash/mvSFlashSpec
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.c 2011-07-31 11:32:01.583509976 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,576 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -77202,9 +77868,107 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.c linux-2
+}
+
+
+diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h
+--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h 2011-08-01 14:38:19.000000000 +0200
+@@ -0,0 +1,94 @@
++/*******************************************************************************
++Copyright (C) Marvell International Ltd. and its affiliates
++
++This software file (the "File") is owned and distributed by Marvell
++International Ltd. and/or its affiliates ("Marvell") under the following
++alternative licensing terms. Once you have made an election to distribute the
++File under one of the following license alternatives, please (i) delete this
++introductory statement regarding license alternatives, (ii) delete the two
++license alternatives that you have not elected to use and (iii) preserve the
++Marvell copyright notice above.
++
++********************************************************************************
++Marvell Commercial License Option
++
++If you received this File from Marvell and you have entered into a commercial
++license agreement (a "Commercial License") with Marvell, the File is licensed
++to you under the terms of the applicable Commercial License.
++
++********************************************************************************
++Marvell GPL License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File in accordance with the terms and conditions of the General
++Public License Version 2, June 1991 (the "GPL License"), a copy of which is
++available along with the File in the license.txt file or by writing to the Free
++Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
++on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
++
++THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
++WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
++DISCLAIMED. The GPL License provides additional details about this warranty
++disclaimer.
++********************************************************************************
++Marvell BSD License Option
++
++If you received this File from Marvell, you may opt to use, redistribute and/or
++modify this File under the following licensing terms.
++Redistribution and use in source and binary forms, with or without modification,
++are permitted provided that the following conditions are met:
++
++ * Redistributions of source code must retain the above copyright notice,
++ this list of conditions and the following disclaimer.
++
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++
++ * Neither the name of Marvell nor the names of its contributors may be
++ used to endorse or promote products derived from this software without
++ specific prior written permission.
++
++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
++ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
++ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
++ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++*******************************************************************************/
++
++#ifndef __INCmvSpihH
++#define __INCmvSpihH
++
++#include "mvCommon.h"
++#include "mvOs.h"
++#include "ctrlEnv/mvCtrlEnvSpec.h"
++
++/* Function Prototypes */
++/* Init */
++MV_STATUS mvSpiInit (MV_U32 serialBaudRate);
++
++/* Set the Frequency of the Spi clock */
++MV_STATUS mvSpiBaudRateSet(MV_U32 serialBaudRate);
++
++/* Assert the SPI chip select */
++MV_VOID mvSpiCsAssert (MV_VOID);
++
++/* De-assert the SPI chip select */
++MV_VOID mvSpiCsDeassert (MV_VOID);
++
++/* Simultanuous Read and write */
++MV_STATUS mvSpiReadWrite (MV_U8* pRxBuff, MV_U8* pTxBuff, MV_U32 buffSize);
++
++/* serialize a buffer on the TX line - Rx is ignored */
++MV_STATUS mvSpiWrite (MV_U8* pTxBuff, MV_U32 buffSize);
++
++/* read from the RX line by writing dummy values to the TX line */
++MV_STATUS mvSpiRead (MV_U8* pRxBuff, MV_U32 buffSize);
++
++#endif /* __INCmvSpihH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.c 2011-07-31 11:32:01.653424091 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,249 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -77457,7 +78221,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.c lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.h 2011-07-31 11:32:01.703503465 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,82 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -77541,107 +78305,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiCmnd.h lin
+ MV_U32 rxDataSize,MV_U32 dummyBytesToRead);
+
+#endif /* __INCmvSpiCmndhH */
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpi.h 2011-07-31 11:32:01.773424275 +0200
-@@ -0,0 +1,94 @@
-+/*******************************************************************************
-+Copyright (C) Marvell International Ltd. and its affiliates
-+
-+This software file (the "File") is owned and distributed by Marvell
-+International Ltd. and/or its affiliates ("Marvell") under the following
-+alternative licensing terms. Once you have made an election to distribute the
-+File under one of the following license alternatives, please (i) delete this
-+introductory statement regarding license alternatives, (ii) delete the two
-+license alternatives that you have not elected to use and (iii) preserve the
-+Marvell copyright notice above.
-+
-+********************************************************************************
-+Marvell Commercial License Option
-+
-+If you received this File from Marvell and you have entered into a commercial
-+license agreement (a "Commercial License") with Marvell, the File is licensed
-+to you under the terms of the applicable Commercial License.
-+
-+********************************************************************************
-+Marvell GPL License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File in accordance with the terms and conditions of the General
-+Public License Version 2, June 1991 (the "GPL License"), a copy of which is
-+available along with the File in the license.txt file or by writing to the Free
-+Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
-+on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+
-+THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
-+DISCLAIMED. The GPL License provides additional details about this warranty
-+disclaimer.
-+********************************************************************************
-+Marvell BSD License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File under the following licensing terms.
-+Redistribution and use in source and binary forms, with or without modification,
-+are permitted provided that the following conditions are met:
-+
-+ * Redistributions of source code must retain the above copyright notice,
-+ this list of conditions and the following disclaimer.
-+
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+
-+ * Neither the name of Marvell nor the names of its contributors may be
-+ used to endorse or promote products derived from this software without
-+ specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+
-+*******************************************************************************/
-+
-+#ifndef __INCmvSpihH
-+#define __INCmvSpihH
-+
-+#include "mvCommon.h"
-+#include "mvOs.h"
-+#include "ctrlEnv/mvCtrlEnvSpec.h"
-+
-+/* Function Prototypes */
-+/* Init */
-+MV_STATUS mvSpiInit (MV_U32 serialBaudRate);
-+
-+/* Set the Frequency of the Spi clock */
-+MV_STATUS mvSpiBaudRateSet(MV_U32 serialBaudRate);
-+
-+/* Assert the SPI chip select */
-+MV_VOID mvSpiCsAssert (MV_VOID);
-+
-+/* De-assert the SPI chip select */
-+MV_VOID mvSpiCsDeassert (MV_VOID);
-+
-+/* Simultanuous Read and write */
-+MV_STATUS mvSpiReadWrite (MV_U8* pRxBuff, MV_U8* pTxBuff, MV_U32 buffSize);
-+
-+/* serialize a buffer on the TX line - Rx is ignored */
-+MV_STATUS mvSpiWrite (MV_U8* pTxBuff, MV_U32 buffSize);
-+
-+/* read from the RX line by writing dummy values to the TX line */
-+MV_STATUS mvSpiRead (MV_U8* pRxBuff, MV_U32 buffSize);
-+
-+#endif /* __INCmvSpihH */
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiSpec.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiSpec.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiSpec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiSpec.h 2011-07-31 11:32:01.823425403 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiSpec.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,98 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -77743,7 +78409,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/spi/mvSpiSpec.h lin
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.c linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.c
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.c 2011-07-31 11:32:01.863415702 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1023 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -78770,7 +79436,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.c linux
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.h 2011-07-31 11:32:01.943468546 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,121 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -78895,7 +79561,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsi.h linux
+
diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsiSpec.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsiSpec.h
--- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsiSpec.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsiSpec.h 2011-07-31 11:32:02.014130488 +0200
++++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsiSpec.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,160 @@
+/*******************************************************************************
+Copyright (C) Marvell International Ltd. and its affiliates
@@ -79057,516 +79723,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mv_hal/twsi/mvTwsiSpec.h l
+#endif /* __cplusplus */
+
+#endif /* __INCmvTwsiSpech */
-diff -Nur linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h linux-2.6.39/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h
---- linux-2.6.39.orig/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/kirkwood/mvHal/mvSysHwConfig.h 2011-07-31 11:32:02.063979754 +0200
-@@ -0,0 +1,375 @@
-+/*******************************************************************************
-+Copyright (C) Marvell International Ltd. and its affiliates
-+
-+********************************************************************************
-+Marvell GPL License Option
-+
-+If you received this File from Marvell, you may opt to use, redistribute and/or
-+modify this File in accordance with the terms and conditions of the General
-+Public License Version 2, June 1991 (the "GPL License"), a copy of which is
-+available along with the File in the license.txt file or by writing to the Free
-+Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 or
-+on the worldwide web at http://www.gnu.org/licenses/gpl.txt.
-+
-+THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY
-+DISCLAIMED. The GPL License provides additional details about this warranty
-+disclaimer.
-+
-+*******************************************************************************/
-+/*******************************************************************************
-+* mvSysHwCfg.h - Marvell system HW configuration file
-+*
-+* DESCRIPTION:
-+* None.
-+*
-+* DEPENDENCIES:
-+* None.
-+*
-+*******************************************************************************/
-+
-+#ifndef __INCmvSysHwConfigh
-+#define __INCmvSysHwConfigh
-+
-+#include "../../../../include/linux/autoconf.h"
-+
-+#define CONFIG_MARVELL 1
-+
-+/* includes */
-+#define _1K 0x00000400
-+#define _4K 0x00001000
-+#define _8K 0x00002000
-+#define _16K 0x00004000
-+#define _32K 0x00008000
-+#define _64K 0x00010000
-+#define _128K 0x00020000
-+#define _256K 0x00040000
-+#define _512K 0x00080000
-+
-+#define _1M 0x00100000
-+#define _2M 0x00200000
-+#define _4M 0x00400000
-+#define _8M 0x00800000
-+#define _16M 0x01000000
-+#define _32M 0x02000000
-+#define _64M 0x04000000
-+#define _128M 0x08000000
-+#define _256M 0x10000000
-+#define _512M 0x20000000
-+
-+#define _1G 0x40000000
-+#define _2G 0x80000000
-+
-+/****************************************/
-+/* Soc supporeted Units definitions */
-+/****************************************/
-+
-+#ifdef CONFIG_MV_INCLUDE_PEX
-+#define MV_INCLUDE_PEX
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_TWSI
-+#define MV_INCLUDE_TWSI
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_CESA
-+#define MV_INCLUDE_CESA
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_GIG_ETH
-+#define MV_INCLUDE_GIG_ETH
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_INTEG_SATA
-+#define MV_INCLUDE_INTEG_SATA
-+#define MV_INCLUDE_SATA
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_USB
-+#define MV_INCLUDE_USB
-+#define MV_USB_VOLTAGE_FIX
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_NAND
-+#define MV_INCLUDE_NAND
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_TDM
-+#define MV_INCLUDE_TDM
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_XOR
-+#define MV_INCLUDE_XOR
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_TWSI
-+#define MV_INCLUDE_TWSI
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_UART
-+#define MV_INCLUDE_UART
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_SPI
-+#define MV_INCLUDE_SPI
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_SFLASH_MTD
-+#define MV_INCLUDE_SFLASH_MTD
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_AUDIO
-+#define MV_INCLUDE_AUDIO
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_TS
-+#define MV_INCLUDE_TS
-+#endif
-+#ifdef CONFIG_MV_INCLUDE_SDIO
-+#define MV_INCLUDE_SDIO
-+#endif
-+
-+
-+/* NAND flash stuff */
-+#ifdef CONFIG_MV_NAND_BOOT
-+#define MV_NAND_BOOT
-+#endif
-+#ifdef CONFIG_MV_NAND
-+#define MV_NAND
-+#endif
-+
-+/* SPI flash stuff */
-+#ifdef CONFIG_MV_SPI_BOOT
-+#define MV_SPI_BOOT
-+#endif
-+
-+
-+/****************************************************************/
-+/************* General configuration ********************/
-+/****************************************************************/
-+
-+/* Enable Clock Power Control */
-+#define MV_INCLUDE_CLK_PWR_CNTRL
-+
-+/* Disable the DEVICE BAR in the PEX */
-+#define MV_DISABLE_PEX_DEVICE_BAR
-+
-+/* Allow the usage of early printings during initialization */
-+#define MV_INCLUDE_EARLY_PRINTK
-+
-+/****************************************************************/
-+/************* NFP configuration ********************************/
-+/****************************************************************/
-+#define MV_NFP_SEC_Q_SIZE 64
-+#define MV_NFP_SEC_REQ_Q_SIZE 1000
-+
-+
-+
-+/****************************************************************/
-+/************* CESA configuration ********************/
-+/****************************************************************/
-+
-+#ifdef MV_INCLUDE_CESA
-+
-+#define MV_CESA_MAX_CHAN 4
-+
-+/* Use 2K of SRAM */
-+#define MV_CESA_MAX_BUF_SIZE 1600
-+
-+#endif /* MV_INCLUDE_CESA */
-+
-+#if defined(CONFIG_MV_INCLUDE_GIG_ETH)
-+
-+#ifdef CONFIG_MV_NFP_STATS
-+#define MV_FP_STATISTICS
-+#else
-+#undef MV_FP_STATISTICS
-+#endif
-+/* Default configuration for SKB_REUSE: 0 - Disabled, 1 - Enabled */
-+#define MV_ETH_SKB_REUSE_DEFAULT 1
-+/* Default configuration for TX_EN workaround: 0 - Disabled, 1 - Enabled */
-+#define MV_ETH_TX_EN_DEFAULT 0
-+
-+/* un-comment if you want to perform tx_done from within the poll function */
-+/* #define ETH_TX_DONE_ISR */
-+
-+/* put descriptors in uncached memory */
-+/* #define ETH_DESCR_UNCACHED */
-+
-+/* Descriptors location: DRAM/internal-SRAM */
-+#define ETH_DESCR_IN_SDRAM
-+#undef ETH_DESCR_IN_SRAM /* No integrated SRAM in 88Fxx81 devices */
-+
-+#if defined(ETH_DESCR_IN_SRAM)
-+#if defined(ETH_DESCR_UNCACHED)
-+ #define ETH_DESCR_CONFIG_STR "Uncached descriptors in integrated SRAM"
-+#else
-+ #define ETH_DESCR_CONFIG_STR "Cached descriptors in integrated SRAM"
-+#endif
-+#elif defined(ETH_DESCR_IN_SDRAM)
-+#if defined(ETH_DESCR_UNCACHED)
-+ #define ETH_DESCR_CONFIG_STR "Uncached descriptors in DRAM"
-+#else
-+ #define ETH_DESCR_CONFIG_STR "Cached descriptors in DRAM"
-+#endif
-+#else
-+ #error "Ethernet descriptors location undefined"
-+#endif /* ETH_DESCR_IN_SRAM or ETH_DESCR_IN_SDRAM*/
-+
-+/* SW Sync-Barrier: not relevant for 88fxx81*/
-+/* Reasnable to define this macro when descriptors in SRAM and buffers in DRAM */
-+/* In RX the CPU theoretically might see himself as the descriptor owner, */
-+/* although the buffer hadn't been written to DRAM yet. Performance cost. */
-+/* #define INCLUDE_SYNC_BARR */
-+
-+/* Buffers cache coherency method (buffers in DRAM) */
-+#ifndef MV_CACHE_COHER_SW
-+/* Taken from mvCommon.h */
-+/* Memory uncached, HW or SW cache coherency is not needed */
-+#define MV_UNCACHED 0
-+/* Memory cached, HW cache coherency supported in WriteThrough mode */
-+#define MV_CACHE_COHER_HW_WT 1
-+/* Memory cached, HW cache coherency supported in WriteBack mode */
-+#define MV_CACHE_COHER_HW_WB 2
-+/* Memory cached, No HW cache coherency, Cache coherency must be in SW */
-+#define MV_CACHE_COHER_SW 3
-+
-+#endif
-+
-+/* DRAM cache coherency configuration */
-+#define MV_CACHE_COHERENCY MV_CACHE_COHER_SW
-+
-+
-+#define ETHER_DRAM_COHER MV_CACHE_COHER_SW /* No HW coherency in 88Fxx81 devices */
-+
-+#if (ETHER_DRAM_COHER == MV_CACHE_COHER_HW_WB)
-+ #define ETH_SDRAM_CONFIG_STR "DRAM HW cache coherency (write-back)"
-+#elif (ETHER_DRAM_COHER == MV_CACHE_COHER_HW_WT)
-+ #define ETH_SDRAM_CONFIG_STR "DRAM HW cache coherency (write-through)"
-+#elif (ETHER_DRAM_COHER == MV_CACHE_COHER_SW)
-+ #define ETH_SDRAM_CONFIG_STR "DRAM SW cache-coherency"
-+#elif (ETHER_DRAM_COHER == MV_UNCACHED)
-+# define ETH_SDRAM_CONFIG_STR "DRAM uncached"
-+#else
-+ #error "Ethernet-DRAM undefined"
-+#endif /* ETHER_DRAM_COHER */
-+
-+
-+/****************************************************************/
-+/************* Ethernet driver configuration ********************/
-+/****************************************************************/
-+
-+/* port's default queueus */
-+#define ETH_DEF_TXQ 0
-+#define ETH_DEF_RXQ 0
-+
-+#define MV_ETH_RX_Q_NUM CONFIG_MV_ETH_RX_Q_NUM
-+#define MV_ETH_TX_Q_NUM CONFIG_MV_ETH_TX_Q_NUM
-+
-+/* interrupt coalescing setting */
-+#define ETH_TX_COAL 200
-+#define ETH_RX_COAL 200
-+
-+/* Checksum offloading */
-+#define TX_CSUM_OFFLOAD
-+#define RX_CSUM_OFFLOAD
-+
-+#endif /* CONFIG_MV_INCLUDE_GIG_ETH */
-+
-+/****************************************************************/
-+/*************** Telephony configuration ************************/
-+/****************************************************************/
-+#if defined(CONFIG_MV_TDM_LINEAR_MODE)
-+ #define MV_TDM_LINEAR_MODE
-+#elif defined(CONFIG_MV_TDM_ULAW_MODE)
-+ #define MV_TDM_ULAW_MODE
-+#endif
-+
-+#if defined(CONFIG_MV_TDM_5CHANNELS)
-+ #define MV_TDM_5CHANNELS
-+#endif
-+
-+#if defined(CONFIG_MV_TDM_USE_EXTERNAL_PCLK_SOURCE)
-+ #define MV_TDM_USE_EXTERNAL_PCLK_SOURCE
-+#endif
-+
-+/* We use the following registers to store DRAM interface pre configuration */
-+/* auto-detection results */
-+/* IMPORTANT: We are using mask register for that purpose. Before writing */
-+/* to units mask register, make sure main maks register is set to disable */
-+/* all interrupts. */
-+#define DRAM_BUF_REG0 0x30810 /* sdram bank 0 size */
-+#define DRAM_BUF_REG1 0x30820 /* sdram config */
-+#define DRAM_BUF_REG2 0x30830 /* sdram mode */
-+#define DRAM_BUF_REG3 0x308c4 /* dunit control low */
-+#define DRAM_BUF_REG4 0x60a90 /* sdram address control */
-+#define DRAM_BUF_REG5 0x60a94 /* sdram timing control low */
-+#define DRAM_BUF_REG6 0x60a98 /* sdram timing control high */
-+#define DRAM_BUF_REG7 0x60a9c /* sdram ODT control low */
-+#define DRAM_BUF_REG8 0x60b90 /* sdram ODT control high */
-+#define DRAM_BUF_REG9 0x60b94 /* sdram Dunit ODT control */
-+#define DRAM_BUF_REG10 0x60b98 /* sdram Extended Mode */
-+#define DRAM_BUF_REG11 0x60b9c /* sdram Ddr2 Time Low Reg */
-+#define DRAM_BUF_REG12 0x60a00 /* sdram Ddr2 Time High Reg */
-+#define DRAM_BUF_REG13 0x60a04 /* dunit Ctrl High */
-+#define DRAM_BUF_REG14 0x60b00 /* sdram second DIMM exist */
-+
-+/* Following the pre-configuration registers default values restored after */
-+/* auto-detection is done */
-+#define DRAM_BUF_REG_DV 0
-+
-+/* System Mapping */
-+#define SDRAM_CS0_BASE 0x00000000
-+#define SDRAM_CS0_SIZE _256M
-+
-+#define SDRAM_CS1_BASE 0x10000000
-+#define SDRAM_CS1_SIZE _256M
-+
-+#define SDRAM_CS2_BASE 0x20000000
-+#define SDRAM_CS2_SIZE _256M
-+
-+#define SDRAM_CS3_BASE 0x30000000
-+#define SDRAM_CS3_SIZE _256M
-+
-+/* PEX */
-+#define PEX0_MEM_BASE 0xe8000000
-+#define PEX0_MEM_SIZE _128M
-+
-+#define PEX0_IO_BASE 0xf2000000
-+#define PEX0_IO_SIZE _1M
-+
-+/* Device Chip Selects */
-+#define NFLASH_CS_BASE 0xfa000000
-+#define NFLASH_CS_SIZE _2M
-+
-+#define SPI_CS_BASE 0xf4000000
-+#define SPI_CS_SIZE _16M
-+
-+#define CRYPT_ENG_BASE 0xf0000000
-+#define CRYPT_ENG_SIZE _2M
-+
-+#define BOOTDEV_CS_BASE 0xff800000
-+#define BOOTDEV_CS_SIZE _8M
-+
-+/* CS2 - BOOTROM */
-+#define DEVICE_CS2_BASE 0xff900000
-+#define DEVICE_CS2_SIZE _1M
-+
-+/* PEX Work arround */
-+/* the target we will use for the workarround */
-+#define PEX_CONFIG_RW_WA_TARGET PEX0_MEM
-+/*a flag that indicates if we are going to use the
-+size and base of the target we using for the workarround
-+window */
-+#define PEX_CONFIG_RW_WA_USE_ORIGINAL_WIN_VALUES 1
-+/* if the above flag is 0 then the following values
-+will be used for the workarround window base and size,
-+otherwise the following defines will be ignored */
-+#define PEX_CONFIG_RW_WA_BASE 0xF3000000
-+#define PEX_CONFIG_RW_WA_SIZE _16M
-+
-+/* Internal registers: size is defined in Controllerenvironment */
-+#define INTER_REGS_BASE 0xFEE00000
-+
-+/* DRAM detection stuff */
-+#define MV_DRAM_AUTO_SIZE
-+
-+/* Board clock detection */
-+#define TCLK_AUTO_DETECT /* Use Tclk auto detection */
-+#define SYSCLK_AUTO_DETECT /* Use SysClk auto detection */
-+#define PCLCK_AUTO_DETECT /* Use PClk auto detection */
-+#define L2CLK_AUTO_DETECT /* Use L2Clk auto detection */
-+
-+/* PEX-PCI\PCI-PCI Bridge*/
-+#define PCI0_IF_PTP 0 /* Bridge exist on pciIf0*/
-+
-+
-+
-+#endif /* __INCmvSysHwConfigh */
-+
-diff -Nur linux-2.6.39.orig/crypto/ocf/Makefile linux-2.6.39/crypto/ocf/Makefile
---- linux-2.6.39.orig/crypto/ocf/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/Makefile 2011-07-31 11:32:02.263415742 +0200
-@@ -0,0 +1,124 @@
-+# for SGlinux builds
-+-include $(ROOTDIR)/modules/.config
-+
-+OCF_OBJS = crypto.o criov.o
-+
-+ifdef CONFIG_OCF_RANDOMHARVEST
-+ OCF_OBJS += random.o
-+endif
-+
-+ifdef CONFIG_OCF_FIPS
-+ OCF_OBJS += rndtest.o
-+endif
-+
-+# Add in autoconf.h to get #defines for CONFIG_xxx
-+AUTOCONF_H=$(ROOTDIR)/modules/autoconf.h
-+ifeq ($(AUTOCONF_H), $(wildcard $(AUTOCONF_H)))
-+ EXTRA_CFLAGS += -include $(AUTOCONF_H)
-+ export EXTRA_CFLAGS
-+endif
-+
-+ifndef obj
-+ obj ?= .
-+ _obj = subdir
-+ mod-subdirs := safe hifn ixp4xx talitos ocfnull
-+ export-objs += crypto.o criov.o random.o
-+ list-multi += ocf.o
-+ _slash :=
-+else
-+ _obj = obj
-+ _slash := /
-+endif
-+
-+EXTRA_CFLAGS += -I$(obj)/.
-+
-+obj-$(CONFIG_OCF_OCF) += ocf.o
-+obj-$(CONFIG_OCF_CRYPTODEV) += cryptodev.o
-+obj-$(CONFIG_OCF_CRYPTOSOFT) += cryptosoft.o
-+obj-$(CONFIG_OCF_BENCH) += ocf-bench.o
-+
-+$(_obj)-$(CONFIG_OCF_SAFE) += safe$(_slash)
-+$(_obj)-$(CONFIG_OCF_HIFN) += hifn$(_slash)
-+$(_obj)-$(CONFIG_OCF_IXP4XX) += ixp4xx$(_slash)
-+$(_obj)-$(CONFIG_OCF_TALITOS) += talitos$(_slash)
-+$(_obj)-$(CONFIG_OCF_PASEMI) += pasemi$(_slash)
-+$(_obj)-$(CONFIG_OCF_EP80579) += ep80579$(_slash)
-+$(_obj)-$(CONFIG_OCF_CRYPTOCTEON) += cryptocteon$(_slash)
-+$(_obj)-$(CONFIG_OCF_KIRKWOOD) += kirkwood$(_slash)
-+$(_obj)-$(CONFIG_OCF_OCFNULL) += ocfnull$(_slash)
-+$(_obj)-$(CONFIG_OCF_C7108) += c7108$(_slash)
-+
-+ocf-objs := $(OCF_OBJS)
-+
-+$(list-multi) dummy1: $(ocf-objs)
-+ $(LD) -r -o $@ $(ocf-objs)
-+
-+.PHONY:
-+clean:
-+ rm -f *.o *.ko .*.o.flags .*.ko.cmd .*.o.cmd .*.mod.o.cmd *.mod.c
-+ rm -f */*.o */*.ko */.*.o.cmd */.*.ko.cmd */.*.mod.o.cmd */*.mod.c */.*.o.flags
-+
-+ifdef TOPDIR
-+-include $(TOPDIR)/Rules.make
-+endif
-+
-+#
-+# release gen targets
-+#
-+
-+.PHONY: patch
-+patch:
-+ REL=`date +%Y%m%d`; \
-+ patch=ocf-linux-$$REL.patch; \
-+ patch24=ocf-linux-24-$$REL.patch; \
-+ patch26=ocf-linux-26-$$REL.patch; \
-+ ( \
-+ find . -name Makefile; \
-+ find . -name Config.in; \
-+ find . -name Kconfig; \
-+ find . -name README; \
-+ find . -name '*.[ch]' | grep -v '.mod.c'; \
-+ ) | while read t; do \
-+ diff -Nau /dev/null $$t | sed 's?^+++ \./?+++ linux/crypto/ocf/?'; \
-+ done > $$patch; \
-+ cat patches/linux-2.4.35-ocf.patch $$patch > $$patch24; \
-+ cat patches/linux-2.6.33-ocf.patch $$patch > $$patch26
-+
-+.PHONY: tarball
-+tarball:
-+ REL=`date +%Y%m%d`; RELDIR=/tmp/ocf-linux-$$REL; \
-+ CURDIR=`pwd`; \
-+ rm -rf /tmp/ocf-linux-$$REL*; \
-+ mkdir -p $$RELDIR/tools; \
-+ cp README* $$RELDIR; \
-+ cp patches/openss*.patch $$RELDIR; \
-+ cp patches/crypto-tools.patch $$RELDIR; \
-+ cp tools/[!C]* $$RELDIR/tools; \
-+ cd ..; \
-+ tar cvf $$RELDIR/ocf-linux.tar \
-+ --exclude=CVS \
-+ --exclude=.* \
-+ --exclude=*.o \
-+ --exclude=*.ko \
-+ --exclude=*.mod.* \
-+ --exclude=README* \
-+ --exclude=ocf-*.patch \
-+ --exclude=ocf/patches/openss*.patch \
-+ --exclude=ocf/patches/crypto-tools.patch \
-+ --exclude=ocf/tools \
-+ ocf; \
-+ gzip -9 $$RELDIR/ocf-linux.tar; \
-+ cd /tmp; \
-+ tar cvf ocf-linux-$$REL.tar ocf-linux-$$REL; \
-+ gzip -9 ocf-linux-$$REL.tar; \
-+ cd $$CURDIR/../../user; \
-+ rm -rf /tmp/crypto-tools-$$REL*; \
-+ tar cvf /tmp/crypto-tools-$$REL.tar \
-+ --exclude=CVS \
-+ --exclude=.* \
-+ --exclude=*.o \
-+ --exclude=cryptotest \
-+ --exclude=cryptokeytest \
-+ crypto-tools; \
-+ gzip -9 /tmp/crypto-tools-$$REL.tar
-+
diff -Nur linux-2.6.39.orig/crypto/ocf/ocf-bench.c linux-2.6.39/crypto/ocf/ocf-bench.c
--- linux-2.6.39.orig/crypto/ocf/ocf-bench.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ocf-bench.c 2011-07-31 11:32:02.503619326 +0200
++++ linux-2.6.39/crypto/ocf/ocf-bench.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,436 @@
+/*
+ * A loadable module that benchmarks the OCF crypto speed from kernel space.
@@ -80006,7 +80165,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ocf-bench.c linux-2.6.39/crypto/ocf/ocf-b
+MODULE_DESCRIPTION("Benchmark various in-kernel crypto speeds");
diff -Nur linux-2.6.39.orig/crypto/ocf/ocf-compat.h linux-2.6.39/crypto/ocf/ocf-compat.h
--- linux-2.6.39.orig/crypto/ocf/ocf-compat.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ocf-compat.h 2011-07-31 11:32:02.553424762 +0200
++++ linux-2.6.39/crypto/ocf/ocf-compat.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,294 @@
+#ifndef _BSD_COMPAT_H_
+#define _BSD_COMPAT_H_ 1
@@ -80304,7 +80463,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ocf-compat.h linux-2.6.39/crypto/ocf/ocf-
+#endif /* _BSD_COMPAT_H_ */
diff -Nur linux-2.6.39.orig/crypto/ocf/ocfnull/Makefile linux-2.6.39/crypto/ocf/ocfnull/Makefile
--- linux-2.6.39.orig/crypto/ocf/ocfnull/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ocfnull/Makefile 2011-07-31 11:32:02.593968342 +0200
++++ linux-2.6.39/crypto/ocf/ocfnull/Makefile 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -80320,7 +80479,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ocfnull/Makefile linux-2.6.39/crypto/ocf/
+
diff -Nur linux-2.6.39.orig/crypto/ocf/ocfnull/ocfnull.c linux-2.6.39/crypto/ocf/ocfnull/ocfnull.c
--- linux-2.6.39.orig/crypto/ocf/ocfnull/ocfnull.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/ocfnull/ocfnull.c 2011-07-31 11:32:02.673779571 +0200
++++ linux-2.6.39/crypto/ocf/ocfnull/ocfnull.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,203 @@
+/*
+ * An OCF module for determining the cost of crypto versus the cost of
@@ -80527,7 +80686,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/ocfnull/ocfnull.c linux-2.6.39/crypto/ocf
+MODULE_DESCRIPTION("ocfnull - claims a lot but does nothing");
diff -Nur linux-2.6.39.orig/crypto/ocf/pasemi/Makefile linux-2.6.39/crypto/ocf/pasemi/Makefile
--- linux-2.6.39.orig/crypto/ocf/pasemi/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/pasemi/Makefile 2011-07-31 11:32:02.723416783 +0200
++++ linux-2.6.39/crypto/ocf/pasemi/Makefile 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -80543,7 +80702,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/pasemi/Makefile linux-2.6.39/crypto/ocf/p
+
diff -Nur linux-2.6.39.orig/crypto/ocf/pasemi/pasemi.c linux-2.6.39/crypto/ocf/pasemi/pasemi.c
--- linux-2.6.39.orig/crypto/ocf/pasemi/pasemi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/pasemi/pasemi.c 2011-07-31 11:32:02.773425799 +0200
++++ linux-2.6.39/crypto/ocf/pasemi/pasemi.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1009 @@
+/*
+ * Copyright (C) 2007 PA Semi, Inc
@@ -81556,7 +81715,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/pasemi/pasemi.c linux-2.6.39/crypto/ocf/p
+MODULE_DESCRIPTION("OCF driver for PA Semi PWRficient DMA Crypto Engine");
diff -Nur linux-2.6.39.orig/crypto/ocf/pasemi/pasemi_fnu.h linux-2.6.39/crypto/ocf/pasemi/pasemi_fnu.h
--- linux-2.6.39.orig/crypto/ocf/pasemi/pasemi_fnu.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/pasemi/pasemi_fnu.h 2011-07-31 11:32:02.853424126 +0200
++++ linux-2.6.39/crypto/ocf/pasemi/pasemi_fnu.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,410 @@
+/*
+ * Copyright (C) 2007 PA Semi, Inc
@@ -81970,7 +82129,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/pasemi/pasemi_fnu.h linux-2.6.39/crypto/o
+#endif /* PASEMI_FNU_H */
diff -Nur linux-2.6.39.orig/crypto/ocf/random.c linux-2.6.39/crypto/ocf/random.c
--- linux-2.6.39.orig/crypto/ocf/random.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/random.c 2011-07-31 11:32:02.893424809 +0200
++++ linux-2.6.39/crypto/ocf/random.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,322 @@
+/*
+ * A system independant way of adding entropy to the kernels pool
@@ -82294,180 +82453,9 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/random.c linux-2.6.39/crypto/ocf/random.c
+ return retval;
+}
+
-diff -Nur linux-2.6.39.orig/crypto/ocf/README linux-2.6.39/crypto/ocf/README
---- linux-2.6.39.orig/crypto/ocf/README 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/README 2011-07-31 11:32:02.943424379 +0200
-@@ -0,0 +1,167 @@
-+README - ocf-linux-20100325
-+---------------------------
-+
-+This README provides instructions for getting ocf-linux compiled and
-+operating in a generic linux environment. For other information you
-+might like to visit the home page for this project:
-+
-+ http://ocf-linux.sourceforge.net/
-+
-+Adding OCF to linux
-+-------------------
-+
-+ Not much in this file for now, just some notes. I usually build
-+ the ocf support as modules but it can be built into the kernel as
-+ well. To use it:
-+
-+ * mknod /dev/crypto c 10 70
-+
-+ * to add OCF to your kernel source, you have two options. Apply
-+ the kernel specific patch:
-+
-+ cd linux-2.4*; gunzip < ocf-linux-24-XXXXXXXX.patch.gz | patch -p1
-+ cd linux-2.6*; gunzip < ocf-linux-26-XXXXXXXX.patch.gz | patch -p1
-+
-+ if you do one of the above, then you can proceed to the next step,
-+ or you can do the above process by hand with using the patches against
-+ linux-2.4.35 and 2.6.33 to include the ocf code under crypto/ocf.
-+ Here's how to add it:
-+
-+ for 2.4.35 (and later)
-+
-+ cd linux-2.4.35/crypto
-+ tar xvzf ocf-linux.tar.gz
-+ cd ..
-+ patch -p1 < crypto/ocf/patches/linux-2.4.35-ocf.patch
-+
-+ for 2.6.23 (and later), find the kernel patch specific (or nearest)
-+ to your kernel versions and then:
-+
-+ cd linux-2.6.NN/crypto
-+ tar xvzf ocf-linux.tar.gz
-+ cd ..
-+ patch -p1 < crypto/ocf/patches/linux-2.6.NN-ocf.patch
-+
-+ It should be easy to take this patch and apply it to other more
-+ recent versions of the kernels. The same patches should also work
-+ relatively easily on kernels as old as 2.6.11 and 2.4.18.
-+
-+ * under 2.4 if you are on a non-x86 platform, you may need to:
-+
-+ cp linux-2.X.x/include/asm-i386/kmap_types.h linux-2.X.x/include/asm-YYY
-+
-+ so that you can build the kernel crypto support needed for the cryptosoft
-+ driver.
-+
-+ * For simplicity you should enable all the crypto support in your kernel
-+ except for the test driver. Likewise for the OCF options. Do not
-+ enable OCF crypto drivers for HW that you do not have (for example
-+ ixp4xx will not compile on non-Xscale systems).
-+
-+ * make sure that cryptodev.h (from ocf-linux.tar.gz) is installed as
-+ crypto/cryptodev.h in an include directory that is used for building
-+ applications for your platform. For example on a host system that
-+ might be:
-+
-+ /usr/include/crypto/cryptodev.h
-+
-+ * patch your openssl-0.9.8n code with the openssl-0.9.8n.patch.
-+ (NOTE: there is no longer a need to patch ssh). The patch is against:
-+ openssl-0_9_8e
-+
-+ If you need a patch for an older version of openssl, you should look
-+ to older OCF releases. This patch is unlikely to work on older
-+ openssl versions.
-+
-+ openssl-0.9.8n.patch
-+ - enables --with-cryptodev for non BSD systems
-+ - adds -cpu option to openssl speed for calculating CPU load
-+ under linux
-+ - fixes null pointer in openssl speed multi thread output.
-+ - fixes test keys to work with linux crypto's more stringent
-+ key checking.
-+ - adds MD5/SHA acceleration (Ronen Shitrit), only enabled
-+ with the --with-cryptodev-digests option
-+ - fixes bug in engine code caching.
-+
-+ * build crypto-tools-XXXXXXXX.tar.gz if you want to try some of the BSD
-+ tools for testing OCF (ie., cryptotest).
-+
-+How to load the OCF drivers
-+---------------------------
-+
-+ First insert the base modules:
-+
-+ insmod ocf
-+ insmod cryptodev
-+
-+ You can then install the software OCF driver with:
-+
-+ insmod cryptosoft
-+
-+ and one or more of the OCF HW drivers with:
-+
-+ insmod safe
-+ insmod hifn7751
-+ insmod ixp4xx
-+ ...
-+
-+ all the drivers take a debug option to enable verbose debug so that
-+ you can see what is going on. For debug you load them as:
-+
-+ insmod ocf crypto_debug=1
-+ insmod cryptodev cryptodev_debug=1
-+ insmod cryptosoft swcr_debug=1
-+
-+ You may load more than one OCF crypto driver but then there is no guarantee
-+ as to which will be used.
-+
-+ You can also enable debug at run time on 2.6 systems with the following:
-+
-+ echo 1 > /sys/module/ocf/parameters/crypto_debug
-+ echo 1 > /sys/module/cryptodev/parameters/cryptodev_debug
-+ echo 1 > /sys/module/cryptosoft/parameters/swcr_debug
-+ echo 1 > /sys/module/hifn7751/parameters/hifn_debug
-+ echo 1 > /sys/module/safe/parameters/safe_debug
-+ echo 1 > /sys/module/ixp4xx/parameters/ixp_debug
-+ ...
-+
-+Testing the OCF support
-+-----------------------
-+
-+ run "cryptotest", it should do a short test for a couple of
-+ des packets. If it does everything is working.
-+
-+ If this works, then ssh will use the driver when invoked as:
-+
-+ ssh -c 3des username@host
-+
-+ to see for sure that it is operating, enable debug as defined above.
-+
-+ To get a better idea of performance run:
-+
-+ cryptotest 100 4096
-+
-+ There are more options to cryptotest, see the help.
-+
-+ It is also possible to use openssl to test the speed of the crypto
-+ drivers.
-+
-+ openssl speed -evp des -engine cryptodev -elapsed
-+ openssl speed -evp des3 -engine cryptodev -elapsed
-+ openssl speed -evp aes128 -engine cryptodev -elapsed
-+
-+ and multiple threads (10) with:
-+
-+ openssl speed -evp des -engine cryptodev -elapsed -multi 10
-+ openssl speed -evp des3 -engine cryptodev -elapsed -multi 10
-+ openssl speed -evp aes128 -engine cryptodev -elapsed -multi 10
-+
-+ for public key testing you can try:
-+
-+ cryptokeytest
-+ openssl speed -engine cryptodev rsa -elapsed
-+ openssl speed -engine cryptodev dsa -elapsed
-+
-+David McCullough
-+david_mccullough@mcafee.com
diff -Nur linux-2.6.39.orig/crypto/ocf/rndtest.c linux-2.6.39/crypto/ocf/rndtest.c
--- linux-2.6.39.orig/crypto/ocf/rndtest.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/rndtest.c 2011-07-31 11:32:03.003418121 +0200
++++ linux-2.6.39/crypto/ocf/rndtest.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,300 @@
+/* $OpenBSD$ */
+
@@ -82771,7 +82759,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/rndtest.c linux-2.6.39/crypto/ocf/rndtest
+
diff -Nur linux-2.6.39.orig/crypto/ocf/rndtest.h linux-2.6.39/crypto/ocf/rndtest.h
--- linux-2.6.39.orig/crypto/ocf/rndtest.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/rndtest.h 2011-07-31 11:32:03.053424638 +0200
++++ linux-2.6.39/crypto/ocf/rndtest.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,54 @@
+/* $FreeBSD: src/sys/dev/rndtest/rndtest.h,v 1.1 2003/03/11 22:54:44 sam Exp $ */
+/* $OpenBSD$ */
@@ -82829,7 +82817,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/rndtest.h linux-2.6.39/crypto/ocf/rndtest
+extern int rndtest_buf(unsigned char *buf);
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/Makefile linux-2.6.39/crypto/ocf/safe/Makefile
--- linux-2.6.39.orig/crypto/ocf/safe/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/Makefile 2011-07-31 11:32:03.103415819 +0200
++++ linux-2.6.39/crypto/ocf/safe/Makefile 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -82845,7 +82833,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/Makefile linux-2.6.39/crypto/ocf/saf
+
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/md5.c linux-2.6.39/crypto/ocf/safe/md5.c
--- linux-2.6.39.orig/crypto/ocf/safe/md5.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/md5.c 2011-07-31 11:32:03.133424181 +0200
++++ linux-2.6.39/crypto/ocf/safe/md5.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,308 @@
+/* $KAME: md5.c,v 1.5 2000/11/08 06:13:08 itojun Exp $ */
+/*
@@ -83157,7 +83145,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/md5.c linux-2.6.39/crypto/ocf/safe/m
+}
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/md5.h linux-2.6.39/crypto/ocf/safe/md5.h
--- linux-2.6.39.orig/crypto/ocf/safe/md5.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/md5.h 2011-07-31 11:32:03.193425406 +0200
++++ linux-2.6.39/crypto/ocf/safe/md5.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,76 @@
+/* $FreeBSD: src/sys/crypto/md5.h,v 1.4 2002/03/20 05:13:50 alfred Exp $ */
+/* $KAME: md5.h,v 1.4 2000/03/27 04:36:22 sumikawa Exp $ */
@@ -83237,7 +83225,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/md5.h linux-2.6.39/crypto/ocf/safe/m
+#endif /* ! _NETINET6_MD5_H_*/
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/safe.c linux-2.6.39/crypto/ocf/safe/safe.c
--- linux-2.6.39.orig/crypto/ocf/safe/safe.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/safe.c 2011-07-31 11:32:03.283973139 +0200
++++ linux-2.6.39/crypto/ocf/safe/safe.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,2288 @@
+/*-
+ * Linux port done by David McCullough <david_mccullough@mcafee.com>
@@ -85529,7 +85517,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/safe.c linux-2.6.39/crypto/ocf/safe/
+MODULE_DESCRIPTION("OCF driver for safenet PCI crypto devices");
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/safereg.h linux-2.6.39/crypto/ocf/safe/safereg.h
--- linux-2.6.39.orig/crypto/ocf/safe/safereg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/safereg.h 2011-07-31 11:32:03.353424583 +0200
++++ linux-2.6.39/crypto/ocf/safe/safereg.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,421 @@
+/*-
+ * Copyright (c) 2003 Sam Leffler, Errno Consulting
@@ -85954,7 +85942,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/safereg.h linux-2.6.39/crypto/ocf/sa
+#endif /* _SAFE_SAFEREG_H_ */
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/safevar.h linux-2.6.39/crypto/ocf/safe/safevar.h
--- linux-2.6.39.orig/crypto/ocf/safe/safevar.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/safevar.h 2011-07-31 11:32:03.453422685 +0200
++++ linux-2.6.39/crypto/ocf/safe/safevar.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,230 @@
+/*-
+ * The linux port of this code done by David McCullough
@@ -86188,7 +86176,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/safevar.h linux-2.6.39/crypto/ocf/sa
+#endif /* _SAFE_SAFEVAR_H_ */
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/sha1.c linux-2.6.39/crypto/ocf/safe/sha1.c
--- linux-2.6.39.orig/crypto/ocf/safe/sha1.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/sha1.c 2011-07-31 11:32:03.523415629 +0200
++++ linux-2.6.39/crypto/ocf/safe/sha1.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,279 @@
+/* $KAME: sha1.c,v 1.5 2000/11/08 06:13:08 itojun Exp $ */
+/*
@@ -86471,7 +86459,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/sha1.c linux-2.6.39/crypto/ocf/safe/
+#endif /*unsupported*/
diff -Nur linux-2.6.39.orig/crypto/ocf/safe/sha1.h linux-2.6.39/crypto/ocf/safe/sha1.h
--- linux-2.6.39.orig/crypto/ocf/safe/sha1.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/safe/sha1.h 2011-07-31 11:32:03.573607610 +0200
++++ linux-2.6.39/crypto/ocf/safe/sha1.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,72 @@
+/* $FreeBSD: src/sys/crypto/sha1.h,v 1.8 2002/03/20 05:13:50 alfred Exp $ */
+/* $KAME: sha1.h,v 1.5 2000/03/27 04:36:23 sumikawa Exp $ */
@@ -86547,7 +86535,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/safe/sha1.h linux-2.6.39/crypto/ocf/safe/
+#endif /*_NETINET6_SHA1_H_*/
diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/Makefile linux-2.6.39/crypto/ocf/talitos/Makefile
--- linux-2.6.39.orig/crypto/ocf/talitos/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/talitos/Makefile 2011-07-31 11:32:03.614050367 +0200
++++ linux-2.6.39/crypto/ocf/talitos/Makefile 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,12 @@
+# for SGlinux builds
+-include $(ROOTDIR)/modules/.config
@@ -86563,7 +86551,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/Makefile linux-2.6.39/crypto/ocf/
+
diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/talitos.c linux-2.6.39/crypto/ocf/talitos/talitos.c
--- linux-2.6.39.orig/crypto/ocf/talitos/talitos.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/talitos/talitos.c 2011-07-31 11:32:03.693425260 +0200
++++ linux-2.6.39/crypto/ocf/talitos/talitos.c 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1359 @@
+/*
+ * crypto/ocf/talitos/talitos.c
@@ -87926,7 +87914,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/talitos.c linux-2.6.39/crypto/ocf
+MODULE_DESCRIPTION("OCF driver for Freescale SEC (talitos)");
diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/talitos_dev.h linux-2.6.39/crypto/ocf/talitos/talitos_dev.h
--- linux-2.6.39.orig/crypto/ocf/talitos/talitos_dev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/talitos/talitos_dev.h 2011-07-31 11:32:03.743425080 +0200
++++ linux-2.6.39/crypto/ocf/talitos/talitos_dev.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,277 @@
+/*
+ * Freescale SEC (talitos) device dependent data structures
@@ -88207,7 +88195,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/talitos_dev.h linux-2.6.39/crypto
+ } while (0)
diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/talitos_soft.h linux-2.6.39/crypto/ocf/talitos/talitos_soft.h
--- linux-2.6.39.orig/crypto/ocf/talitos/talitos_soft.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/talitos/talitos_soft.h 2011-07-31 11:32:03.783415616 +0200
++++ linux-2.6.39/crypto/ocf/talitos/talitos_soft.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,77 @@
+/*
+ * Freescale SEC data structures for integration with ocf-linux
@@ -88288,7 +88276,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/talitos/talitos_soft.h linux-2.6.39/crypt
+#define TALITOS_SID(crd, sesn) (((crd) << 28) | ((sesn) & 0x0fffffff))
diff -Nur linux-2.6.39.orig/crypto/ocf/uio.h linux-2.6.39/crypto/ocf/uio.h
--- linux-2.6.39.orig/crypto/ocf/uio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/crypto/ocf/uio.h 2011-07-31 11:32:03.813424426 +0200
++++ linux-2.6.39/crypto/ocf/uio.h 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,54 @@
+#ifndef _OCF_UIO_H_
+#define _OCF_UIO_H_
@@ -88346,7 +88334,7 @@ diff -Nur linux-2.6.39.orig/crypto/ocf/uio.h linux-2.6.39/crypto/ocf/uio.h
+#endif
diff -Nur linux-2.6.39.orig/drivers/char/random.c linux-2.6.39/drivers/char/random.c
--- linux-2.6.39.orig/drivers/char/random.c 2011-05-19 06:06:34.000000000 +0200
-+++ linux-2.6.39/drivers/char/random.c 2011-07-31 11:32:03.873423431 +0200
++++ linux-2.6.39/drivers/char/random.c 2011-08-01 14:38:19.000000000 +0200
@@ -130,6 +130,9 @@
* void add_interrupt_randomness(int irq);
* void add_disk_randomness(struct gendisk *disk);
@@ -88442,7 +88430,7 @@ diff -Nur linux-2.6.39.orig/drivers/char/random.c linux-2.6.39/drivers/char/rand
* Entropy input management
diff -Nur linux-2.6.39.orig/drivers/char/random.c.orig linux-2.6.39/drivers/char/random.c.orig
--- linux-2.6.39.orig/drivers/char/random.c.orig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.39/drivers/char/random.c.orig 2011-05-19 06:06:34.000000000 +0200
++++ linux-2.6.39/drivers/char/random.c.orig 2011-08-01 14:38:19.000000000 +0200
@@ -0,0 +1,1667 @@
+/*
+ * random.c -- A strong random number generator
@@ -90113,7 +90101,7 @@ diff -Nur linux-2.6.39.orig/drivers/char/random.c.orig linux-2.6.39/drivers/char
+}
diff -Nur linux-2.6.39.orig/fs/fcntl.c linux-2.6.39/fs/fcntl.c
--- linux-2.6.39.orig/fs/fcntl.c 2011-05-19 06:06:34.000000000 +0200
-+++ linux-2.6.39/fs/fcntl.c 2011-07-31 11:32:03.933651501 +0200
++++ linux-2.6.39/fs/fcntl.c 2011-08-01 14:38:19.000000000 +0200
@@ -142,6 +142,7 @@
}
return ret;
@@ -90124,7 +90112,7 @@ diff -Nur linux-2.6.39.orig/fs/fcntl.c linux-2.6.39/fs/fcntl.c
diff -Nur linux-2.6.39.orig/include/linux/miscdevice.h linux-2.6.39/include/linux/miscdevice.h
--- linux-2.6.39.orig/include/linux/miscdevice.h 2011-05-19 06:06:34.000000000 +0200
-+++ linux-2.6.39/include/linux/miscdevice.h 2011-07-31 11:32:04.003425404 +0200
++++ linux-2.6.39/include/linux/miscdevice.h 2011-08-01 14:38:19.000000000 +0200
@@ -18,6 +18,7 @@
#define APOLLO_MOUSE_MINOR 7
#define PC110PAD_MINOR 9
@@ -90135,7 +90123,7 @@ diff -Nur linux-2.6.39.orig/include/linux/miscdevice.h linux-2.6.39/include/linu
#define RTC_MINOR 135
diff -Nur linux-2.6.39.orig/include/linux/random.h linux-2.6.39/include/linux/random.h
--- linux-2.6.39.orig/include/linux/random.h 2011-05-19 06:06:34.000000000 +0200
-+++ linux-2.6.39/include/linux/random.h 2011-07-31 11:32:04.053424915 +0200
++++ linux-2.6.39/include/linux/random.h 2011-08-01 14:38:19.000000000 +0200
@@ -9,6 +9,7 @@
#include <linux/types.h>