#
18f55fcc |
| 04-Jun-2014 |
Ben Dooks <ben.dooks@codethink.co.uk> |
mmc: sh-mmcif: use devm_ for ioremap
Start tidying the probe/release code by using devm_ioremap_resource() to map the IO registers.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-b
mmc: sh-mmcif: use devm_ for ioremap
Start tidying the probe/release code by using devm_ioremap_resource() to map the IO registers.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
show more ...
|
#
ce7eb688 |
| 04-Jun-2014 |
Ben Dooks <ben.dooks@codethink.co.uk> |
mmc: sh-mmcif: update to print version and bus clock rate on probe
Change the initial print to show chip version and the bus rate it is working at instead of the driver version. This is more useful
mmc: sh-mmcif: update to print version and bus clock rate on probe
Change the initial print to show chip version and the bus rate it is working at instead of the driver version. This is more useful information as we already know which driver version from the kernel it is in.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
show more ...
|
Revision tags: v3.15-rc8, v3.15-rc7, v3.15-rc6, v3.15-rc5, v3.15-rc4, v3.15-rc3, v3.15-rc2, v3.15-rc1, v3.14, v3.14-rc8, v3.14-rc7 |
|
#
4039ff47 |
| 14-Mar-2014 |
Seungwon Jeon <tgih.jun@samsung.com> |
mmc: sh_mmcif: clarify DDR timing mode between SD-UHS and eMMC
Replaced UHS_DDR50 with MMC_DDR52.
CC: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Seungwon Jeon <tgih.jun@samsung.co
mmc: sh_mmcif: clarify DDR timing mode between SD-UHS and eMMC
Replaced UHS_DDR50 with MMC_DDR52.
CC: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <chris@printf.net>
show more ...
|
Revision tags: v3.14-rc6, v3.14-rc5, v3.14-rc4, v3.14-rc3, v3.14-rc2, v3.14-rc1, v3.13, v3.13-rc8, v3.13-rc7, v3.13-rc6, v3.13-rc5, v3.13-rc4, v3.13-rc3, v3.13-rc2, v3.13-rc1, v3.12 |
|
#
538f4696 |
| 30-Oct-2013 |
Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
mmc: sh_mmcif: Fix compilation warning on 64-bit platforms
Casting an integer to a void * generates a "cast to pointer from integer of different size" warning. Cast the integer to an unsigned long f
mmc: sh_mmcif: Fix compilation warning on 64-bit platforms
Casting an integer to a void * generates a "cast to pointer from integer of different size" warning. Cast the integer to an unsigned long first to fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
e5a233cb |
| 30-Oct-2013 |
Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
mmc: sh_mmcif: Factorize DMA channel request and configuration code
The channel request and configuration code is duplicated for the rx and tx channels. Create a function that requests a single chan
mmc: sh_mmcif: Factorize DMA channel request and configuration code
The channel request and configuration code is duplicated for the rx and tx channels. Create a function that requests a single channel and call it twice instead.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.12-rc7, v3.12-rc6, v3.12-rc5, v3.12-rc4 |
|
#
ac0a2e98 |
| 01-Oct-2013 |
Ulf Hansson <ulf.hansson@linaro.org> |
mmc: sh_mmcif: Convert to clk_prepare|unprepare
Previously only clk_enable|disable were being used. Adapt properly to the clock API, by also using clk_prepare|unprepare.
Cc: Guennadi Liakhovetski <
mmc: sh_mmcif: Convert to clk_prepare|unprepare
Previously only clk_enable|disable were being used. Adapt properly to the clock API, by also using clk_prepare|unprepare.
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
51129f31 |
| 01-Oct-2013 |
Ulf Hansson <ulf.hansson@linaro.org> |
mmc: sh_mmcif: Convert to PM macros when defining dev_pm_ops
Use SET_SYSTEM_SLEEP_PM_OPS to simplify code.
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Ulf Hansson <ulf.hansson@
mmc: sh_mmcif: Convert to PM macros when defining dev_pm_ops
Use SET_SYSTEM_SLEEP_PM_OPS to simplify code.
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.12-rc3 |
|
#
cb3ca1ae |
| 26-Sep-2013 |
Ulf Hansson <ulf.hansson@linaro.org> |
mmc: sh_mmcif: Move away from using deprecated APIs
Suspend and resume of cards are being handled from the protocol layer and consequently the mmc_suspend|resume_host APIs are deprecated.
This mean
mmc: sh_mmcif: Move away from using deprecated APIs
Suspend and resume of cards are being handled from the protocol layer and consequently the mmc_suspend|resume_host APIs are deprecated.
This means we can simplify the suspend|resume callbacks by removing the use of the deprecated APIs.
Cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.12-rc2, v3.12-rc1, v3.11, v3.11-rc7, v3.11-rc6, v3.11-rc5, v3.11-rc4, v3.11-rc3, v3.11-rc2, v3.11-rc1 |
|
#
6d6fd367 |
| 10-Jul-2013 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: revision-specific CLK_CTRL2 handling
Some newer MMCIF IP revisions contain a CE_CLK_CTRL2 register, that has to be set for proper operation. Support for this feature is added in a way
mmc: sh_mmcif: revision-specific CLK_CTRL2 handling
Some newer MMCIF IP revisions contain a CE_CLK_CTRL2 register, that has to be set for proper operation. Support for this feature is added in a way to preserve the current behaviour by default, i.e. when it is not enabled in platform data. Patch is based on work by Nobuyuki HIRAI.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
967bcb77 |
| 10-Jul-2013 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: revision-specific Command Completion Signal handling
Some earlier MMCIF IP revisions contained Command Completion Signal support, which has been dropped again in modern versions. Sopp
mmc: sh_mmcif: revision-specific Command Completion Signal handling
Some earlier MMCIF IP revisions contained Command Completion Signal support, which has been dropped again in modern versions. Sopport for this feature is added in a way to preserve the current behaviour by default, i.e. when it is not enabled in platform data. Patch is based on work by Nobuyuki HIRAI.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.10 |
|
#
acd6d772 |
| 24-Jun-2013 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: add support for Device Tree DMA bindings
To use DMA in the Device Tree case the driver has to be modified to use suitable API to obtain DMA channels.
Signed-off-by: Guennadi Liakhove
mmc: sh_mmcif: add support for Device Tree DMA bindings
To use DMA in the Device Tree case the driver has to be modified to use suitable API to obtain DMA channels.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
d00cadac |
| 02-Aug-2013 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: move header include from header into .c
sh_dma.h isn't needed in sh_mmcif.h, move it into sh_mmcif.c.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-o
mmc: sh_mmcif: move header include from header into .c
sh_dma.h isn't needed in sh_mmcif.h, move it into sh_mmcif.c.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
83a0c779 |
| 08-Aug-2013 |
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
mmc: sh_mmcif: Remove .set_pwr() callback from platform data
The .set_pwr() callback isn't used anymore as all platforms register GPIO-controlled regulators. Remove it.
Signed-off-by: Laurent Pinch
mmc: sh_mmcif: Remove .set_pwr() callback from platform data
The .set_pwr() callback isn't used anymore as all platforms register GPIO-controlled regulators. Remove it.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
214fc309 |
| 08-Aug-2013 |
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
mmc: slot-gpio: Add debouncing capability to mmc_gpio_request_cd()
Add a debounce parameter to the mmc_gpio_request_cd() function that enables GPIO debouncing when set to a non-zero value. This can
mmc: slot-gpio: Add debouncing capability to mmc_gpio_request_cd()
Add a debounce parameter to the mmc_gpio_request_cd() function that enables GPIO debouncing when set to a non-zero value. This can be used by MMC host drivers to enable debouncing on the card detect signal.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.10-rc7, v3.10-rc6 |
|
#
2c9054dc |
| 09-Jun-2013 |
Simon Baatz <gmbnomis@gmail.com> |
mmc: sh_mmcif: handle mmc_of_parse() errors during probe
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop
mmc: sh_mmcif: handle mmc_of_parse() errors during probe
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.10-rc5, v3.10-rc4, v3.10-rc3, v3.10-rc2 |
|
#
19f1ba51 |
| 15-May-2013 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: don't clear masked interrupts
Masking events on MMCIF means that an occurrence of the masked event won't raise an interrupt, but the event bit will still be set in the interrupt statu
mmc: sh_mmcif: don't clear masked interrupts
Masking events on MMCIF means that an occurrence of the masked event won't raise an interrupt, but the event bit will still be set in the interrupt status register. If simultaneously a different event occurs which was enabled, both flags will be set. However, only the unmasked event bit should be cleared in the status register in such a case.
Clearing also the masked bit can lead to lost interrupts, which indeed can be observed on the armadillo800eva r8a7740 board with an eMMC chip. The problem has been introduced by the recent "mmc: sh_mmcif: simplify IRQ processing" patch. Fix the problem by only clearing enabled interrupts.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com> Tested-by: Nguyen Viet Dung <nv-dung@jinso.co.jp> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.10-rc1 |
|
#
113a87f8 |
| 06-May-2013 |
Jingoo Han <jg1.han@samsung.com> |
mmc: remove unnecessary platform_set_drvdata()
The driver core clears the driver data to NULL after device_release or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d (device-
mmc: remove unnecessary platform_set_drvdata()
The driver core clears the driver data to NULL after device_release or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d (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: Jingoo Han <jg1.han@samsung.com> Acked-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Acked-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Tony Prisk <linux@prisktech.co.nz> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.9, v3.9-rc8, v3.9-rc7, v3.9-rc6, v3.9-rc5, v3.9-rc4, v3.9-rc3, v3.9-rc2, v3.9-rc1, v3.8 |
|
#
eca889f6 |
| 15-Feb-2013 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings
Use mmc_of_parse() to get interface capability flags and used GPIOs from device-tree bindings.
Signed-off-by: Guennadi Liakhovets
mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings
Use mmc_of_parse() to get interface capability flags and used GPIOs from device-tree bindings.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
Revision tags: v3.8-rc7, v3.8-rc6, v3.8-rc5, v3.8-rc4, v3.8-rc3, v3.8-rc2, v3.8-rc1 |
|
#
8af50750 |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: simplify IRQ processing
The classical way to process IRQs is read out the status, ack all triggered IRQs, possibly mask them, then process them. Follow this simple procesure instead o
mmc: sh_mmcif: simplify IRQ processing
The classical way to process IRQs is read out the status, ack all triggered IRQs, possibly mask them, then process them. Follow this simple procesure instead of the current complex custom algorithm.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
e475b270 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: report all errors
Make error reporting in the driver more verbose. This patch is based on an earlier work by Teppei Kamijou, but we try to not add any new error messages to the log in
mmc: sh_mmcif: report all errors
Make error reporting in the driver more verbose. This patch is based on an earlier work by Teppei Kamijou, but we try to not add any new error messages to the log in the normal case to avoid confusing the user, and also add a few more dev_dbg() calls.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> [g.liakhovetski@gmx.de: avoid producing new errors in normal case] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
276bc96b |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: fix I/O errors
The INT_BUFWEN IRQ often arrives with other bits set too. If they are not cleared, an additional IRQ can be triggered, sometimes also after the MMC request has already
mmc: sh_mmcif: fix I/O errors
The INT_BUFWEN IRQ often arrives with other bits set too. If they are not cleared, an additional IRQ can be triggered, sometimes also after the MMC request has already been completed. This leads to block I/O errors. Earlier Teppei Kamijou also observed these additional interrupts and proposed to explicitly wait for them. This patch chooses an alternative approach of clearing all active bits immediately, when processing the main interrupt.
Reported-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
90f1cb43 |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: reset DMA completion immediately before starting DMA
DMA completion can be signalled from the DMA callback and from the error handler. If both are called, the completion struct can en
mmc: sh_mmcif: reset DMA completion immediately before starting DMA
DMA completion can be signalled from the DMA callback and from the error handler. If both are called, the completion struct can enter an inconsistent state. To prevent this move completion initialisation immediately before activating DMA.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
aba9d646 |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: reset error code for any opcode
If a command execution has produced an error, it has to be reset as a part of the error handling.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski
mmc: sh_mmcif: reset error code for any opcode
If a command execution has produced an error, it has to be reset as a part of the error handling.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
8047310e |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: fix a race, causing an Oops on SMP
Oopses have been observed on SMP in the sh-mmcif IRQ thread, when the two IRQ threads run simultaneously on two CPUs. Also take care to guard the ti
mmc: sh_mmcif: fix a race, causing an Oops on SMP
Oopses have been observed on SMP in the sh-mmcif IRQ thread, when the two IRQ threads run simultaneously on two CPUs. Also take care to guard the timeout work and the DMA completion callback from possible NULL-pointer dereferences and races.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
99eb9d8d |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: (cosmetic) simplify boolean return blocks
Use "return condition" instead of "if (condition) return true; return false" in functions, returning bool.
Signed-off-by: Guennadi Liakhovet
mmc: sh_mmcif: (cosmetic) simplify boolean return blocks
Use "return condition" instead of "if (condition) return true; return false" in functions, returning bool.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|