- 09 7月, 2014 5 次提交
-
-
由 Andreas Fenkart 提交于
These are predefined states of the driver model. When not present, as if not set in the device tree, they become no-ops. Explicitly selecting the default state is not needed since the device core layer sets pin mux to "default" state before probe. This is not the simplest implementation, on AM335x at least, we could switch to idle at any point in the suspend hook, only the default state needs to be set before writing to the irq registers or an IRQ might get lost. Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NAndreas Fenkart <afenkart@gmail.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Andreas Fenkart 提交于
On multicores, an sdio irq handler could be running in parallel to runtime suspend. In the worst case it could be waiting for the spinlock held by the runtime suspend. When runtime suspend is complete and the functional clock (fclk) turned off, the irq handler will continue and cause a SIGBUS on the first register access. Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NAndreas Fenkart <afenkart@gmail.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Balaji T K 提交于
To detect sdio irqs properly without spurious events, OMAP4 needs IWE in CON and CTPL, CLKEXTFREE in HCTL to be set Tested-by: NAndreas Fenkart <afenkart@gmail.com> Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Andreas Fenkart 提交于
Add SDIO IRQ entries to debugfs entry. Note that PSTATE shows current state of data lines, incl. SDIO IRQ pending Signed-off-by: NAndreas Fenkart <afenkart@gmail.com> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
由 Andreas Fenkart 提交于
There have been various patches floating around for enabling the SDIO IRQ for hsmmc, but none of them ever got merged. Probably the reason for not merging the SDIO interrupt patches has been the lack of wake-up path for SDIO on some omaps that has also needed remuxing the SDIO DAT1 line to a GPIO making the patches complex. This patch adds the minimal SDIO IRQ support to hsmmc for omaps that do have the wake-up path. For those omaps, the DAT1 line need to have the wake-up enable bit set, and the wake-up interrupt is the same as for the MMC controller. This patch has been tested on am3730 es1.2 with mwifiex connected to MMC3 with mwifiex waking to Ethernet traffic from off-idle mode. Note that for omaps that do not have the SDIO wake-up path, this patch will not work for idle modes and further patches for remuxing DAT1 to GPIO are needed. Based on earlier patches [1][2] by David Vrabel <david.vrabel@csr.com>, Steve Sakoman <steve@sakoman.com> For now, only support SDIO interrupt if we are booted with a separate wake-irq configued via device tree. This is because omaps need the wake-irq for idle states, and some omaps need special quirks. And we don't want to add new legacy mux platform init code callbacks any longer as we are moving to DT based booting anyways. To use it, you need to specify the wake-irq using the interrupts-extended property. [1] http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux.git;a=commitdiff_plain;h=010810d22f6f49ac03da4ba384969432e0320453 [2] http://comments.gmane.org/gmane.linux.kernel.mmc/20446Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NAndreas Fenkart <afenkart@gmail.com> Signed-off-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
-
- 22 5月, 2014 6 次提交
-
-
由 Balaji T K 提交于
moving dmaengine consumer specific function to omap-dmaengine.h to Resolve build failure seen with sh-allmodconfig: include/linux/omap-dma.h:171:8: error: expected identifier before numeric constant make[4]: *** [drivers/mmc/host/omap_hsmmc.o] Error 1 Cc: Russell King - ARM Linux <linux@arm.linux.org.uk> Cc: Tony Lindgren <tony@atomide.com> Signed-off-by: NBalaji T K <balajitk@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
Check for set block count command fails always since host->cmd is set to NULL in the same function incorrectly. Correct host->cmd usage properly. Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
With devm_ioremap_resource conversion release_mem_region, iounmap can be removed in clean up path Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
With devm_request_threaded_irq conversion free_irq can be removed in clean up path Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
With devm_request_irq conversion free_irq can be removed in clean up path Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
With devm_clk_get conversion clk_put can be removed in clean up path Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
- 21 4月, 2014 1 次提交
-
-
由 Seungwon Jeon 提交于
Replaced UHS_DDR50 with MMC_DDR52. Signed-off-by: NSeungwon Jeon <tgih.jun@samsung.com> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
- 05 3月, 2014 14 次提交
-
-
由 Balaji T K 提交于
Add support for autocmd23 support Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
Add set block count command support for close ended multiblock read/write. Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
split start dma function into setup and start dma to keep track of host_cookie when cmd23 support is enabled along with async request. Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
mrq is not populated for set block count(cmd23) command. Use block read/write mmc_commond pointer for request done and avoid NULL pointer access in error case for sbc (cmd23). Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
clk_get_rate throws DEBUG_LOCKS_WARN_ON(in_interrupt()) warning if called from interrupt context. use cached clock rate in set_data_timeout, so that set_data_timeout can be called from interrupt context. Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
Remove redundant reset done check since omap hwmod layer ensures IP reset. Signed-off-by: NBalaji T K <balajitk@ti.com> Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
of_get_hsmmc_pdata returns a pointer, returning NULL is invalid, return ERR_PTR for error case. Signed-off-by: NBalaji T K <balajitk@ti.com> Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
remove pbias workaround Signed-off-by: NBalaji T K <balajitk@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Tested-by: NFlorian Vaussard <florian.vaussard@epfl.ch> Tested-by: NStefan Roese <sr@denx.de> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
In DT case, PBAIS registers are programmed via regulator, use regulator APIs to control PBIAS. Signed-off-by: NBalaji T K <balajitk@ti.com> Tested-by: NFlorian Vaussard <florian.vaussard@epfl.ch> Tested-by: NStefan Roese <sr@denx.de> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
handle vcc and vcc_aux independently to reduce indent. Signed-off-by: NBalaji T K <balajitk@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Tested-by: NFlorian Vaussard <florian.vaussard@epfl.ch> Tested-by: NStefan Roese <sr@denx.de> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Balaji T K 提交于
Use devm_regulator API, while at it use devm_regulator_get_optional for optional vmmc_aux supply Signed-off-by: NBalaji T K <balajitk@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Tested-by: NFlorian Vaussard <florian.vaussard@epfl.ch> Tested-by: NStefan Roese <sr@denx.de> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Daniel Mack 提交于
This should probably be done implicitly through mmc_of_parse(), but that doesn't play well along with the multi-slot model the hsmmc driver features. Hence, for now, do it manually. The properties are already documented in Documentation/devicetree/bindings/mmc/mmc.txt. Signed-off-by: NDaniel Mack <zonque@gmail.com> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Nishanth Menon 提交于
When device is booted using devicetree, platforms impacted by Erratum 2.1.1.128 is not detected easily in the mmc driver. This erratum indicates that the module cannot do multi-block transfers. Platforms such as LDP which use OMAP3 ES revision prior to ES3.0 are impacted by this. Provide a new compatible property "ti,omap3-pre-es3-hsmmc" to allow driver to determine if driver needs to implement quirks associated with the specific module version (primarily because the IP revision information is not sufficient for the same). Signed-off-by: NNishanth Menon <nm@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Dan Carpenter 提交于
Static checkers complain that testing for both "next" and "!next" is duplicative. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <chris@printf.net>
-
- 31 10月, 2013 6 次提交
-
-
由 Ulf Hansson 提交于
Suspend and resume of cards are handled by the protocol layer and consequently the mmc_suspend|resume_host APIs are marked as deprecated. While moving away from using the deprecated APIs, there are nothing left to be done for the suspend and resume callbacks, so remove them. Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com> Cc: linux-omap@vger.kernel.org Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Balaji T K 提交于
With lazy disable gone, no_off is not used any more in omap_hsmmc Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Balaji T K 提交于
clock divisor can take a max value of 1023. Update code so that card init can be handled at f_min even at higher IP clock frequencies from which clock to the card is derived. Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Jianpeng Ma 提交于
With HSMMC_HAS_UPDATED_RESET reset of cmd/data (SRC/SRD) can be to quick and can be missed resulting in wait for software timeout. With cpu_relax timeout can be long and unpredictable. Use udelay instead for timeout implementation. Reported-by: NYuzheng Ma <mayuzheng@kedacom.com> Tested-by: NYuzheng Ma <mayuzheng@kedacom.com> Reviewed-by: NHein Tibosch <hein_tibosch@yahoo.es> Signed-off-by: NJianpeng Ma <majianpeng@gmail.com> Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Tony Lindgren 提交于
We want to get rid of the omap specific platform init code callbacks as they don't play nice with device tree. Convert the context loss check to be based on a register state detection instead. Cc: Andreas Fenkart <afenkart@gmail.com> Signed-off-by: NTony Lindgren <tony@atomide.com> [add check for CON and HCTL in context save and restore function] Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Balaji T K 提交于
pbias_disable is set to protect the mmc pbias i/o cells in DT boot by preventing voltage switch. Currently pbias_disable is enabled only for omap3 and not for omap4 due to reg_offset difference of 0x100. Enable pbias_disable for omap4+ too by using res->start which does not include the reg_offset. Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
- 26 8月, 2013 1 次提交
-
-
由 Francesco Lavra 提交于
Commit 1f6b9fa4 consolidated writes to the STAT register in one location, moving them from omap_hsmmc_do_irq() to omap_hsmmc_irq(). This move has the unwanted side effect that the controller status flags are potentially cleared after a new command has been started as a consequence of reading the previous status flags. This means that if the new command changes the status flags before the IRQ routine returns, those flags may be cleared without handling the event which asserted them, and thus missing the event. Move the writing of the STAT register back in omap_hsmmc_do_irq(), before handling the status flags which generated the interrupt. Signed-off-by: NFrancesco Lavra <francescolavra.fl@gmail.com> Reviewed-and-Tested-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
- 25 8月, 2013 1 次提交
-
-
由 Felipe Balbi 提交于
omap_hsmmc.c depends on <linux/sizes.h> being included indirectly by another header. Once we enable COMPILE_TEST for this driver, we might compile under architectures which won't include <linux/sizes.h> for us. In fact, one such case is x86. In order to prevent compile breakages, let's explicitly include <linux/sizes.h>. Signed-off-by: NFelipe Balbi <balbi@ti.com> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
- 27 5月, 2013 4 次提交
-
-
由 Jingoo Han 提交于
The driver core clears the driver data to NULL after device_release or on probe failure, since commit 0998d063 (device-core: Ensure drvdata = NULL when no driver is bound). Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Acked-by: NSonic Zhang <sonic.zhang@analog.com> Acked-by: NSeungwon Jeon <tgih.jun@samsung.com> Acked-by: NShawn Guo <shawn.guo@linaro.org> Acked-by: NAdrian Hunter <adrian.hunter@intel.com> Acked-by: NHaojian Zhuang <haojian.zhuang@gmail.com> Acked-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Acked-by: NTony Prisk <linux@prisktech.co.nz> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Santosh Shilimkar 提交于
MMC driver probe will abort for DT case because of failed platform_get_resource_byname() lookup. Fix it by skipping resource lookup byname for device tree build. Issue is hidden because hwmod populates the IO resources which helps to succeed platform_get_resource_byname() and probe. Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Matt Porter 提交于
Convert dmaengine channel requests to use dma_request_slave_channel_compat(). This supports platforms booting with or without DT populated. Signed-off-by: NMatt Porter <mporter@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
由 Tony Lindgren 提交于
Otherwise SDIO cards won't necessarily work when booted with device tree as we will never power down the SDIO cards. This means the SDIO card reset does not happen which at least some WLAN controllers expect to happen with ifconfig wlan0 down. The PBIAS voltage is only available for the first controller instance, so let's limit the PBIAS workaround to the first controller only. Signed-off-by: NTony Lindgren <tony@atomide.com> Tested-by: NLuciano Coelho <coelho@ti.com> Signed-off-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
- 22 3月, 2013 1 次提交
-
-
由 Jan Luebbe 提交于
If the CD/WP-GPIOs are not provided by the SoC's GPIO controller, we need to handle the case where omap_hsmmc is probed earlier than the GPIO controller chosen in the device tree. Fix this by checking the return value of of_get_named_gpio against -EPROBE_DEFER and passing it through to the probe function. Signed-off-by: NJan Luebbe <jlu@pengutronix.de> Acked-by: NBalaji T K <balajitk@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-
- 07 12月, 2012 1 次提交
-
-
由 Venkatraman S 提交于
Define the most frequently used bitmasks of the Interrupt Enable / Interrupt Status register with consistent naming ( with _EN suffix). Use meaningful concatenation of bitfields for INT_EN_MASK, which shows which interrupts are enabled by default. No functional changes. Signed-off-by: NVenkatraman S <svenkatr@ti.com> Acked-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NChris Ball <cjb@laptop.org>
-