mbox series

[RFC,0/6] Real Asynchronous flash access

Message ID 20190228061826.28305-1-stewart@linux.ibm.com
Headers show
Series Real Asynchronous flash access | expand

Message

Stewart Smith Feb. 28, 2019, 6:18 a.m. UTC
This is an update to Cyril's old patchset that gets us real asynchronous
flash support.

As is, it's not quite ready for merge as it has some issues when we have
a hiomap backend.

Namely, since the way hiomap works is that it sends synchronous IPMI
messages and waits for the respones, this means we'd be calling pollers
recursively, and we throw a bunch of backtraces in that case because one
should Not Do That(TM).

I'm also not at all convinced that my last patch, the prepare() one, is
the right way to go.

I'm more thinking we may just need a different API to do async things?

Cyril Bur (4):
  core/flash: Allow OPAL flash calls for size equal to flash
  core/flash: Make flash_reserve() and flash_release() use any flash
  core/flash: Don't hold flash_lock for the entirety of an
    opal_flash_op()
  core/flash: Make opal_flash_op() actually asynchronous

Stewart Smith (2):
  qemu: 1ms heartbeat time
  libflash: add blocklevel_raw_prepare()

 core/flash.c                            | 175 +++++++++++++++++++-----
 core/timer.c                            |   7 +
 doc/opal-api/opal-flash-110-111-112.rst |   4 +
 hw/ipmi/ipmi-sel.c                      |   4 +-
 include/skiboot.h                       |   4 +-
 libflash/blocklevel.c                   |  22 +++
 libflash/blocklevel.h                   |   2 +
 libflash/ipmi-hiomap.c                  |  44 +++++-
 platforms/qemu/qemu.c                   |  10 ++
 9 files changed, 230 insertions(+), 42 deletions(-)