Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
"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>
|
|
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>
|
|
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>
Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
|
|
ST-Ericsson ID: -
ST-Ericsson Linux next: -
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: I573e79a6e9aacdc5673a25d55da38e20f7dacf4e
Signed-off-by: Jonas Aaberg <jonas.aberg@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32693
Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
|
|
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>
|
|
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>
|
|
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>
|
|
The header was moved but 5500 was not updated.
Change-Id: Ica5e1d5386c1a41797eaac87b2e04222d06866e3
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33275
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
|
|
Here is the list of changes:
* misc: audio_io: Remove obsolete and unused driver
* u8500: Enable IP multicast
* defconfig: enable SW reset feature
* U8500: enable again the STM trace driver
* ARM: u8500: configs: Enable regulator suspend force
* u8500_defconfig: Enable ip rule support (339665)
* ARM: config: u8500: Enable DB8500 regulators
* ARM: ux500: Use u8500_wdt
* u8500: watchdog: Reset to mainline status
* cpuidle: only go to ApIdle
* drivers:cpuidle U8500 support
* ARM: ux500: suspend_dbg: Add debug information
* ARM: ux500: suspend: Add wake on uart
* ARM: ux500: Add suspend support
* ARM: u8500: config: Enable cpufreq
* ARM: ux500: pm: Added context and pm
* ARM: ux500: Add prcmu-debug
* ARM: ux500: Add prcmu qos power
* ARM: ux500: Replace mach prcmu driver with mainlined version
* ARM: ux500: Remove powersave
* arm: u8500: Disable HDMI fb auto creation (364125)
* ARM: u8500: Not every u8500 has a TPS6105
ST-Ericsson Linux next: -
ST-Ericsson ID: 339665, 364125, 363600, 340331, 355020, 353690
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ic6a568411a70ed40e7ca3a14a4dfef0e17fc8543
Original Change-Ids:
I4641468e1d67e8596b1fcd9af69b0b81b686a0a0
Id652d38efceef6585fbb2505750edbacbc9e82a9
I61e0026c248f4a4f1078a988b0dcd395140e5510
I458d4565a5d1dedf84fbbc0c614daf80a9810693
I26ba2f655d4fb65708913cdeda632e2ca35fea0a
I3a570cdf0dbdbea2b2279428fa10d8a1fc63f659
Ieb69b0092465a71e7233cc63bddb149998f96410
I48b2a181e091c3095299646be376b7953a7d849c
I14fd6f9990e3fe58671ff256baa8e6dfa0376b1f
I952f7521284a41af56698cd8fc72b833210ea30e
I792d4c1b4d78f3cf67cc0c0150f0c93341d81979
I48792f56b4edc3fb93897d89ad18402a27652a4b
Ia9ae6894333ee8d696a2b946b565496e1c26554f
I039557aed52693dfad9b76ea0f2f746193aa4316
I6d29a32251144e3ff33841516ea265ea9964f46e
I1cfccc33d6e412dfcaaf1793ce19ea27c4b3b724
I810ae725fe1914ff605cf9704f8bdfb1a07b8f9b
Ic803dcddb6656c4c4be82b49b11530624942012d
I0c8d97679ee186ca8205aeeafa0030568f540d2e
I8ceaa65e5e0905fcd85bf8e793b4a5ab2d2df64c
I4098a7640a91c7f2695748a7a7ddf96f16e7981b
Iae2433a2060f2415dfcd30dd7a16338728b91ec2
Change-Id: Ic6a568411a70ed40e7ca3a14a4dfef0e17fc8543
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/32735
Reviewed-by: Derek MORTON <derek.morton@stericsson.com>
Reviewed-by: Yann GAUTIER <yann.gautier@stericsson.com>
Tested-by: Yann GAUTIER <yann.gautier@stericsson.com>
Reviewed-by: Christophe GUIBOUT <christophe.guibout@stericsson.com>
Reviewed-by: Andrew LYNN <andrew.lynn@stericsson.com>
|