summaryrefslogtreecommitdiff
path: root/drivers/crypto
AgeCommit message (Collapse)Author
2012-03-26crypto: tegra-aes: save key during key callSanjay Singh Rawat
Save the key in hardware when the key setting call comes. Currently it is set at later time. Bug 917607 Change-Id: Ibdacb07c16c161eeba00eda6716884518e40c40a Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com> Reviewed-on: http://git-master/r/90072 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
2012-03-12crypto: tegra-se: Check for valid reqeusted buffer sizeMallikarjun Kasoju
Added check for valid requested process buffer size. Bug 928454 Change-Id: I2dc389af64cb3de2f0a0a3f0bbc5057dd9bd676c Reviewed-on: http://git-master/r/89381 Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2012-03-07crypto: tegra-aes: fix "syntax error" in licenseMarc Dietrich
Should have been "GPL v2", not "GPLv2". Signed-off-by: Marc Dietrich <marvin24@gmx.de> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Change-Id: I7b4669c023c48e1080de7f87ed7166dc9b47884a Reviewed-on: http://git-master/r/88101 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Tested-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com>
2012-01-20crypto: tegra-aes: get hardware ownership before copying keyVarun Wadekar
Bug 917607 Change-Id: I049ca03efe7953dc6a6c03eaa4acce85e15662d1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/76154 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sanjay Singh Rawat <srawat@nvidia.com>
2012-01-20crypto: tegra-aes: remove aes_lock usageVarun Wadekar
Bug 917607 Change-Id: I6036b12456d3b5fb22f479a9e0eefd500cb6c059 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/76153 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sanjay Singh Rawat <srawat@nvidia.com>
2012-01-20crypto: tegra-aes: rng: check if bsea is busy before using itVarun Wadekar
Bug 917607 Change-Id: I7497411932b6ba8c155026f1662063e87c21eb40 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/74012 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Sanjay Singh Rawat <srawat@nvidia.com>
2012-01-19crypto: tegra-se: Fix SG buffer length mismatchMallikarjun Kasoju
Fixed the case where SG buffer length is more than actual number of bytes to process. Bug 922857 Change-Id: I8445d8ae74b8fc6c964c19523fcd731f7ba4bd37 Reviewed-on: http://git-master/r/75701 Signed-off-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/75891 Reviewed-by: Automatic_Commit_Validation_User
2012-01-12crypto: tegra-se: RNG support for less than 16 Bytesvjagadish
RNG support for less than 16 Bytes and or not a multiple of 16 Bytes. Bug 893463 Change-Id: I37fff0f90004dd3116b621c5aa956cebbd6a085a Reviewed-on: http://git-master/r/74263 Reviewed-by: Automatic_Commit_Validation_User Tested-by: Venkata Jagadish <vjagadish@nvidia.com> Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com> Reviewed-on: http://git-master/r/74559 Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Venkata Jagadish <vjagadish@nvidia.com>
2011-12-23crypto: tegra-se: Make workqueue CPU unboundSang-Hun Lee
- Workqueue of tegra-se does not need to be CPU bound Bug 911397 Change-Id: I8786e8574cf3ec2e33b3869de8c8be3f0939e13f Signed-off-by: Sang-Hun Lee <sanlee@nvidia.com> Reviewed-on: http://git-master/r/71527 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2011-12-21crypto: tegra-se: Added a check for valid key sizeKasoju Mallikarjun
Check for valid key size before setting the key. Bug 915210 Change-Id: I081e2af9505ea89719d447b4b0ca2b0177860d09 Reviewed-on: http://git-master/r/70046 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
2011-12-15crypto: tegra-aes: store keys in individual requestsVarun Wadekar
store the keys in the individual request context structure, since there is no other way to manage keys across different crypto operations. also retry requests thrice in case of errors Reviewed-on: http://git-master/r/40008 (cherry picked from commit 5437e3230679fbc6e342f7e6787e3cc1692e5df6) Change-Id: Iba23e20371661c8732995d13774cf3dbba6e24b4 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-12-14Merge branch 'linux-3.1.5' into android-tegra-nv-3.1Varun Wadekar
Conflicts: arch/arm/Kconfig Change-Id: If8aaaf3efcbbf6c9017b38efb6d76ef933f147fa Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-12-09crypto: mv_cesa - fix hashing of chunks > 1920 bytesPhil Sutter
commit 274252862f386b7868f35bf5ceaa5391a8ccfdf3 upstream. This was broken by commit 7759995c75ae0cbd4c861582908449f6b6208e7a (yes, myself). The basic problem here is since the digest state is only saved after the last chunk, the state array is only valid when handling the first chunk of the next buffer. Broken since linux-3.0. Signed-off-by: Phil Sutter <phil.sutter@viprinet.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-12-08crypto: tegra-se: fix suspend routine hookupChris Johnson
In platform_pm_suspend, if there's a dev->driver->pm struct, it expects the suspend routine to be filled in there. With a pm struct, it won't use the platform_legacy_suspend path, which is how tegra_se_suspend had been hooked up. This change just moves suspend/resume into the pm ops struct. Bug 883391 Change-Id: Iee8245676ba104d2e4cc0f2f2ffe406674cb1d5b Signed-off-by: Chris Johnson <cwj@nvidia.com> Reviewed-on: http://git-master/r/67989 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2011-12-08crypto: tegra-se: Make device suspend asynchronouslySang-Hun Lee
- Suspension of the device does not need to happen immediately Bug 904152 Change-Id: I900f79faf85c5aca95b67b1284be18d89f36d3a9 Signed-off-by: Sang-Hun Lee <sanlee@nvidia.com> Reviewed-on: http://git-master/r/68318 Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2011-12-08crypto: tegra-se: Fix device hangSang-Hun Lee
Problem description: - runtime_idle is called even if the device is being used as it is called without a lock - This happens when power.usage_count is incremented during rpm_idle - In case runtime_idle is called when the device is being used, write to the bus can happen with clock disabled Fix description: - Instead of disabling clock on runtime_idle, disable on runtime_suspend Bug 904152 Change-Id: I1489c62a0c8cfd84eca788d53d2013487fb7f737 Signed-off-by: Sang-Hun Lee <sanlee@nvidia.com> Reviewed-on: http://git-master/r/68293 Reviewed-by: Thomas Cherry <tcherry@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com>
2011-11-30gcov-kernel: Add GCOV_KERNEL := y to MakefilesJuha Tukkinen
These changes have no effect if CONFIG_GCOV_KERNEL is not set in defconfig. It is easier to trigger GCOV for kernel if this patch is in by only setting the before mentioned flag. Change-Id: I8aade309da2da62c4b3889bd84e4123ba8f182da Signed-off-by: Juha Tukkinen <jtukkinen@nvidia.com> Reviewed-on: http://git-master/r/62999 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Rebase-Id: R4c238f707f1db600f188ae83426336753992b7be
2011-11-30crypto: fix invalid returnColin Patrick McCabe
Change-Id: I9d03b3a6876b858983739c5e8d8a166a08fb2d78 Signed-off-by: Colin Patrick McCabe <cmccabe@nvidia.com> Reviewed-on: http://git-master/r/59170 Reviewed-by: Rakesh Iyer <riyer@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com> Rebase-Id: R73da0f98f4e0d9912ff37cd9faebf06ef11e7bef
2011-11-30crypto: tegra-se: Adding runtime PM supportvenu byravarasu
bug 886813 Change-Id: Ia016c0f783b0396d8433b202ccef1659d10085f5 Reviewed-on: http://git-master/r/57850 Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Tested-by: Venu Byravarasu <vbyravarasu@nvidia.com> Reviewed-by: Peter De Schrijver <pdeschrijver@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Rebase-Id: R5a13865e200c1345bc30ab86b8d3286d47af5796
2011-11-30crypto: tegra-se: Disable read access to all key slotsKasoju Mallikarjun
To prevent unauthorized access to keys loaded into key slots in Security engine, disabled read access for all key slots. Bug 868040 Original-Change-Id: I01229ff9a523192a041b7fab94ed154a65ee15e5 Reviewed-on: http://git-master/r/48998 Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Rebase-Id: Rc625e9ea7b76ba35bfd1de30c1c2d800f93d9c93
2011-11-30crypto: tegra-aes: kconfig: depends on ARCH_TEGRA_3x_SOCVarun Wadekar
tegra-aes driver can also be used on tegra3. Original-Change-Id: Ic0d5e705abfefea9b43d64a9a85d748df189abc9 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/47720 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R790a786e22b3c6a4d0339971419d2be03ed2e272
2011-11-30crypto: tegra-se: RNG support for more than 16 bytesKasoju Mallikarjun
Added support for generating RNG for more than 16 bytes. Bug 861777 Original-Change-Id: I414063378c1b7c31c9ef2ade950adcaa4e7db388 Reviewed-on: http://git-master/r/46066 Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Rebase-Id: Ra4ff01903b00f98b317606be3ffdfef58668aa92
2011-11-30crypto: tegra-se: add LP context save supportKasoju Mallikarjun
Added LP context save support in Security Engine Bug 855476 Original-Change-Id: I384f3adcacd9e94325d40cd98d1c96a98e01aee5 Reviewed-on: http://git-master/r/44810 Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Rebase-Id: R5d891e6908a2e5f6206c7c509d7d0585b1522aee
2011-11-30crypto: tegra-se: add support to use sskVarun Wadekar
support to use ssk for some special encrypt decrypt operations. algo names changed to match the ones accessed by /dev/tegra-crypto Bug 850434 Original-Change-Id: I8f13ae1fd15ffeae4aceee5799552d173560479a Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/41012 Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Rebase-Id: R86620bd834ae7740377f43c285ba86aee74bb4cc
2011-11-30crypto: tegra-aes: replace dev_err and add NULL checkingJubeom Kim
Changed dev_err to pr_err because 'dd' can be NULL. Added NULL checking before clock disable of engine->pclk Reviewed-on: http://git-master/r/37857 (cherry picked from commit 851ffd0a30cbe67a5033a9792825b319f0bcd7ed) Original-Change-Id: If5a2bbd550f3dc038b42d8a185647d02df9cb593 Reviewed-on: http://git-master/r/38446 Tested-by: Jubeom Kim <jubeomk@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R57fa4ce4a2e95d80813448ad5234fb9bdf74faf1
2011-11-30crypto: tegra-aes: validate clk_get return valuesVarun Wadekar
instead of checking for NULL, IS_ERR() should be used to check the validity of a clock handle Reviewed-on: http://git-master/r/#change,35619 (cherry picked from commit cfb16f57d0a846dba4cd5d6a87c05dcb8efd188d) Change-Id: If844a166deabc7e67c9af69e4d05f59757773895 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/36218 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R9a6137402ee132e6b4c1a38ab5d51a3acb035a28
2011-11-30crypto: tegra-se: code refactor and fix clock disableVarun Wadekar
- get some basic struct definitions from the header to the .c file - read SE config register before disabling the clock. there are scenarios seen where some write transactions are not posted before we disable clock. a dummy SE register read fixes that issue. Bug 835859 Original-Change-Id: I5e09c13262dbc392cac233a1fb6d69240b3460f2 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/35636 Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R8a7380e843db8dd8fda379b9d0a2c4270d1bd40b
2011-11-30crypto: tegra-aes: code refactorVarun Wadekar
- reset intr_status if error occur while encrypt/decrypt - rename iram variables to _phys and _virt - use bsea for rng - remove unwanted macros from the header file Bug 833165 Reviewed-on: http://git-master/r/#change,34552 (cherry picked from commit 4f2f0431fe196829c8ec61ab10ed5cb2ea6b5038) Original-Change-Id: I76f221bde1e5fdb331b9b75f826c822bd3246e14 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/35194 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: Ra044f128c66a8591c9d6ed29725c167334efd05d
2011-11-30crypto: tegra-aes: performance optimisationsVarun Wadekar
* set bsea sclk to ulong_max * use unbounded work queues with 1 max_active work item on each of them * clear INTR_STATUS per operation * free nvmap handle after using it Bug 803932 Reviewed-on: http://git-master/r/#change,30196 (cherry picked from commit b0f6c074aab8a9f3bddec4a204b618180df630db) Original-Change-Id: Ica9d702db9a247110d0639c64ab65672f02d7451 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/31936 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R5a51f9a8f7133a7e08f6544bbee581e30b46c6b5
2011-11-30crypto: se: tegra: Support for Security EngineKasoju Mallikarjun
Added support for Security Engine. Following HW features are supported: CBC,ECB,CTR,OFB,SHA1,SHA224,SHA384,SHA512 and AES-CMAC Original-Change-Id: Ic45c29add689f55be68966d333d1cb7cdb378353 Reviewed-on: http://git-master/r/29950 Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R57f92020a7a713f624afe3b1d42da489bf89daba
2011-11-30crypto: tegra-aes: dual core supportSanjay Singh Rawat
* add bsea engine support for encryption and decryption * add arbitration semaphore id for bsea Bug 803932 Original change: http://git-master/r/#change,29672 (cherry picked from commit 0008cdb0f38d0cd0c074671fc067c4321f340b06) Original-Change-Id: I59fcaab29c47a8b42e7470b30486851cfe90848f Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com> Reviewed-on: http://git-master/r/30190 Tested-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R6f1bf287860a24d0a535e49f516581b31092d182
2011-11-30ARM: tegra: Use proper type for physical addressesScott Williams
Original-Change-Id: I158d2be97c795313e7e74ce9fb4ec0bdc7d95496 Reviewed-on: http://git-master/r/27559 Tested-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Hiro Sugawara <hsugawara@nvidia.com> Reviewed-by: Jin Qian <jqian@nvidia.com> Reviewed-by: Kaz Fukuoka <kfukuoka@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Original-Change-Id: I0ff198daa548ed2837f7fb1794013bf0adf7e5a1 Rebase-Id: R46eb4226a3d37331db92f05d1a6e1c8e45f682a2
2011-11-30Update copyrightsScott Williams
Original-Change-Id: I2ffeaf6f8dfeb279b40ca6f69f6c9157401a746a Rebase-Id: Rb4bacf7db8c96e1865380466ef7eca71d72d08bc
2011-11-30crypto: tegra-aes: add support for aes-ofb modepuneet saxena
Bug 787628 Original-Change-Id: I73c3b8f0b3e69f1c4bc13bdaea84b19b14eb73d1 Signed-off-by: Puneet Saxena <puneets@nvidia.com> Reviewed-on: http://git-master/r/28003 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rdf987e66c66135392489bd73ca16429d4d05d636
2011-11-30crypto: tegra-aes: reclaim key slot in cra_exitVarun Wadekar
clients call the algorithm's close api, which results in the algo's cra_exit getting called, when they are done using the hardware. we need to free the key slot which was being used by the client when its cra_exit is called. Original-Change-Id: Ib42d445f5068c4ea1ef6b3edbbc547fe9eeef583 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/24673 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R8676bc01e6930c3164f8cc22d96023e0aeb44a3e
2011-11-30crypto: tegra-aes: enable/disable irq per requestVarun Wadekar
Original-Change-Id: I7d8fe24ab5aa914fc2753f256eec261fcbf746bc Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/22594 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: Re4de8ecdfd6507cad5e0196882326d00f5ae79e0
2011-11-30Revert "Revert "crypto: tegra-aes: performance improvements""Varun Wadekar
This reverts commit 8bc4f710e981d53a9bd161c6c054241231e09149. Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Original-Change-Id: I0497afd3ec54e7b835de37e9941b2418e3dad4e3 Reviewed-on: http://git-master/r/22963 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: Rf393b9a6102e4550c44bc538ccc541879890f924
2011-11-30Revert "crypto: tegra-aes: performance improvements"Varun Colbert
This reverts commit a8dbfda58a6980976de60ba46f22a5f0b2ecab5f. Original-Change-Id: I70407c45cc5605ad9924a5a1145e18371dc9d2ef Reviewed-on: http://git-master/r/22554 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rdfc2a43ce9137e1a7ff81b78868c2e48f91f1b02
2011-11-30crypto: tegra-aes: performance improvementsVarun Wadekar
- set the key only at the start of encrypt/decrypt operations - avoid using mutex in handle_req, since it is already serialised - sanity checks while setting the iv Original-Change-Id: I026e138f59d661cd705db6820bed63e5e15f02c5 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/22162 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R11bd949802ebf158b87b8705aab5271c27da844b
2011-11-30crypto: tegra-aes: do not track ssk slotVarun Wadekar
ssk slot is write-locked so the driver should not track in its free slot pool. Original-Change-Id: Ibf04a949a2894ef2c41851e7e92c13901c873bf2 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/22161 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R7ae05f50294e8a7f0241296aee53cda57aa36a5f
2011-11-30crypto: tegra-aes: set vde clock to max in _probeVarun Wadekar
Original-Change-Id: I41ba8dfc193b346eda522eadfb0f9035f4d838f8 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/22160 Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R8351adfba377ede436f101194551e8091aa5528b
2011-11-30crypto: tegra-aes: perf: remove unnecessary polling and memsetVarun Wadekar
Change-Id: I69731fcd50933ccea73542d046c3c5d86d03fcd9 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crypto: tegra-aes: Hack to disable HW AES for dm-cryptKen Sumrall
The hardware aes engine is required for key management for HDCP, but since it's performance is bad, we don't want it enabled for dm-crypt. This hack changes the cra_name field so dm-crypt won't find a match, but leaves the cra_driver_name field unchanged to the device file interface will still find it. Signed-off-by: Ken Sumrall <ksumrall@android.com>
2011-11-30crypto: tegra-aes: improve encrypt/decrypt performanceVarun Wadekar
- enable/disable clocks only once per request - create a thread for handling the driver's work queue - always set vde clocks to the max before processing a request Change-Id: I935e5523e9e913c93705cc694f8a475d212c15ce Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crypto: tegra-aes: call INIT_COMPLETION before setting the transferVarun Wadekar
Change-Id: I368a9bf8aa1c311532e54d18a813b556576b8da1 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crypto: tegra-aes: do not reset bsev/vde per operationVarun Wadekar
avp does not use the crypto engine inside the vde block, so it is ok if we do not reset the entire block before any crypto operation. this would save more than 100us per crypto operation. Change-Id: I4e6f4940c5b6e95498b6f7a62498fbf956e25254 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crytpo: tegra-aes: make aes_handle_req aynschronousVarun Wadekar
the encrypt/decrypt callbacks have to return with -EINPROGRESS error code and the request complete callback needs to be called from handle_req for aynchronous block ciphers. use work queue to make the driver asynchronous. Change-Id: I0dec1185c31e5de7ba039c39d6bd87c8b3487b2a Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crypto: tegra-aes: reduce ivsize to 16 bytes and priority to 100Varun Wadekar
Change-Id: I6f5a7107d1140cf67f6029111cb4df312ac1183c Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crypto: tegra-aes: initialise bsev/vde clocks per operationVarun Wadekar
Change-Id: Iaddea9ba9d3bee9c987776f37225dee483684274 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
2011-11-30crypto: tegra-aes: Disable clock at end of probeColin Cross
Change-Id: Ie5b98b705a7ec70782df5dc0aec69438b699661c Signed-off-by: Colin Cross <ccross@android.com>