mbox series

[v4,0/6] OpenCAPI support for Witherspoon

Message ID cover.341e082aeabdc75960d321476f2af54dac1c4ffd.1535950380.git-series.andrew.donnellan@au1.ibm.com
Headers show
Series OpenCAPI support for Witherspoon | expand

Message

Andrew Donnellan Sept. 3, 2018, 4:52 a.m. UTC
This series implements OpenCAPI support for Witherspoon.

Patch 1 is a fixup to the OCC GPU presence detection.

Patches 2-4 are restructuring of the NPU code in preparation for
platforms that support both NVLink and OpenCAPI.

Patch 5 is a fixup to OpenCAPI I2C reset and presence detection.

Patch 6 adds Witherspoon-specific platform support, including the
Witherspoon-specific device presence and type detection.

v1->v2:

- Address review comments from Reza/Alistair/Oliver

v2->v3:

- make OCC GPU presence less noisy
- add check for npu->devices overflow
- get rid of ocapi_global_mmio_base
- Abort NPU init if we can't find the device presence I2C port
- define device detection callback for ZZ
- add comment to explain OpenCAPI slot presence function
- rename the i2c fields in i2c refactoring commit message
- refactor link type/index setting in witherspoon platform code
- add explanatory comment for i2c reset settings in witherspoon platform
code

v3->v4:
- break out of loop once device found in set_link_details() (Fred)
- add missing break (Fred)

Andrew

Andrew Donnellan (6):
  occ: Wait if OCC GPU presence status not immediately available
  npu2: Split device index into brick and link index
  hw/npu2: Common NPU2 init routine between NVLink and OpenCAPI
  hw/npu2, platform: Add NPU2 platform device detection callback
  hw/npu2, platform: Restructure OpenCAPI i2c reset/presence pins
  platforms/astbmc/witherspoon: Implement OpenCAPI support

 core/init.c                    |   2 +-
 core/platform.c                |  26 +--
 hdata/spira.c                  |   1 +-
 hw/npu2-common.c               | 235 +++++++++++++++++++++++--
 hw/npu2-hw-procedures.c        |   8 +-
 hw/npu2-opencapi.c             | 324 +++++++++++-----------------------
 hw/npu2.c                      | 257 ++++++++-------------------
 hw/occ.c                       |  16 +-
 include/npu2-regs.h            |  14 +-
 include/npu2.h                 |  26 ++-
 include/platform.h             |  16 +-
 include/skiboot.h              |   1 +-
 platforms/astbmc/witherspoon.c | 209 ++++++++++++++++++++++-
 platforms/astbmc/zaius.c       |  25 +--
 platforms/ibm-fsp/zz.c         |  26 +--
 15 files changed, 727 insertions(+), 459 deletions(-)

base-commit: f3d801c01f978a346b70e9929028a3b7a651bd97

Comments

Frederic Barrat Sept. 3, 2018, 8:54 a.m. UTC | #1
This full series look good to me now.

   Fred


Le 03/09/2018 à 06:52, Andrew Donnellan a écrit :
> This series implements OpenCAPI support for Witherspoon.
> 
> Patch 1 is a fixup to the OCC GPU presence detection.
> 
> Patches 2-4 are restructuring of the NPU code in preparation for
> platforms that support both NVLink and OpenCAPI.
> 
> Patch 5 is a fixup to OpenCAPI I2C reset and presence detection.
> 
> Patch 6 adds Witherspoon-specific platform support, including the
> Witherspoon-specific device presence and type detection.
> 
> v1->v2:
> 
> - Address review comments from Reza/Alistair/Oliver
> 
> v2->v3:
> 
> - make OCC GPU presence less noisy
> - add check for npu->devices overflow
> - get rid of ocapi_global_mmio_base
> - Abort NPU init if we can't find the device presence I2C port
> - define device detection callback for ZZ
> - add comment to explain OpenCAPI slot presence function
> - rename the i2c fields in i2c refactoring commit message
> - refactor link type/index setting in witherspoon platform code
> - add explanatory comment for i2c reset settings in witherspoon platform
> code
> 
> v3->v4:
> - break out of loop once device found in set_link_details() (Fred)
> - add missing break (Fred)
> 
> Andrew
> 
> Andrew Donnellan (6):
>    occ: Wait if OCC GPU presence status not immediately available
>    npu2: Split device index into brick and link index
>    hw/npu2: Common NPU2 init routine between NVLink and OpenCAPI
>    hw/npu2, platform: Add NPU2 platform device detection callback
>    hw/npu2, platform: Restructure OpenCAPI i2c reset/presence pins
>    platforms/astbmc/witherspoon: Implement OpenCAPI support
> 
>   core/init.c                    |   2 +-
>   core/platform.c                |  26 +--
>   hdata/spira.c                  |   1 +-
>   hw/npu2-common.c               | 235 +++++++++++++++++++++++--
>   hw/npu2-hw-procedures.c        |   8 +-
>   hw/npu2-opencapi.c             | 324 +++++++++++-----------------------
>   hw/npu2.c                      | 257 ++++++++-------------------
>   hw/occ.c                       |  16 +-
>   include/npu2-regs.h            |  14 +-
>   include/npu2.h                 |  26 ++-
>   include/platform.h             |  16 +-
>   include/skiboot.h              |   1 +-
>   platforms/astbmc/witherspoon.c | 209 ++++++++++++++++++++++-
>   platforms/astbmc/zaius.c       |  25 +--
>   platforms/ibm-fsp/zz.c         |  26 +--
>   15 files changed, 727 insertions(+), 459 deletions(-)
> 
> base-commit: f3d801c01f978a346b70e9929028a3b7a651bd97
>