diff options
| -rw-r--r-- | drivers/nvme/host/core.c | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 35b3fee5a453..b40cfb076f02 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c | |||
| @@ -263,21 +263,6 @@ static inline int nvme_setup_discard(struct nvme_ns *ns, struct request *req, | |||
| 263 | return BLK_MQ_RQ_QUEUE_OK; | 263 | return BLK_MQ_RQ_QUEUE_OK; |
| 264 | } | 264 | } |
| 265 | 265 | ||
| 266 | static inline void nvme_setup_write_zeroes(struct nvme_ns *ns, | ||
| 267 | struct request *req, struct nvme_command *cmnd) | ||
| 268 | { | ||
| 269 | struct nvme_write_zeroes_cmd *write_zeroes = &cmnd->write_zeroes; | ||
| 270 | |||
| 271 | memset(cmnd, 0, sizeof(*cmnd)); | ||
| 272 | write_zeroes->opcode = nvme_cmd_write_zeroes; | ||
| 273 | write_zeroes->nsid = cpu_to_le32(ns->ns_id); | ||
| 274 | write_zeroes->slba = | ||
| 275 | cpu_to_le64(nvme_block_nr(ns, blk_rq_pos(req))); | ||
| 276 | write_zeroes->length = | ||
| 277 | cpu_to_le16((blk_rq_bytes(req) >> ns->lba_shift) - 1); | ||
| 278 | write_zeroes->control = 0; | ||
| 279 | } | ||
| 280 | |||
| 281 | static inline void nvme_setup_rw(struct nvme_ns *ns, struct request *req, | 266 | static inline void nvme_setup_rw(struct nvme_ns *ns, struct request *req, |
| 282 | struct nvme_command *cmnd) | 267 | struct nvme_command *cmnd) |
| 283 | { | 268 | { |
| @@ -330,8 +315,6 @@ int nvme_setup_cmd(struct nvme_ns *ns, struct request *req, | |||
| 330 | nvme_setup_flush(ns, cmd); | 315 | nvme_setup_flush(ns, cmd); |
| 331 | else if (req_op(req) == REQ_OP_DISCARD) | 316 | else if (req_op(req) == REQ_OP_DISCARD) |
| 332 | ret = nvme_setup_discard(ns, req, cmd); | 317 | ret = nvme_setup_discard(ns, req, cmd); |
| 333 | else if (req_op(req) == REQ_OP_WRITE_ZEROES) | ||
| 334 | nvme_setup_write_zeroes(ns, req, cmd); | ||
| 335 | else | 318 | else |
| 336 | nvme_setup_rw(ns, req, cmd); | 319 | nvme_setup_rw(ns, req, cmd); |
| 337 | 320 | ||
| @@ -952,10 +935,6 @@ static void __nvme_revalidate_disk(struct gendisk *disk, struct nvme_id_ns *id) | |||
| 952 | 935 | ||
| 953 | if (ns->ctrl->oncs & NVME_CTRL_ONCS_DSM) | 936 | if (ns->ctrl->oncs & NVME_CTRL_ONCS_DSM) |
| 954 | nvme_config_discard(ns); | 937 | nvme_config_discard(ns); |
| 955 | if (ns->ctrl->oncs & NVME_CTRL_ONCS_WRITE_ZEROES) | ||
| 956 | blk_queue_max_write_zeroes_sectors(ns->queue, | ||
| 957 | ((u32)(USHRT_MAX + 1) * bs) >> 9); | ||
| 958 | |||
| 959 | blk_mq_unfreeze_queue(disk->queue); | 938 | blk_mq_unfreeze_queue(disk->queue); |
| 960 | } | 939 | } |
| 961 | 940 | ||
