Re: [PATCH v2] i2c: i801: Fix I2C Block Read on 8-Series/C220 and later

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

 



Hi Wolfram,

On Tue, 25 Oct 2016 12:02:42 +0200, Wolfram Sang wrote:
> On Tue, Oct 11, 2016 at 01:13:27PM +0200, Jean Delvare wrote:
> > Starting with the 8-Series/C220 PCH (Lynx Point), the SMBus
> > controller includes a SPD EEPROM protection mechanism. Once the SPD
> > Write Disable bit is set, only reads are allowed to slave addresses
> > 0x50-0x57.
> > 
> > However the legacy implementation of I2C Block Read since the ICH5
> > looks like a write, and is therefore blocked by the SPD protection
> > mechanism. This causes the eeprom and at24 drivers to fail.
> > 
> > So assume that I2C Block Read is implemented as an actual read on
> > these chipsets. I tested it on my Q87 chipset and it seems to work
> > just fine.
> > 
> > Signed-off-by: Jean Delvare <jdelvare@xxxxxxx>
> > Cc: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
> > Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>
> > Cc: Wolfram Sang <wsa@xxxxxxxxxxxxx>
> 
> Fixed the BIT() issue mentioned by Jarkko and applied to for-current,
> thanks! But please double check my commit once I pushed out.

The BIT() cleanup is a patch by Benjamin Tissoires ("i2c: i801: use
BIT() macro for bits definition"), I thought you had applied it already
so I rebased my patch on it, but it turns out I was wrong. You could
just have used v1 of the patch ;-)

Your changes are obviously correct, but you'll have to solve the merge
conflict again when applying Benjamin's patch, sorry.

Thanks,
-- 
Jean Delvare
SUSE L3 Support
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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