Re: [PATCH] i2c-imx.c: Synthesize end of transaction events without idle interrupts
From: Oleksij Rempel <o.rempel@pengutronix.de>
Date: 2021-01-29 09:13:48
On Thu, Jan 28, 2021 at 10:20:48AM +0100, Wolfram Sang wrote:
On Thu, Jan 14, 2021 at 05:27:11PM -0800, Kevin Herbert wrote:quoted
The loop sends either one or two events to the slave driver. If the state is I2C_SLAVE_READ_REQUESTED, we synthesize the I2C_SLAVE_READ_PROCESSED event, and then our state becomes I2C_SLAVE_READ_PROCESSED. In all other states, we transition to I2C_SLAVE_STOP and exit the loop. It is not a busy loop at all. It is calling the callback handler (that already expects to be in IRQ context) one or two times, and then it exits the loop.Oleksij, does this answer your question?
Sorry, I missed this email. Kevin, thank you for the answer and the patch. Tested-by: Oleksij Rempel <o.rempel@pengutronix.de> Acked-by: Oleksij Rempel <o.rempel@pengutronix.de> Regards, Oleksij -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel