All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] aspeed/i2c: fix receive done interrupt model
@ 2018-09-14  6:35 Cédric Le Goater
  2018-09-14  6:35 ` [Qemu-devel] [PATCH 1/3] aspeed/i2c: interrupts should be cleared by software only Cédric Le Goater
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Cédric Le Goater @ 2018-09-14  6:35 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-arm, Peter Maydell, Guenter Roeck, Joel Stanley,
	Andrew Jeffery, Cédric Le Goater

Hello,

The interrupt model of the Aspeed I2C controller does handle correctly
the RX_DONE bit. As indicated in the AST2500 datasheet, the RX_DONE
bit needs to be cleared to allow mode data to be received. This series
fixes the behavior and delays the data reception until the bit has
been cleared.

Revealed by :

  [PATCH i2c-next v6] i2c: aspeed: Handle master/slave combined irq events
  https://lkml.org/lkml/2018/8/23/1366

which fixes irq handling in Linux at high bus frequencies.

Thanks,

C.

Cédric Le Goater (1):
  aspeed/i2c: interrupts should be cleared by software only

Guenter Roeck (2):
  aspeed/i2c: Handle receive command in separate function
  aspeed/i2c: Fix receive done interrupt handling

 hw/i2c/aspeed_i2c.c | 68 +++++++++++++++++++++++++++++++--------------
 1 file changed, 47 insertions(+), 21 deletions(-)

-- 
2.17.1

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

end of thread, other threads:[~2018-09-14  6:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-14  6:35 [Qemu-devel] [PATCH 0/3] aspeed/i2c: fix receive done interrupt model Cédric Le Goater
2018-09-14  6:35 ` [Qemu-devel] [PATCH 1/3] aspeed/i2c: interrupts should be cleared by software only Cédric Le Goater
2018-09-14  6:35 ` [Qemu-devel] [PATCH 2/3] aspeed/i2c: Handle receive command in separate function Cédric Le Goater
2018-09-14  6:35 ` [Qemu-devel] [PATCH 3/3] aspeed/i2c: Fix receive done interrupt handling Cédric Le Goater

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.