summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2011-10-11mmc: 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-11mmc: 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-11cg2900: 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-11video: 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-11dma40: 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-11video: 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-11video: 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-11video: 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-11video: 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-11ux500: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mmc: 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-10mfd: add irq_wake for TC3589xNaga Radhesh
add enable_irq_wake during suspend and disable_irq_wake during resume for TC3589x keypad ST-Ericsson ID: 365245 ST-Ericsson Linux next: ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Naga Radhesh <naga.radheshy@stericsson.com> Change-Id: If9d2f272f4db70048220095c9749fd05245010aa Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33409 Reviewed-by: QABUILD Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-10ux500: camera_flash: add platform data for adp1653Rajat Verma
board specific information such as enable_gpio and interrupt line information should be obtained using platform_data and not hardcoded inside the driver itself. ST-Ericsson Linux next: NA ST-Ericsson ID: 361940 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I73a0f3e986bd3cbf19a0797190d514af9b84e3df Signed-off-by: Rajat Verma <rajat.verma@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33282 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-10ARM: ux500: send cpufreq notification for all cpusVincent Guittot
The same clock is used for all cpus so we must notify the frequency change for each one in order to update the configuration of all twd clockevents. change since V1: * use policy->cpus instead of cpu_online_mask Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> Change-Id: Ib05cc1bb37a1a1dc740257c6f24dd2f3c53f8261 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33276 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com> Tested-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-10CG2900 FM Radio: RDS data cannot be retrieved.Hemant Gupta
This patch fixes the issue of non retrieval of RDS data from driver resulting in failure of further communication with driver. ST-Ericsson Linux next: NA ST-Ericsson ID: 363004 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I38e403cdb9845e1b644c28fbbc0ce6ca802a265e Signed-off-by: Hemant Gupta <hemant.gupta@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32954 Reviewed-by: Andreas KARLSSON <andreas.z.karlsson@stericsson.com> Reviewed-by: Anupam ROY <anupam.roy@stericsson.com>
2011-10-10power: ab5500-bm: set default charging currentArun Murthy
In case of standard host, current that can be drawn for charging is to be notified by the usb driver. Until this notification battery driver can go ahead charging by consuming 100mA as per the specs. Change-Id: I2687afa5dca39d0e800011848b38f2822d0bc7e7 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31934 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com> Reviewed-by: Karl KOMIEROWSKI <karl.komierowski@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-06ARM: U9500: HSI registers update to DB8500 V2 specPawel Szyszuk
ST-Ericsson Linux next: NA ST-Ericsson ID: 365681 ST-Ericsson FOSS-OUT ID: NA Change-Id: I396c2a4d44ded438308e358aa0ad976a397d4dd6 Signed-off-by: Pawel Szyszuk <pawel.szyszuk@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33224 Reviewed-by: Christopher BLAIR <chris.blair@stericsson.com> Reviewed-by: Derek MORTON <derek.morton@stericsson.com> Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
2011-10-06ARM: U9500: HSI RX PIPELINE buffer flushPawel Szyszuk
ST-Ericsson Linux next: NA ST-Ericsson ID: 365683 ST-Ericsson FOSS-OUT ID: NA Change-Id: I25b92d815447d2746ba25a9db132b242b3da9d9c Signed-off-by: Pawel Szyszuk <pawel.szyszuk@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33223 Reviewed-by: Christopher BLAIR <chris.blair@stericsson.com> Reviewed-by: Derek MORTON <derek.morton@stericsson.com> Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
2011-10-06hwmon: dbx500: Stop db max alarms from shutting down the platformChris Kimber
Setting the critical alarm causes the PRCMU to shutdown the platform, the _max alarm is used by the platform thermal service to try and take actions to prevent the critical shutdown occuring. ST-Ericsson ID: 364370 ST-Ericsson Linux next: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I04671800872aba8318f461fb5a710a72aea4280a Signed-off-by: Chris Kimber <chris.kimber@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32400 Reviewed-by: Duncan PATERSON <duncan.paterson@stericsson.com> Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
2011-10-06video: mcde: Fix fps loggingMarcus Lorentzon
Add debugfs support for enabling frame rate logging to dmesg and getting latest fps metric. ST-Ericsson ID: 364378 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I29ce236ef09049eee69ac2b93f28f548d75418d8 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33092 Tested-by: Marcus LORENTZON <marcus.xm.lorentzon@stericsson.com> Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
2011-10-06video: av8100: Change color convert rgb->dencJimmy Rubin
The color convertion matrix for rgb->denc is incorrect. ST-Ericsson ID: 339717 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I34360ac40feb3886e235d8f7e0a622327114241f Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33152
2011-10-06U8500 MMIO,CameraFlash: Remove duplicate headerspsen
Remove duplicate header files exist in mmio and camera flash staging drivers which already exists in include/linux. ST-Ericsson ID: NA ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Pankaj Sen <pankaj.sen@stericsson.com> Change-Id: I912dad16aadd56d2277526ca168cf11bf7b13524 Change-Id: I952eaef158634be3f1f408a78f79f690f4b00426 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32255 Reviewed-by: Vishal JAIN STE <v.jain@stericsson.com> Tested-by: Vishal JAIN STE <v.jain@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
2011-10-05cg2900: Use correct platform_dataPar-Gunnar Hjalmdahl
This patch fixes a bug in the CG2900 driver where platform data structure was overwritten during probe. ST-Ericsson ID: 364913 ST-Ericcson FOSS-OUT-ID: Trivial ST-Ericsson Linux next: 364913 Change-Id: Id6e6918814e01dbef0cd89eda0a034196a81454a Signed-off-by: Par-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32891 Reviewed-by: Hemant GUPTA <hemant.gupta@stericsson.com> Reviewed-by: Himanshu AGGARWAL <himanshu.aggarwal@stericsson.com>
2011-10-05mfd: clean up the u8500 prcmu driverMattias Nilsson
Fix the remaining register addressing in the U8500 PRCMU driver. ST Ericsson ID: - ST Ericsson FOSS-OUT ID: trivial ST Ericsson linux next: ? Change-Id: I0a6527873fd3cd771bf202573365d2e14eeb7054 Signed-off-by: Mattias Nilsson <mattias.i.nilsson@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32950 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2011-10-05rtc: ab8500: Add calibration attribute to AB8500 RealTimeClockMark Godfrey
The rtc_calibration attribute allows user-space to get and set the AB8500's RtcCalibration register. The AB8500 will then use the value in this register to compensate for RTC drift every 60 seconds. ST Ericsson ID: 362204 Change-Id: I32a4bda5d6cc0812dcb53d721088e8b844c25b46 Signed-off-by: Mark Godfrey <mark.godfrey@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32922 Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
2011-10-05misc: audio_io: Remove obsolete and unused driverJonas Aaberg
audio_io is superseded by alsa. ST-Ericsson Linux next: - ST-Ericsson ID: - ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I4641468e1d67e8596b1fcd9af69b0b81b686a0a0 Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32904 Reviewed-by: Ola LILJA2 <ola.o.lilja@stericsson.com>
2011-10-05U8500 CM: do not initialize ESRAM to zeroPierre Peiffer
The CM driver initializes the whole ESRAM to zero, including the DMA part (at offset 64k-68k) which can be already in use. Let the CM map only the required part (ie exclude the MCDE part) and do not reset the ESRAM to zero at init. ST-Ericsson ID: 361307 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Signed-off-by: Pierre Peiffer <pierre.peiffer@stericsson.com> Change-Id: Ie930e7febe7e24b790c2d2b8ffadc4198daabac7 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32980 Reviewed-by: Pierre PEIFFER <pierre.peiffer@stericsson.com> Tested-by: Pierre PEIFFER <pierre.peiffer@stericsson.com>
2011-10-04power: ab5500-bm: handle divide by zero warningArun Murthy
samples obtained from the fuel gauge is used to calculate the average current. Calculation of average current include division by samples, which ends up with division by zero in case samples is zero. Hence if samples is zero, average current is not calaulated and previous value is used. ST-Ericsson Linux next: NA ST-Ericsson ID: 363829 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I04dd205a7af07cfc7d2ff369fd29cdd1363f6208 Signed-off-by: Arun Murthy <arun.murthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32674 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-04arm: ux500: Configure dsi clocks and regulatorsJimmy Rubin
Removes dsi clock, dsi lp clock and VANA regulator if MCDE_DISPLAY_DSI is not set. Adds return value for enable_dsi_pll. ST-Ericsson ID: 343541 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: Trivial Change-Id: I64ede6273b39b05b2a048c62e8752fe615461364 Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com> [venkata.biswanath@stericsson.com: only moved prcmu changes to new file. The rest are already applied] Signed-off-by: Venkata Biswanath <venkata.biswanath@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31801 Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32860 Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-04ux500:USB: Handling the null pointer situationSakethram Bommisetti
Connect and boot can cause a NULL pointer access if link status interrupt comes before we enable the MUSB platform initialization happens. ST-Ericsson Linux next: NA ST-Ericsson ID: 365151 ST-Ericsson FOSS-OUT ID: NA Signed-off-by: Sakethram Bommisetti <sakethram.bommisetti@stericsson.com> Change-Id: I91aaa269913a7fdf5b4f59927dd563cf8c456e4f Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32825 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2011-10-03SOC CG29xx: Fix bit-clock to receive FM over I2SShyam Krishnan M
This patch corrects the bit clock of msp. The MSP1 line is used to receive FM. ST-Ericsson Linux next: NA ST-Ericsson ID: 335714 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Id7ce4b7cafb12fee67c3ac13228d255714e7d234 Signed-off-by: Shyam Krishnan M <shyam.moni@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32801 Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2011-10-03input: Report all key actions in SKE autoscan modeKarl-Johan Perntz
Driver now use a delayed work to poll the autoscan registers after a key press interrupt. Polling is performed until all keys are released. Solution was chosen since the hardware does not clear the KPRISA interrupt bit while a key is pressed, making detection of a second key action impossible. ST-Ericsson ID: 361135 ST-Ericsson Linux next: Not tested ST-Ericsson FOSS-OUT ID: Trivial Change-Id:Ic258f380ed5a9df78bce68362d4d2ca3e18a9cf1 Signed-off-by: Karl-Johan Perntz <karl-johan.perntz@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32458 Reviewed-by: Naga RADHESH Y <naga.radheshy@stericsson.com> Tested-by: Naga RADHESH Y <naga.radheshy@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
2011-10-03ARM: U9500: HSI core clocks initializationPawel Szyszuk
ST-Ericsson Linux next: NA ST-Ericsson ID: 343481 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ic59f08e1bb5d858344d95b5d34ae8a5d85d9aa1d Signed-off-by: Pawel Szyszuk <pawel.szyszuk@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32518 Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
2011-10-03U5500: PRCMU MBOX4 support for Hotdog and hotmonVijaya Kumar Kilari
PRCMU driver interface for thermal management of DB5500. MBOX4 supports to - configure hotmon period - configure hotdog ranges - read current temperature ST-Ericsson Linux next: - ST-Ericsson ID: 334775 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: If25acd1d500800053bd6c511a64c9e5726c69647 Signed-off-by: Vijaya Kumar Kilari <vijay.kilari@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/28334 Reviewed-by: QABUILD Reviewed-by: QATEST Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32788 Tested-by: Venkata Biswanath DEVARASETTY <venkata.biswanath@stericsson.com> Reviewed-by: Rabin VINCENT <rabin.vincent@stericsson.com>
2011-10-03android: usb: fix crashes in ecm_set_alt()Thirupathi Chippakurthy
Added fix for crash in ecm_set_alt(). This patch is based on the changes done for RNDIS in the patch commit id 789ef237b38a79f988738ff18ae6d756551afb92 ACM in the patch commit id 0ab69f47e172739fd499f09469fde6eb16e9287d ST-Ericsson ID:AP 365052 ST-Ericsson Linux next: NA ST-Ericsson FOSS-OUT ID: NA Change-Id: I673d5bc1632bcd4b382c96373501e797a4dc6287 Signed-off-by: Thirupathi <thirupathi.chippakurthy@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32673 Reviewed-by: Praveena NADAHALLY <praveen.nadahally@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>