Re: [PATCH V15 3/6] i2c: tegra: fix maximum transfer size

Dmitry Osipenko
2019-02-07T22:25:18Z

> 08.02.2019 1:16, Sowjanya Komatineni пишет:>
>>> This is wrong, 65535 = 64 * 1024 - 1.
>>>
>>> Let's just use size-constants provided by kernel:
>>>
>>> static const struct i2c_adapter_quirks tegra_i2c_quirks = {
>>> .flags = I2C_AQ_NO_ZERO_LEN,
>>> .max_read_len = SZ_4K,
>>> .max_write_len = SZ_4K - I2C_PACKET_HEADER_SIZE, };
>>>
>>> static const struct i2c_adapter_quirks tegra194_i2c_quirks = {
>>> .flags = I2C_AQ_NO_ZERO_LEN,
>>> .max_read_len = SZ_64K,
>>> .max_write_len = SZ_64K - I2C_PACKET_HEADER_SIZE, };
>>>
>>>
>>> I'll take a look at other patches later today, no need to send out new version right now.
>>>
>>>
>>
>> SIZE_64K is 0x00010000 (65536)
>>
>> msg len is u16 and max that can be set to msg.len is 65535

Ah, okay. Then it looks about right, maybe it's time to change u16 to u32 in the I2C core.