android_kernel_oneplus_msm8998/include/linux/mmc
Addy Ke 57e104864b mmc: dw_mmc: add quirk for broken data transfer over scheme
This patch add a new quirk to add a s/w timer to notify the driver
to terminate current transfer and report a data timeout to the core,
if DTO interrupt does NOT come within the given time.

dw_mmc call mmc_request_done func to finish transfer depends on
DTO interrupt. If DTO interrupt does not come in sending data state,
the current transfer will be blocked.

We got the reply from synopsys:
There are two counters but both use the same value of [31:8] bits.
Data timeout counter doesn't wait for stop clock and you should get
DRTO even when the clock is not stopped.
Host Starvation timeout counter is triggered with stop clock condition.

This means that host should get DRTO and DTO interrupt.

But this case really exists, when driver reads tuning data from
card on RK3288-pink2 board. I measured waveforms by oscilloscope
and found that card clock was always on and data lines were always
holded high level in sending data state.

There are two possibility that data over interrupt doesn't come in
reading data state on RK3X SoCs:
- get command done interrupt, but doesn't get any data-related interrupt.
- get data error interrupt, but doesn't get data over interrupt.

Signed-off-by: Addy Ke <addy.ke@rock-chips.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
2015-08-17 12:45:28 +02:00
..
boot.h mmc: Standardize header file inclusion checks. 2011-07-20 17:20:48 -04:00
card.h mmc: core: Optimize case for exactly one erase-group budget 2015-08-17 11:32:39 +02:00
core.h mmc: mediatek: Add Mediatek MMC driver 2015-06-18 09:20:48 +02:00
dw_mmc.h mmc: dw_mmc: add quirk for broken data transfer over scheme 2015-08-17 12:45:28 +02:00
host.h mmc: sdio: avoid using NULL sdio_irq_thread pointer 2015-08-17 11:32:46 +02:00
mmc.h mmc: mmc: Add driver strength selection 2015-06-01 09:07:14 +02:00
pm.h mmc: Standardize header file inclusion checks. 2011-07-20 17:20:48 -04:00
sd.h mmc: Standardize header file inclusion checks. 2011-07-20 17:20:48 -04:00
sdhci-pci-data.h mmc: sdhci-pci: Add support for drive strength selection for SPT 2015-06-01 09:07:14 +02:00
sdio.h mmc: sdio: fix setting card data bus width as 4-bit 2012-06-06 09:22:53 -04:00
sdio_func.h mmc: core: Don't export the to_sdio_driver macro 2014-11-10 12:40:32 +01:00
sdio_ids.h brcmfmac: add support for BCM43430 SDIO chipset 2015-03-20 09:03:46 +02:00
sh_mmcif.h mmc: sh_mmcif: revision-specific CLK_CTRL2 handling 2013-08-25 00:10:18 -04:00
sh_mobile_sdhi.h mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info 2015-03-05 21:54:26 +05:30
slot-gpio.h mmc: slot-gpio: Allow host driver to provide isr for card-detect interrupts 2015-01-19 09:56:29 +01:00
tmio.h mmc: SDHI: add SoC specific workaround via HW version 2014-01-13 12:48:24 -05:00