MFC r354291 - r354322, r354327, r355596
r354291:
[ig4] Give common name to PCI and ACPI device drivers
r354292:
[ig4] Handle controller startup errors
Obtained from: DragonflyBSD (509820b)
r354293:
[ig4] Only enable interrupts when we want them. Otherwise keep mask at 0.
Obtained from: DragonflyBSD (d7c8555)
r354294:
[ig4] Drop driver's internal RX FIFO
r354295:
[ig4] Do not wait for interrupts in set_controller() routine
r354296:
[ig4] Reduce scope of io_lock
r354297:
[ig4] Ignore stray interrupts
r354298:
[ig4] We actually need to set the Rx threshold register one smaller.
Obtained from: DragonflyBSD (02f0bf2)
r354299:
[ig4] Stop I2C controller after checking that it's kind of functional.
Obtained from: DragonfliBSD (0b3eedb)
r354300:
[ig4] disable controller before initialization of clock counters
r354301:
[ig4] Add support for polled mode
r354302:
[ig4] Allow enabling of polled mode from iicbus allocation callback
r354303:
[ig4] Do not wait until interrupts are enabled at attach stage
r354304:
[cyapa] Postpone start of the polling thread until sleep is available
r354305:
[ig4] dump IG4_REG_COMP_PARAM1 and IG4_REG_COMP_VER registers unconditionally
r354306:
[ig4] Set clock registers based on controller model
r354307:
[ig4] Implement burst mode for data reads
r354308:
[ig4] Add suspend/resume support
PR: 238037
r354309:
[ig4] Remove dead code inherited from DragonflyBSD
r354310:
[ig4] Rewrite ig4iic_write routine to use TX_EMPTY status flag
r354311:
[ig4] Convert last remaining usage of TX_NOTFULL status to TX_EMPTY
r354312:
[ig4] Use interrupts for waiting for empty TX FIFO
r354313:
[ig4] Convert polling loop from status-based to interrupt-based
r354314:
[ig4] Improve error detection
r354315:
[ig4] Set STOP condition and flush TX/RX FIFOs on error
r354316:
[ig4] On SkyLake controllers issue reset on attach unconditionally.
r354317:
[ig4] wait for bus stop condition after stop command issued
r354318:
[ig4] Minor improvement of write pipelining
r354319:
[ig4] Add generic resource methods to bus interface
r354320:
[ig4] Add support for CannonLake controllers
PR: 240485
Submitted by: Neel Chauhan <neel@neelc.org>
r354321:
[ig4] Enable additional registers support on Appolo Lake controllers
r354322:
[ig4] Convert ithread interrupt handler to filter based one.
r354327:
[ig4] Try to workaround MIPS namespace pollution issue
r355596:
[ig4] Remove unused methods from bus interface
Suggested by: jhb
Reviewed by: imp (previous version)
Differential Revision: https://reviews.freebsd.org/D22016