summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorRay Jui <rjui@broadcom.com>2016-02-12 13:10:43 -0800
committerWolfram Sang <wsa@the-dreams.de>2016-02-12 22:43:08 +0100
commit4916eb6909769eb6a178330a9694d85bf564d5ee (patch)
tree8632c16e000acd3c2d74ef3a0882b1642a165920 /block
parented36bfc3b0a033362200aae699c8a2148fe2f04f (diff)
downloadlinux-4916eb6909769eb6a178330a9694d85bf564d5ee.tar.gz
linux-4916eb6909769eb6a178330a9694d85bf564d5ee.tar.bz2
linux-4916eb6909769eb6a178330a9694d85bf564d5ee.zip
i2c: iproc: Support larger TX transfer
The current iProc I2C driver only allows each TX transfer up to 63 bytes (the TX FIFO has a size of 64 bytes, and one byte is reserved for slave address). This patch enhances the driver to support TX transfer in each I2C message for up to 65535 bytes (a practical maximum, since member 'max_write_len' of 'struct i2c_adapter_quirks is of type 'u16') This works by loading up the I2C TX FIFO and enabling the TX underrun interrupt for each burst. After each burst of TX data is finished, i.e., when the TX FIFO becomes empty, the TX underrun interrupt will be triggered and another burst of TX data can be loaded into the TX FIFO. This repeats until all TX data are finished Signed-off-by: Ray Jui <rjui@broadcom.com> Tested-by: Icarus Chau <ichau@broadcom.com> Reviewed-by: Scott Branden <sbranden@broadcom.com> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions