|
Hannes Reinecke |
4a3cbb |
From: Damien Le Moal <damien.lemoal@wdc.com>
|
|
Hannes Reinecke |
4a3cbb |
Date: Mon, 21 Oct 2019 12:40:03 +0900
|
|
Hannes Reinecke |
4a3cbb |
Subject: [PATCH] nvme: Cleanup and rename nvme_block_nr()
|
|
Hannes Reinecke |
4a3cbb |
Git-commit: 314d48dd224897e35ddcaf5a1d7d133b5adddeb7
|
|
Hannes Reinecke |
4a3cbb |
Patch-mainline: v5.5-rc1
|
|
Hannes Reinecke |
4a3cbb |
References: bsc#1169045
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
Rename nvme_block_nr() to nvme_sect_to_lba() and use SECTOR_SHIFT
|
|
Hannes Reinecke |
4a3cbb |
instead of its hard coded value 9. Also add a comment to decribe this
|
|
Hannes Reinecke |
4a3cbb |
helper.
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
|
|
Hannes Reinecke |
4a3cbb |
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
|
Hannes Reinecke |
4a3cbb |
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
|
|
Hannes Reinecke |
4a3cbb |
Signed-off-by: Keith Busch <kbusch@kernel.org>
|
|
Hannes Reinecke |
4a3cbb |
Signed-off-by: Jens Axboe <axboe@kernel.dk>
|
|
Hannes Reinecke |
4a3cbb |
Acked-by: Hannes Reinecke <hare@suse.com>
|
|
Hannes Reinecke |
4a3cbb |
---
|
|
Hannes Reinecke |
4a3cbb |
drivers/nvme/host/core.c | 6 +++---
|
|
Hannes Reinecke |
4a3cbb |
drivers/nvme/host/nvme.h | 7 +++++--
|
|
Hannes Reinecke |
4a3cbb |
2 files changed, 8 insertions(+), 5 deletions(-)
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
|
|
Hannes Reinecke |
4a3cbb |
index 9c743610e6ea..64815fa1a254 100644
|
|
Hannes Reinecke |
4a3cbb |
--- a/drivers/nvme/host/core.c
|
|
Hannes Reinecke |
4a3cbb |
+++ b/drivers/nvme/host/core.c
|
|
Hannes Reinecke |
4a3cbb |
@@ -589,7 +589,7 @@ static blk_status_t nvme_setup_discard(struct nvme_ns *ns, struct request *req,
|
|
Hannes Reinecke |
4a3cbb |
}
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
__rq_for_each_bio(bio, req) {
|
|
Hannes Reinecke |
4a3cbb |
- u64 slba = nvme_block_nr(ns, bio->bi_iter.bi_sector);
|
|
Hannes Reinecke |
4a3cbb |
+ u64 slba = nvme_sect_to_lba(ns, bio->bi_iter.bi_sector);
|
|
Hannes Reinecke |
4a3cbb |
u32 nlb = bio->bi_iter.bi_size >> ns->lba_shift;
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
if (n < segments) {
|
|
Hannes Reinecke |
4a3cbb |
@@ -630,7 +630,7 @@ static inline blk_status_t nvme_setup_write_zeroes(struct nvme_ns *ns,
|
|
Hannes Reinecke |
4a3cbb |
cmnd->write_zeroes.opcode = nvme_cmd_write_zeroes;
|
|
Hannes Reinecke |
4a3cbb |
cmnd->write_zeroes.nsid = cpu_to_le32(ns->head->ns_id);
|
|
Hannes Reinecke |
4a3cbb |
cmnd->write_zeroes.slba =
|
|
Hannes Reinecke |
4a3cbb |
- cpu_to_le64(nvme_block_nr(ns, blk_rq_pos(req)));
|
|
Hannes Reinecke |
4a3cbb |
+ cpu_to_le64(nvme_sect_to_lba(ns, blk_rq_pos(req)));
|
|
Hannes Reinecke |
4a3cbb |
cmnd->write_zeroes.length =
|
|
Hannes Reinecke |
4a3cbb |
cpu_to_le16((blk_rq_bytes(req) >> ns->lba_shift) - 1);
|
|
Hannes Reinecke |
4a3cbb |
cmnd->write_zeroes.control = 0;
|
|
Hannes Reinecke |
4a3cbb |
@@ -654,7 +654,7 @@ static inline blk_status_t nvme_setup_rw(struct nvme_ns *ns,
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
cmnd->rw.opcode = (rq_data_dir(req) ? nvme_cmd_write : nvme_cmd_read);
|
|
Hannes Reinecke |
4a3cbb |
cmnd->rw.nsid = cpu_to_le32(ns->head->ns_id);
|
|
Hannes Reinecke |
4a3cbb |
- cmnd->rw.slba = cpu_to_le64(nvme_block_nr(ns, blk_rq_pos(req)));
|
|
Hannes Reinecke |
4a3cbb |
+ cmnd->rw.slba = cpu_to_le64(nvme_sect_to_lba(ns, blk_rq_pos(req)));
|
|
Hannes Reinecke |
4a3cbb |
cmnd->rw.length = cpu_to_le16((blk_rq_bytes(req) >> ns->lba_shift) - 1);
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
if (req_op(req) == REQ_OP_WRITE && ctrl->nr_streams)
|
|
Hannes Reinecke |
4a3cbb |
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
|
|
Hannes Reinecke |
4a3cbb |
index 912f9500ed11..37eb94fb797d 100644
|
|
Hannes Reinecke |
4a3cbb |
--- a/drivers/nvme/host/nvme.h
|
|
Hannes Reinecke |
4a3cbb |
+++ b/drivers/nvme/host/nvme.h
|
|
Hannes Reinecke |
4a3cbb |
@@ -418,9 +418,12 @@ static inline int nvme_reset_subsystem(struct nvme_ctrl *ctrl)
|
|
Hannes Reinecke |
4a3cbb |
return ctrl->ops->reg_write32(ctrl, NVME_REG_NSSR, 0x4E564D65);
|
|
Hannes Reinecke |
4a3cbb |
}
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
-static inline u64 nvme_block_nr(struct nvme_ns *ns, sector_t sector)
|
|
Hannes Reinecke |
4a3cbb |
+/*
|
|
Hannes Reinecke |
4a3cbb |
+ * Convert a 512B sector number to a device logical block number.
|
|
Hannes Reinecke |
4a3cbb |
+ */
|
|
Hannes Reinecke |
4a3cbb |
+static inline u64 nvme_sect_to_lba(struct nvme_ns *ns, sector_t sector)
|
|
Hannes Reinecke |
4a3cbb |
{
|
|
Hannes Reinecke |
4a3cbb |
- return (sector >> (ns->lba_shift - 9));
|
|
Hannes Reinecke |
4a3cbb |
+ return sector >> (ns->lba_shift - SECTOR_SHIFT);
|
|
Hannes Reinecke |
4a3cbb |
}
|
|
Hannes Reinecke |
4a3cbb |
|
|
Hannes Reinecke |
4a3cbb |
static inline void nvme_end_request(struct request *req, __le16 status,
|
|
Hannes Reinecke |
4a3cbb |
--
|
|
Hannes Reinecke |
4a3cbb |
2.16.4
|
|
Hannes Reinecke |
4a3cbb |
|