diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-08-20 21:36:08 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2017-09-09 12:59:45 +0000 |
commit | b5d998b9e0988bcd22512b026972373511097974 (patch) | |
tree | 750f3405714d766a8409d2f8fd841c4ffcc6216f /src/southbridge/intel/common/smbus.c | |
parent | 1e39236f965427cbfc92d3938af4c0acc41a1ce7 (diff) | |
download | coreboot-b5d998b9e0988bcd22512b026972373511097974.tar.xz |
sb/intel/common: Add HAVE_DEBUG_SMBUS
Change-Id: Ifb1a1eff71968f31af9004ff00717f202d3ec29e
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/21117
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/southbridge/intel/common/smbus.c')
-rw-r--r-- | src/southbridge/intel/common/smbus.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/southbridge/intel/common/smbus.c b/src/southbridge/intel/common/smbus.c index 90ef03ee12..2067baa8b2 100644 --- a/src/southbridge/intel/common/smbus.c +++ b/src/southbridge/intel/common/smbus.c @@ -16,11 +16,18 @@ */ #include <arch/io.h> +#include <console/console.h> #include <device/smbus_def.h> #include <stdlib.h> #include "smbus.h" +#if IS_ENABLED(CONFIG_DEBUG_SMBUS) +#define dprintk(args...) printk(BIOS_DEBUG, ##args) +#else +#define dprintk(args...) do {} while (0) +#endif + /* I801 command constants */ #define I801_QUICK (0 << 2) #define I801_BYTE (1 << 2) @@ -256,6 +263,9 @@ int do_smbus_block_read(unsigned int smbus_base, u8 device, u8 cmd, } } while ((status & SMBHSTSTS_HOST_BUSY) && loops); + dprintk("%s: status = %02x, len = %d / %d, loops = %d\n", + __func__, status, bytes_read, slave_bytes, loops); + /* Post-check we received complete message. */ slave_bytes = inb(smbus_base + SMBHSTDAT0); if (bytes_read < slave_bytes) @@ -329,6 +339,9 @@ int do_smbus_block_write(unsigned int smbus_base, u8 device, u8 cmd, } } while ((status & SMBHSTSTS_HOST_BUSY) && loops); + dprintk("%s: status = %02x, len = %d / %d, loops = %d\n", + __func__, status, bytes_sent, bytes, loops); + if (bytes_sent < bytes) return SMBUS_ERROR; @@ -396,6 +409,9 @@ int do_i2c_block_read(unsigned int smbus_base, u8 device, } } while ((status & SMBHSTSTS_HOST_BUSY) && loops); + dprintk("%s: status = %02x, len = %d / %d, loops = %d\n", + __func__, status, bytes_read, bytes, loops); + if (bytes_read < bytes) return SMBUS_ERROR; |