mbox

[PULL,SRU,Yakkety] Support IPMI system interface for Cavium ThunderX

Message ID CALdTtnuHeL3Gkcfg7__6m8S2dMPmBTQCbA_uVx86vOZhoF0vOA@mail.gmail.com
State New
Headers show

Pull-request

git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux thunderx-ipmi-y

Message

dann frazier May 17, 2017, 11:02 p.m. UTC
[This is the same text as the Xenial 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 f1aba076b2a13b159527dfdb4dd43e16f2185438:

  tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline()
(2017-05-16 12:38:20 -0300)

are available in the git repository at:

  git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux thunderx-ipmi-y

for you to fetch changes up to 433d1597a2ee1a36a6fd346ea2f719f967b739e6:

  i2c: thunderx: Enable HWMON class probing (2017-05-17 14:08:53 -0600)

----------------------------------------------------------------
Dmitry Bazhenov (2):
      i2c: octeon: Fix set SCL recovery function
      i2c: octeon: Avoid sending STOP during recovery

Jan Glauber (13):
      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

dann frazier (1):
      UBUNTU: [Config] CONFIG_I2C_THUNDERX=m

 MAINTAINERS                                        |    8 +
 debian.master/config/annotations                   |    2 +
 debian.master/config/config.common.ubuntu          |    1 +
 drivers/i2c/busses/Kconfig                         |   11 +
 drivers/i2c/busses/Makefile                        |    3 +
 .../i2c/busses/{i2c-octeon.c => i2c-octeon-core.c} | 1062 ++++++--------------
 drivers/i2c/busses/i2c-octeon-core.h               |  222 ++++
 drivers/i2c/busses/i2c-octeon-platdrv.c            |  288 ++++++
 drivers/i2c/busses/i2c-thunderx-pcidrv.c           |  260 +++++
 9 files changed, 1094 insertions(+), 763 deletions(-)
 rename drivers/i2c/busses/{i2c-octeon.c => i2c-octeon-core.c} (53%)
 create mode 100644 drivers/i2c/busses/i2c-octeon-core.h
 create mode 100644 drivers/i2c/busses/i2c-octeon-platdrv.c
 create mode 100644 drivers/i2c/busses/i2c-thunderx-pcidrv.c

Comments

Stefan Bader May 23, 2017, 8:22 a.m. UTC | #1
On 18.05.2017 01:02, dann frazier wrote:
> [This is the same text as the Xenial 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

Hm, sure this is the right bug reference?

-Stefan

> 
> The following changes since commit f1aba076b2a13b159527dfdb4dd43e16f2185438:
> 
>   tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline()
> (2017-05-16 12:38:20 -0300)
> 
> are available in the git repository at:
> 
>   git://git.launchpad.net/~dannf/ubuntu/+source/linux/+git/linux thunderx-ipmi-y
> 
> for you to fetch changes up to 433d1597a2ee1a36a6fd346ea2f719f967b739e6:
> 
>   i2c: thunderx: Enable HWMON class probing (2017-05-17 14:08:53 -0600)
> 
> ----------------------------------------------------------------
> Dmitry Bazhenov (2):
>       i2c: octeon: Fix set SCL recovery function
>       i2c: octeon: Avoid sending STOP during recovery
> 
> Jan Glauber (13):
>       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
> 
> dann frazier (1):
>       UBUNTU: [Config] CONFIG_I2C_THUNDERX=m
> 
>  MAINTAINERS                                        |    8 +
>  debian.master/config/annotations                   |    2 +
>  debian.master/config/config.common.ubuntu          |    1 +
>  drivers/i2c/busses/Kconfig                         |   11 +
>  drivers/i2c/busses/Makefile                        |    3 +
>  .../i2c/busses/{i2c-octeon.c => i2c-octeon-core.c} | 1062 ++++++--------------
>  drivers/i2c/busses/i2c-octeon-core.h               |  222 ++++
>  drivers/i2c/busses/i2c-octeon-platdrv.c            |  288 ++++++
>  drivers/i2c/busses/i2c-thunderx-pcidrv.c           |  260 +++++
>  9 files changed, 1094 insertions(+), 763 deletions(-)
>  rename drivers/i2c/busses/{i2c-octeon.c => i2c-octeon-core.c} (53%)
>  create mode 100644 drivers/i2c/busses/i2c-octeon-core.h
>  create mode 100644 drivers/i2c/busses/i2c-octeon-platdrv.c
>  create mode 100644 drivers/i2c/busses/i2c-thunderx-pcidrv.c
>
dann frazier May 23, 2017, 10:43 p.m. UTC | #2
On Tue, May 23, 2017 at 2:22 AM, Stefan Bader
<stefan.bader@canonical.com> wrote:
> On 18.05.2017 01:02, dann frazier wrote:
>> [This is the same text as the Xenial 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
>
> Hm, sure this is the right bug reference?

It is not, I fat fingered it, sorry. I followed up with v2 updates to
correct it a few days ago:

https://lists.ubuntu.com/archives/kernel-team/2017-May/084266.html
https://lists.ubuntu.com/archives/kernel-team/2017-May/084267.html

 -dann