hw/block/nvme: open code for volatile write cache
commitaa5e55e3b07ede87a8fd7aa3e67583dfc464dd52
authorMinwoo Im <minwoo.im.dev@gmail.com>
Sun, 17 Jan 2021 14:53:32 +0000 (17 23:53 +0900)
committerKlaus Jensen <k.jensen@samsung.com>
Mon, 8 Feb 2021 20:15:53 +0000 (8 21:15 +0100)
treecba8d40eb1cdd430e41e3283fb86c002f8e054fc
parent1490be5a8a278c17bceffa0be1dbd21dcb2f9bee
hw/block/nvme: open code for volatile write cache

Volatile Write Cache(VWC) feature is set in nvme_ns_setup() in the
initial time.  This feature is related to block device backed,  but this
feature is controlled in controller level via Set/Get Features command.

This patch removed dependency between nvme and nvme-ns to manage the VWC
flag value.  Also, it open coded the Get Features for VWC to check all
namespaces attached to the controller, and if false detected, return
directly false.

Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
[k.jensen: report write cache preset if present on ANY namespace]
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
hw/block/nvme-ns.c
hw/block/nvme.c
hw/block/nvme.h