[PULL][SRU Xenial] Support IPMI system interface for Cavium ThunderX

Colin Ian King colin.king at canonical.com
Fri May 19 12:43:42 UTC 2017


On 18/05/17 00:02, dann frazier wrote:
> [This is the same text as the Yakkety PR, so you don't need to read it twice :)]
> 
> This is a set of cherry picks from upstream that introduces the
> i2c-thunderx driver, which is required to access the IPMI system
> interface (/dev/ipmi0) on Cavium ThunderX.  The series starts by
> refactoring the i2c-octeon driver before introducing the new one since
> they share common code. i2c-octeon is only applicable to Cavium
> MIPS-based platforms, so it isn't a regression risk to Ubuntu
> (-ENOPORT).
> 
> All of the changes necessary to get us in-sync with zesty were
> isolated to these drivers, so I did a kitchen-sink backport. This
> means it includes some low-priority changes (code cleanup/docs) but,
> since this is effectively new code for us, that seemed like the
> lowest-risk and most maintainable approach.
> 
> Tested on a Cavium CRB1S.
> 
> BugLink: https://bugs.launchpad.net/bugs/1668132
> 
> The following changes since commit 7b8ea7510aaa0aca1ddc4f7ba42cfb32d76a64f2:
> 
>   UBUNTU: Ubuntu-4.4.0-79.100 (2017-05-17 16:49:45 +0200)
> 
> are available in the git repository at:
> 
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux thunderx-ipmi-x
> 
> for you to fetch changes up to 02c1fb691013f564e067a17d646ce1fe612fccd3:
> 
>   i2c: thunderx: Enable HWMON class probing (2017-05-17 14:32:52 -0600)
> 
> ----------------------------------------------------------------
> David Daney (3):
>       i2c: octeon: Support I2C_M_RECV_LEN
>       i2c: octeon: Enable High-Level Controller
>       i2c: octeon: Add workaround for broken irqs on CN3860
> 
> Dmitry Bazhenov (2):
>       i2c: octeon: Fix set SCL recovery function
>       i2c: octeon: Avoid sending STOP during recovery
> 
> Jan Glauber (27):
>       i2c: octeon: Cleanup kerneldoc comments
>       i2c: octeon: Cleanup i2c-octeon driver
>       i2c: octeon: Cleanup resource allocation code
>       i2c: octeon: Increase retry default and use fixed timeout value
>       i2c: octeon: Move set-clock and init-lowlevel upward
>       i2c: octeon: Rename [read|write]_sw to reg_[read|write]
>       i2c: octeon: Introduce helper functions for register access
>       i2c: octeon: Remove superfluous check in octeon_i2c_test_iflg
>       i2c: octeon: Improve error status checking
>       i2c: octeon: Use i2c recovery framework
>       i2c: octeon: Add support for cn78xx chips
>       i2c: octeon: Remove zero-length message support
>       i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
>       i2c: octeon: Avoid printk after too long SMBUS message
>       i2c: octeon: Rename driver to prepare for split
>       i2c: octeon: Split the driver into two parts
>       i2c: thunderx: Add i2c driver for ThunderX SOC
>       i2c: thunderx: Add SMBUS alert support
>       i2c: octeon,thunderx: Move register offsets to struct
>       i2c: octeon: Sort include files alphabetically
>       i2c: octeon: Use booleon values for booleon variables
>       i2c: octeon: thunderx: Add MAINTAINERS entry
>       i2c: octeon: Fix high-level controller status check
>       i2c: octeon: thunderx: TWSI software reset in recovery
>       i2c: octeon: thunderx: Remove double-check after interrupt
>       i2c: octeon: thunderx: Limit register access retries
>       i2c: thunderx: Enable HWMON class probing
> 
> Peter Swain (2):
>       i2c: octeon: Add flush writeq helper function
>       i2c: octeon: Improve performance if interrupt is early
> 
> dann frazier (1):
>       UBUNTU: [Config] CONFIG_I2C_THUNDERX=m
> 
>  .../devicetree/bindings/i2c/i2c-octeon.txt         |   6 +
>  MAINTAINERS                                        |   8 +
>  debian.master/config/annotations                   |   2 +
>  debian.master/config/config.common.ubuntu          |   1 +
>  drivers/i2c/busses/Kconfig                         |  11 +
>  drivers/i2c/busses/Makefile                        |   3 +
>  drivers/i2c/busses/i2c-octeon-core.c               | 791 +++++++++++++++++++++
>  drivers/i2c/busses/i2c-octeon-core.h               | 222 ++++++
>  drivers/i2c/busses/i2c-octeon-platdrv.c            | 288 ++++++++
>  drivers/i2c/busses/i2c-octeon.c                    | 633 -----------------
>  drivers/i2c/busses/i2c-thunderx-pcidrv.c           | 260 +++++++
>  11 files changed, 1592 insertions(+), 633 deletions(-)
>  create mode 100644 drivers/i2c/busses/i2c-octeon-core.c
>  create mode 100644 drivers/i2c/busses/i2c-octeon-core.h
>  create mode 100644 drivers/i2c/busses/i2c-octeon-platdrv.c
>  delete mode 100644 drivers/i2c/busses/i2c-octeon.c
>  create mode 100644 drivers/i2c/busses/i2c-thunderx-pcidrv.c
> 

The bug report is a bit terse, and does not have any SRU style details
(test, regression risk, etc).  I'll look at this again once that
information has been added to the bug report. Thanks.





More information about the kernel-team mailing list