public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* Revert "OMAP: HSMMC: Implement scatter-gather emulation"
@ 2008-12-12  2:00 Tony Lindgren
  2008-12-30  9:47 ` Jarkko Lavinen
  0 siblings, 1 reply; 3+ messages in thread
From: Tony Lindgren @ 2008-12-12  2:00 UTC (permalink / raw)
  To: Juha Yrjola, Adrian Hunter, Jarkko Lavinen (NMP/Helsinki); +Cc: linux-omap

Hi all,

Looks like Juha's MMC scatter-gather patch breaks at least overo when
using 4 data lines. It seems to work when using only 1 data line.
So I've reverted patch 038d0d2f64cc1f03bfaf1d5f22d9eacf33926a51 for now.

Any ideas? Maybe some timings issue?

Regards,

Tony

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Revert "OMAP: HSMMC: Implement scatter-gather emulation"
  2008-12-12  2:00 Revert "OMAP: HSMMC: Implement scatter-gather emulation" Tony Lindgren
@ 2008-12-30  9:47 ` Jarkko Lavinen
  2009-01-07 14:02   ` Tony Lindgren
  0 siblings, 1 reply; 3+ messages in thread
From: Jarkko Lavinen @ 2008-12-30  9:47 UTC (permalink / raw)
  To: Tony Lindgren; +Cc: Juha Yrjola, Adrian Hunter, linux-omap

On Thu, Dec 11, 2008 at 06:00:23PM -0800, ext Tony Lindgren wrote:
> Looks like Juha's MMC scatter-gather patch breaks at least overo when
> using 4 data lines. It seems to work when using only 1 data line.

> Any ideas? Maybe some timings issue?

TI errata says there is a HW bug is multi-block reads causing
data CRC errors when the MMC clock is stopped and restarted.
This is now fixed in Omap 3430 es3.0.

Juha's patch increases the CRC errors when the FIFOs are more
likely filled during channel callback interrupt.  But the FIFOs
can be and are stopped also without SG emulation when bus is
busy.

On a test board with buggy HSMMC, the CRC error does not appear
at all if I have no load on the bus.  When I have full Linux
system running with bells and whistles, the CRC error occurs with
frequency of 0.4%. 

Retrying multi-block read in case of data CRC seems effective and
has never failed on the test board.  The performance penalty of the 
retry is obviously minimal.

Juha's patch would need to be modified to be conditionally
enabled only on es3.0 and used bounce buffer otherwise and teach
mmc_blk_issue_rq() to do retry.

Jarkko Lavinen

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Revert "OMAP: HSMMC: Implement scatter-gather emulation"
  2008-12-30  9:47 ` Jarkko Lavinen
@ 2009-01-07 14:02   ` Tony Lindgren
  0 siblings, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2009-01-07 14:02 UTC (permalink / raw)
  To: Jarkko Lavinen; +Cc: Juha Yrjola, Adrian Hunter, linux-omap

* Jarkko Lavinen <jarkko.lavinen@nokia.com> [081230 11:47]:
> On Thu, Dec 11, 2008 at 06:00:23PM -0800, ext Tony Lindgren wrote:
> > Looks like Juha's MMC scatter-gather patch breaks at least overo when
> > using 4 data lines. It seems to work when using only 1 data line.
> 
> > Any ideas? Maybe some timings issue?
> 
> TI errata says there is a HW bug is multi-block reads causing
> data CRC errors when the MMC clock is stopped and restarted.
> This is now fixed in Omap 3430 es3.0.
> 
> Juha's patch increases the CRC errors when the FIFOs are more
> likely filled during channel callback interrupt.  But the FIFOs
> can be and are stopped also without SG emulation when bus is
> busy.
> 
> On a test board with buggy HSMMC, the CRC error does not appear
> at all if I have no load on the bus.  When I have full Linux
> system running with bells and whistles, the CRC error occurs with
> frequency of 0.4%. 
> 
> Retrying multi-block read in case of data CRC seems effective and
> has never failed on the test board.  The performance penalty of the 
> retry is obviously minimal.
> 
> Juha's patch would need to be modified to be conditionally
> enabled only on es3.0 and used bounce buffer otherwise and teach
> mmc_blk_issue_rq() to do retry.

Thanks for the info. Jarkko, do you mind putting together a omap mmc
git branch against the mainline kernel once the hsmmc driver is
integrated?

Once the hsmmc.c is in the mainline tree, I'd like to switch to the
mainline version of drivers/mmc and then just keep merging in your mmc
queue as needed.

That way you could then send the mmc patches via LKML to Pierre,
and I could get out of the MMC loop ;)

Regards,

Tony


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-01-07 14:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-12  2:00 Revert "OMAP: HSMMC: Implement scatter-gather emulation" Tony Lindgren
2008-12-30  9:47 ` Jarkko Lavinen
2009-01-07 14:02   ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox