HomeFreeBSD

[ig4] Fix I/O timeout issue with Designware I2C controller on AMD platforms

Description

[ig4] Fix I/O timeout issue with Designware I2C controller on AMD platforms

Due to hardware limitation AMD I2C controller can't trigger pending
interrupt if interrupt status has been changed after clearing
interrupt status bits. So, I2C will lose the interrupt and IO will be
timed out. Implements a workaround to disable I2C controller interrupt
and re-enable I2C interrupt before existing interrupt handler.

Submitted by: rajfbsd@gmail.com
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D16720

Details

Provenance
gonzoAuthored on Aug 22 2018, 10:56 PM
Parents
rG4ca8c1efe44c: KASSERT: Make runtime optionality optional
Branches
Unknown
Tags
Unknown

Event Timeline