The series adds few fixes for NVMe subsystem and block device management.
Patch 1 adds FUA support for NVMe devices (original effort in [1]).
Patch 2 adds plumbing for blk_flush()/blk_dflush().
Patch 3 introduces NVMe flush command.
Patch 4 enables `flush` subcommand to all the block-uclass front-end
commands (ide, nvme, pvblock, sata, scsi, usb, virtio) in one go.
Patch 5 makes nvme_shutdown() symbol public to enable use of it from
board_quiesce_devices()
Patch 6 tiny fixup for QEMU command for manual NVMe tests.
Patch 7 updates tests for flushing block devices.
[1]
https://lore.kernel.org/u-boot/20211019104049.v3.1.Ic581ec99f46b6dfa2e0b1922e670a333ac859e82@changeid/
[2] Link to v2:
https://lore.kernel.org/u-boot/[email protected]/
[3] Link to CI: https://github.com/u-boot/u-boot/pull/995
Denis Mukhin (7):
drivers: nvme: Enable Force Unit Access (FUA)
drivers: block: Introduce blk_flush()/blk_dflush()
drivers: nvme: Implement flush command
cmd: Add flush support for all blk devices
drivers: nvme: Export nvme_shutdown()
docs: nvme: Update QEMU command for testing
tests: add blk_dflush() coverage
arch/sandbox/cpu/os.c | 5 ++++
cmd/blk_common.c | 17 +++++++++++++
cmd/blkmap.c | 2 ++
cmd/ide.c | 1 +
cmd/nvme.c | 1 +
cmd/pvblock.c | 1 +
cmd/sata.c | 1 +
cmd/scsi.c | 1 +
cmd/usb.c | 1 +
cmd/virtio.c | 1 +
disk/disk-uclass.c | 6 +++++
doc/develop/driver-model/nvme.rst | 2 +-
drivers/block/blk-uclass.c | 15 +++++++++++
drivers/block/sandbox.c | 9 +++++++
drivers/nvme/nvme.c | 42 +++++++++++++++++++++++++++++++
drivers/nvme/nvme.h | 12 ++++-----
drivers/nvme/nvme_apple.c | 1 +
include/blk.h | 26 +++++++++++++++++++
include/nvme.h | 11 ++++++++
include/os.h | 8 ++++++
include/part.h | 8 ++++++
test/dm/host.c | 2 ++
test/dm/mmc.c | 2 ++
23 files changed, 167 insertions(+), 8 deletions(-)
--
2.54.0