Downstream-only branch, not for submission. Two additions on top of the v4 driver: Approximate SMBus Quick with a byte-data read of register 0 so that i2cdetect and OpenRGB's DDR4 probe see the devices. The engine cannot do a zero-length transaction, so this is a real read against every probed address - acceptable on a known bus, not as a generic facility, which is why mainline does not get it. Add protect_spd (bool, 0644, default on): reject SMBus writes to the SPD EEPROMs (0x50-0x57) and to the DDR4 protection command addresses SWPn/CWP (0x30-0x35) with -EPERM, and log the attempt ratelimited. RSWP cannot be set in-system on this platform (SWPn/CWP require VHV on SA0), so a driver-level refusal is the strongest available protection against stray SPD writes from any i2c-dev client. The page-select addresses 0x36/0x37 stay writable because ee1004 needs them (Send Byte page select); ee1004 itself never writes the EEPROM contents. Toggle at runtime via /sys/module/i2c_imc_skylake/parameters/protect_spd for deliberate SPD maintenance, e.g. the documented repair recipe. The old compat branch predates 1.0.1 (no native Receive Byte, no ee1004 instantiation, no I2C_FUNC_SMBUS_BYTE, so ee1004 cannot even bind) and is renamed to attic/compat-stale-pre-1.0.1 so nobody builds on it.
2 lines
13 B
Plaintext
2 lines
13 B
Plaintext
1.0.4-guard1
|