summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-19U5500 : Update Kconfig to support TEE driver for 5500Bibek Basu
Make TEE driver available for 5500 also Change-Id: Iad03e452ed946f5f355fc06095ad4ccd0d539fc4 Signed-off-by: Bibek Basu <bibek.basu@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30836
2011-09-19usb:musb:ux500:set dma config for both src and dstThirupathi Chippakurthy
The dma driver requires both src and dst to be set. This fix is needed in order to run gadget mass storage. Patch is verified on snowball. ST-Ericsson ID: 352334 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I28001a4f5d00fff71d8d39b3cb7144affedb2766 Signed-off-by:<thirupathi.chippakurthy@stericsson.com> Signed-off-by:<Per Forlin <per.forlin@...> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30772 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
2011-09-19musb: host: linux Kernel3.0 host dma disabledThirupathi Chippakurthy
The dma driver disabled in Host Mode. Only enabled in Device mode. ST-Ericsson ID: 352334 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by:<thirupathi.chippakurthy@stericsson.com> Change-Id: I5d26d2990d1c01a2ce461eb87f2e8d4518f0e40a Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30823 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
2011-09-19mmc: Fix hangs related to insert/remove of cardsUlf Hansson
During a rescan operation mmc_attach(sd|mmc|sdio) functions are called. The error handling in these function can trigger a detach of the bus, which also meant a power off. This is not notified by the rescan operation which then continues to the next attach function. If a power off has been done, the framework must never send any new commands to the host driver, without first doing a new power up. This will most likely trigger any host driver to hang. Moving power off out of detach and instead handle power off separately when it is actually needed, solves the issue. ST-Ericsson Linux next: - ST-Ericsson ID: 339637 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Id808dc84625a953f4469855ad56e8d3b46b5434d Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30814
2011-09-19USB: Generating unique serial number for USBSakethram Bommisetti
This patch adds code to extract Public ID which is unique for each board and use it as serial number for USB. This will enable us to connect multiple boards to host as usb devices and access individually. ST-Ericsson ID: 277646 Change-Id: I8daf882106a28127e18684da7a289cce6967f842 Signed-off-by: Sakethram Bommisetti <sakethram.bommisetti@stericsson.com> Signed-off-by: dushyanth.sr <dushyanth.sr@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30809 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
2011-09-19video:mcde:Modified gpio set call to reset MCDENaveen Kumar Gaddipati
Modified gpio set call to reset MCDE due to kernel 3.0 mogration ST-Ericsson ID: 352334 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
2011-09-19Ux500 ASoC: Remove analog loopback graph from DAPMJohan Bohlin
ST-Ericsson ID: 358 510 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I134d32150292a0616ddc764c51b20d8f1120dbbe Signed-off-by: Johan Bohlin <johan.bohlin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29557 Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30803 Tested-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com>
2011-09-19Ux500 ASoC: Fix FIR-coeffecient limitOla Lilja
The value limit in ALSA-control for sidetone FIR-coeffecients changed to match 2 * 8 bits. ST Ericsson ID: CR345207 ST Ericsson FOSS-OUT ID: trivial ST Ericsson Linux next: N/A Change-Id: I2f56b5c1a9905bfad943c39798b7c856e2ce5f1b Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/26618 Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30801 Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Tested-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com>
2011-09-19Ux500 ASoC: Cosmetic changesOla Lilja
ALSA-controls are rearranged in a better way and comments are changed. No actual code is changed. ST-Ericsson Linux next: NA ST-Ericsson ID: NA ST-Ericsson FOSS-OUT ID: NA Change-Id: I9213476b1723f7cb52f782ae26f94b9e18ddc2c5 Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/26063 Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30800 Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Tested-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com>
2011-09-19Ux500 ASoC: Proper handling of vibra output driverOla Lilja
The Class-D amplifier used for vibra is now turned of to same power when not needed. A new control to handle this is introduced. ST-Ericsson Linux next: NA ST-Ericsson ID: 345554 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I28d4daf28b3ff33b9cc2665e8a156c6f56175b66 Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/26046 Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30799 Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Tested-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com>
2011-09-19Ux500 ASoC: Fix problem when disabling DMicsOla Lilja
When DMic1 or DMic2 was disabled the other one was also disabled. This is no longer the case. ST-Ericsson Linux next: NA ST-Ericsson ID: ER348882 ST-Ericsson FOSS-OUT ID: NA Change-Id: I88d402b3f7a22e53424f2f1bcfd6fdc8e8d24468 Signed-off-by: Ola Lilja <ola.o.lilja@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25710 Reviewed-by: QATEST Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30798 Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Tested-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com>
2011-09-19Ux500 ASoC: Activate gpio.1 clock during playbackHenrik Segerback
During burst mode, the DSP accesses the GPIO block to configure sleep mode before and after DSP sleeps. To allow this, the GPIO block must be clocked. ST-Ericsson Linux next: NA ST-Ericsson ID: 349519 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I625c63fd506316d543e26392d1edb4912193a12c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29114 Reviewed-by: Kristoffer KARLSSON <kristoffer.karlsson@stericsson.com> Tested-by: Kristoffer KARLSSON <kristoffer.karlsson@stericsson.com> Reviewed-by: QABUILD Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: QATEST Reviewed-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30802 Tested-by: Roger NILSSON1 <roger.xr.nilsson@stericsson.com> Reviewed-by: Henrik SEGERBACK <henrik.xh.segerback@stericsson.com>
2011-09-19cg2900: Set WLAN_PMU_EN for startupPar-Gunnar Hjalmdahl
Re apply the patch as some part of the patch content was lost becuase of 42cf5133396cf34d8ec640e4dc8f36f81b028dc3 Change-Id: I99dd076f79f01eb67b3db5020707f9d8f53fb455 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30792 Reviewed-by: Par-Gunnar HJALMDAHL <par-gunnar.p.hjalmdahl@stericsson.com> Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
2011-09-19u5500: Add cg2900 driverPar-Gunnar Hjalmdahl
This patch adds CG2900 driver to the u5500 defconfig. ST-Ericsson ID: 352334 ST-Ericcson FOSS-OUT-ID: Trivial ST-Ericsson Linux next: 274079 Change-Id: Idf2150f19c7415458fd84c3233bfa0c856a5d134 Signed-off-by: Par-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30787 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2011-09-19CG2900 FM Radio: Adapt to kernel 3.0Hemant Gupta
This patch adapts the FM driver to kernel 3.0 ST-Ericsson Linux next: NA ST-Ericsson ID: 352334 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I93b6a1f8251709cfe36eeaa41fc5cdfc4350a5e5 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30532 Reviewed-by: Hemant GUPTA <hemant.gupta@stericsson.com> Reviewed-by: Johan PALMAEUS <johan.xj.palmaeus@stericsson.com> Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
2011-09-19CG2900 FM Radio: BandScan IOCTL Calls Hangs.Hemant Gupta
This patch fixes the issue of Bandscan not returning, resulting in failure of test case. This patch also fixes spin_unlock issue in corner case. ST-Ericsson Linux next: NA ST-Ericsson ID: 352330 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I48b15be434cf9488626bcd184be087bbe56c9663 Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30557 Reviewed-by: Johan PALMAEUS <johan.xj.palmaeus@stericsson.com> Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
2011-09-19CG2900 FM Radio: CG2900 stops responding in FM Tx.Anurag Srivastava
This patch fixes issue of CG2900 chip not responding when the Overmodulation Interrupt frequency is high(one interrupt per 10 msec). The problem is fixed by changing the Overmodulation Interrupt frequency to one interrupt per 100 msec. ST-Ericsson Linux next: NA ST-Ericsson ID: 358197 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Idfd21f8604788800bc117da9e161cea2c6c8a374 Signed-off-by: Anurag Srivastava <anurag.srivastava@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30552 Reviewed-by: Hemant GUPTA <hemant.gupta@stericsson.com> Reviewed-by: Johan PALMAEUS <johan.xj.palmaeus@stericsson.com> Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
2011-09-19CG2900 FM Radio: Handling Mono-Stereo Interrupt.Hemant Gupta
The linux FM driver for CG2900 now supports mono-stereo transition interrupt from the CG2900. It indicates stereo to mono transition or vice versa. Support for RDS Interrupt, Scan Completion Interrupt, CG2900 Reset Interrupt, etc is also added in this patch. ST-Ericsson ID: 324264 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I280a2a00a6f58e105d11f3a9f14ea662719c485e Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30511 Reviewed-by: Johan PALMAEUS <johan.xj.palmaeus@stericsson.com> Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
2011-09-19board-mop500: Correct the video_ctrl_gpio initializationVirupax Sadashivpetimath
add ab8500 gpio_base to the video_ctrl_gpio offset 34, i.e the 35th pin in ab8500 pins. Change-Id: I9f8dd79a1237921f5517fea43ca535cadd229504 Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30771
2011-09-19UART:pl011: migrate pl011 support to 3.0Rajanikanth H.V
pl011 changes from the following commits have been manually merged. ef45647, d57a627, 588c0bb, 9b4ecf9, 913afa0, 13aa593, e7d5dcb, 5115d25, 19fcf44 ST-Ericsson ID: NA ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Change-Id: I1759c825add127867cf6edc688b860e82743ce6f Signed-off-by: Rajanikanth H.V <rajanikanth.hv@stericsson.com>
2011-09-19mach-ux500: change keymap of TC35892xNaga Radhesh
map home key for TC35892x Expander ST-Ericsson ID: - ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Naga Radhesh <naga.radheshy@stericsson.com> Change-Id: I8d9fdd97c8b69de060b50787ac2f2d1d8323b61b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30728
2011-09-19mmc: remove wakelocksDaniel Willerud
Wakelocks are not needed when enable/disable is utilized in the driver. The disable time-out will prevent the mmc host from suspending until time t has elapsed. ST-Ericsson Linux next: NA ST-Ericsson ID: 337218 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I018926ed46e05d5aeef1f5a697fe46ae3489d086 Signed-off-by: Daniel Willerud <daniel.willerud@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23220 Reviewed-by: QATOOLS Reviewed-by: QATEST Reviewed-by: Joakim AXELSSON <joakim.axelsson@stericsson.com> Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Reviewed-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30727 Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: Fixup wakelock handlingUlf Hansson
Wakelocks was not used correctly in mmc core. A suspend operation could be triggered even though there was an ongoing mmc operation. Instead now one wakelock exist per mmc host. Once the host is enabled the wakelock is retrieved. When the host is ready to be disabled the wakelock is released. Change-Id: I72e1fb80e47e9bc181766dc84bafb006a71ff6b4 Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/14668 Reviewed-by: Stefan NILSSON9 <stefan.xk.nilsson@stericsson.com> Reviewed-by: QATOOLS Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30726
2011-09-19ux500: usb: Move request ARM OPP qos to usb driverSakethram Bommisetti
ST-Ericsson ID: - ST-Ericsson Linux next: Not tested ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Sakethram Bommisetti <sakethram.bommisetti@stericsson.com> Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Change-Id: I70bc1f067032973d20261edb7cdc73631ad30d1c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30691 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com> Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
2011-09-19mmc: core: use defined R1_STATE_PRG macro for card statusJaehoon Chung
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: I5883d71a8778e7054de91a7be97313b84b7d7f23 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30696 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: core: Detect eMMC v4.5 ext_csd entriesKyungmin Park
The eMMC v4.5 Spec is released now: EXT_CSD_REV Extended CSD Revision 255-7 Reserved 6 Revision 1.6 (for MMC v4.5) 5 Revision 1.5 (for MMV v4.41) ... Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Iab70823ab97e00fa6989ef29fcd6231d7e32d926 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30695 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: mmc_test: avoid stalled file in debugfsAndy Shevchenko
During card removal and inserting cycle the test file in the debugfs could be stalled until the host driver removes it. Let's keep the file in the linked list and destroy it when card is removed. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Per Forlin <per.forlin@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I51ac6f9e4f11064d9fc8ac7b5e27e5e0a0cb1d8b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30694 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: print debug messages for runtime PM actionsDaniel Drake
At http://www.mail-archive.com/linux-mmc@vger.kernel.org/msg08371.html (thread: "mmc: sdio: reset card during power_restore") we found and fixed a bug where mmc's runtime power management functions were not being called. We have now also made improvements to the SDIO powerup routine which could possibly mask this kind of issue in future. Add debug messages to the runtime PM hooks so that it is easy to verify if and when runtime PM is happening. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: If43673c008a65d46420a77922859dbb64eef3dbb Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30690 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: fix runtime PM with -ENOSYS suspend caseOhad Ben-Cohen
In the case where a driver returns -ENOSYS from its suspend handler to indicate that the device should be powered down over suspend, the remove routine of the driver was not being called, leading to lots of confusion during resume. The problem is that runtime PM is disabled during this process, and when we reach mmc_sdio_remove, calling the runtime PM functions here (validly) return errors, and this was causing us to skip the remove function. Fix this by ignoring the error value of pm_runtime_get_sync(), which can return valid errors. This also matches the behaviour of pci_device_remove(). Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ibeab62a4cc265c3dd824c9751ddb5a0bea614afd Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30689 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: fixed NULL pointer dereferenceJaehoon Chung
We already check for ongoing async transfers when handling discard requests, but not in mmc_blk_issue_flush(). This patch fixes that omission. Tested with an SDHCI controller and eMMC4.41. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Per Forlin <per.forlin@linaro.org> Cc: <stable@kernel.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ic86f89392503a5cf4c5d9e61c0a521956a3e08c0 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30688 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: core: Set non-default Drive Strength via platform hookPhilip Rakity
Non default Drive Strength cannot be set automatically. It is a function of the board design and only if there is a specific platform handler can it be set. The platform handler needs to take into account the board design. Pass to the platform code the necessary information. For example: The card and host controller may indicate they support HIGH and LOW drive strength. There is no way to know what should be chosen without specific board knowledge. Setting HIGH may lead to reflections and setting LOW may not suffice. There is no mechanism (like ethernet duplex or speed pulses) to determine what should be done automatically. If no platform handler is defined -- use the default value. Signed-off-by: Philip Rakity <prakity@marvell.com> Reviewed-by: Arindam Nath <arindam.nath@amd.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I6bf5643686cf2011df25f353d0e705f6701b51c4 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30687 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: add handling for two parallel block requests in issue_rw_rqPer Forlin
Change mmc_blk_issue_rw_rq() to become asynchronous. The execution flow looks like this: * The mmc-queue calls issue_rw_rq(), which sends the request to the host and returns back to the mmc-queue. * The mmc-queue calls issue_rw_rq() again with a new request. * This new request is prepared in issue_rw_rq(), then it waits for the active request to complete before pushing it to the host. * When the mmc-queue is empty it will call issue_rw_rq() with a NULL req to finish off the active request without starting a new request. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar <sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: If273a9919881fb7a112bccd0aa34fcd198bd121b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30686 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: queue: add a second mmc queue request memberPer Forlin
Add an additional mmc queue request instance to make way for two active block requests. One request may be active while the other request is being prepared. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar <sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I9030307ca4a79f10517a3504e88e51a38f7b8d58 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30679 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: move error path in issue_rw_rq to a separate function.Per Forlin
Break out code without functional changes. This simplifies the code and makes way for handling two parallel requests. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar<sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ie532eab1715261d61aa20aa19062d7487ec41e9b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30678 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: add a block request prepare functionPer Forlin
Break out code from mmc_blk_issue_rw_rq to create a block request prepare function. This doesn't change any functionallity. This helps when handling more than one active block request. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar <sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I42086ae0705e11701da8eec87b7a9407b7d7f45c Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30677 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: add member in mmc queue struct to hold request dataPer Forlin
The way the request data is organized in the mmc queue struct, it only allows processing of one request at a time. This patch adds a new struct to hold mmc queue request data such as sg list, request, blk request and bounce buffers, and updates any functions depending on the mmc queue struct. This prepares for using multiple active requests in one mmc queue. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar <sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ic283b1b581a47134ae804db03cb71bf4202daa6b Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30676 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: mmc_test: test to measure how sg_len affect performancePer Forlin
Add a test that measures how the mmc bandwidth depends on the numbers of sg elements in the sg list. The transfer size if fixed and sg length goes from a few up to 512. The purpose is to measure overhead caused by multiple sg elements. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar <sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Iea802e083c19429f3f05fcc4fce0f34af34c7e47 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30675 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: mmc_test: add test for non-blocking transfersPer Forlin
Add four tests for read and write performance per different transfer size, 4k to 4M. * Read using blocking mmc request * Read using non-blocking mmc request * Write using blocking mmc request * Write using non-blocking mmc request The host driver must support pre_req() and post_req() in order to run the non-blocking test cases. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar<sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ie6296b9a453ae8fd018de2d24714a968ff22fc35 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30674 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: mmc_test: add debugfs file to list all testsPer Forlin
Add a debugfs file "testlist" to print all available tests. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar<sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: Ia3d9252f0704c644b22d613d1228cffe78d2a44a Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30673 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: core: add non-blocking mmc request functionPer Forlin
Previously there has only been one function mmc_wait_for_req() to start and wait for a request. This patch adds: * mmc_start_req() - starts a request wihtout waiting If there is on ongoing request wait for completion of that request and start the new one and return. Does not wait for the new command to complete. This patch also adds new function members in struct mmc_host_ops only called from core.c: * pre_req - asks the host driver to prepare for the next job * post_req - asks the host driver to clean up after a completed job The intention is to use pre_req() and post_req() to do cache maintenance while a request is active. pre_req() can be called while a request is active to minimize latency to start next job. post_req() can be used after the next job is started to clean up the request. This will minimize the host driver request end latency. post_req() is typically used before ending the block request and handing over the buffer to the block layer. Add a host-private member in mmc_data to be used by pre_req to mark the data. The host driver will then check this mark to see if the data is prepared or not. Signed-off-by: Per Forlin <per.forlin@linaro.org> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Venkatraman S <svenkatr@ti.com> Tested-by: Sourav Poddar <sourav.poddar@ti.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I1cd15d44a1c401d4e461632ccd3185f444fc96bc Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30672 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: queue: let host controllers specify maximum discard timeoutAdrian Hunter
Some host controllers will not operate without a hardware timeout that is limited in value. However large discards require large timeouts, so there needs to be a way to specify the maximum discard size. A host controller driver may now specify the maximum discard timeout possible so that max_discard_sectors can be calculated. However, for eMMC when the High Capacity Erase Group Size is not in use, the timeout calculation depends on clock rate which may change. For that case Preferred Erase Size is used instead. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I2d8111ab0a31a788feb1f23c87a7d00529193620 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30671 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: add checking of r/w command responseRussell King - ARM Linux
Check the status bits in the r/w command response for any errors. If error bits are set, then we won't have seen any data transferred, so it's pointless doing any further checking. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I39532b7b5f6e0d2a576bc58ae232e6a26333779a Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30670 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: improve error recovery from command channel errorsRussell King - ARM Linux
Command channel errors fall into four classes: 1. The command was issued with the card in the wrong state 2. The command failed to be received by the card correctly 3. The cards response failed to be received by the host (CRC error) 4. The card failed to respond to the card For (1), in theory we should know that the card is in the correct state. However, a failed stop command (or other failure) may result in the card remaining in a data transfer state from the previous command. If we detect this condition, we try to recover by sending a stop command. For the initial commands (set block count and the read/write command) no data will have been transferred. All that we need deal with is retrying at this point. A failed stop command can be remedied as above. If we are unable to recover the card (eg, the card ignores our requests for status, or we don't recognise the error code) then we immediately fail the request. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I87abaa61b77052dfe1f49f49ee88a0991b229903 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30669 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19mmc: block: allow get_card_status() to return error statusRussell King - ARM Linux
If the MMC_SEND_STATUS command is not successful, we should not return a zero status word, but instead allow the caller to know positively that an error occurred. Convert the open-coded get_card_status() to use the helper function, and provide definitions for the card state field. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Linus Walleij <linus.walleij@linaro.org> Tested-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Chris Ball <cjb@laptop.org> Change-Id: I188a24aa1f206ea33712c0c6ca32249fe4ee6606 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30592 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19ARM: 6981/2: mmci: adjust calculation of f_minLinus Walleij
The ARM version maximum clock divider is 512 whereas for the ST variants it's 257. Let's use DIV_ROUND_UP() for both cases so we can see clearly what's going on here. [Use DIV_ROUND_UP to clarify elder code] Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com> Reviewed-by: Sebastian Rasmussen <sebastian.rasmussen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Change-Id: I45a5b4d4374df5656e4cd640f8544f7b36c592b0 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30591 Reviewed-by: Sebastian RASMUSSEN <sebastian.rasmussen@stericsson.com>
2011-09-19Revert "mmc: block: Resume multi-block reads..Ulf Hansson
.. after transient read errors." This reverts commit 505115821a1d35afd39f962f4cf69199db9d9e8f. Change-Id: Ifbfcd38f2f7feb63ff0886497046410b41db03f4 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30636 Reviewed-by: Ulf HANSSON <ulf.hansson@stericsson.com> Tested-by: Ulf HANSSON <ulf.hansson@stericsson.com>
2011-09-19U8500:USB:Fix for wrong handling of QOSSakethram Bommisetti
Updating the QOS entry rather than creating a new one. ST-Ericsson ID: NA ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Sakethram Bommisetti <sakethram.bommisetti@stericsson.com> Change-Id: I89cc6ddb154c13cd5e9e34d31adba7eef791acfc Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30620 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com>
2011-09-19video: mcde: use external TE0 for display vsyncAnders Bauer
This patch makes it possible to use external gpio for display vsync signal. Make sure the board has a physical connection set up for carrying the signal and enable external vsync by setting sync_src = MCDE_SYNCSRC_TE0 in mcde_port in the board configuration file. ST-Ericsson ID: 360444 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I43f459b752d3002b19404e59b2c2b8585caaf4d3 Signed-off-by: Anders Bauer <anders.bauer@stericsson.com>
2011-09-19video: mcde: Match DSI pkt_size to display widthMaciej Socha
Data for each scanline is split into several equally sized DSI packets. The selected packet size is always less than or equal to the corresponding output FIFO size. Watermark level of output FIFO is set to match the display width whenever possible. Otherwise it is set to split each scanline into several equally sized data chunks. ST-Ericsson ID: 340442, 352852 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ife405bd43a63991f984e14a0615035a2a33c8cb3 Signed-off-by: Maciej Socha <maciej.socha@stericsson.com>
2011-09-19video: mcde: request irq after init_waitqueueJimmy Rubin
The irq_handler uses the waitqueue to wake a thread when a vcomp arrives. This waitqueue must be initialized before the irq is requested in probe. ST-Ericsson ID: 355171 ST-Ericsson FOSS-OUT ID: Trivial ST-Ericsson Linux next: NA Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com> Change-Id: I5ac187e04bffb779dac17f78e5599ba5e75b0c13