History log of /drivers/crypto/geode-aes.c
Revision Date Author Comments
d207a38cbc520ebac3c945dac3d355edfa04f5e3 14-May-2014 Marek Vasut <marex@denx.de> crypto: geode - Don't use tfm->__crt_alg->cra_name directly

Use a standard accessor instead of directly digging into a structure.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
701bcbc1892f408aa22b0190f33dd6de063e76aa 14-May-2014 Marek Vasut <marex@denx.de> crypto: geode - Weed out printk() from probe()

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Cc: Eric Bénard <eric@eukrea.com>
Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: Kent Yoder <key@linux.vnet.ibm.com>
Cc: Michal Ludvig <michal@logix.cz>
Cc: Varun Wadekar <vwadekar@nvidia.com>
Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
bac79a2a6189d85f830b424c3b0414a4df5235c2 14-May-2014 Marek Vasut <marex@denx.de> crypto: geode - Kill AES_IV_LENGTH

The AES IV length is always 128bits, just use the define from aes.h

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Cc: Eric Bénard <eric@eukrea.com>
Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: Kent Yoder <key@linux.vnet.ibm.com>
Cc: Michal Ludvig <michal@logix.cz>
Cc: Varun Wadekar <vwadekar@nvidia.com>
Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
b9d865e331290dab97136413a9cf3465f3391ddf 14-May-2014 Marek Vasut <marex@denx.de> crypto: geode - Kill AES_MIN_BLOCK_SIZE

This is actually defined in include/crypto/aes.h , no need to have
a a different symbol for the same thing twice.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Cc: Eric Bénard <eric@eukrea.com>
Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: Kent Yoder <key@linux.vnet.ibm.com>
Cc: Michal Ludvig <michal@logix.cz>
Cc: Varun Wadekar <vwadekar@nvidia.com>
Cc: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
49cfe4db2ddc4d1b32f2bd4910a5a9d7a0e34ae8 21-Dec-2012 Greg Kroah-Hartman <gregkh@linuxfoundation.org> Drivers: crypto: remove __dev* attributes.

CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
markings need to be removed.

This change removes the use of __devinit, __devexit_p, __devinitdata,
and __devexit from these drivers.

Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.

Cc: Bill Pemberton <wfp5p@virginia.edu>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Kent Yoder <key@linux.vnet.ibm.com>
Cc: Jamie Iles <jamie@jamieiles.com>
Cc: Kim Phillips <kim.phillips@freescale.com>
Cc: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Cc: Alex Porosanu <alexandru.porosanu@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
49d30d3d5fd133a6243acf76c98242a68408a31a 27-Aug-2012 Sachin Kamat <sachin.kamat@linaro.org> crypto: geode-aes - Use module_pci_driver

module_pci_driver makes the code simpler by eliminating
module_init and module_exit calls.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
e15aa3692da1dcee3172966a878b04a1e0f514b3 11-Jul-2012 Jussi Kivilinna <jussi.kivilinna@mbnet.fi> crypto: drivers - remove cra_list initialization

Initialization of cra_list is currently mixed, most ciphers initialize this
field and most shashes do not. Initialization however is not needed at all
since cra_list is initialized/overwritten in __crypto_register_alg() with
list_add(). Therefore perform cleanup to remove all unneeded initializations
of this field in 'crypto/drivers/'.

Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linux-geode@lists.infradead.org
Cc: Michal Ludvig <michal@logix.cz>
Cc: Dmitry Kasatkin <dmitry.kasatkin@nokia.com>
Cc: Varun Wadekar <vwadekar@nvidia.com>
Cc: Eric Bénard <eric@eukrea.com>
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Acked-by: Kent Yoder <key@linux.vnet.ibm.com>
Acked-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
d912bb7677f46d78a3cde8a4afd45a3fca4b34e9 01-Nov-2011 Nikos Mavrogiannopoulos <nmav@gnutls.org> crypto: Add CRYPTO_ALG_KERN_DRIVER_ONLY flag

The added CRYPTO_ALG_KERN_DRIVER_ONLY indicates whether a cipher
is only available via a kernel driver. If the cipher implementation
might be available by using an instruction set or by porting the
kernel code, then it must not be set.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1fb1defbb00eb2954483a7d9a70f8a02edf51753 15-Jul-2010 Peter Huewe <peterhuewe@gmx.de> crypto: geode_aes - Convert pci_table entries to PCI_VDEVICE (if PCI_ANY_ID is used)

This patch converts pci_table entries, where .subvendor=PCI_ANY_ID and
.subdevice=PCI_ANY_ID, .class=0 and .class_mask=0, to use the
PCI_VDEVICE macro, and thus improves readability.

Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
99700716a9b2e117fd50c6d3f1fd5edeef6dc6d2 19-Apr-2010 Chihau Chau <chihau@gmail.com> crypto: geode-aes - Fix some code style issues

This fixes some code style issues like:

- Use #include <linux/io.h> instead of <asm/io.h> and #include
<linux/delay.h> instead of <asm/delay.h>

- Use "foo *bar" instead of "foo * bar"

- Add a space after the for or while sentence and before the open
parenthesis '('

- Don't use assignments in a if condition

Signed-off-by: Chihau Chau <chihau@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
e054f1647162d7098a9ff619405a72bd7c417213 04-Feb-2010 Roel Kluin <roel.kluin@gmail.com> crypto: geode-aes - Fix cip/blk confusion

a crypto_cipher cip member was set where a crypto_cipher blk members
should have been.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
faad98f29606d9d3c6bddae7c88693be37d2fb43 08-Jan-2010 Roel Kluin <roel.kluin@gmail.com> crypto: geode-aes - access .cip instead of .blk in cipher mode

The fallback code in cipher mode touch the union fallback.blk instead
of fallback.cip. This is wrong because we use the cipher and not the
blockcipher. This did not show any side effects yet because both types /
structs contain the same element right now.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
f17922bc75d6261dd6e0e2d687ff43b96e91e04a 12-Dec-2007 Adrian Bunk <bunk@kernel.org> [CRYPTO] geode: Add __dev{init,exit} annotations

This patch adds __dev{init,exit} annotations.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
fdc520aa693d462f4958339534a3b596f95795b7 10-Dec-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: Use correct encrypt/decrypt function in fallback

crypto_blkcipher_decrypt is wrong because it does not care about
the IV.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
d2456c66236c15d6462f1ac751cdbd48a34e9704 30-Nov-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: do not copy the IV too often

There is no reason to keep the IV in the private structre. Instead keep
just a pointer to make the patch smaller :)
This also remove a few memcpy()s

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
cd7c3bfe54270f41ac52be6b725a7194d99175b4 10-Nov-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: Add fallback for unsupported modes

The Geode AES crypto engine supports only 128 bit long key. This
patch adds fallback for other key sizes which are required by the
AES standard.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
b7a30da61adc5f252ee97b2a4f3fc23c9d06a08a 21-Oct-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: move defines into a headerfile

This patch moves macros in geode-aes.c into geode-aes.h.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1f4e4773761d0aa622411469b54d6570005a66b1 21-Oct-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: relax in busy loop and care about return value

The code waits in a busy loop until the hardware finishes the encryption
or decryption process. This wants a cpu_relax() :)
The busy loop finishes either if the encryption is done or if the counter
is zero. If the latter is true than the hardware failed. Since this
should not happen, leave sith a BUG().

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2d506d4fa1df18aa9505820722f834426edc907f 21-Oct-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: use consistent IV copy

It is enough if the IV is copied before and after the while loop.
With DM-Crypt is seems not be required to save the IV after encrytion
because a new one is used in the request (dunno about other users).
It is not save to load the IV within while loop and not save afterwards
because we mill end up with the wrong IV if the request goes consists
of more than one page.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
89e12654312dddbbdbf17b5adc95b22cb672f947 17-Oct-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] aes: Move common defines into a header file

This three defines are used in all AES related hardware.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
f1901f1fc710ec0fc482a7c98ee4552874139f39 15-Oct-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: remove alias

alias isn't required because the module provides PCI ids.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2e21630ddc3fb717dc645356b75771c6a52dc627 10-Nov-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] geode: Fix not inplace encryption

Currently the Geode AES module fails to encrypt or decrypt if
the coherent bits are not set what is currently the case if the
encryption does not occur inplace. However, the encryption works
on my Geode machine _only_ if the coherent bits are always set.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
f8246af005d56b73f4f04304fc5b6fd9878af4ef 05-Oct-2007 Sebastian Siewior <sebastian@breakpoint.cc> [CRYPTO] aes: Rename aes to aes-generic

Loading the crypto algorithm by the alias instead of by module directly
has the advantage that all possible implementations of this algorithm
are loaded automatically and the crypto API can choose the best one
depending on its priority.

Additionally it ensures that the generic implementation as well as the
HW driver (if available) is loaded in case the HW driver needs the
generic version as fallback in corner cases.

Signed-off-by: Sebastian Siewior <sebastian@breakpoint.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
761e784673d79c8ea9befdad31e30c65e0d20b82 24-May-2007 Jordan Crouse <jordan.crouse@amd.com> [CRYPTO] geode: Fix in-place operations and set key

Allow in-place crypto operations. Also remove the coherent user flag
(we use it automagically now), and by default use the user written
key rather then the HW hidden key - this makes crypto just work without
any special considerations, and thats OK, since its our only usage
model.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
5efee174f8a101cafb1607d2b629bed353701457 06-Mar-2007 Alexey Dobriyan <adobriyan@gmail.com> [PATCH] geode-aes: use unsigned long for spin_lock_irqsave

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cd354f1ae75e6466a7e31b727faede57a1f89ca5 14-Feb-2007 Tim Schmielau <tim@physik3.uni-rostock.de> [PATCH] remove many unneeded #includes of sched.h

After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there. Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.

To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.

Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm. I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
09cb914f096bd38b22341af291236b65cf55ceee 24-Jan-2007 Richard Knutsson <ricknu-0@student.ltu.se> [CRYPTO] geode: Convert pci_module_init() to pci_register_driver()

Replace uses of the obsolete pci_module_init function.

Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
ab7827059adbbcc3624afbc58880287eabf6d277 17-Nov-2006 Adrian Bunk <bunk@stusta.de> [CRYPTO] geode: Make needlessly global geode_aes_crypt() static

On Tue, Nov 14, 2006 at 01:41:25AM -0800, Andrew Morton wrote:
>...
> Changes since 2.6.19-rc5-mm2:
>...
> git-cryptodev.patch
>...
> git trees
>...

This patch makes the needlessly global geode_aes_crypt() static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
9fe757b0cfcee0724027a675c533077287a21b96 04-Oct-2006 Jordan Crouse <jordan.crouse@amd.com> [PATCH] crypto: Add support for the Geode LX AES hardware

Add a driver to support the AES hardware on the Geode LX processor.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>