- 05 3月, 2014 15 次提交
-
-
由 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 提交于
Enable REGULATOR_PBIAS needed for SD card on most OMAPs. 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 提交于
Add pbias regulator node as a child of system control module - syscon. 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 提交于
pbias register controls internal power supply to sd card i/o pads in most OMAPs (OMAP2-5, DRA7). Control bits for selecting voltage level and enabling/disabling are in the same PBIAS register. Signed-off-by: NBalaji T K <balajitk@ti.com> Acked-by: NTony Lindgren <tony@atomide.com> Acked-by: NMark Brown <broonie@linaro.org> 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 提交于
MMC1 is the only MMC interface available on the platform. Further, since the platform is based on older revision of SoC which is not capable of doing multi-block reads, mark it with compatibility for the same and add pinmux to ensure that all relevant pins are configured for non-MMC boot mode. 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>
-
由 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>
-
- 04 3月, 2014 1 次提交
-
-
由 Felipe Balbi 提交于
Fix the following build errors: drivers/mmc/host/dw_mmc-k3.c: In function ‘dw_mci_k3_suspend’: drivers/mmc/host/dw_mmc-k3.c:58:2: error: implicit declaration of function ‘dw_mci_suspend’ [-Werror=implicit-function-declaration] ret = dw_mci_suspend(host); ^ drivers/mmc/host/dw_mmc-k3.c: In function ‘dw_mci_k3_resume’: drivers/mmc/host/dw_mmc-k3.c:76:2: error: implicit declaration of function ‘dw_mci_resume’ [-Werror=implicit-function-declaration] return dw_mci_resume(host); ^ drivers/mmc/host/dw_mmc-k3.c: At top level: drivers/mmc/host/dw_mmc-k3.c:53:12: warning: ‘dw_mci_k3_suspend’ defined but not used [-Wunused-function] static int dw_mci_k3_suspend(struct device *dev) ^ drivers/mmc/host/dw_mmc-k3.c:65:12: warning: ‘dw_mci_k3_resume’ defined but not used [-Wunused-function] static int dw_mci_k3_resume(struct device *dev) ^ Signed-off-by: NFelipe Balbi <balbi@ti.com> Acked-by: NJaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
- 03 3月, 2014 6 次提交
-
-
由 Tomasz Figa 提交于
This patch modifies sdhci_s3c_consider_clock() to fail if bus clock being considered can not provide frequency lower or equal requested, instead of returning the lowest supported. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by; Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Tomasz Figa 提交于
Currently the driver assumes at probe that controller is configured for last valid enumerated bus clock. This assumption is completely wrong, as there is no way to ensure such configuration until the hardware gets first configured (by calling sdhci_s3c_set_clock()). This patch modifies the driver to set current clock at probe to unknown state (represented by negative value) and make sure that the hardware gets actually configured to selected clock in sdhci_s3c_set_clock(). Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by; Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Tomasz Figa 提交于
This patch reimplements functions calculating minimum and maximum clock rates to leverage clock rate cache introduced by previous patches. In addition, the calculation is simplified to just comparing input clock rates (max case) or input clock rates divided by maximum divisor (min case), which is basically what the original code did, but with much more unnecessary work. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by; Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Tomasz Figa 提交于
IS_ERR() must be used to make sure that not a valid clock was returned by clk_get() and company. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by; Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Tomasz Figa 提交于
To fix scheduling while atomic happening in sdhci_s3c_set_clock() caused by calling clk_get_rate() that might sleep, this patch modifies the driver to cache rates of all bus clocks at probe time and then only use those cache values. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by; Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Tomasz Figa 提交于
Current implementation of sdhci_s3c_consider_clock() is highly inefficient due to multiple integer divisions by variable performed in a loop. Since only divisors that are powers of two are considered, this patch replaces them with respective shifts, removing all the integer divisions. Signed-off-by: NTomasz Figa <tomasz.figa@gmail.com> Tested-by: NHeiko Stuebner <heiko@sntech.de> Acked-by: NHeiko Stuebner <heiko@sntech.de> Tested-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by; Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
- 27 2月, 2014 3 次提交
-
-
由 Dinh Nguyen 提交于
Introduce "altr,socfpga-dw-mshc" to enable Altera's SOCFPGA platform specific implementation of the dw_mmc driver. Also add the "syscon" binding to the "altr,sys-mgr" node. The clock driver can use the syscon driver to toggle the register for the SD/MMC clock phase shift settings. Finally, fix an indentation error for the sysmgr node. Signed-off-by: NDinh Nguyen <dinguyen@altera.com> Acked-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de> Tested-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Dinh Nguyen 提交于
Like the rockchip, Altera's SOCFPGA platform specific implementation of the dw_mmc driver requires using the HOLD register for SD commands. This patch renames dw_mci_rockchip_prepare_command to dw_mci_pltfm_prepare_command so that SOCFPGA and Rockchip can use it. Signed-off-by: NDinh Nguyen <dinguyen@altera.com> Acked-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de> Tested-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de> Acked-by: NSeungwon Jeon <tgih.jun@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Dinh Nguyen 提交于
It turns now that the only really platform specific code that is needed for SOCFPGA is using the SDMMC_CMD_USE_HOLD_REG in the prepare_command function. Since the Rockchip already has this functionality, re-use the code that is already in dw_mmc-pltfm.c. Signed-off-by: NDinh Nguyen <dinguyen@altera.com> Acked-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de> Tested-by: NSteffen Trumtrar <s.trumtrar@pengutronix.de> Acked-by: NSeungwon Jeon <tgih.jun@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
- 26 2月, 2014 10 次提交
-
-
由 Sachin Kamat 提交于
If mrq->sbc is not NULL but data->stop happens to be NULL, it will lead to NULL pointer dereferencing. Avoid this by having a NULL check for data->stop. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NSeungwon Jeon <tgih.jun@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
Commit c02cecb9 ("ARM: orion: move platform_data definitions") moved the file to the current location but forgot to remove the pointer to its previous location. Clean it up. While at it also change the header file protection macros appropriately. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
Commit 1ef21f63 ("ARM: msm: move platform_data definitions") moved the file to the current location but forgot to remove the pointer to its previous location. Clean it up. While at it also change the header file protection macros appropriately. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
Commit 0976f16d ("mmc: dw_mmc: add support tuning scheme") introduced the execute_tuning hook but did not add its description for kernel docs. Update the same. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by: NSeungwon Jeon <tgih.jun@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
The data structure of_match_ptr() protects is always compiled in. Hence of_match_ptr() is not needed. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
The data structure of_match_ptr() protects is always compiled in. Hence of_match_ptr() is not needed. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NJaehoon Chung <jh80.chung@samsung.com> Acked-by: NSeungwon Jeon <tgih.jun@samsung.com> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
The data structure of_match_ptr() protects is always compiled in. Hence of_match_ptr() is not needed. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
pdata could be NULL if cd_gpio = -1. Dereference pdata only if it is not NULL. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NViresh Kumar <viresh.kumar@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
'of_id' is dereferenced before NULL pointer check. Move it to after the check. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NTony Prisk <linux@prisktech.co.nz> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Sachin Kamat 提交于
sizeof should be of the parent structure type. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
- 25 2月, 2014 1 次提交
-
-
由 Tim Kryger 提交于
Enable the external clock needed by the host controller during the probe and disable it during the remove. Signed-off-by: NTim Kryger <tim.kryger@linaro.org> Reviewed-by: NMarkus Mayer <markus.mayer@linaro.org> Reviewed-by: NMatt Porter <matt.porter@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
- 23 2月, 2014 4 次提交
-
-
由 Ulf Hansson 提交于
The ux500 variants have HW busy detection support, which is indicated by the busy_detect flag. For these variants let's enable the MMC_CAP_WAIT_WHILE_BUSY flag and add the support for it. The mmc core will provide the RSP_BUSY command flag for those requests we should care about busy detection. Regarding the max_busy_timeout, the HW don't support busy detection timeouts so at this initial step let's make it simple and set it to zero to indicate we are able to support any timeout. Cc: Russell King <linux@arm.linux.org.uk> Cc: Johan Rudholm <jrudholm@gmail.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Ulf Hansson 提交于
In case of a read operation both MCI_CMDRESPEND and MCI_DATAEND can be set in the status register when entering the interrupt handler. This is due to that the card start sending data before the host has acknowledged the command response. To resolve the issue for this scenario, we must start by handling the CMD irq instead of the DATA irq. The reason is beacuse the completion of the DATA irq will not respect the current command and then causing it to be garbled. Cc: Russell King <linux@arm.linux.org.uk> Cc: Johan Rudholm <jrudholm@gmail.com> Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Ulf Hansson 提交于
When sending a stop command at the recovery path, use a R1B response when the failing data request are a WRITE. Thus we also care about the busy detection completion in this case. For a failing READ request, we use a R1 response for the stop command, since we don't need to care about busy detection in this case. To align behavior between hosts supporting MMC_CAP_WAIT_WHILE_BUSY and those who are not, we add a CMD13 polling method for the card's status. We also respect whether the host has specified the max_busy_timeout, which means we may fallback to CMD13 polling if the timeout is greater than what the host are able to support. Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-
由 Ulf Hansson 提交于
Currently for write request we don't trust the hw busy detection to be fully handled by host, thus we also poll the card's status until we see it's gets out of the busy state. Still there are scenarios where it will a benefit to trust the hw busy detection done by the host, since no additional polling is needed. Let's prepare card_busy_detect() to be able to handle this. Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org> Signed-off-by: NChris Ball <chris@printf.net>
-