qemu/hw/i2c
Corey Minyard 52cc6a492b i2c:pm_smbus: Fix pm_smbus handling of I2C block read
The I2C block read function of pm_smbus was completely broken.  It
required doing some direct I2C handling because it didn't have a
defined size, the OS code just reads bytes until it marks the
transaction finished.

This also required adjusting how the AMIBIOS workaround code worked,
the I2C block mode was setting STS_HOST_BUSY during a transaction,
so that bit could no longer be used to inform the host status read
code to start the transaction.  Create a explicit bool for that
operation.

Also, don't read the next byte from the device in byte-by-byte
mode unless the OS is actually clearing the byte done bit.  Just
assuming that's what the OS is doing is a bad idea.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
2019-02-27 21:06:08 -06:00
..
aspeed_i2c.c i2c: Don't check return value from i2c_recv() 2019-02-27 21:06:08 -06:00
bitbang_i2c.c hw/i2c/bitbang_i2c: Handle NACKs from devices 2016-11-07 10:01:15 +00:00
bitbang_i2c.h i2c: Move typedef of bitbang_i2c_interface to i2c.h 2018-12-12 10:01:13 +01:00
core.c i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
exynos4210_i2c.c i2c: Don't check return value from i2c_recv() 2019-02-27 21:06:08 -06:00
i2c-ddc.c i2c: have I2C receive operation return uint8_t 2019-02-27 21:06:08 -06:00
imx_i2c.c i2c: Don't check return value from i2c_recv() 2019-02-27 21:06:08 -06:00
Makefile.objs i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
microbit_i2c.c arm: Stub out NRF51 TWI magnetometer/accelerometer detection 2019-01-29 11:46:03 +00:00
omap_i2c.c hw/i2c/omap_i2c: Use qemu_log_mask(UNIMP) instead of fprintf 2018-06-26 17:50:40 +01:00
pm_smbus.c i2c:pm_smbus: Fix pm_smbus handling of I2C block read 2019-02-27 21:06:08 -06:00
ppc4xx_i2c.c ppc4xx_i2c: Rewrite to model hardware more closely 2018-07-03 09:56:52 +10:00
smbus_eeprom.c i2c:smbus: Make white space in switch statements consistent 2019-02-27 21:06:08 -06:00
smbus_ich9.c i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
smbus_master.c i2c: Split smbus into parts 2019-02-27 21:06:08 -06:00
smbus_slave.c i2c:smbus: Make white space in switch statements consistent 2019-02-27 21:06:08 -06:00
trace-events hw/i2c: Add trace events 2018-06-08 13:15:33 +01:00
versatile_i2c.c hw/i2c: QOM'ify versatile_i2c.c 2016-06-14 15:59:13 +01:00