Re: i801: I2C block read should be usable also on ICH/ICH0/ICH2/ICH3/ICH4

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

 



On 17.04.2022 04:27, Wolfram Sang wrote:
> On Mon, Dec 06, 2021 at 10:18:49PM +0100, Heiner Kallweit wrote:
>> Currently we use the following feature definitions. However, according to
>> the respective datasheets, also ICH/ICH0/ICH2/ICH3/ICH4 support I2C block
>> read. The implementation we have should work also on these chip versions.
>>
>> The commit message of 6342064cad7a ("i2c-i801: Implement I2C block read
>> support") states that i2c block read is supported from ICH5 only.
>> This doesn't seem to be true. Or is this feature broken on older chip
>> versions? 
>>
>> To me it seems we could remove FEATURE_I2C_BLOCK_READ because all chip
>> versions support this feature. Below is an experimental patch, for the
>> ones with test hw. A test case could be to use decode-dimms that
>> uses i2c block read to read the EEPROM content.
>>
>> * Supports the following Intel I/O Controller Hubs (ICH):
>>  *
>>  *					I/O			Block	I2C
>>  *					region	SMBus	Block	proc.	block
>>  * Chip name			PCI ID	size	PEC	buffer	call	read
>>  * ---------------------------------------------------------------------------
>>  * 82801AA (ICH)		0x2413	16	no	no	no	no
>>  * 82801AB (ICH0)		0x2423	16	no	no	no	no
>>  * 82801BA (ICH2)		0x2443	16	no	no	no	no
>>  * 82801CA (ICH3)		0x2483	32	soft	no	no	no
>>  * 82801DB (ICH4)		0x24c3	32	hard	yes	no	no
>>  * 82801E (ICH5)		0x24d3	32	hard	yes	yes	yes
> 
> Any reason you skipped this patch in your latest series?
> 
Supporting I2C block read on all chip versions is part of patch 4 in the
series. I didn't remove feature flag FEATURE_I2C_BLOCK_READ yet to give users
the chance to disable the feature via module parameter in case of problems.



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux