summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-05-22crypto: ux500: hash: device_prep_slave_sg() has a new context param in 3.4securityPhilippe Langlais
Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org>
2012-05-22ARM: ux500: tee: Always assume v2.0 or laterJonas Aaberg
Remove check for pre v2.0 db8500 since pre v2.0 hardware is no longer supported. ST-Ericsson Linux next: - ST-Ericsson ID: 370799 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I5d1ab944c6d85cc39eb748a9bc585c2c6ca5e5ac Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/43189 Reviewed-by: QABUILD Reviewed-by: Joakim BECH <joakim.xx.bech@stericsson.com> Reviewed-by: QATEST
2012-05-22mach-ux500, drivers: u9540 security fixMichel JAOUEN
ST-Ericsson ID: 409625 ST-Ericsson FOSS-OUT ID: trivial ST-Ericsson Linux next: NA Depends-On: Iff4121811d2afbf581eec0905077c58bff96ce09 Change-Id: I43d5d593a4b6183d39322851db930e687177eead Signed-off-by: Michel JAOUEN <michel.jaouen@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45317 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com> Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-05-22ux500: Tee: Use hwmem for memrefsJoakim Bech
- Instead of kmalloc, hwmem is used when copying memrefs from user space to kernel space. - Fix for a invalid free when calls to secure world fails. - Remove free to memrefs etc in tee_release since they should be handled completely in tee_write. ST-Ericsson ID: 375595 ST-Ericsson FOSS-OUT ID: NA ST-Ericsson Linux next: NA Depends-On: I2067c34223ce49515c6b7ee8fcc4dcecb9119300 Change-Id: Ibab9edd618d3efe6d6d6302cbb9fb4bde987b99a Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/42167 Reviewed-by: QATOOLS Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
2012-05-22ux500: TEE: Moved conversion of virt_to_physJoakim Bech
If memory allocation failed when trying to copy memrefs from user space to kernel space we jumped to error handling code which tried to free the memrefs that had been allocated previously. The problem was that after each allocation we converted the allocated buffers to physical addresses, hence if any of the allocations except the first one failed we ended up trying to free a physical address. In this patch we have moved the translation from virtual to physical addresses to be done after all allocations have succeeded. ST-Ericsson ID: 374810, 374493, 374920 ST-Ericsson FOSS-OUT ID: NA ST-Ericsson Linux next: NA Change-Id: I3a109a9ebb46f74a2089916fa300bf6f4347501b Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39876 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-05-22crypto: ux500: hash: Performance improvementsBerne Hebark
- writel and readl changed to writel/readl_relaxed. - changed to writesl in HASH_SET_DIN macro. - DMA limitation to use CPU mode for datasize < 1kB. ST-Ericsson ID: 371579 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I111351fbdbc874a35dbc5bce2dd9dbe3f4411253 Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/36618 Reviewed-by: QATOOLS Reviewed-by: QABUILD Reviewed-by: Per FORLIN <per.forlin@stericsson.com>
2012-05-22security: ux500: Coding style fixesPhilippe Langlais
Fix the most obvious violations of the kernel coding style Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
2012-05-22crypto: ux500: hash: Coverity correctionBerne Hebark
Coverity found invalid usage of device_data->dev. ST-Ericsson ID: 361610 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I78e756eb36af833e6620d0b02eda25c36741c94a Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/36480 Reviewed-by: QATOOLS Reviewed-by: QABUILD
2012-05-22crypto: ux500: hash: DMA supportBerne Hebark
- Support for DMA. - Direct to CPU mode for data size < 4 byte data. - Workaround to handle data sizes not modulo wordsize. - Error message/check for HMAC empty message with keysize > 0. - Error message/check for HMAC DMA for u5500, since not working. - Additional, update cryp driver dma code according to this patch and make minor adjustments to comply with mainline code and design are covered by AP370178. ST-Ericsson ID: 280691 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I14d64d1577f007969b372ed4ef04556eca8bc0d6 Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33983 Reviewed-by: Per FORLIN <per.forlin@stericsson.com> Reviewed-by: QATOOLS Reviewed-by: QABUILD
2012-05-22TEE driver: NULL variable usageBerne Hebark
Return if error in kmalloc, instead of goto err and call function using NULL variable. ST-Ericsson ID: 369796 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ib72acb6366f36febe3ea5cb7c9ceb275cfb1f038 Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/35493 Reviewed-by: Joakim BECH <joakim.xx.bech@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: QATOOLS Reviewed-by: QABUILD
2012-05-22crypto: Move atomic regulator header filePhilippe Langlais
Atomic regulators should be placed in a regulator include file, not in mfd. Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32136
2012-05-22crypto: ux500: update prcmu header file pathMian Yousaf Kaukab
File path updated according to the mainline version of prcmu driver. Change-Id: Iddf4b63a209f1191d0c60d5c5f20b8c663fba34c Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32118 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Tested-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-05-22crypto: ux500: hash: Block size data fix.Berne Hebark
- Include fix for block size data (64 byte). ST-Ericsson ID: 352122 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Ref: Commit-id: I069aba31d8620e01e74e2b1a5987a0642e74af01 Signed-off-by: Avinash A <Avinash.a@stericsson.com> Change-Id: Idea6cc1e34d6263066188b99d97fafae0f1225aa Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30440 Reviewed-by: Avinash A <avinash.a@stericsson.com> Tested-by: Avinash A <avinash.a@stericsson.com>
2012-05-22ux500: cryp/hash: Updated for both u8500 & u5500Berne Hebark
cryp1 & hash1 updated to be compatible on both u8500 and u5500: - added to u5500_defconfig. - settings from devices.c to board-mop500.c & board-u5500.c. - dynamic driver registration in board-mop500.c & board-u5500.c. - added cryp1 to clock-db5500.c and renamed cryp to cryp0. - added function dbx500_add_platform_device_noirq to devices-common.c. - added cryp1 and hash1 inline functions to devices-common.h (dbx500_add_cryp1). - defines added to devices-db5500.h and devices-db8500.h. - u8500_cryp/hash changed to ux500_cryp/hash. - update to handle different value for CRYP_PERIPHERAL_ID2 between u8500 and u5500 (more info in ER336742). ST-Ericsson ID: 257104 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Ref: Commit-id: Ibe72c72d8f9d781008164f1bf24ceafa82ac9083 Signed-off-by: Avinash A <Avinash.a@stericsson.com> Change-Id: I08a8f71acb89be99cbf8b54390be569e2369c73b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30437 Reviewed-by: Avinash A <avinash.a@stericsson.com> Tested-by: Avinash A <avinash.a@stericsson.com>
2012-05-22ux500: security: updatePhilippe Langlais
commit 1d3e28fa4e85d54434614575f37a4171e32dfe0c Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Date: Tue Aug 23 12:28:26 2011 +0200 [Android]: pm: usecase: limit cpu frequency to 400MHz during voice-call ST Ericsson ID: 357594 commit 70f52392190a111758836d5fca7fb533ad8b4453 Author: Rickard Andersson <rickard.andersson@stericsson.com> Date: Tue Aug 23 11:05:58 2011 +0200 ux500: cpuidle: Correct PRCMU error messages Show correct error messages when PRCMU requested sleep fails. ST-Ericsson ID: - commit 912e987c1e46815c8cf128bce3d7077d3b05e7d6 Author: Rickard Andersson <rickard.andersson@stericsson.com> Date: Tue Aug 23 11:00:01 2011 +0200 ux500: cpuidle: Optimize stack sizes Optimze the stack sizes for arm registers and CP15 registers ST-Ericsson ID: - commit df0c08abadbdbe19c8c00ca09c3197f3fb0ead29 Author: Rickard Andersson <rickard.andersson@stericsson.com> Date: Mon Aug 22 11:19:13 2011 +0200 ux500: cpuidle: GIC freeze delay optimized GIC freeze delay was previously unnecessary long. ST-Ericsson ID: - commit a28fec98e99d5115b62d3d704452f427ca2a20ac Author: Rajagopala V <rajagopala.v@stericsson.com> Date: Wed Aug 24 13:16:39 2011 +0530 u5500: cpuidle: fix coverity warning check for clockevents_program_event return value in cpuidle driver during wakeup ST-Ericsson ID: ER356883 commit b716ed3140664c6b4b80381b18945032b792b853 Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Fri Aug 19 14:32:29 2011 +0530 u5500: enable PRCMU QoS and debugging Dummy implementations are provided to get it to build. ST-Ericsson ID: 348762 commit 34cd29c2f8cd1ce8fa51be6d33624b441416d478 Author: om prakash <omprakash.pal@stericsson.com> Date: Tue Aug 23 14:08:52 2011 +0530 cpuidle:Removed the CHECKED_RETURN error Removed the CHECKED_RETURN coverity error in cpuidle. ST-Ericsson ID: 354434 commit d9d500b6742ff1fcb12747cb55d7f26c89ef5c96 Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Mon Aug 22 10:23:36 2011 +0530 u5500: support cpufreq only on v2 Support cpufreq only on 5500v2+ only, since that is where the other power management features will be enabled. ST-Ericsson ID: 355981 commit 74cf0e658bb9abe240d04427d9043f145dd0505b Author: Hemanth Puranik <hemanth.puranik@stericsson.com> Date: Wed Aug 3 10:29:10 2011 +0530 U5500: Print PRCMU firware version ST-Ericsson ID: WP332193 commit bb04cadb6948a3a68f409fa7828457ce64540172 Author: Vijaya Kumar Kilari <vijay.kilari@stericsson.com> Date: Thu Aug 11 11:49:27 2011 +0530 U5500: Add MSP1 and Cable detect clock support MSP1 and CD clocks are managed by PRCMU FW so special handling for these clocks are required ST-Ericsson ID: 332193 commit 0d9b20560a729b4674d9f55c77572db04272edbd Author: Rajagopala V <rajagopala.v@stericsson.com> Date: Fri Aug 5 16:52:41 2011 +0530 u5500: prcmu: add irqs for db5500 temperature sensor add irqs to support db5500 temp sensor high and low interrupts so as to clearly distinguish whether sensor temperature has crossed min/max values ST-Ericsson ID: WP257616 commit 63877225cb09c38d0fbea2dcf01eb6670eb05549 Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Wed Jul 13 09:01:22 2011 +0200 ARM: u8500: pm: Do not touch TPIU registers if JTAG disabled If JTAG is disabled, the Linux cannot touch the TPIU registers. ST-Ericsson ID: 349265 commit 9fcee5876ff138e85356b63d392b2a050a68601e Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Mon Jul 11 15:27:49 2011 +0200 ARM: ux500: prcmu-debug: Add ARM opp to debugfs Add arm opp to debugfs interface, plus some code clean-up/simplification. ST-Ericsson ID: - commit 0e1f18385d2416e03af308cac1e38997f6bbf044 Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Thu Jul 14 12:49:30 2011 +0200 ARM: ux500: context: Do not touch TPIU when not clocked ST-Ericsson ID: 352300 commit 0ebdb6b6b2a7f9924bd2785654f0abfb1473dda0 Author: Jayarami Reddy <jayarami.reddy@stericsson.com> Date: Thu Jul 14 14:39:07 2011 +0530 u5500: fix to boot the kernel in DB5500 commit a20f6a9088ac5d34634cd26207dd5a072f04c37b Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Mon Jul 11 15:26:40 2011 +0200 ARM: ux500: prcmu-qos: Add ARM OPP qos Make it possible to request lowest ARM OPP. Must be bound to cpufreq to actually do something. ST-Ericsson ID: - commit be6842df3ee21a9aa00216c84e93a643b4ddeabe Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Wed Jul 13 09:00:30 2011 +0200 ARM: ux500: Read product settings at boot ST-Ericsson ID: 349265 commit 94843c6131bac39aa8e7d0ec4c9c2b34e2819c92 Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Wed Jul 13 08:56:38 2011 +0200 drivers: tee: Update with product id configuration Add structs and defines needed to detect product settings. ST-Ericsson ID: 349265 commit 4c70d615b782965c064b3f97963eff5a290acf68 Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Wed Jul 6 08:26:41 2011 +0200 ARM: ux500: prcmu-wdog: Remove check for fw bug In prcmu fw version 3.4.4 the issue with longer intervalls than 131 s was fixed. ST-Ericsson ID: - commit f6ccbf262ddebe39584b4a4c01cfa16af1fbfac6 Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Tue Jul 12 08:53:42 2011 +0200 ARM: ux500: cpuidle: Remove duplicated ApIdle state The ARM PLL is handled automatic by the prcmu fw and cpuidle cannot affect it. Remove duplicated ApIdle state that does the same as the other ApIdle state. ST-Ericsson ID: - commit bdf3c3dd8c22ffe0fbd8c674e8e6bdab83a5ec01 Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Fri Jul 8 14:33:23 2011 +0530 ux500: support ApDeepSleep on 5500 ST-Ericsson ID: 332193 commit 5326d7744cd226e67253774f30a2bb57c9b2badc Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Mon Jul 11 11:27:45 2011 +0530 u5500: fix prcmu_get_arm_opp() prcmu_set_arm_opp() maps between logical ARM OPP values and PRCMU firmware values, so prcmu_get_arm_opp() should do it too. ST-Ericsson ID: 332226 commit 6422856927e1230197ae674795eff6538df885e5 Author: Jonas Aaberg <jonas.aberg@stericsson.com> Date: Thu Jul 7 08:33:59 2011 +0200 ARM: u8500: prcmu-dbg: display AVS settings Add debugfs node showing AVS settings. root@ME:/ cat /debugfs/prcmu/avs VBB_RET : 0x 0 VBB_MAX_OPP : 0xdb VBB_100_OPP : 0xdb VBB_50_OPP : 0xdb VARM_MAX_OPP : 0x2f VARM_100_OPP : 0x2e VARM_50_OPP : 0x1d VARM_RET : 0x 0 VAPE_100_OPP : 0x2a VAPE_50_OPP : 0x1a VMOD_100_OPP : 0x29 VMOD_50_OPP : 0x1a VSAFE : 0x29 ST-Ericsson ID: - commit 3184873f10bff0c7c54db75d9c2694e21ebc40b0 Author: Pawel Szyszuk <pawel.szyszuk@stericsson.com> Date: Wed Jun 22 16:03:29 2011 +0200 ARM: U5500: PRCMU CLKOUTx configuration API U5500 API for setting the programmable CLKOUTx source and divisor. New API used for setting the sources of camera clocks. ST-Ericsson ID: - commit 98e9cfc32a25f6cf3b5d4c3456bb6ff6a34ff9cb Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Date: Thu Jun 23 16:07:48 2011 +0200 [ANDROID]: pm: usecase: add sysfs interface to disable the governor Move all the code to control the state of the governor in a separate function. ST-Ericsson ID: CR339643 commit 6e9ab8ab3013d0b372a51d94d617d24fd8b38664 Author: Rickard Andersson <rickard.andersson@stericsson.com> Date: Tue Jun 7 13:04:08 2011 +0200 ARM: ux500: pm: Turn off unnecessary GIC IRQs in deep sleep In the sleep state ApDeepSleep turn off all IRQs in the GIC except for the PRCMU IRQs ST-Ericsson ID: ER338876 commit ba5f28731b27386cb90cf87c4e7b1910e09474a9 Author: Rickard Andersson <rickard.andersson@stericsson.com> Date: Fri May 27 08:56:47 2011 +0200 ARM: ux500: pm: Deepsleep bugfix and optimization Fixing deep sleep sync problems. Also cache clean and saves to backup RAM is now only done when really needed. ST-Ericsson ID: ER338876 commit 0415c755958de0d613a9bd52f73b820cb3a2b916 Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Tue Jun 28 18:18:36 2011 +0530 u5500: handle SDMMC0 clock change on DB5500v2 On DB5500v2, SDMMC0 is parented to SPARE1CLK instead of SDMMCCLK. Also, correct the PRCM_IRDACLK_MGT register address which is wrong even for v1. ST-Ericsson ID: 349062 commit 2036360d62f3c3f0cd722d751ba90a8739034c0f Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Mon Jun 27 20:25:06 2011 +0530 u5500: cpufreq: DB5500v2 support ST-Ericsson ID: 349062 commit 190b11834463e835de2d792116dfd8673d775752 Author: Rabin Vincent <rabin.vincent@stericsson.com> Date: Wed Jun 22 07:45:00 2011 +0530 u5500: allow SUSPEND_STANDBY and CPUIDLE to be enabled ST-Ericsson ID: 332226 commit 7c4906d6ee888df46baa64b690dfdfaf44502d86 Author: Pawel Szyszuk <pawel.szyszuk@stericsson.com> Date: Mon Jun 20 15:28:34 2011 +0200 ARM: u5500: PRCMU reset API Added API for rebooting the board and for getting the last reboot code. ST-Ericsson ID: 341245 Change-Id: Ibbcd9e3528cd605c724b9c2c88ae3b41a27f2f1c
2012-05-22crypto: ux500: hash: HMAC (sha1/sha256) supportBerne Hebark
- HMAC (sha1/sha256) support to the hash driver. - Empty message fix ST-Ericsson ID: 348475 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I38961f4e8c1af927ad650743a74ebcf1e8ab4ad4 Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25652 Reviewed-by: QATOOLS Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-05-22crypto: ux500: hash: Empty message supportBerne Hebark
Added support for empty message (pre-calculated) digests. Support for data > blocksize, bug introduced in commit using ahash. ST-Ericsson ID: 344561 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I7d9615b074438d1e072bd6c291d392e4ff5e7768 Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24825 Reviewed-by: QATEST Reviewed-by: QATOOLS
2012-05-22crypto: align u5500 PRCMU & CPUFREQ management with u8500 (multiple commits ↵Philippe Langlais
in one) Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org> Merge of following commits too: u5500: add support for sysclk basic sysclk support added in PRCMU driver and clock framework driver updated. Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> U5500: Support for ESRAM12 EPOD in PRCMU driver Signed-off-by: Vijaya Kumar Kilari <vijay.kilari@stericsson.com> ux500: regulator: handle different base offset of ePOD ID 5500 ePOD ids are offseted for some reason in the PRCMU driver. Adjust the ids to index the local arrays to avoid memory corruption. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> ux500: pm: support PRCMU status check on 5500 This also removes unused 8500v1 code. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> arm: ux500: prcmu_ac_wake_req workaround This patch adds a check in prcmu_ac_wake_req that the modem is awake (in terms of the value in the PRCM_MOD_AWAKE_STATUS register) after the AC_WAKE_ACK has been received from the PRCMU FW. If the check fails, a retry is made. This seems to be necessary, since the modem can generate an AC_WAKE_ACK, and then still go to sleep. Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com> U5500: Add support for PRCMU Mailbox0 Add PRCMU mailbox 0 support for irq wakeup enable and disable Signed-off-by: Vijaya Kumar K <vijay.kilari@stericsson.com> U5500: Add support for power state transition PRCMU driver is updated to provide API for system power state transition Signed-off-by: Vijaya Kumar K <vijay.kilari@stericsson.com> ARM: ux500: prcmu: Add A9 watchdog interface Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> U5500 : ab5500 core interrupt hander update AB5500 interrupts will be now handled by PRCMU and then routed to AB5500 core driver.AB5500 irq handler will no more read the latch registers to find the interrupt reason.Instead PRCMU will read the latch registers and provide the values to core driver. Signed-off-by: Bibek Basu <bibek.basu@stericsson.com> ARM: ux500: prcmu-dbg: Tiny code clean-up Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> u5500: add mailbox1 and related function support Add cpufreq-db5500.c file for db5500 CPUfreq support. PRCMU mailbox1 and related functions' support is added. List of functions implemented: - prcmu_get/set_arm_opp - read_mailbox_1 Signed-off-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> Fix for PRCMU u5500: PRCMU IRQ should be NO_SUSPEND As on 8500. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> ARM: u5500: PRCMU reset API Added API for rebooting the board and for getting the last reboot code. Signed-off-by: Pawel Szyszuk <pawel.szyszuk@stericsson.com> Conflicts: arch/arm/mach-ux500/board-u5500-regulators.c arch/arm/mach-ux500/board-u5500.c arch/arm/mach-ux500/clock-db5500.c arch/arm/mach-ux500/cpu.c arch/arm/mach-ux500/devices-db5500.c arch/arm/mach-ux500/include/mach/prcmu.h arch/arm/mach-ux500/pm/Kconfig arch/arm/mach-ux500/pm/pm.c arch/arm/mach-ux500/pm/runtime.c arch/arm/mach-ux500/pm/suspend.c arch/arm/mach-ux500/prcmu-debug.c drivers/cpufreq/db8500-cpufreq.c drivers/mfd/ab5500-core.c drivers/mfd/db5500-prcmu.c drivers/mfd/db8500-prcmu.c drivers/regulator/db5500-prcmu.c drivers/regulator/dbx500-prcmu.c include/linux/mfd/db5500-prcmu.h include/linux/mfd/db8500-prcmu.h include/linux/regulator/db5500-prcmu.h
2012-05-22ARM: ux500: tee: Remove u8500 v1 supportJonas Aaberg
ST-Ericsson Linux next: Not tested, ask SSM for ER ST-Ericsson ID: 342987 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ia8afe98cdafbc5f11c115a061e5be75d9bd7ece0 Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24284 Reviewed-by: Joakim BECH <joakim.xx.bech@stericsson.com> Reviewed-by: QATEST
2012-05-22ux500: cryp: Use relaxed versions of writel/readlJoakim Bech
- Use readl_relaxed instead of readl. - Use writel_relaxed instead of writel. - Use writesl where a stream of data is written to the crypto hardware. - Use readsl where a stream of data is read from the crypto hardware. The above changes will increase performance when doing cryptographic operations. We noticed about 30%-50% better throughput when running the cryptographic test module tcrypt. ST-Ericsson ID: 343394 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I32d9229f93a8b86257d5a9ab9729cfc4337caa52 Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24275 Reviewed-by: QATEST Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com> Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2012-05-22ux500: cryp: Remove register accessJoakim Bech
Remove unnecessary call to function cryp_configure_for_dma when running in CPU mode only (we will gain performance by not calling this function, since it read and write to registers in the crypto hardware). ST-Ericsson ID: 343001 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ie5e99d2f96e6c9218ec767a76eb65a6683ad17dd Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24150 Reviewed-by: QATEST Reviewed-by: QATOOLS Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
2012-05-22cryp: Session handling for software contextJoakim Bech
- Add a session id to the software crypto context in ux500 crypto driver. - Add a static global session id which is a counter that increases when a new job is started (it is ok that this variable loop back to zero when it reach the maximum value). - These session id's will be used to decide if the hardware registers needs be restored or not for continous jobs. As a result we gain performance when we don't need to restore hardware registers. ST-Ericsson ID: 342659 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I1a1f508e9969e438204d1b4a803f1d637c1e0d60 Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24019 Reviewed-by: QATOOLS Reviewed-by: QATEST Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
2012-05-22cryp: CPU mode register read/write optimizationsJoakim Bech
- Minimize the number of read/write to the cryp hardware. - Write direct to hardware instead of going through functions that aren't inlined to get rid of function prologues/epilogues. - Remove NULL checks where performance is needed and the check itself is unnecessary since it is catched earlier in the callstack. - Remove unused defines/includes that are not used any longer due to above optimizations. ST-Ericsson ID: 341921 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I9efff1714f851672f8cb04e0c946a753a4b3f4b8 Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23719 Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com> Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-05-22crypto: ux500: hash: converted to ahash.Philippe Langlais
- Removed cryp1 and hash1 from u8500_v2_prcc_clocks, added comment that they already are included in u8500_v1_v2_prcc_clocks. - Re-activated hash1 accelerator in u8500__defconfig. - Updated clock-db8500.c with correct clk for hash1. - Added -O0 in hash Makefile, to remove optimization in debug mode. - Converted to ahash (from shash). - Updated infrastructure (klist functionality). - Dependencies to hcl_defs removed. - Changed power_state_mutex to spinlock and also use the atomic regulator interfaces, which removes the kernel printout BUG: sleeping function... - Removed the clear_bit function call and instead use the HASH_CLEAR_BITS macro. - Re-arranged the code to collect the external functions in the bottom of the file. - Removed page_to_phys/phys_to_virt calls in hash_hw_update, data directly accessed in walk.data. - Removed unused defines. ST-Ericsson ID: 319847, 280690 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: NA Change-Id: I732b7320cd8302d1dc86e4acb1954880e175773a Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23294 Reviewed-by: Joakim BECH <joakim.xx.bech@stericsson.com>
2012-05-22cryp: Updates according to corrected design specPhilippe Langlais
- Change names of context registers so they corresponds to the name in the DS. - Follow the design specification strictly and with the additional missing steps that we have got from IP developers. - Remove unused functions from u8500. - Call atomic version of power enable/disable functions to get rid of sleeping while atomic BUG prints. - Replace mutex with spinlock in the crypto context to get rid of sleeping while atomic BUG prints. - Replace completion in interrupt mode with polling for the remaining data length of data to get rid of sleeping in invalid context BUG print. - Correct optimization bug which occured when building without debug information (the compiler optimized it incorrectly). - Update of irq, fixed interrupt mask handling. - Correct bug regarding keysize when doing context save. - BUG! DES hangs when encrypting data not modulo 16 using DMA. The reason for this is that the CRYP IP only supports burst size of 4 words. Due to this reason DMA for DES have been replaced by CPU mode instead. ST-Ericsson ID: 283399, 340779 ST-Ericsson Linux next: Not tested, ER 320876 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I23dbc123dd2fb7e47f5713025ed71423efbb5b18 Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23297 Reviewed-by: QATEST Reviewed-by: Berne HEBARK <berne.hebark@stericsson.com>
2012-05-22TEE: Added TEE kernel interfaceMartin Hovang
ST-Ericsson ID: 337171 ST Ericsson FOSS-OUT ID: Trivial ST Ericsson Linux next: Not tested Change-Id: I4c87bd550547a1fd90f1fef8c3c553246940b31e Signed-off-by: Martin Hovang <martin.xm.hovang@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/22666 Reviewed-by: QATEST Reviewed-by: Joakim BECH <joakim.xx.bech@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2012-05-22V2 fix for TEEJens Wiklander
ST-Ericsson ID: WP270298 Change-Id: I0eb63eba30ed319ff601beb7cd4ac9c307e7414c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/6620 Reviewed-by: Jens WIKLANDER <jens.wiklander@stericsson.com> Tested-by: Jens WIKLANDER <jens.wiklander@stericsson.com>
2012-05-22ux500: add u5500 specific macrosPhilippe Langlais
This patch is based on similar patch from Rickard Evertsson <rickard.evertsson@stericsson.com> Although this patch is fixing fewer files. Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Conflicts: arch/arm/mach-ux500/clock.c
2012-05-22ux500: tee bug fix for returning wrong valuesShujuan Chen
- Fix the missing the ret argument sent to secure world. - Fix the mismatch return btw kernel and secure world in closesession. Dependencies: WP269815 ST-Ericsson ID: ER270978 Change-Id: I86b4af518660987663632d04d11d5d4967878bca Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/4545 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Tested-by: Shujuan CHEN <shujuan.chen@stericsson.com> Reviewed-by: Fredric MORENIUS <fredric.morenius@stericsson.com>
2012-05-22crypto: ux500: Add crypto and hash accelerationPhilippe Langlais
Adds device driver support for crypto and hash acceleration for the u8500 chip. ST-Ericsson Linux next: Builds and boot, but fails on cryp probe ER320876. ST-Ericsson ID: AP 270734 crypto: ux500: cryp: Add power-awareness Adds power awareness to the cryp part of the device driver for accelerating crypto in u8500. ST-Ericsson ID: ER277473 crypto: ux500: cryp: Fix of NULL pointer dereference in power-save Fix of NULL pointer dereference in cryp_disable_power. ST-Ericsson ID: ER277473 crypto: ux500: cryp/hash: Power-awareness - Hash: Adds power awareness to the hash part of the device driver for accelerating hashing in u8500. - Cryp: - Removed erroneous call to cryp_enable_power() in u8500_cryp_resume(). - Added spinlocks to protect usage of current_ctx. - Corrected erroneous gotos in hw_cryp_noxts(). - Added down_interruptible()/up() in suspend/resume, to make sure the device is not allocated during suspend. ST-Ericsson ID: ER280692 crypto: ux500: AES ECB converted to ablk_cipher and supports DMA. - DMA support for AES_ECB added. - ablk_cipher support added to the driver. In this commit AES_ECB is using this asynchronous API. This is a must since you will get miscellaneous sleep warning- error-messages from the crypto testmgr which runs sanity tests when loading a module in synchrounous mode using DMA. Therefore DMA operations should use the ablk_cipher (asynchronous) API, - Added scatterlist walk function for ablk_cipher for the non DMA version. - Added power awarness to DMA related code in this cryp driver. - Refactored code in hw_cryp_noxts with functions calls when getting the device and when setting up the context. - Renamed registers so they corresponds to the names in the design spec. ST-Ericsson ID: AP277474 ST-Ericsson Linux next: ER320876, v-ape regulator missing. crypto: ux500: cryp: DES ECB converted to ablk_cipher. ablk_cipher support added to the driver. In this commit DES_ECB and DES3_ECB is using this asynchronous API. This removes the log printout: BUG: sleeping function called from invalid context at kernel/mutex.c:94. ST-Ericsson ID: ER322583 crypto: ux500: cryp: More algorithms converted to use ablk_cipher. In this commit AES_CBC, AES_CTR, DES_CBC and DES3_CBC is using the asynchronous API. These algorithms also support DMA, except for givciphers. ST-Ericsson ID: AP277474 crypto: ux500: cryp: Power save redesign, to improve performance - Enable and disable power moved to be called only at beginning and end of algorithm calls. - Removed compiler warnings (uninitialized variables) visible using Linux-next compiler. Note! Those warnings not visible using default compiler in the android forest. ST-Ericsson ID: AP277474 crypto: Fixes after 2.6.35 merge Signed-off-by: Berne Hebark <berne.hebark@stericsson.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Philippe Langlais <philippe.langlais@linaro.org> Conflicts: arch/arm/mach-ux500/board-mop500.c
2012-05-22HCL driver implementation (hash).Robert Marklund
Major refactoring, checkpatch fixes, documentation of functions, structures, enums. Also moved a lot of code from hash_alg.c to hash_core.c. Fixed problem with incorrect digest when doing HMAC calculations. The problem was that the function that did message pad seems to handle padding for keys incorrectly. Now we do not say how many valid bits there are in the last word when it comes to the key and then the hardware seems to handle the key correctly. Fixed contextsaving so hmac(sha1) passes. There was an if statement checking the DINF bit which was never set. I have removed this and then contextsaving for hmac(sha1) is working. Code up to date with the new arch/arm/mach-ux500 folder structure. Signed-off-by: Joakim Bech <joakim.xx.bech@stericsson.com> ux500: switch to DMAENGINE-based DMA driver Switch all DMA clients to the DMA Engine API, and add the platform hooks for the DMA Engine-based DMA40 driver. Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Robert Marklund <robert.marklund@stericsson.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-05-22add trusted execution environment (tee) driverPhilippe Langlais
TEE working now for Android, tested ok with COPS! * Updated according to review comments - Added ST-Ericsson copyright headers to all tee files. - Fixed problem with not using readl/writel when using ioremap. - Fixed problem with forgetting to do iounmap on special case. - Fixed incorrect usage when doing copy_to_user when writing to the device. - Added architecture dependent file for the tee service that calls the secure world. - Added support for more several inputs (sharedmemory buffers) for tee. - Added dummy macro to map MT_MEMORY device. - Fixed memory leak in secure world due to not closing a TEE session correctly from the kernel. - Now we only copies input buffer from user space for tee. - Documented structures in tee.h. - Moved SVP implementation into arch/arm/mach-ux500 folder. - Added new config flags for ux500 and SVP regarding TEE driver. - Update mach-ux500/Kconfig: - Enable TEE_UX500 by default when using target hardware. - Enabel TEE_SVP by default when building simulator. - Fix the cache sync problem: not request ROM code to clean cache - ioremap for ICN_BASE, remove static mapping in cpu-db8500.c. - Fix ioremap of ICN_BASE and do iounmap after use. ST-Ericsson ID: WP269815 Change-Id: Ie861a90ec790e95fb3992e560512661693548a43 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/4168 Reviewed-by: Shujuan CHEN <shujuan.chen@stericsson.com> Tested-by: Shujuan CHEN <shujuan.chen@stericsson.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
2012-05-20Linux 3.4v3.4Linus Torvalds
2012-05-19Merge tag 'parisc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6 Pull PA-RISC fixes from James Bottomley: "This is a set of three bug fixes that gets parisc running again on systems with PA1.1 processors. Two fix regressions introduced in 2.6.39 and one fixes a prefetch bug that only affects PA7300LC processors. We also have another pending fix to do with the sectional arrangement of vmlinux.lds, but there's a query on it during testing on one particular system type, so I'll hold off sending it in for now." * tag 'parisc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6: [PARISC] fix panic on prefetch(NULL) on PA7300LC [PARISC] fix crash in flush_icache_page_asm on PA1.1 [PARISC] fix PA1.1 oops on boot
2012-05-19Merge branch 'x86/ld-fix' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 linker bug workarounds from Peter Anvin. GNU ld-2.22.52.0.[12] (*) has an unfortunate bug where it incorrectly turns certain relocation entries absolute. Section-relative symbols that are part of otherwise empty sections are silently changed them to absolute. We rely on section-relative symbols staying section-relative, and actually have several sections in the linker script solely for this purpose. See for example http://sourceware.org/bugzilla/show_bug.cgi?id=14052 We could just black-list the buggy linker, but it appears that it got shipped in at least F17, and possibly other distros too, so it's sadly not some rare unusual case. This backports the workaround from the x86/trampoline branch, and as Peter says: "This is not a minimal fix, not at all, but it is a tested code base." * 'x86/ld-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, relocs: When printing an error, say relative or absolute x86, relocs: Workaround for binutils 2.22.52.0.1 section bug x86, realmode: 16-bit real-mode code support for relocs tool (*) That's a manly release numbering system. Stupid, sure. But manly.
2012-05-19Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds
Pull block layer fixes from Jens Axboe: "A few small, but important fixes. Most of them are marked for stable as well - Fix failure to release a semaphore on error path in mtip32xx. - Fix crashable condition in bio_get_nr_vecs(). - Don't mark end-of-disk buffers as mapped, limit it to i_size. - Fix for build problem with CONFIG_BLOCK=n on arm at least. - Fix for a buffer overlow on UUID partition printing. - Trivial removal of unused variables in dac960." * 'for-linus' of git://git.kernel.dk/linux-block: block: fix buffer overflow when printing partition UUIDs Fix blkdev.h build errors when BLOCK=n bio allocation failure due to bio_get_nr_vecs() block: don't mark buffers beyond end of disk as mapped mtip32xx: release the semaphore on an error path dac960: Remove unused variables from DAC960_CreateProcEntries()
2012-05-19Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds
Pull one more networking bug-fix from David Miller: "One last straggler. Eric Dumazet's pktgen unload oops fix was not entirely complete, but all the cases should be handled properly now.... fingers crossed." * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: pktgen: fix module unload for good
2012-05-19memcg,thp: fix res_counter:96 regressionHugh Dickins
Occasionally, testing memcg's move_charge_at_immigrate on rc7 shows a flurry of hundreds of warnings at kernel/res_counter.c:96, where res_counter_uncharge_locked() does WARN_ON(counter->usage < val). The first trace of each flurry implicates __mem_cgroup_cancel_charge() of mc.precharge, and an audit of mc.precharge handling points to mem_cgroup_move_charge_pte_range()'s THP handling in commit 12724850e806 ("memcg: avoid THP split in task migration"). Checking !mc.precharge is good everywhere else, when a single page is to be charged; but here the "mc.precharge -= HPAGE_PMD_NR" likely to follow, is liable to result in underflow (a lot can change since the precharge was estimated). Simply check against HPAGE_PMD_NR: there's probably a better alternative, trying precharge for more, splitting if unsuccessful; but this one-liner is safer for now - no kernel/res_counter.c:96 warnings seen in 26 hours. Signed-off-by: Hugh Dickins <hughd@google.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-05-18x86, relocs: When printing an error, say relative or absoluteH. Peter Anvin
When the relocs tool throws an error, let the error message say if it is an absolute or relative symbol. This should make it a lot more clear what action the programmer needs to take and should help us find the reason if additional symbol bugs show up. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: <stable@vger.kernel.org>
2012-05-18x86, relocs: Workaround for binutils 2.22.52.0.1 section bugH. Peter Anvin
GNU ld 2.22.52.0.1 has a bug that it blindly changes symbols from section-relative to absolute if they are in a section of zero length. This turns the symbols __init_begin and __init_end into absolute symbols. Let the relocs program know that those should be treated as relative symbols. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Cc: H.J. Lu <hjl.tools@gmail.com> Cc: <stable@vger.kernel.org> Cc: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
2012-05-18x86, realmode: 16-bit real-mode code support for relocs toolH. Peter Anvin
A new option is added to the relocs tool called '--realmode'. This option causes the generation of 16-bit segment relocations and 32-bit linear relocations for the real-mode code. When the real-mode code is moved to the low-memory during kernel initialization, these relocation entries can be used to relocate the code properly. In the assembly code 16-bit segment relocations must be relative to the 'real_mode_seg' absolute symbol. Linear relocations must be relative to a symbol prefixed with 'pa_'. 16-bit segment relocation is used to load cs:ip in 16-bit code. Linear relocations are used in the 32-bit code for relocatable data references. They are declared in the linker script of the real-mode code. The relocs tool is moved to arch/x86/tools/relocs.c, and added new target archscripts that can be used to build scripts needed building an architecture. be compiled before building the arch/x86 tree. [ hpa: accelerating this because it detects invalid absolute relocations, a serious bug in binutils 2.22.52.0.x which currently produces bad kernels. ] Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Link: http://lkml.kernel.org/r/1336501366-28617-2-git-send-email-jarkko.sakkinen@intel.com Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: <stable@vger.kernel.org>
2012-05-18Merge tag 'dm-3.4-fixes-2' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm Pull a dm fix from Alasdair G Kergon: "A fix to the thin provisioning userspace interface." * tag 'dm-3.4-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: dm thin: fix table output when pool target disables discard passdown internally
2012-05-19dm thin: fix table output when pool target disables discard passdown internallyMike Snitzer
When the thin pool target clears the discard_passdown parameter internally, it incorrectly changes the table line reported to userspace. This breaks dumb string comparisons on these table lines in generic userspace device-mapper library code and leads to tables being reloaded repeatedly when nothing is actually meant to be changing. This patch corrects this by no longer changing the table line when discard passdown was disabled. We can still tell when discard passdown is overridden by looking for the message "Discard unsupported by data device (sdX): Disabling discard passdown." This automatic detection is also moved from the 'load' to the 'resume' so that it is re-evaluated should the properties of underlying devices change. Signed-off-by: Mike Snitzer <snitzer@redhat.com> Acked-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
2012-05-18Merge tag 'md-3.4-fixes' of git://neil.brown.name/mdLinus Torvalds
Pull one more md bugfix from NeilBrown: "Fix bug in recent fix to RAID10. Without this patch, recovery will crash" * tag 'md-3.4-fixes' of git://neil.brown.name/md: md/raid10: fix transcription error in calc_sectors conversion.
2012-05-18Merge branch 'stable' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull tile tree bugfix from Chris Metcalf: "This fixes a security vulnerability (and correctness bug) in tilegx" * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tilegx: enable SYSCALL_WRAPPERS support
2012-05-19md/raid10: fix transcription error in calc_sectors conversion.NeilBrown
The old code was sector_div(stride, fc); the new code was sector_dir(size, conf->near_copies); 'size' is right (the stride various wasn't really needed), but 'fc' means 'far_copies', and that is an important difference. Signed-off-by: NeilBrown <neilb@suse.de>
2012-05-18Merge branch 'akpm' (Andrew's patch-bomb)Linus Torvalds
Merge misc fixes from Andrew Morton. * emailed from Andrew Morton <akpm@linux-foundation.org>: (4 patches) frv: delete incorrect task prototypes causing compile fail slub: missing test for partial pages flush work in flush_all() fs, proc: fix ABBA deadlock in case of execution attempt of map_files/ entries drivers/rtc/rtc-pl031.c: configure correct wday for 2000-01-01
2012-05-18proc: move fd symlink i_mode calculations into tid_fd_revalidate()Linus Torvalds
Instead of doing the i_mode calculations at proc_fd_instantiate() time, move them into tid_fd_revalidate(), which is where the other inode state (notably uid/gid information) is updated too. Otherwise we'll end up with stale i_mode information if an fd is re-used while the dentry still hangs around. Not that anything really *cares* (symlink permissions don't really matter), but Tetsuo Handa noticed that the owner read/write bits don't always match the state of the readability of the file descriptor, and we _used_ to get this right a long time ago in a galaxy far, far away. Besides, aside from fixing an ugly detail (that has apparently been this way since commit 61a28784028e: "proc: Remove the hard coded inode numbers" in 2006), this removes more lines of code than it adds. And it just makes sense to update i_mode in the same place we update i_uid/gid. Al Viro correctly points out that we could just do the inode fill in the inode iops ->getattr() function instead. However, that does require somewhat slightly more invasive changes, and adds yet *another* lookup of the file descriptor. We need to do the revalidate() for other reasons anyway, and have the file descriptor handy, so we might as well fill in the information at this point. Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Cc: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Eric Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-05-18pktgen: fix module unload for goodEric Dumazet
commit c57b5468406 (pktgen: fix crash at module unload) did a very poor job with list primitives. 1) list_splice() arguments were in the wrong order 2) list_splice(list, head) has undefined behavior if head is not initialized. 3) We should use the list_splice_init() variant to clear pktgen_threads list. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-05-18tilegx: enable SYSCALL_WRAPPERS supportChris Metcalf
Some discussion with the glibc mailing lists revealed that this was necessary for 64-bit platforms with MIPS-like sign-extension rules for 32-bit values. The original symptom was that passing (uid_t)-1 to setreuid() was failing in programs linked -pthread because of the "setxid" mechanism for passing setxid-type function arguments to the syscall code. SYSCALL_WRAPPERS handles ensuring that all syscall arguments end up with proper sign-extension and is thus the appropriate fix for this problem. On other platforms (s390, powerpc, sparc64, and mips) this was fixed in 2.6.28.6. The general issue is tracked as CVE-2009-0029. Cc: <stable@vger.kernel.org> Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>