summaryrefslogtreecommitdiff
path: root/drivers/crypto/tegra-se.c
AgeCommit message (Collapse)Author
2012-07-09crypto: tegra-se: Enable interrupts after clock enableVictor(Weiguo) Pan
Because SE interrupts could be enabled in bootloader, if it's not cleared before jumping into kernel, it continues to assert the interrupt line to interrupt controller. When SE interrupts is enabled in kernel, to access SE registers in IST without clock enabled hung the CPU. To fix this issue, interrupt enabling is moved after clock is enabled. bug 1010334 Change-Id: I1b909efce2c9d92c3112039fc217f7c1360f9bbb Reviewed-on: http://git-master/r/113073 (cherry picked from commit b06e6662f738ad01a3b2b6803db654abaa03385e) Signed-off-by: Victor(Weiguo) Pan <wpan@nvidia.com> Change-Id: Ide4b0295c781e0bba7aa071616e3e6160e44ee76 Reviewed-on: http://git-master/r/114064 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-06-04crypto: tegra-se: Use sg_next to get next sgMallikarjun Kasoju
Use sg_next to get next sg Bug 958431 Signed-off-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Change-Id: I14aa7c9c551d0230b9c5b681a2699dd5355d0a6d Reviewed-on: http://git-master/r/98449 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Tested-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@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-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-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-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-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-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: 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