On 03-10-25, 20:50, Andi Shyti wrote:
On Thu, Sep 25, 2025 at 05:30:35PM +0530, Jyothi Kumar Seerapu wrote:
From: Jyothi Kumar Seerapu quic_jseerapu@quicinc.com
The I2C driver gets an interrupt upon transfer completion. When handling multiple messages in a single transfer, this results in N interrupts for N messages, leading to significant software interrupt latency.
To mitigate this latency, utilize Block Event Interrupt (BEI) mechanism. Enabling BEI instructs the hardware to prevent interrupt generation and BEI is disabled when an interrupt is necessary.
Large I2C transfer can be divided into chunks of messages internally. Interrupts are not expected for the messages for which BEI bit set, only the last message triggers an interrupt, indicating the completion of N messages. This BEI mechanism enhances overall transfer efficiency.
BEI optimizations are currently implemented for I2C write transfers only, as there is no use case for multiple I2C read messages in a single transfer at this time.
Signed-off-by: Jyothi Kumar Seerapu quic_jseerapu@quicinc.com
Because this series is touching multiple subsystems, I'm going to ack it:
Acked-by: Andi Shyti andi.shyti@kernel.org
We are waiting for someone from DMA to ack it (Vinod or Sinan).
Thanks, I will pick it with your ack
linaro-mm-sig@lists.linaro.org