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

Bug#840061: Enable I2C/IPMI and EDAC for X-Gene



Source: linux
Version: 4.7.5-1

Hi,

I have a Gigabyte MP30-AR1 board with an ARM64 X-Gene1 processor.

To access its temperature, fan and voltage sensors using IPMI the 
following kernel configs are needed:

CONFIG_MAILBOX=y
CONFIG_XGENE_SLIMPRO_MBOX=m
CONFIG_I2C_XGENE_SLIMPRO=m
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_SSIF=m
CONFIG_IPMI_DEVICE_INTERFACE=m

It should then possible to read the sensors using
# ipmi-sensors --driver-type=OPENIPMI --driver-device=/dev/ipmi0

..but in practice it seems to fail due to a buffer overrun:

--- drivers/i2c/busses/i2c-xgene-slimpro.c.orig	2016-10-07 18:25:09.357520311 +0000
+++ drivers/i2c/busses/i2c-xgene-slimpro.c	2016-10-07 18:25:22.425573533 +0000
@@ -105,7 +105,7 @@
 	struct mbox_chan *mbox_chan;
 	struct mbox_client mbox_client;
 	struct completion rd_complete;
-	u8 dma_buffer[I2C_SMBUS_BLOCK_MAX];
+	u8 dma_buffer[I2C_SMBUS_BLOCK_MAX+2];
 	u32 *resp_msg;
 };

I'm in the process of reporting this upstream.

The processor also has error detection and correction for its main 
memory and caches; this can be enabled with:

CONFIG_EDAC=y
CONFIG_EDAC_MM_EDAC=m
CONFIG_EDAC_XGENE=m

I've also turned this on, though I don't know if it does much:

CONFIG_XGENE_DMA=m

Note that I'm currently using 4.7.5, but I'm reasonably sure that 
none of this has changed significantly in 4.8.

Please consider enabling these configs, and possibly the i2c patch, 
in the Debian kernel.


Thanks,  Phil.


Reply to: