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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



08.02.2019 21:37, Sowjanya Komatineni пишет:
>>>>>>  static const struct i2c_adapter_quirks tegra194_i2c_quirks = {
>>>>>>  	.flags = I2C_AQ_NO_ZERO_LEN,
>>>>>> +	.max_write_len = 65535 - I2C_PACKET_HEADER_SIZE,
>>>>>
>>>>> Ideally it should be SZ_64K - I2C_PACKET_HEADER_SIZE to not miss the one byte, otherwise good to me:
>>>>>
>>>>> Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>
>>>>  
>>>> With SZ_64K - I2C_PACKET_HEADR_Size, When we compute dma_buf_size 
>>>> = max_write_len + I2C_PACKET_HEADER_SIZE, dma_buf_size will be 
>>>> SZ_64K which is 0x10000 apbdma dma count limit should be < 64K 
>>>> meaning 65535 max is allowed
>>>>
>>>
>>> But it's for the GPCDMA, does it have the same 64K limit as APB DMA?
>>
>  64K limit is for APBDMA. This patch has APBDMA support only. No GPCDMA support so buf size limit is based on APBDMA.
>  GPCDMA supports upto 1GB. 
> 
>  I think dma_buf_size is only for buffer allocation so shouldn’t harm for exact 64K.
> Will take a look at dma driver...
> 
> All msg reads, max length is 65535
> All msg writes, max length requests is also limited to 65535 due to u16 type of msg.len So, In any case, we don’t need 65536 bytes.
> Confused, yeah with max write quirk, max transfer can be 64K.
> 
> Will change to 64K instead of 65535.
> 

Good, thank you! Everything else looks good to me.



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux