Attention is currently required from: Furquan Shaikh, Tim Wawrzynczak, Angel Pons, Karthik Ramasubramanian. Michael Niewöhner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/50442 )
Change subject: drivers/i2c/hid: Enforce level triggered IRQ mode ......................................................................
Patch Set 3:
(1 comment)
File src/drivers/i2c/hid/hid.c:
https://review.coreboot.org/c/coreboot/+/50442/comment/df448c02_e288393d PS3, Line 82: dev->enabled = 0;
It's the vendor's fault for making defective hardware.
While this is right, we shouldn't make it worse and break the users device that would actually work even with an edge-triggered interrupt.
I believe a level-triggered pad should always catch any edge pulses as well; the other way around could cause problems, but I think if we just print a warning and possibly set the trigger type back to LEVEL, everything should still work, there shouldn't be any need to disable the device.
Not sure what you mean with "and possibly set the trigger type back to LEVEL" but I'm inclined to agree on the rest. A warning should be enough. The only case where I'd disable the interrupt is when it'd cause any other problems (it doesn't AFAIK). Also, disabling the whole device is too much. IIRC at least Linux falls back to polling, when there's no interrupt.