summaryrefslogtreecommitdiffstats
path: root/drivers/nvme
diff options
context:
space:
mode:
authorJavier González <javier@cnexlabs.com>2016-05-06 20:03:12 +0200
committerJens Axboe <axboe@fb.com>2016-05-06 20:51:10 +0200
commit003fad376b924fc3a61c659f38da70356ec144fa (patch)
tree459eee86dc024eeba9571cd7495a665b061060d0 /drivers/nvme
parentlightnvm: do not free unused metadata on rrpc (diff)
downloadlinux-003fad376b924fc3a61c659f38da70356ec144fa.tar.xz
linux-003fad376b924fc3a61c659f38da70356ec144fa.zip
lightnvm: enable metadata to be sent to device
Enable metadata buffer to be sent to the device through the metadata field on the physical rw nvme command. The size of the metadata buffer must follow dev->oob_size * # of PPAs. Signed-off-by: Javier González <javier@cnexlabs.com> Updated description. Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/nvme')
-rw-r--r--drivers/nvme/host/lightnvm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index d426d95c9eaa..69a47fb2b6e3 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -467,6 +467,7 @@ static inline void nvme_nvm_rqtocmd(struct request *rq, struct nvm_rq *rqd,
c->ph_rw.opcode = rqd->opcode;
c->ph_rw.nsid = cpu_to_le32(ns->ns_id);
c->ph_rw.spba = cpu_to_le64(rqd->ppa_addr.ppa);
+ c->ph_rw.metadata = cpu_to_le64(rqd->meta_list);
c->ph_rw.control = cpu_to_le16(rqd->flags);
c->ph_rw.length = cpu_to_le16(rqd->nr_pages - 1);