Module Name: src Committed By: thorpej Date: Sun Dec 22 23:24:56 UTC 2019
Modified Files: src/sys/arch/arm/broadcom: bcm2835_bsc.c Log Message: Rewrite the bcm2835 i2c driver as an interrupt-driven state machine. This improves general system responsiveness when tranferring large amounts of data on a single-core Pi board. This also includes: Cleanup i2c bus acquire / release, centralizing all of the logic into iic_acquire_bus() / iic_release_bus(). "acquire" and "release" hooks no longer need to be provided by back-end controller drivers (only if they need special handling, e.g. powering on the i2c controller). This results in the removal of a bunch of rendundant code from each back-end controller driver. Assert that we are not in hard interrupt context in iic_acquire_bus(), iic_exec(), and iic_release_bus(). To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/broadcom/bcm2835_bsc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.