• W
    i2c: rcar: init new messages in irq · 2bc3c5a8
    Wolfram Sang 提交于
    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: NWolfram Sang <wsa+renesas@sang-engineering.com>
    Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
    2bc3c5a8
i2c-rcar.c 17.1 KB