[PATCH linux dev-4.13 00/16] Locking fixes for FSI, SBEFIFO, OCC

Andrew Jeffery andrew at aj.id.au
Tue Feb 20 15:18:28 AEDT 2018


Hello,

This is a forward-port to dev-4.13 of my dev-4.10 series aimed at fixing the
locking and work scheduling for the OCC stack:

Cover Letter: https://lists.ozlabs.org/pipermail/openbmc/2018-February/010793.html
Patch Series: http://patchwork.ozlabs.org/project/openbmc/list/?series=28746&state=%2A&archive=both

The dev-4.13 series adds several new patches:

0001-dts-fsi-Make-OCC-description-match-expected-hierarch.patch

dev-4.13 as it stood failed to get the OCC driver stack up and running due to
broken descriptions in the devicetree with respect to the drivers'
implementations. Patch 1 fixes this by making the devicetree reflect what the
drivers expect, but the fact remains that this is an abuse of the devicetree.
We need to have a discussion about how best to instantiate the hwmon driver and
fix what we're doing here.

0002-hwmon-p9_sbe-Initialise-device-spin-lock.patch

Patch 2 fixes what appears to be an oversight in lock initialisation in the
p9_sbe OCC hwmon implementation.

0011-hwmon-p9_sbe-Add-static-key-to-satisfy-lockdep.patch

Finally, patch 11 shuts up lockdep in the p9_sbe OCC hwmon implementation,
which was whinging due to dynamic mutex allocation. Kernel locking experts
should feel free to chime in as I don't know that this is actually the right
fix.

Beyond that, the series has been lightly tested on a Witherspoon system and
nothing was obviously broken.

Please review!

Cheers,

Andrew

Andrew Jeffery (12):
  dts: fsi: Make OCC description match expected hierarchy
  hwmon (p9_sbe): Initialise device spin lock
  fsi: sbefifo: Rename sbefifo_release_client() for consistency
  fsi: sbefifo: Add tracing of transfers
  fsi: gpio: Trace busy count
  fsi: occ: Add tracepoints
  hwmon (p9_sbe): Rename context variable
  hwmon (p9_sbe): Rename lock member of struct p9_sbe_occ
  hwmon (p9_sbe): Convert client_lock from a spinlock to a mutex
  hwmon (p9_sbe): Add static key to satisfy lockdep
  fsi: sbefifo: Switch list_lock from spinlock to mutex
  fsi: gpio: Remove unused 'id' variable

Eddie James (3):
  fsi: sbefifo: don't delete canceled xfrs in write
  fsi: sbefifo: Avoid using a timer to drive FIFO transfers
  fsi: sbefifo: Switch to mutex in work function

Jeremy Kerr (1):
  fsi: gpio: Use a mutex to protect transfers

 arch/arm/boot/dts/ibm-power9-cfam.dtsi |  12 +++-
 drivers/fsi/fsi-master-gpio.c          |  94 +++++++++++++++++++-------
 drivers/fsi/fsi-occ.c                  |   9 +++
 drivers/fsi/fsi-sbefifo.c              | 119 +++++++++++++++++++++++----------
 drivers/hwmon/occ/p9_sbe.c             |  54 ++++++++-------
 include/trace/events/fsi_master_gpio.h |  16 +++++
 include/trace/events/fsi_occ.h         |  86 ++++++++++++++++++++++++
 include/trace/events/sbefifo.h         |  93 ++++++++++++++++++++++++++
 8 files changed, 394 insertions(+), 89 deletions(-)
 create mode 100644 include/trace/events/fsi_occ.h
 create mode 100644 include/trace/events/sbefifo.h

-- 
2.14.1



More information about the openbmc mailing list