#
eae30983 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Terminate DMA transactions when detecting timeout or error
If a DMA transaction fails, terminate all outstanding DMA transfers and unmap buffers.
Signed-off-by: Teppei Kamijou <teppe
mmc: sh_mmcif: Terminate DMA transactions when detecting timeout or error
If a DMA transaction fails, terminate all outstanding DMA transfers and unmap buffers.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> [g.liakhovetski@gmx.de: forward-port, add dma_unmap_sg() in error cases] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
5df460b1 |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh_mmcif: fix missing and consolidate IO completion timeouts
Read block and write block operations are currently missing completion timeouts. Add missing timeouts and consolidate them at one lo
mmc: sh_mmcif: fix missing and consolidate IO completion timeouts
Read block and write block operations are currently missing completion timeouts. Add missing timeouts and consolidate them at one location.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
a812ba0f |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Avoid unnecessary mmc_delay() at mmc_card_sleepawake()
SH/R-Mobile MMCIF host controller can wait while the card signals busy. Set MMC_CAP_WAIT_WHILE_BUSY to inform an upper layer (co
mmc: sh_mmcif: Avoid unnecessary mmc_delay() at mmc_card_sleepawake()
SH/R-Mobile MMCIF host controller can wait while the card signals busy. Set MMC_CAP_WAIT_WHILE_BUSY to inform an upper layer (core/mmc_ops.c) not to insert unnecessary mmc_delay().
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
f9fd54f2 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout
Timeout period should be properly normalized using msecs_to_jiffies().
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-o
mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout
Timeout period should be properly normalized using msecs_to_jiffies().
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
555061f9 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Add support for eMMC Dual Data Rate
Some MMCIF implementations support the Dual Data Rate. With this patch, platforms can set the MMC_CAP_UHS_DDR50 capability flag in MMCIF platform d
mmc: sh_mmcif: Add support for eMMC Dual Data Rate
Some MMCIF implementations support the Dual Data Rate. With this patch, platforms can set the MMC_CAP_UHS_DDR50 capability flag in MMCIF platform data. This will let the MMC core to actually use the DDR mode.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
2cd5b3e0 |
| 14-Jan-2013 |
Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> |
mmc: sh_mmcif: add support for bundled MMCIF IRQs
On newer SoCs like R-Mobile U2, MMCIF interrupts are bundled.
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by:
mmc: sh_mmcif: add support for bundled MMCIF IRQs
On newer SoCs like R-Mobile U2, MMCIF interrupts are bundled.
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
f8a8ced7 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: ensure run-time suspend call is processed before suspend
With this post-v2.6.35 change applied:
commit a0a1a5fd4fb15ec61117c759fe9f5c16c53d9e9c Author: Tejun Heo <tj@kernel.org> Date
mmc: sh_mmcif: ensure run-time suspend call is processed before suspend
With this post-v2.6.35 change applied:
commit a0a1a5fd4fb15ec61117c759fe9f5c16c53d9e9c Author: Tejun Heo <tj@kernel.org> Date: Tue Jun 29 10:07:12 2010 +0200 workqueue: reimplement workqueue freeze using max_active
freeze_workqueues_begin() was introduced and workqueue now gets frozen before device drivers suspend operations.
We have to ensure that run-time PM suspend operation completes before system-wide suspend is started.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
92ff0c5b |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: force to fail CMD52 immediately
mmc_rescan() sends CMD52 (SD_IO_RW_DIRECT) to reset SDIO card during card detection. CMD52 should be ignored by SD/eMMC cards, but we can also abort it
mmc: sh_mmcif: force to fail CMD52 immediately
mmc_rescan() sends CMD52 (SD_IO_RW_DIRECT) to reset SDIO card during card detection. CMD52 should be ignored by SD/eMMC cards, but we can also abort it in the driver immediately, since MMCIF doesn't support SDIO cards anyway.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
164cda52 |
| 11-Dec-2012 |
Shawn Guo <shawn.guo@linaro.org> |
mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users
Since slot-gpio uses devm_* managed functions in mmc_gpio_request_cd() now, we can remove those mmc_gpio_free_cd() call from host
mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users
Since slot-gpio uses devm_* managed functions in mmc_gpio_request_cd() now, we can remove those mmc_gpio_free_cd() call from host drivers' .probe() error path and .remove().
Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
aa11d6d8 |
| 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 ...
|
#
30e531a5 |
| 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 ...
|
#
b31d6370 |
| 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 ...
|
#
1fcfebfe |
| 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 ...
|
#
33e69c7b |
| 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 ...
|
#
f20bec81 |
| 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 ...
|
#
3050197d |
| 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 ...
|
#
f291683f |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh-mmcif: Terminate DMA transactions when detecting timeout or error
If a DMA transaction fails, terminate all outstanding DMA transfers and unmap buffers.
Signed-off-by: Teppei Kamijou <teppe
mmc: sh-mmcif: Terminate DMA transactions when detecting timeout or error
If a DMA transaction fails, terminate all outstanding DMA transfers and unmap buffers.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> [g.liakhovetski@gmx.de: forward-port, add dma_unmap_sg() in error cases] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
a78b4ca2 |
| 12-Dec-2012 |
Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
mmc: sh-mmcif: fix missing and consolidate IO completion timeouts
Read block and write block operations are currently missing completion timeouts. Add missing timeouts and consolidate them at one lo
mmc: sh-mmcif: fix missing and consolidate IO completion timeouts
Read block and write block operations are currently missing completion timeouts. Add missing timeouts and consolidate them at one location.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
e4fa90c6 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Avoid unnecessary mmc_delay() at mmc_card_sleepawake()
SH/R-Mobile MMCIF host controller can wait while the card signals busy. Set MMC_CAP_WAIT_WHILE_BUSY to inform an upper layer (co
mmc: sh_mmcif: Avoid unnecessary mmc_delay() at mmc_card_sleepawake()
SH/R-Mobile MMCIF host controller can wait while the card signals busy. Set MMC_CAP_WAIT_WHILE_BUSY to inform an upper layer (core/mmc_ops.c) not to insert unnecessary mmc_delay().
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
93c3a791 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout
Timeout period should be properly normalized using msecs_to_jiffies().
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-o
mmc: sh_mmcif: Use msecs_to_jiffies() for host->timeout
Timeout period should be properly normalized using msecs_to_jiffies().
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
613c25e7 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: Add support for eMMC Dual Data Rate
Some MMCIF implementations support the Dual Data Rate. With this patch, platforms can set the MMC_CAP_UHS_DDR50 capability flag in MMCIF platform d
mmc: sh_mmcif: Add support for eMMC Dual Data Rate
Some MMCIF implementations support the Dual Data Rate. With this patch, platforms can set the MMC_CAP_UHS_DDR50 capability flag in MMCIF platform data. This will let the MMC core to actually use the DDR mode.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
0e8752f3 |
| 14-Jan-2013 |
Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> |
mmc: sh_mmcif: add support for bundled MMCIF IRQs
On newer SoCs like R-Mobile U2, MMCIF interrupts are bundled.
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by:
mmc: sh_mmcif: add support for bundled MMCIF IRQs
On newer SoCs like R-Mobile U2, MMCIF interrupts are bundled.
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
85033ef2 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: ensure run-time suspend call is processed before suspend
With this post-v2.6.35 change applied:
commit a0a1a5fd4fb15ec61117c759fe9f5c16c53d9e9c Author: Tejun Heo <tj@kernel.org> Date
mmc: sh_mmcif: ensure run-time suspend call is processed before suspend
With this post-v2.6.35 change applied:
commit a0a1a5fd4fb15ec61117c759fe9f5c16c53d9e9c Author: Tejun Heo <tj@kernel.org> Date: Tue Jun 29 10:07:12 2010 +0200 workqueue: reimplement workqueue freeze using max_active
freeze_workqueues_begin() was introduced and workqueue now gets frozen before device drivers suspend operations.
We have to ensure that run-time PM suspend operation completes before system-wide suspend is started.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
cd051150 |
| 12-Dec-2012 |
Teppei Kamijou <teppei.kamijou.yb@renesas.com> |
mmc: sh_mmcif: force to fail CMD52 immediately
mmc_rescan() sends CMD52 (SD_IO_RW_DIRECT) to reset SDIO card during card detection. CMD52 should be ignored by SD/eMMC cards, but we can also abort it
mmc: sh_mmcif: force to fail CMD52 immediately
mmc_rescan() sends CMD52 (SD_IO_RW_DIRECT) to reset SDIO card during card detection. CMD52 should be ignored by SD/eMMC cards, but we can also abort it in the driver immediately, since MMCIF doesn't support SDIO cards anyway.
Signed-off-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com> Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|
#
60fe3ec1 |
| 11-Dec-2012 |
Shawn Guo <shawn.guo@linaro.org> |
mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users
Since slot-gpio uses devm_* managed functions in mmc_gpio_request_cd() now, we can remove those mmc_gpio_free_cd() call from host
mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users
Since slot-gpio uses devm_* managed functions in mmc_gpio_request_cd() now, we can remove those mmc_gpio_free_cd() call from host drivers' .probe() error path and .remove().
Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
show more ...
|