linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* mmci: U300 "sync with blockend" broken for multi-block?
@ 2011-01-01 11:05 Rabin Vincent
  2011-01-01 12:10 ` Russell King - ARM Linux
  2011-01-05 16:02 ` Linus Walleij
  0 siblings, 2 replies; 10+ messages in thread
From: Rabin Vincent @ 2011-01-01 11:05 UTC (permalink / raw)
  To: linux-arm-kernel

In MMCI, there is some code to sync between the MCI_DATABLOCKEND and the
MCI_DATAEND for U300 variants, which ensures that the transfer
terminates only when both MCI_DATABLOCKEND and MCI_DATAEND occurs:

	 * In the U300, the IRQs can arrive out-of-order,
	 * e.g. MCI_DATABLOCKEND sometimes arrives after MCI_DATAEND,
	 * so for this case we use the flags "blockend" and
	 * "dataend" to make sure both IRQs have arrived before
	 * concluding the transaction.

It seems to me that this code won't work correctly for multi-block
transfers, because there MCI_DATABLOCKEND will hit for the earlier
blocks and the blockend flag will be set, and if on the last block the
MCI_DATABLOCKEND hits after the MCI_DATAEND, this synching code won't do
what it's trying to do and will instead just terminate the transfer
after MCI_DATAEND.

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

end of thread, other threads:[~2011-01-16 22:09 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-01 11:05 mmci: U300 "sync with blockend" broken for multi-block? Rabin Vincent
2011-01-01 12:10 ` Russell King - ARM Linux
2011-01-05 16:15   ` Linus Walleij
2011-01-05 16:43     ` Russell King - ARM Linux
2011-01-14 20:13       ` Linus Walleij
2011-01-14 22:44         ` Russell King - ARM Linux
2011-01-16 21:11           ` Linus Walleij
2011-01-16 21:16         ` Linus Walleij
2011-01-16 22:09         ` Linus Walleij
2011-01-05 16:02 ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).