• Wolfram Sang's avatar
    i2c: rcar: init new messages in irq · 2bc3c5a8
    Wolfram Sang authored
    Setting up new messages was done in process context while handling a
    message was in interrupt context. Because of the HW design, this IP core
    is sensitive to timing, so the context switches were too expensive. Move
    this setup to interrupt context as well.
    
    In my test setup, this fixed the occasional 'data byte sent twice' issue
    which a number of people have seen. It also fixes to send REP_START
    after a read message which was wrongly send as a STOP + START sequence
    before.
    Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
    Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
    2bc3c5a8
i2c-rcar.c 17.1 KB