ARM: OMAP: hsmmc requires data reset after data timeout
Subsystems (2)
PATCH 1/3 ARM: OMAP: hsmmc requires data reset after data timeout
According to TRM a software reset SRD after data timeout is required.
---drivers/mmc/host/omap_hsmmc.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
drivers/mmc/host/omap_hsmmc.c +0 -0
@@ -417,6 +417,11 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
mmc_dma_cleanup(host); else host->data->error = -EILSEQ;
+ OMAP_HSMMC_WRITE(host->base, SYSCTL,
+ OMAP_HSMMC_READ(host->base,
+ SYSCTL) | SRD);
+ while (OMAP_HSMMC_READ(host->base,
+ SYSCTL) & SRD) ; end_trans = 1; } }
Signature · 1 line
1.5.4.3
Quoted 14 lines · Adrian Hunter
According to TRM a software reset SRD after data timeout is required.
Signed-off-by Adrian Hunter <[email protected]>---
drivers/mmc/host/omap_hsmmc.c| 5 +++++1 files changed, 5 insertions(+), 0 deletions(-)drivers/mmc/host/omap_hsmmc.c +0
-0@@ -417,6 +417,11 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)mmc_dma_cleanup (host);
drivers/mmc/host/omap_hsmmc.c static irqreturn_t mmc_omap_irq(int irq, void *dev_id) · line 427
Quoted 10 lines
drivers/mmc/host/omap_hsmmc.c +5
-0else host->data->error = -EILSEQ ; +OMAP_HSMMC_WRITE (host->base,SYSCTL , +OMAP_HSMMC_READ (host->base, +SYSCTL ) |SRD ); +while (OMAP_HSMMC_READ (host->base, +SYSCTL ) &SRD ) ; end_trans =1 ; } }
Can this and my other 2 patches be applied?
Quoted 19 lines · Adrian Hunter
Quoted 18 lines · Adrian Hunter
According to TRM a software reset SRD after data timeout is required.
Signed-off-by Adrian Hunter <[email protected]>---
drivers/mmc/host/omap_hsmmc.c| 5 +++++1 files changed, 5 insertions(+), 0 deletions(-)drivers/mmc/host/omap_hsmmc.c +2
-0@@ -417,6 +417,11 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)mmc_dma_cleanup (host); else host->data->error = -EILSEQ; + OMAP_HSMMC_WRITE(host->base, SYSCTL, + OMAP_HSMMC_READ(host->base,
Quoted 8 lines
drivers/mmc/host/omap_hsmmc.c static irqreturn_t mmc_omap_irq(int irq, void *dev_id) · line 427
Quoted 6 lines
drivers/mmc/host/omap_hsmmc.c +3
-0+ SYSCTL) | SRD); +while (OMAP_HSMMC_READ (host->base, +SYSCTL ) &SRD ) ; end_trans =1 ; } }Can this and my other 2 patches be applied?
OK, I really want this driver out of the l-o list and submitted via Pierre. So only fixes at this point.. But I guess these can be considered fixes, so I'll push them.
BTW, I'll have some patches coming up for the hsmmc.c init to prepare that for mainline.
Regards,
Tony