Re: [PATCH v2] mmc: dw_mmc: Don't start commands while busy

2015-02-20 Thread addy ke
Hi, Doug I have two cards which are easy to get "Timeout sending command": one is ADATA uhs-1 SDR50, another is Kingston uhs-1 SDR104. After merge three patches: -- * mmc: dw_mmc: Don't start commands while busy https://patchwork.kernel.org/patch/5858221/ * mmc: dw_mmc: Make sure we only

Re: [PATCH v2] mmc: dw_mmc: Don't start commands while busy

2015-02-20 Thread addy ke
Hi, Doug I have two cards which are easy to get Timeout sending command: one is ADATA uhs-1 SDR50, another is Kingston uhs-1 SDR104. After merge three patches: -- * mmc: dw_mmc: Don't start commands while busy https://patchwork.kernel.org/patch/5858221/ * mmc: dw_mmc: Make sure we only adjust

[PATCH v2] mmc: dw_mmc: fix bug that cause mmc_test failture

2015-02-19 Thread Addy Ke
a data transfer again if we got DRTO and EBE interrupt. After this patch, all mmc_test cases can pass on RK3288-Pink2 board. Signed-off-by: Addy Ke --- Changes in v2: - DRTO and EBE are both set, should not send abort command too, suggested by Doug Anderson. drivers/mmc/host/dw_mmc.c | 10

[PATCH v2] mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability

2015-02-19 Thread Addy Ke
resume test. Reviewed-by: Doug Anderson Signed-off-by: Addy Ke --- Changes in v2: - add this capability for all 4 slots, suggested by Doug Anderson. drivers/mmc/host/dw_mmc-rockchip.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host

Re: [PATCH v4 0/3] about data busy

2015-02-19 Thread addy ke
Hi, Javier and Alim These days are Spring Festival holiday. Sorry for late reply. On 2015/2/15 19:41, Javier Martinez Canillas wrote: > Hello Addy, > > On Sat, Feb 14, 2015 at 7:17 AM, Addy Ke wrote: >> patch 1: This patch can fix bug that controller is still data busy after &g

Re: [PATCH v4 1/3] mmc: dw_mmc: update clock after host reach a stable voltage

2015-02-19 Thread addy ke
Hi, Alim Sorry for late reply. On 2015/2/16 07:28, Alim Akhtar wrote: > Hi Addy, > > On Sat, Feb 14, 2015 at 11:47 AM, Addy Ke wrote: >> As show in mmc_power_up(), in MMC_POWER_UP state, the voltage isn't >> stable and we may get 'data busy' which can't be cleaned by re

Re: [PATCH v4 1/3] mmc: dw_mmc: update clock after host reach a stable voltage

2015-02-19 Thread addy ke
Hi, Alim Sorry for late reply. On 2015/2/16 07:28, Alim Akhtar wrote: Hi Addy, On Sat, Feb 14, 2015 at 11:47 AM, Addy Ke addy...@rock-chips.com wrote: As show in mmc_power_up(), in MMC_POWER_UP state, the voltage isn't stable and we may get 'data busy' which can't be cleaned by resetting

Re: [PATCH v4 0/3] about data busy

2015-02-19 Thread addy ke
Hi, Javier and Alim These days are Spring Festival holiday. Sorry for late reply. On 2015/2/15 19:41, Javier Martinez Canillas wrote: Hello Addy, On Sat, Feb 14, 2015 at 7:17 AM, Addy Ke addy...@rock-chips.com wrote: patch 1: This patch can fix bug that controller is still data busy after

[PATCH v2] mmc: dw_mmc: fix bug that cause mmc_test failture

2015-02-19 Thread Addy Ke
a data transfer again if we got DRTO and EBE interrupt. After this patch, all mmc_test cases can pass on RK3288-Pink2 board. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - DRTO and EBE are both set, should not send abort command too, suggested by Doug Anderson. drivers/mmc

[PATCH v2] mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability

2015-02-19 Thread Addy Ke
resume test. Reviewed-by: Doug Anderson diand...@chromium.org Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - add this capability for all 4 slots, suggested by Doug Anderson. drivers/mmc/host/dw_mmc-rockchip.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/mmc

[PATCH v4 3/3] mmc: dw_mmc: Don't start command while data busy

2015-02-13 Thread Addy Ke
We should wait until unbusy before the next request. But this does't need if the command is CMD13, which can access SD Status register regardless of data busy. Signed-off-by: Addy Ke --- Changes in v4: - CMD13 doesn't need wait until unbusy. drivers/mmc/host/dw_mmc.c | 4 1 file changed

[PATCH v4 2/3] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-13 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke Changes in v4: - Retry to wait and reset all blocks until data unbusy. I have a sd card, which need retry 2 times to change to unbusy state. --- drivers

[PATCH v4 0/3] about data busy

2015-02-13 Thread Addy Ke
: This patch fix bug that there is data busy before sdio send CMD53. But This patch is necessary for sd and mmc too. Addy Ke (3): mmc: dw_mmc: update clock after host reach a stable voltage mmc: dw_mmc: fix bug that cause 'Timeout sending command' mmc: dw_mmc: Don't start command

[PATCH v4 1/3] mmc: dw_mmc: update clock after host reach a stable voltage

2015-02-13 Thread Addy Ke
As show in mmc_power_up(), in MMC_POWER_UP state, the voltage isn't stable and we may get 'data busy' which can't be cleaned by resetting all blocks. So we should not send command to update clock in this state. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 3 ++- 1 file changed, 2

[PATCH v3 3/3] mmc: dw_mmc: Don't start command while data busy

2015-02-13 Thread Addy Ke
We should wait for data busy here in non-volt-switch state. This may happend when sdio sends CMD53. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index f0d9da5..23507c9 100644

[PATCH v3 2/3] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-13 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 32 1 file changed, 32 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc

[PATCH v3 0/3] about data busy

2015-02-13 Thread Addy Ke
: This patch fix bug that there is data busy before sdio send CMD53. But This patch is necessary for sd and mmc too. Addy Ke (3): mmc: dw_mmc: update clock after host reach a stable voltage mmc: dw_mmc: fix bug that cause 'Timeout sending command' mmc: dw_mmc: Don't start command

[PATCH v3 1/3] mmc: dw_mmc: update clock after host reach a stable voltage

2015-02-13 Thread Addy Ke
As show in mmc_power_up(), in MMC_POWER_UP state, the voltage isn't stable and we may get 'data busy' which can't be cleaned by resetting all blocks. So we should not send command to update clock in this state. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 3 ++- 1 file changed, 2

Re: [PATCH v2 1/2] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-13 Thread addy ke
On 2015/2/12 21:59, Alim Akhtar wrote: > On Thu, Feb 12, 2015 at 4:40 PM, Andrzej Hajda wrote: >> On 02/12/2015 03:28 AM, addy ke wrote: >>> Hi Andrzej and Alim >>> >>> On 2015/2/12 07:20, Alim Akhtar wrote: >>>> Hi Andrzej, >>>>

Re: [PATCH v2 1/2] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-13 Thread addy ke
On 2015/2/12 21:59, Alim Akhtar wrote: On Thu, Feb 12, 2015 at 4:40 PM, Andrzej Hajda a.ha...@samsung.com wrote: On 02/12/2015 03:28 AM, addy ke wrote: Hi Andrzej and Alim On 2015/2/12 07:20, Alim Akhtar wrote: Hi Andrzej, On Wed, Feb 11, 2015 at 5:28 PM, Andrzej Hajda a.ha

[PATCH v3 1/3] mmc: dw_mmc: update clock after host reach a stable voltage

2015-02-13 Thread Addy Ke
As show in mmc_power_up(), in MMC_POWER_UP state, the voltage isn't stable and we may get 'data busy' which can't be cleaned by resetting all blocks. So we should not send command to update clock in this state. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 3

[PATCH v3 0/3] about data busy

2015-02-13 Thread Addy Ke
that there is data busy before sdio send CMD53. But This patch is necessary for sd and mmc too. Addy Ke (3): mmc: dw_mmc: update clock after host reach a stable voltage mmc: dw_mmc: fix bug that cause 'Timeout sending command' mmc: dw_mmc: Don't start command while data busy

[PATCH v3 3/3] mmc: dw_mmc: Don't start command while data busy

2015-02-13 Thread Addy Ke
We should wait for data busy here in non-volt-switch state. This may happend when sdio sends CMD53. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index

[PATCH v3 2/3] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-13 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 32 1 file changed, 32 insertions(+) diff --git a/drivers/mmc/host

[PATCH v4 3/3] mmc: dw_mmc: Don't start command while data busy

2015-02-13 Thread Addy Ke
We should wait until unbusy before the next request. But this does't need if the command is CMD13, which can access SD Status register regardless of data busy. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v4: - CMD13 doesn't need wait until unbusy. drivers/mmc/host/dw_mmc.c | 4

[PATCH v4 2/3] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-13 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke addy...@rock-chips.com Changes in v4: - Retry to wait and reset all blocks until data unbusy. I have a sd card, which need retry 2 times to change to unbusy

[PATCH v4 0/3] about data busy

2015-02-13 Thread Addy Ke
that there is data busy before sdio send CMD53. But This patch is necessary for sd and mmc too. Addy Ke (3): mmc: dw_mmc: update clock after host reach a stable voltage mmc: dw_mmc: fix bug that cause 'Timeout sending command' mmc: dw_mmc: Don't start command while data busy

[PATCH v4 1/3] mmc: dw_mmc: update clock after host reach a stable voltage

2015-02-13 Thread Addy Ke
As show in mmc_power_up(), in MMC_POWER_UP state, the voltage isn't stable and we may get 'data busy' which can't be cleaned by resetting all blocks. So we should not send command to update clock in this state. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 3

[PATCH] mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability

2015-02-12 Thread Addy Ke
resume test. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc-rockchip.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c index e2a726a..e5f57b5 100644 --- a/drivers/mmc/host/dw_mmc-rockchip.c +++ b/drivers/mmc

[PATCH] mmc: dw_mmc: rockchip: add support MMC_CAP_RUNTIME_RESUME capability

2015-02-12 Thread Addy Ke
resume test. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc-rockchip.c | 8 1 file changed, 8 insertions(+) diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c index e2a726a..e5f57b5 100644 --- a/drivers/mmc/host/dw_mmc-rockchip.c

Re: [PATCH v2 1/2] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-11 Thread addy ke
will be in busy state. This should not happend when mmc controller >>>>> send command to update card clocks. If this happends, mci_send_cmd will >>>>> be failed and we will get 'Timeout sending command', and then system will >>>>> be blocked. To avoid t

Re: [PATCH v2 1/2] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-11 Thread addy ke
Hi Andrzej and Alim On 2015/2/12 07:20, Alim Akhtar wrote: Hi Andrzej, On Wed, Feb 11, 2015 at 5:28 PM, Andrzej Hajda a.ha...@samsung.com wrote: Hi Alim, On 02/11/2015 03:57 AM, Addy wrote: On 2015/02/10 23:22, Alim Akhtar wrote: Hi Addy, On Mon, Feb 9, 2015 at 12:55 PM, Addy Ke addy

Re: [PATCH] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-09 Thread addy ke
On 2015/2/9 15:04, Jaehoon Chung wrote: > On 02/09/2015 03:56 PM, Addy wrote: >> >> >> On 2015.02.09 12:51, Ulf Hansson wrote: >>> On 5 February 2015 at 12:13, Addy Ke wrote: >>>> Because of some uncertain factors, such as worse card or worse h

Re: [PATCH] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-09 Thread addy ke
On 2015/2/9 15:04, Jaehoon Chung wrote: On 02/09/2015 03:56 PM, Addy wrote: On 2015.02.09 12:51, Ulf Hansson wrote: On 5 February 2015 at 12:13, Addy Ke addy...@rock-chips.com wrote: Because of some uncertain factors, such as worse card or worse hardware, DAT[3:0](the data lines) may

[PATCH v2 2/2] mmc: dw_mmc: Don't start command while data busy

2015-02-08 Thread Addy Ke
We should wait for data busy here in non-volt-switch state. This may happend when sdio sends CMD53. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index b0b57e3..b40080d 100644

[PATCH v2 0/2] about data busy

2015-02-08 Thread Addy Ke
Addy Ke (2): mmc: dw_mmc: fix bug that cause 'Timeout sending command' mmc: dw_mmc: Don't start command while data busy drivers/mmc/host/dw_mmc.c | 35 +++ 1 file changed, 35 insertions(+) -- Changes in v2: - add new patch to handle data busy when start

[PATCH v2 1/2] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-08 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 28 1 file changed, 28 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host

[PATCH v2 0/2] about data busy

2015-02-08 Thread Addy Ke
Addy Ke (2): mmc: dw_mmc: fix bug that cause 'Timeout sending command' mmc: dw_mmc: Don't start command while data busy drivers/mmc/host/dw_mmc.c | 35 +++ 1 file changed, 35 insertions(+) -- Changes in v2: - add new patch to handle data busy when start

[PATCH v2 1/2] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-08 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 28 1 file changed, 28 insertions(+) diff --git a/drivers/mmc/host

[PATCH v2 2/2] mmc: dw_mmc: Don't start command while data busy

2015-02-08 Thread Addy Ke
We should wait for data busy here in non-volt-switch state. This may happend when sdio sends CMD53. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index

[PATCH v2] mmc: core: add runtime-resume caps to support resume at runtime_resume

2015-02-05 Thread Addy Ke
Signed-off-by: Addy Ke --- Changes in v2: - fix some typo Documentation/devicetree/bindings/mmc/mmc.txt | 1 + drivers/mmc/core/host.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree

[PATCH] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-05 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host

[PATCH] mmc: core: add runtime-resume caps to support resume at runtime_resume

2015-02-05 Thread Addy Ke
Signed-off-by: Addy Ke --- Documentation/devicetree/bindings/mmc/mmc.txt | 11 +++ drivers/mmc/core/host.c | 2 ++ 2 files changed, 13 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt index

[PATCH] mmc: dw_mmc: fix bug that cause 'Timeout sending command'

2015-02-05 Thread Addy Ke
and we will get 'Timeout sending command', and then system will be blocked. To avoid this, we need reset mmc controller. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b

[PATCH v2] mmc: core: add runtime-resume caps to support resume at runtime_resume

2015-02-05 Thread Addy Ke
Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - fix some typo Documentation/devicetree/bindings/mmc/mmc.txt | 1 + drivers/mmc/core/host.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b

[PATCH] mmc: core: add runtime-resume caps to support resume at runtime_resume

2015-02-05 Thread Addy Ke
Signed-off-by: Addy Ke addy...@rock-chips.com --- Documentation/devicetree/bindings/mmc/mmc.txt | 11 +++ drivers/mmc/core/host.c | 2 ++ 2 files changed, 13 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree

[PATCH] mmc: dw_mmc: fix bug that cause mmc_test failture

2015-01-26 Thread Addy Ke
a data transfer again if we got DRTO and EBE interrupt. After this patch, all mmc_test cases can pass on RK3288-Pink2 board. Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc

[PATCH 1/2] mmc: core: use card pointer as the first parameter of execute_tuning()

2015-01-26 Thread Addy Ke
We need to take the card pointer in execute_tuning() for mmc_send_status(), but mmc->card is NULL in tuning state. So we need change the first parameter of execute_tuning() to card pointer(struct mmc_card * card). Signed-off-by: Addy Ke --- drivers/mmc/core/core.c | 2 +- drivers/

[PATCH 2/2] mmc: dw_mmc: wait until card ready if tuning fails

2015-01-26 Thread Addy Ke
This patch based on Alex's patch: https://patchwork.kernel.org/patch/5516411/ Signed-off-by: Addy Ke --- drivers/mmc/core/mmc_ops.h | 1 - drivers/mmc/host/dw_mmc.c | 48 -- include/linux/mmc/card.h | 2 ++ 3 files changed, 44 insertions(+), 7

[PATCH 0/2] fix bug that cause tuning failure

2015-01-26 Thread Addy Ke
Addy Ke (2): mmc: core: use card pointer as the first parameter of execute_tuning() mmc: dw_mmc: wait until card ready if tuning fails drivers/mmc/core/core.c | 2 +- drivers/mmc/core/mmc_ops.h| 1 - drivers/mmc/host/dw_mmc.c | 51

[PATCH 1/2] mmc: core: use card pointer as the first parameter of execute_tuning()

2015-01-26 Thread Addy Ke
We need to take the card pointer in execute_tuning() for mmc_send_status(), but mmc-card is NULL in tuning state. So we need change the first parameter of execute_tuning() to card pointer(struct mmc_card * card). Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/core/core.c

[PATCH 2/2] mmc: dw_mmc: wait until card ready if tuning fails

2015-01-26 Thread Addy Ke
This patch based on Alex's patch: https://patchwork.kernel.org/patch/5516411/ Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/core/mmc_ops.h | 1 - drivers/mmc/host/dw_mmc.c | 48 -- include/linux/mmc/card.h | 2 ++ 3 files changed

[PATCH 0/2] fix bug that cause tuning failure

2015-01-26 Thread Addy Ke
Addy Ke (2): mmc: core: use card pointer as the first parameter of execute_tuning() mmc: dw_mmc: wait until card ready if tuning fails drivers/mmc/core/core.c | 2 +- drivers/mmc/core/mmc_ops.h| 1 - drivers/mmc/host/dw_mmc.c | 51

[PATCH] mmc: dw_mmc: fix bug that cause mmc_test failture

2015-01-26 Thread Addy Ke
a data transfer again if we got DRTO and EBE interrupt. After this patch, all mmc_test cases can pass on RK3288-Pink2 board. Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host

[PATCH v5] mmc: dw_mmc: add quirk for broken data transfer over scheme

2015-01-05 Thread Addy Ke
we have this problem, but we need it to fix this problem now. And I will post a follow up change when we find the root cause. Signed-off-by: Addy Ke --- Changes in v2: - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor func. - use "broken-dto" for

[PATCH v5] mmc: dw_mmc: add quirk for broken data transfer over scheme

2015-01-05 Thread Addy Ke
we have this problem, but we need it to fix this problem now. And I will post a follow up change when we find the root cause. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor func. - use broken

[PATCH v4] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-12-26 Thread Addy Ke
we have this problem, but we need it to fix this problem now. And I will post a follow up change when we find the root cause. Signed-off-by: Addy Ke --- Changes in v2: - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor func. - use "broken-dto" for

[PATCH v4] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-12-26 Thread Addy Ke
we have this problem, but we need it to fix this problem now. And I will post a follow up change when we find the root cause. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor func. - use broken

[PATCH v5] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C specification

2014-12-11 Thread Addy Ke
-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke --- Changes in v2: - merged the patch that Doug submitted to chromium project Changes in v3: - merged the patch that Doug submitted to chromium to projectchange bindins see: https://chromium-review.googlesource.com/#/c/232774/ Changes

[PATCH v5] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C specification

2014-12-11 Thread Addy Ke
-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - merged the patch that Doug submitted to chromium project Changes in v3: - merged the patch that Doug submitted to chromium to projectchange bindins see: https://chromium-review.googlesource.com

[PATCH v4] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C specification

2014-12-10 Thread Addy Ke
. see: https://chromium-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke --- Changes in v2: - merged the patch that Doug submitted to chromium project Changes in v3: - merged the patch that Doug submitted to chromium to projectchange bindins see: https://chromium-review.googlesource.com

[PATCH v4] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C specification

2014-12-10 Thread Addy Ke
. see: https://chromium-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - merged the patch that Doug submitted to chromium project Changes in v3: - merged the patch that Doug submitted to chromium to projectchange bindins see: https://chromium

[PATCH] dmaengine: pl330: fix bug that cause start the same descs in cyclic

2014-12-08 Thread Addy Ke
idx = active = thrd->req_runnig = 0 --> descdone = thrd->req[0] = NULL --> list_add_tail(>rqd, >req_done); --> got NULL pointer!!! Signed-off-by: Addy Ke --- drivers/dma/pl330.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/dma/pl330.c

[PATCH] dmaengine: pl330: fix bug that cause start the same descs in cyclic

2014-12-08 Thread Addy Ke
callback are all called, but step 10 and step 18 go wrong. 2) before commit dfac17: idx = active = thrd-req_runnig = 0 -- descdone = thrd-req[0] = NULL -- list_add_tail(descdone-rqd, pl330-req_done); -- got NULL pointer!!! Signed-off-by: Addy Ke addy...@rock

Re: [PATCH v3] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-12-07 Thread addy ke
On 2014/12/8 10:59, Addy Ke wrote: > high_ns calculated from the low division of CLKDIV register is the sum > of actual measured high_ns and rise_ns. The rise time which related to > external pull-up resistor can be up to the maximum rise time in I2C spec. > > In my test, if e

[PATCH v3] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-12-07 Thread Addy Ke
for signals from the device tree. This allows us to more accurately calculate timings. see: https://chromium-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke --- Changes in v2: - merged the patch that Doug submitted to chromium Changes in v3: - merged the patch that Doug submitted

[PATCH v3] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-12-07 Thread Addy Ke
for signals from the device tree. This allows us to more accurately calculate timings. see: https://chromium-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - merged the patch that Doug submitted to chromium Changes in v3: - merged the patch

Re: [PATCH v3] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-12-07 Thread addy ke
On 2014/12/8 10:59, Addy Ke wrote: high_ns calculated from the low division of CLKDIV register is the sum of actual measured high_ns and rise_ns. The rise time which related to external pull-up resistor can be up to the maximum rise time in I2C spec. In my test, if external pull-up resistor

[PATCH] ARM: dts: rockchip: set dw_mmc max-freq 150Mhz

2014-12-03 Thread Addy Ke
was based on this freequency point. Signed-off-by: Addy Ke --- arch/arm/boot/dts/rk3288.dtsi | 4 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index acb6a2f..9c35a1d 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm

[PATCH] ARM: dts: rockchip: set dw_mmc max-freq 150Mhz

2014-12-03 Thread Addy Ke
was based on this freequency point. Signed-off-by: Addy Ke addy...@rock-chips.com --- arch/arm/boot/dts/rk3288.dtsi | 4 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi index acb6a2f..9c35a1d 100644 --- a/arch/arm/boot/dts/rk3288

[PATCH v3] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-12-02 Thread Addy Ke
we find the root cause. Signed-off-by: Addy Ke --- Changes in v2: - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor func. - use "broken-dto" for new quirk and change Subject for it. Changes in v3: - Remove dts for broken-dto, just add

[PATCH v2] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-12-02 Thread Addy Ke
for signals from the device tree. This allows us to more accurately calculate timings. see: https://chromium-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke --- Changes in v2: - merged the patch that Doug submitted to chromium Documentation/devicetree/bindings/i2c/i2c-rk3x.txt | 10

[PATCH v2] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-12-02 Thread Addy Ke
for signals from the device tree. This allows us to more accurately calculate timings. see: https://chromium-review.googlesource.com/#/c/232774/ Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - merged the patch that Doug submitted to chromium Documentation/devicetree/bindings

[PATCH v3] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-12-02 Thread Addy Ke
we find the root cause. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor func. - use broken-dto for new quirk and change Subject for it. Changes in v3: - Remove dts for broken-dto, just add

Re: [PATCH v2] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-12-01 Thread addy ke
Hi, On 2014/11/27 06:46, Doug Anderson wrote: > Hi, > > On Tue, Nov 25, 2014 at 12:10 AM, Addy Ke wrote: >> 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 int

Re: [PATCH v2] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-12-01 Thread addy ke
Hi, On 2014/11/27 06:46, Doug Anderson wrote: Hi, On Tue, Nov 25, 2014 at 12:10 AM, Addy Ke addy...@rock-chips.com wrote: 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

[PATCH v2] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-11-25 Thread Addy Ke
that host should get DRTO and DTO interrupt. But we really don't get any data-related interrupt in RK3X SoCs. And driver can't get data transfer state, it can do nothing but wait for. Signed-off-by: Addy Ke --- - fix some typo. - remove extra timeout value (250ms). - remove dw_mci_dto_start_monitor

[PATCH v2] mmc: dw_mmc: add quirk for broken data transfer over scheme

2014-11-25 Thread Addy Ke
that host should get DRTO and DTO interrupt. But we really don't get any data-related interrupt in RK3X SoCs. And driver can't get data transfer state, it can do nothing but wait for. Signed-off-by: Addy Ke addy...@rock-chips.com --- - fix some typo. - remove extra timeout value (250ms). - remove

Re: [PATCH] mmc: dw_mmc: add quirk for data over interrupt timeout

2014-11-20 Thread addy ke
Hi, Jaehoon On 2014/11/19 13:56, addy ke wrote: > Hi Jaehoon > > On 2014/11/19 09:22, Jaehoon Chung Wrote: >> Hi, Addy. >> >> On 11/18/2014 09:32 AM, Addy wrote: >>> >>> On 2014年11月14日 21:18, Jaehoon Chung wrote: >>>> Hi, Addy. >>&g

Re: [PATCH] mmc: dw_mmc: add quirk for data over interrupt timeout

2014-11-20 Thread addy ke
Hi, Jaehoon On 2014/11/19 13:56, addy ke wrote: Hi Jaehoon On 2014/11/19 09:22, Jaehoon Chung Wrote: Hi, Addy. On 11/18/2014 09:32 AM, Addy wrote: On 2014年11月14日 21:18, Jaehoon Chung wrote: Hi, Addy. Did you use the DW_MCI_QUIRK_IDMAC_DTO? I'm not sure, but i wonder if you get what

Re: [PATCH] mmc: dw_mmc: add quirk for data over interrupt timeout

2014-11-18 Thread addy ke
interrupts >> come, >> and interrupt handle function(dw_mci_interrupt) will not be called. So we >> need a >> timer to handle this case. >> >> So I think SDMMC_INT_DATA_OVER is not suitable for this case, and we need a >> new >> quirk. >> >

Re: [PATCH] mmc: dw_mmc: add quirk for data over interrupt timeout

2014-11-18 Thread addy ke
at next week. Thanks for your efforts. Best Regards, Jaehoon Chung On 11/14/2014 10:05 PM, Addy Ke wrote: From: Addy addy...@rock-chips.com This patch add a new quirk to notify the driver to teminate current transfer and report a data timeout to the core, if data over interrupt does

[PATCH] mmc: dw_mmc: add quirk for data over interrupt timeout

2014-11-14 Thread Addy Ke
From: Addy This patch add a new quirk to notify the driver to teminate current transfer and report a data timeout to the core, if data over interrupt does NOT come within the given time. dw_mmc call mmc_request_done func to finish transfer depends on data over interrupt. If data over interrupt

[PATCH] mmc: dw_mmc: add quirk for data over interrupt timeout

2014-11-14 Thread Addy Ke
From: Addy addy...@rock-chips.com This patch add a new quirk to notify the driver to teminate current transfer and report a data timeout to the core, if data over interrupt does NOT come within the given time. dw_mmc call mmc_request_done func to finish transfer depends on data over interrupt.

Re: [PATCH] mmc: dw_mmc: try pick the exact same voltage as vmmc for vqmmc

2014-11-12 Thread addy ke
On 2014/11/13 02:04, Doug Anderson wrote: > Ulf, > > On Tue, Nov 11, 2014 at 12:52 AM, Ulf Hansson wrote: >> On 11 November 2014 05:02, Addy Ke wrote: >>> SD2.0 cards need vqmmc and vmmc to be the same. >> >> No, that's not correct. >> >>

Re: [PATCH] mmc: dw_mmc: try pick the exact same voltage as vmmc for vqmmc

2014-11-12 Thread addy ke
On 2014/11/13 02:04, Doug Anderson wrote: Ulf, On Tue, Nov 11, 2014 at 12:52 AM, Ulf Hansson ulf.hans...@linaro.org wrote: On 11 November 2014 05:02, Addy Ke addy...@rock-chips.com wrote: SD2.0 cards need vqmmc and vmmc to be the same. No, that's not correct. If I remember the spec

[PATCH] mmc: dw_mmc: try pick the exact same voltage as vmmc for vqmmc

2014-11-10 Thread Addy Ke
) Signed-off-by: Addy Ke --- drivers/mmc/host/dw_mmc.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index b4c3044..a8b70b5 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1163,8

[PATCH] mmc: dw_mmc: try pick the exact same voltage as vmmc for vqmmc

2014-11-10 Thread Addy Ke
) Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/mmc/host/dw_mmc.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index b4c3044..a8b70b5 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host

[PATCH] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-11-06 Thread Addy Ke
the actual measured high_ns is about 3900ns, which is less than 4000ns (the minimum high_ns in I2C spec). Signed-off-by: Addy Ke --- drivers/i2c/busses/i2c-rk3x.c | 58 +++ 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/drivers/i2c/busses/i2c

[PATCH] i2c: rk3x: fix bug that cause measured high_ns doesn't meet I2C spec

2014-11-06 Thread Addy Ke
the actual measured high_ns is about 3900ns, which is less than 4000ns (the minimum high_ns in I2C spec). Signed-off-by: Addy Ke addy...@rock-chips.com --- drivers/i2c/busses/i2c-rk3x.c | 58 +++ 1 file changed, 37 insertions(+), 21 deletions(-) diff --git

[PATCH v4] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-04 Thread Addy Ke
The bit of sdio interrupt is 16 in designware implementation, but it is 24 on Rockchip SoCs.This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers. Signed-off-by: Addy Ke --- Changes in v2: - rebase on http://git.linaro.org/git/people/ulf.hansson/mmc.git, next branch

[PATCH v4] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-04 Thread Addy Ke
The bit of sdio interrupt is 16 in designware implementation, but it is 24 on Rockchip SoCs.This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - rebase on http://git.linaro.org/git/people/ulf.hansson

Re: [PATCH v3] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-03 Thread addy ke
Hi, Jaehoo On 2014/11/3 16:59, Jaehoon Chung wrote: > Hi, Addy. > > On 11/03/2014 10:20 AM, Addy Ke wrote: >> The bit of sdio interrupt is 16 in designware implementation, >> but it is 24 on Rockchip SoCs.This patch add sdio_id0 for the >> number of slot0 in t

Re: [PATCH v3] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-03 Thread addy ke
Hi, Jaehoo On 2014/11/3 16:59, Jaehoon Chung wrote: Hi, Addy. On 11/03/2014 10:20 AM, Addy Ke wrote: The bit of sdio interrupt is 16 in designware implementation, but it is 24 on Rockchip SoCs.This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers. Signed-off

[PATCH v3] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-02 Thread Addy Ke
The bit of sdio interrupt is 16 in designware implementation, but it is 24 on Rockchip SoCs.This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers. Signed-off-by: Addy Ke --- Changes in v2: - rebase on http://git.linaro.org/git/people/ulf.hansson/mmc.git, next branch

Re: [PATCH v2] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-02 Thread addy ke
On 2014/10/31 18:43, Heiko Stübner wrote: > Am Freitag, 31. Oktober 2014, 11:50:09 schrieb Addy Ke: >> The bit of sdio interrupt is 16 in designware implementation, >> but it is 24 in RK3288. This patch add sdio_id0 for the number >> of slot0 in the SDIO interrupt regist

Re: [PATCH v2] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-02 Thread addy ke
On 2014/10/31 18:43, Heiko Stübner wrote: Am Freitag, 31. Oktober 2014, 11:50:09 schrieb Addy Ke: The bit of sdio interrupt is 16 in designware implementation, but it is 24 in RK3288. This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers, which can be set in platform

[PATCH v3] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-11-02 Thread Addy Ke
The bit of sdio interrupt is 16 in designware implementation, but it is 24 on Rockchip SoCs.This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers. Signed-off-by: Addy Ke addy...@rock-chips.com --- Changes in v2: - rebase on http://git.linaro.org/git/people/ulf.hansson

[PATCH v2] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-10-30 Thread Addy Ke
The bit of sdio interrupt is 16 in designware implementation, but it is 24 in RK3288. This patch add sdio_id0 for the number of slot0 in the SDIO interrupt registers, which can be set in platform DT table, such as: - rockchip,sdio-interrupt-slot0 = <8>; Signed-off-by: Addy Ke --- Changes

Re: [PATCH] mmc: dw_mmc: add support for the other bit of sdio interrupt

2014-10-30 Thread addy ke
On 2014/10/30 19:17, Jaehoon Chung wrote: > On 10/30/2014 08:11 PM, Ulf Hansson wrote: >> On 30 October 2014 11:50, Addy Ke wrote: >>> The bit of sdio interrupt is 16 in designware implementation, >>> but it is 24 in RK3288. This patch add sdio_id0 for the numb

  1   2   3   >