summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-10-27ux500: Changed fallback reboot reasonPer Fransson
reboot_reason_code() maps unrecognized strings to SW_RESET_NO_ARGUMENT instead of SW_RESET_CRASH. ST-Ericsson ID: 365831 Change-Id: I7b364db65a54b7bde3c5394ff7c2e921c4bb1692 Signed-off-by: Per Fransson <per.xx.fransson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33723 Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-27video: mcde: Fix suspend oops in AndroidMarcus Lorentzon
Generic suspend/resume should not be enabled on Android since Android implement power management in early suspend. ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I35b5e004d48a4be8e98913be8b3ed4abbf48f9a0 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33727 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-27mmc: core: Add default timeout value for CMD6Seungwon Jeon
EXT_CSD[248] includes the default maximum timeout for CMD6. This field is added at eMMC4.5 Spec. And it can be used for default timeout except for some operations which don't define the timeout (i.e. background operation, sanitize, flush cache) in eMMC4.5 Spec. Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I1761bbadb1d35d58c5de3f459808f4cd2559da99 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33717 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27ux500: pm: Nonexisting dep in KconfigJohan Rudholm
UX500_PRCMU_QOS_POWER has switched names to DBX500_PRCMU_QOS_POWER. ST-Ericsson ID: 357764 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: I2d9d71f2f76f264916ded2d5251747eff516cd63 Signed-off-by: Johan Rudholm <johan.rudholm@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33685 Reviewed-by: QABUILD Reviewed-by: Per FORLIN <per.forlin@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-27ux500: pm: prevent sleep during high wlan loadPer Forlin
The system wake up latency from sleep adds an extra overhead when running wlan in DMA mode. This is not the case for PIO since the CPU usage prevents the system from going to sleep. ST-Ericsson ID: 357764 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: Ib3ac10da61ca9f3d9db4956a29fb694bd2c416cc Signed-off-by: Per Forlin <per.forlin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33008 Reviewed-by: QABUILD Reviewed-by: Johan RUDHOLM <johan.rudholm@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-27hwmon: dbx500: Update to reflect new PRCMU locationChris Kimber
PRCMU has been moved, so fix Kconfig and header include path ST-Ericsson ID: 364370 ST-Ericsson Linux next: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I052cf03afa4481e1267c07acf2d16401fac6abc2 Signed-off-by: Chris Kimber <chris.kimber@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33124 Reviewed-by: QABUILD Reviewed-by: Duncan PATERSON <duncan.paterson@stericsson.com> Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
2011-10-27hwmon: dbx500: Automatically setup temp monitoringChris Kimber
When a value other than 0 is written to either the _min or _max attributes, automatically start the PRCMU monitoring. Also at driver init start monitoring the critical temperature to prevent overheating. ST-Ericsson ID: 364370 ST-Ericsson Linux next: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I8fefbf30eeb07d6caf4ee73af487b948fbd2fe7e Signed-off-by: Chris Kimber <chris.kimber@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32404 Reviewed-by: QABUILD Reviewed-by: Duncan PATERSON <duncan.paterson@stericsson.com> Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
2011-10-27cg2900: Fix Memory Leak during Driver Init.Hemant Gupta
This patch fixes memory leak during driver initialization because pmu gpio was never freed in case of failure in snowball initialization. ST-Ericsson ID: 365769 ST-Ericcson FOSS-OUT-ID: Trivial ST-Ericsson Linux next: 365769 Change-Id: Ic6ed3e172ca46ccf0da443272845de984f0f5706 Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33254 Reviewed-by: QABUILD Reviewed-by: Par-Gunnar HJALMDAHL <par-gunnar.p.hjalmdahl@stericsson.com>
2011-10-27mmc: mmci: Do not release spinlock in request_endUlf Hansson
The patch "mmc: core: move ->request() call from atomic context", is the reason to why this change is possible. This simplifies the error handling code execution path quite a lot and potentially also fixes some error handling hang problems. Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com> Change-Id: Icc2454053d692d8d19d81e2046ed5939d2aac915 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33713 Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com> Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27cg2900: Use Dynamic Machine configuration.Hemant Gupta
This patch adds dynamic selection of machine configuration and merges the board and device configuration files. ST-Ericsson ID: 365671 ST-Ericcson FOSS-OUT-ID: Trivial ST-Ericsson Linux next: 365671 Change-Id: I58601115bb8234ab203ac8cd37711563eceb4d17 Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33130 Reviewed-by: QABUILD Reviewed-by: Par-Gunnar HJALMDAHL <par-gunnar.p.hjalmdahl@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-27mmc: core: move ->request() call from atomic contextAdrian Hunter
mmc_request_done() is sometimes called from interrupt or other atomic context. Mostly all mmc_request_done() does is complete(), however it contains code to retry on error, which uses ->request(). As the error path is certainly not performance critical, this may be moved to the waiting function mmc_wait_for_req_done(). This allows ->request() to use runtime PM get_sync() and guarantee it is never in an atomic context. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Ulf Hansson <ulf.hansson@stericsson.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I3559026e3736c9c044d1ca2cbbfda0b2b12b4a07 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33707 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: using module_param requires the inclusion of moduleparam.hStephen Rothwell
Commit "mmc: add module param to set fault injection attributes" adds a module_param to this file. But it is relying on the old implicit "module.h is everywhere" behaviour, and without the explicit include of moduleparam.h, the pending module.h split up produces this error: core/debugfs.c:28:35: error: expected ')' before numeric constant Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I79d51d3856b2283d167c1071dd49e4fc5aa4edcf Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33706 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27regulators: ab8500: Add support of low voltage batteryBengt Jonsson
Low voltage batteries have a wider voltage range with lower operating voltages. Some consumers in the platform may not work with the lower voltages and therefore need an extra regulator to boost the voltage in this case. This driver adds support for checking the consumers that need higher voltage (Vaux1, 2 and 3 regulators, 3 V SIM) and control the external buck/boost regulator accordingly. Note that to utilize the low voltage battery support, the battery voltage thresholds must be changed. This applies for the low battery voltage threshold of the battery manager and the OTP setting for the AB8500 BattOk levels. ST-Ericsson ID: 282517, 363432 ST-Ericsson Linux next: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ife07a622ec9748c027dbbd78b01e4ee7e92629ec Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33616 Reviewed-by: QABUILD
2011-10-27ab8500: Separate regulator and MFD platform dataBengt Jonsson
The ab8500 MFD should not have knowledge about regulator- specific platform data like number of regulators and regulator registers. As the regulator platform data is about to grow with external regulators, this information is moved to a new structure provided by the regulator driver. ST-Ericsson ID: 282517 ST-Ericsson Linux next: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I77d03ffcc3273b0659dea3cffd8191b8c94b83d2 Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33615 Reviewed-by: QABUILD Reviewed-by: Yvan FILLION <yvan.fillion@stericsson.com>
2011-10-27mmc: add module param to set fault injection attributesPer Forlin
Replace setup("fail_mmc_request") and faulty "ifdef KERNEL" with a simple module_param(). The module param mmc_core.fail_request may be used to set the fault injection attributes during boot time or module load time. Signed-off-by: Per Forlin <per.forlin@linaro.org> Reviewed-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I64649cf0714d3bcebe114b922ce87076123dee99 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33704 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: general purpose MMC partition support.Namjae Jeon
It allows gerneral purpose partitions in MMC Device. And I try to simply make mmc_blk_alloc_parts using mmc_part structure suggested by Andrei Warkentin. After patching, we see general purpose partitions like this: > cat /proc/partitions 179 0 847872 mmcblk0 179 192 4096 mmcblk0gp3 179 160 4096 mmcblk0gp2 179 128 4096 mmcblk0gp1 179 96 1052672 mmcblk0gp0 179 64 1024 mmcblk0boot1 179 32 1024 mmcblk0boot0 Signed-off-by: Namjae Jeon <linkinjeon@gmail.com> Acked-by: Andrei Warkentin <awarkentin@vmware.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I245c7e970a99fb17d0d9aedccc52973d74f43f51 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33702 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27USB:Interface Association Descriptors added to ECMThirupathi Chippakurthy
Add IAD to bind the two interfaces of ECM, so that it works properly in composite gadget mode. ST-Ericsson ID: AP 366654 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Thirupathi <thirupathi.chippakurthy@stericsson.com> Signed-off-by: Praveena Nadahally <praveen.nadahally@stericsson.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Change-Id: I87c88c3b94aee72b93b3ceab508e8a67b76ce3bf Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33617 Reviewed-by: QABUILD Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2011-10-27mmc: block: support no access to boot partitionsAdrian Hunter
Intel Medfield platform blocks access to eMMC boot partitions which results in switch errors. Since there is no access, mmcboot0/1 devices should not be created. Add a host capability to reflect that. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Idd40bbd8f8809afcabb385c2492680ff8182877e Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33630 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: eMMC 4.5 Power Class Selection FeatureGirish K S
This patch adds the power class selection feature available for mmc versions 4.0 and above. During the enumeration stage before switching to the lower data bus, check if the power class is supported for the current bus width. If the power class is available then switch to the power class and use the higher data bus. If power class is not supported then switch to the lower data bus in a worst case. Signed-off-by: Girish K S <girish.shivananjappa@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I2248d2e770fbd349e68e21b2cbde36ee16ad8a6f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33628 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27cg2900: Use PM QoS for CG2900 UARTPar-Gunnar Hjalmdahl
This patch adds usage of PM QoS in the CG2900 UART driver. This is to assure that data throughput is not lowered due to CPU going to sleep too often during data transfer. ST-Ericsson ID: 361013 ST-Ericcson FOSS-OUT-ID: Trivial ST-Ericsson Linux next: 361013 Change-Id: Ib79dee9bd95817d459acd477715d95d7aade06a7 Signed-off-by: Par-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33109 Reviewed-by: Lukasz RYMANOWSKI <lukasz.rymanowski@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: Ulrik LAUREN <ulrik.lauren@stericsson.com> Tested-by: Ulrik LAUREN <ulrik.lauren@stericsson.com> Reviewed-by: Hemant GUPTA <hemant.gupta@stericsson.com>
2011-10-27video: mcde: get_pkt_div should use port modeJimmy Rubin
Port->mode should be used to determine if DSI Command or DSI Video mode is used. ST-Ericsson ID: 365544 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com> Change-Id: I96513fd3cbeed566b8827fe796e69bc0f38d049a Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33040 Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Tested-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: QABUILD
2011-10-27dma40: combine desc init functionsRabin Vincent
The desc init code can be shared between the mem and slave prep routines. Change-Id: I37de7699f6f0dbe44c12e4d9cadacaafb37a5ee0 Acked-by: Per Forlin <per.forlin@stericsson.com> Acked-by: Jonas Aaberg <jonas.aberg@stericsson.com> Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33220 Tested-by: Narayanan GOPALAKRISHNAN <narayanan.gopalakrishnan@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-27video: mcde: Handle ACKNOWLEDGE_WITH_ERR in readJimmy Rubin
If an DCS read command is sent to the panel. The panel can aknowledge the command with an error. In this case the read command is resent to the panel. ST-Ericsson ID: 321190 ST-Ericsson Linux Next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I7c2d472cbf7acb9cbf880d162f3e20ab07c86398 Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32594 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com>
2011-10-27ux500: mcde: Replace generic driver with SamsungMarcus Lorentzon
Remove use of MCDE generic DSI driver in favor of the real Samsung S6D16D0 driver to reduce the amount of code in mop500 board config. ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Idecde46fba388789403fea63210e81ed10cb75db Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33264 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
2011-10-27ux500: mcde: Include S6D16D0 driver by defaultMarcus Lorentzon
ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I38bfb6a8d33a76af94b61b0ee94dbcce8cff901e Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33449 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: QABUILD
2011-10-27video: mcde: Add generic DSI platform dataMarcus Lorentzon
ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: If6b3aef296838134634f107b227c43b1cff90c5e Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33448 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
2011-10-27video: mcde: Add Samsung S6D16D0 driverMarcus Lorentzon
ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Icb611dd8a6a73fca23f56841f587db97f3400f4c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33263 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: QABUILD
2011-10-27video: mcde: Add generic suspend/resume for MCDE busMarcus Lorentzon
Most suspend/resume implementations are the same. This adds default implementation using display device set_power_mode. ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I4dcead9f8e00363e67e73f6658828ead01c53694 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32867 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
2011-10-27video: mcde: Remove prepare for updateMarcus Lorentzon
Prepare for update was only used for partial updates and partial update is no longer supported (and never worked). ST-Ericsson ID: 365249 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: If927e73805c2bba873b477a20be3ee5a94ac77cd Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32866 Reviewed-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
2011-10-27ARM: ux500: mmio: Corrects disable mode pin configRajat Verma
Corrects disable mode pin configuration for xshutdown pins of camera in case of HREF v60 boards. XShutdown pins should be configured in mode (dir: out, value: low) when disabled. ST-Ericsson ID: 328427 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Change-Id: I6db2fafef8061d43f191f4d7ffef6a15d2063c16 Signed-off-by: Rajat Verma <rajat.verma@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33571 Reviewed-by: QABUILD Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-27u8500: mmio: fix gpio_set_value warningRajat Verma
gpio_set_value_cansleep() should be used in place of gpio_set_value() for setting xenon_charge gpio pin which is located on expander chip in case of href boards < v60. ST-Ericsson Linux next: NA ST-Ericsson ID: 361940 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I62676b374552a2fa86f273c9d006220436c0fe68 Signed-off-by: Rajat Verma <rajat.verma@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33338 Reviewed-by: QABUILD Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-27ux500: add smp_twd clockRabin Vincent
Add a smp_twd clock with an appropriate get_rate() implementation so that localtimers scale correctly with cpufreq changes. ST-Ericsson ID: 361450 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I492af8efe1c8c081f6079e538f6edf296eca3a02 Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33277 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2011-10-27mmc: core: ext_csd.raw_* used in comparison but never setAndrei Warkentin
f39b2dd9d ("mmc: core: Bus width testing needs to handle suspend/resume") added code to only compare read-only ext_csd fields in bus width testing code, yet it's comparing some fields that are never set. The affected fields are ext_csd.raw_erased_mem_count and ext_csd.raw_partition_support. Signed-off-by: Andrei Warkentin <andrey.warkentin@gmail.com> Acked-by: Philip Rakity <prakity@marvell.com> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Id526cb4100a55654b485963129ca1fe1f2ebfe6f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33463 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: block: fix boot partition switch error pathAdrian Hunter
In the case of a switch error, do not update partition config as though the switch succeeded, and ensure blk_end_request is called on the failed request. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Andrei Warkentin <andrey.warkentin@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I7dce34a7ff16adbc71d146a4dfa9f8c4bc484aab Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33462 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: add sd uhs string for mmc_ios_showAaron Lu
This is a minor fix. It makes mmc_ios_show print proper string when the host's timing is one of the newly added UHS-I modes. Signed-off-by: Aaron Lu <aaron.lu@amd.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I89afac7124075410bd4efd4d22194e96841a4a4f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33457 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: block: add eMMC hardware reset supportAdrian Hunter
For cards that support hardware reset (just eMMC), try a reset and retry before returning an I/O error. However this is not done for ECC errors and is never done twice for the same operation type (READ, WRITE, DISCARD, SECURE DISCARD) until that type of operation again succeeds. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I1de8391f1781501a3a526714135dd2632acb26c5 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33454 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: mmc-test: add eMMC hardware reset testAdrian Hunter
MMC core provides a checking function that checks if the reset has happended. Add a test to use that function. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ib78b84c6c74beb333d6f017062e8d009d39bc8da Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33453 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: add eMMC hardware reset supportAdrian Hunter
eMMC's may have a hardware reset line. This patch provides a host controller operation to implement hardware reset and a function to reset and reinitialize the card. Also, for MMC, the reset is always performed before initialization. The host must set the new host capability MMC_CAP_HW_RESET to enable hardware reset. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I324ad5b70ce1093cef1bccead045a2539be4cbfc Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33452 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: clarify how to use post_req in case of errorsPer Forlin
The err condition in post_req() is set to undo a call made to pre_req() that hasn't been started yet. The err condition is not set if an MMC request returns an error. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ie91c9868301c654ae27937b666089d82017b75f2 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33433 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: Put eMMC in Sleep mode before suspendBalaji T K
Put MMC to sleep if it supports SLEEP/AWAKE (CMD5) in the mmc suspend so that Vcc (NAND core) can be cut to minimize power consumption. eMMC put into SLEEP can respond to CMD0 or H/W reset or CMD5. Current implemention on resume from suspend relies on CMD0 in mmc_init_card to get out of SLEEP mode. Signed-off-by: Balaji T K <balajitk@ti.com> Acked-by: Venkatraman S <svenkatr@ti.com> Reviewed-by: Subhash Jadavani <subhashj@codeaurora.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I910a07fce263626e37421920c08e454412d8fb67 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33432 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: add a short delay in mmc_power_offDaniel Drake
Stress-testing the runtime power management of libertas_sdio through a rmmod/insmod loop revealed that it is quite easy to cause an ETIMEDOUT failure in mmc_sdio_power_restore() leading to: libertas_sdio: probe of mmc1:0001:1 failed with error -16 Experimentation shows that a very short delay (100us) is needed in the power down path before the card can be successfully booted again. We know that this setup is lacking poweroff clamps on the card's power lines, but as only a short delay is needed, apply this unconditionally. Also bump up to 1ms sleep for extra legroom. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Iaaffdfa9cad62abe41113960da265ed7b3a528b7 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33408 Reviewed-by: QABUILD Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: fix integer assignments to pointerVenkatraman S
Fix the sparse warning output "warning: Using plain integer as NULL pointer" Signed-off-by: Venkatraman S <svenkatr@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ia4a80ea0d9be1d7d943049df09ed7cb368ef2ea2 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33407 Reviewed-by: QABUILD Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: queue: declare mmc_alloc_sg as staticVenkatraman S
Fix the sparse warning "drivers/mmc/card/queue.c:111:20: warning: symbol 'mmc_alloc_sg' was not declared. Should it be static?" Signed-off-by: Venkatraman S <svenkatr@ti.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ic349ddedf94f476c2766fff0901ba514d7f4aaca Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33406 Reviewed-by: QABUILD Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: add random fault injectionPer Forlin
This adds support to inject data errors after a completed host transfer. The mmc core will return error even though the host transfer is successful. This simple fault injection proved to be very useful to test the non-blocking error handling in the mmc_blk_issue_rw_rq(). Random faults can also test how the host driver handles pre_req() and post_req() in case of errors. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Akinobu Mita <akinobu.mita@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Id26447a00f055c7cde48ff941188f18bf8eb9cad Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33379 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: sd: UHS-I bus speed should be set last in UHS initializationSubhash Jadavani
mmc_sd_init_uhs_card function sets the driver type, current limit and bus speed mode on card as well as on host controller side. Currently bus speed mode is set by sending CMD6 to card and immediately setting the timing mode in host controller. But then before initiating tuning sequence, it also tries to set current limit by sending CMD6 to card which results in data timeout errors in controller if bus speed mode is SDR50/SDR104 mode. So basically bus speed mode should be set only after current limit is set in the card and immediately after setting the bus speed mode, tuning sequence should be initiated. Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> Reviewed-by: Arindam Nath <arindam.nath@amd.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ib3d45071e93ff4dd84c111f740edccf58ec51c31 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33378 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: use non-reentrant workqueue for clock gatingMika Westerberg
The default multithread workqueue can cause the same work to be executed concurrently on a different CPUs. This isn't really suitable for clock gating as it might already gated the clock and gating it twice results both host->clk_old and host->ios.clock to be set to 0. To prevent this from happening we use system_nrt_wq instead. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Chris Ball <cjb@laptop.org> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I9d82fac342ed36dec63a21ed218f50dab07cca7b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33377 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: core: prevent aggressive clock gating racing with ios updatesMika Westerberg
We have seen at least two different races when clock gating kicks in in a middle of ios structure update. First one happens when ios->clock is changed outside of aggressive clock gating framework, for example via mmc_set_clock(). The race might happen when we run following code: mmc_set_ios(): ... if (ios->clock > 0) mmc_set_ungated(host); Now if gating kicks in right after the condition check we end up setting host->clk_gated to false even though we have just gated the clock. Next time a request is started we try to ungate and restore the clock in mmc_host_clk_hold(). However since we have host->clk_gated set to false the original clock is not restored. This eventually will cause the host controller to hang since its clock is disabled while we are trying to issue a request. For example on Intel Medfield platform we see: [ 13.818610] mmc2: Timeout waiting for hardware interrupt. [ 13.818698] sdhci: =========== REGISTER DUMP (mmc2)=========== [ 13.818753] sdhci: Sys addr: 0x00000000 | Version: 0x00008901 [ 13.818804] sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000 [ 13.818853] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000 [ 13.818903] sdhci: Present: 0x1fff0000 | Host ctl: 0x00000001 [ 13.818951] sdhci: Power: 0x0000000d | Blk gap: 0x00000000 [ 13.819000] sdhci: Wake-up: 0x00000000 | Clock: 0x00000000 [ 13.819049] sdhci: Timeout: 0x00000000 | Int stat: 0x00000000 [ 13.819098] sdhci: Int enab: 0x00ff00c3 | Sig enab: 0x00ff00c3 [ 13.819147] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000 [ 13.819196] sdhci: Caps: 0x6bee32b2 | Caps_1: 0x00000000 [ 13.819245] sdhci: Cmd: 0x00000000 | Max curr: 0x00000000 [ 13.819292] sdhci: Host ctl2: 0x00000000 [ 13.819331] sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000 [ 13.819377] sdhci: =========================================== [ 13.919605] mmc2: Reset 0x2 never completed. and it never recovers. Second race might happen while running mmc_power_off(): static void mmc_power_off(struct mmc_host *host) { host->ios.clock = 0; host->ios.vdd = 0; [ clock gating kicks in here ] /* * Reset ocr mask to be the highest possible voltage supported for * this mmc host. This value will be used at next power up. */ host->ocr = 1 << (fls(host->ocr_avail) - 1); if (!mmc_host_is_spi(host)) { host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN; host->ios.chip_select = MMC_CS_DONTCARE; } host->ios.power_mode = MMC_POWER_OFF; host->ios.bus_width = MMC_BUS_WIDTH_1; host->ios.timing = MMC_TIMING_LEGACY; mmc_set_ios(host); } If the clock gating worker kicks in while we are only partially updated the ios structure the host controller gets incomplete ios and might not work as supposed. Again on Intel Medfield platform we get: [ 4.185349] kernel BUG at drivers/mmc/host/sdhci.c:1155! [ 4.185422] invalid opcode: 0000 [#1] PREEMPT SMP [ 4.185509] Modules linked in: [ 4.185565] [ 4.185608] Pid: 4, comm: kworker/0:0 Not tainted 3.0.0+ #240 Intel Corporation Medfield/iCDKA [ 4.185742] EIP: 0060:[<c136364e>] EFLAGS: 00010083 CPU: 0 [ 4.185827] EIP is at sdhci_set_power+0x3e/0xd0 [ 4.185891] EAX: f5ff98e0 EBX: f5ff98e0 ECX: 00000000 EDX: 00000001 [ 4.185970] ESI: f5ff977c EDI: f5ff9904 EBP: f644fe98 ESP: f644fe94 [ 4.186049] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 4.186125] Process kworker/0:0 (pid: 4, ti=f644e000 task=f644c0e0 task.ti=f644e000) [ 4.186219] Stack: [ 4.186257] f5ff98e0 f644feb0 c1365173 00000282 f5ff9460 f5ff96e0 f5ff96e0 f644feec [ 4.186418] c1355bd8 f644c0e0 c1499c3d f5ff96e0 f644fed4 00000006 f5ff96e0 00000286 [ 4.186579] f644fedc c107922b f644feec 00000286 f5ff9460 f5ff9700 f644ff10 c135839e [ 4.186739] Call Trace: [ 4.186802] [<c1365173>] sdhci_set_ios+0x1c3/0x340 [ 4.186883] [<c1355bd8>] mmc_gate_clock+0x68/0x120 [ 4.186963] [<c1499c3d>] ? _raw_spin_unlock_irqrestore+0x4d/0x60 [ 4.187052] [<c107922b>] ? trace_hardirqs_on+0xb/0x10 [ 4.187134] [<c135839e>] mmc_host_clk_gate_delayed+0xbe/0x130 [ 4.187219] [<c105ec09>] ? process_one_work+0xf9/0x5b0 [ 4.187300] [<c135841d>] mmc_host_clk_gate_work+0xd/0x10 [ 4.187379] [<c105ec82>] process_one_work+0x172/0x5b0 [ 4.187457] [<c105ec09>] ? process_one_work+0xf9/0x5b0 [ 4.187538] [<c1358410>] ? mmc_host_clk_gate_delayed+0x130/0x130 [ 4.187625] [<c105f3c8>] worker_thread+0x118/0x330 [ 4.187700] [<c1496cee>] ? preempt_schedule+0x2e/0x50 [ 4.187779] [<c105f2b0>] ? rescuer_thread+0x1f0/0x1f0 [ 4.187857] [<c1062cf4>] kthread+0x74/0x80 [ 4.187931] [<c1062c80>] ? __init_kthread_worker+0x60/0x60 [ 4.188015] [<c149acfa>] kernel_thread_helper+0x6/0xd [ 4.188079] Code: 81 fa 00 00 04 00 0f 84 a7 00 00 00 7f 21 81 fa 80 00 00 00 0f 84 92 00 00 00 81 fa 00 00 0 [ 4.188780] EIP: [<c136364e>] sdhci_set_power+0x3e/0xd0 SS:ESP 0068:f644fe94 [ 4.188898] ---[ end trace a7b23eecc71777e4 ]--- This BUG() comes from the fact that ios.power_mode was still in previous value (MMC_POWER_ON) and ios.vdd was set to zero. We prevent these by inhibiting the clock gating while we update the ios structure. Both problems can be reproduced by simply running the device in a reboot loop. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Chris Ball <cjb@laptop.org> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I0800c10a341730080ebdd93cf6231ab043f588c7 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33376 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27arm: u5500: Enable HDMI displayJoseph V P
For supporting HDMI by default, HDMI configurations are enabled. ST-Ericsson ID: 362962 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I1ad6b80f56cbab53462e092eb45768b22ce55a04 Signed-off-by: Joseph V P <joseph.vp@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33337 Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Jayarami REDDY <jayarami.reddy@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-27mmc: rename mmc_host_clk_{ungate|gate} to mmc_host_clk_{hold|release}Mika Westerberg
As per suggestion by Linus Walleij: > If you think the names of the functions are confusing then > you may rename them, say like this: > > mmc_host_clk_ungate() -> mmc_host_clk_hold() > mmc_host_clk_gate() -> mmc_host_clk_release() > > Which would make the usecases more clear (This is CC'd to stable@ because the next two patches, which fix observable races, depend on it.) Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I5b5c07764db064d97194758de3bdffd99a8fd3a0 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33375 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-10-27mmc: remove unused "ddr" parameter in struct mmc_iosJaehoon Chung
"mmc: dw_mmc: Fix DDR mode support" removed the last user. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I50f9786c41931e8031865d282ab2ac0ca346fff3 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33374 Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com> Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com>