It is very common for an i2c device to require a small 1 or 2 byte writefollowed by a read. For example, when reading from an i2c EEPROM it iscommon to write and address, offset or index followed by a reading somevalues.

The i915 gmbus controller provides a special "INDEX" cycle for performingsuch a small write followed by a read. The INDEX can be either one or twobytes long. The advantage of using such a cycle is that the CPU hasslightly less work to do once the read with INDEX cycle is started.