From d6be5bc6fd33bd6fedc93c9c46176717f08a807f Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Thu, 24 Jun 2021 09:48:08 +0200 Subject: [PATCH] nvme: extract ready timeout calculation to a function It will make it easier to set this timeout once the register accesses are performed asynchronously. Signed-off-by: Konrad Sztyber Change-Id: I9d61555a17380ddd57567db8dd912ef6d739fc01 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8612 Tested-by: SPDK CI Jenkins Community-CI: Broadcom CI Reviewed-by: Shuhei Matsumoto Reviewed-by: Ziye Yang Reviewed-by: Aleksey Marchuk Reviewed-by: Jim Harris --- lib/nvme/nvme_ctrlr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index b8f17b112..9aa38223a 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -1094,6 +1094,12 @@ nvme_ctrlr_shutdown_poll_async(struct spdk_nvme_ctrlr *ctrlr, return 0; } +static inline uint64_t +nvme_ctrlr_get_ready_timeout(struct spdk_nvme_ctrlr *ctrlr) +{ + return ctrlr->cap.bits.to * 500; +} + static int nvme_ctrlr_enable(struct spdk_nvme_ctrlr *ctrlr) { @@ -3384,7 +3390,7 @@ nvme_ctrlr_process_init(struct spdk_nvme_ctrlr *ctrlr) return -EIO; } - ready_timeout_in_ms = 500 * ctrlr->cap.bits.to; + ready_timeout_in_ms = nvme_ctrlr_get_ready_timeout(ctrlr); /* * Check if the current initialization step is done or has timed out.