From nobody Mon Jan 29 19:02:59 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TNyP00qDvz59DQX; Mon, 29 Jan 2024 19:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TNyP00LcKz40Jw; Mon, 29 Jan 2024 19:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706554980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z0O2D3eOBpO8V64WRs9T1lrerCliuPd8hXXRal6pZaA=; b=mMxsZnr4JX8e+mTyYy+Kyt8ZO/kGeoKrSEK2HddUSMz1kfvouf2CxZ41QlWY4Cr3rYDXv4 apdSDT15OLFPcWxyVLVT8QleVlaS1gHuL9V1OYOOuCWySJW8j+XrejQN+kVKktmH7dvs9J tEnR6OEWisM+X2CWXkJM1XF7tBWo/NOtNBAZkwa6B1QL6CfFaX0WjjMUGuMQSLgE12RxOx 8H54xFw/UKm53LCdG0xcany4SH0bsOzjd+7z5lcsIjwdcQNCqtHLzV+FY8FIb9hfSjYCJN XV1Xb38cqq508i+Dwo1DvamhMurAI0iyyVgkp0q601/kwU/m04hp26c8fcaddg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706554980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z0O2D3eOBpO8V64WRs9T1lrerCliuPd8hXXRal6pZaA=; b=ytGBuX91nI/403++tyqNgbU4GOyndigzwfEM9GPa/0uGncIEZxhrhurZVpYTJ/SH07Op/H M8CdpW0diHuPlAzRsER1xLf6kYD65+SbpeD/8mx+9Hql6TEbWwvxdf/BspkEQBtflrVfef OduqW9syv/QgICBRTnlstH7pHSvM3Vmd5UtarQ0IoApZPLQHv22LTuL83wfJmVXWDtwuqW M2uw7gKEqtpnBKSLpzz/pY/bFYFLyBJKZMTDeSIqkj5ah0wdPNYeMl7eVjmVu2TWGU3yjW zZNj7h/elJcrCRWzsT01TZmU6uQIjHqstCRi6Fa4/FsVe/ASfAmFAAI9ygwfYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1706554980; a=rsa-sha256; cv=none; b=ZwrAiKWS74OvJcolhHStsA6rlZmTxKmpFtRZVPf8aROPCC941Sf0GqJjVYuJJ5tUc8lWH5 c7vUozodMadu0E6khr93OVI1sp/P4/kd25vGiPOmEDA2AsJ7ILkqeWGE3fgivsIBsERxo9 37N5If29ama6pFlyq2iQ/Gw4PNT0iL/lAj9LNU00/uSFjqtFU0xJoRMCsdkxmnOowWIbWq MGdF5YM9GPIpPWqHDxfjAOslEtEGr1XULWgIDJsWvBObw5lFn6r92OnlA1hTtPpHBPI0pH voCbZSHvkIIp2ZhXLAUdaGS/o7zkb8DORLKzcZRaoJrGqK0zPyUOzPtYBq9YsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TNyNz6XBcz13Dt; Mon, 29 Jan 2024 19:02:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40TJ2x1B058287; Mon, 29 Jan 2024 19:02:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40TJ2xgi058284; Mon, 29 Jan 2024 19:02:59 GMT (envelope-from git) Date: Mon, 29 Jan 2024 19:02:59 GMT Message-Id: <202401291902.40TJ2xgi058284@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 479680f235dd - main - nvme: Use the NVMEV macro instead of expanded versions List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 479680f235dd89cdabe0503312b3d23f322f4000 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=479680f235dd89cdabe0503312b3d23f322f4000 commit 479680f235dd89cdabe0503312b3d23f322f4000 Author: John Baldwin AuthorDate: 2024-01-29 18:30:54 +0000 Commit: John Baldwin CommitDate: 2024-01-29 18:30:54 +0000 nvme: Use the NVMEV macro instead of expanded versions Reviewed by: chuck Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D43595 --- sys/dev/nvme/nvme.h | 72 +++++++++++++++++++++++++---------------------- sys/dev/nvme/nvme_ctrlr.c | 11 ++++---- sys/dev/nvme/nvme_ns.c | 16 ++++------- sys/dev/nvme/nvme_qpair.c | 2 +- 4 files changed, 51 insertions(+), 50 deletions(-) diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h index 3e39803f68ab..417651a19bb3 100644 --- a/sys/dev/nvme/nvme.h +++ b/sys/dev/nvme/nvme.h @@ -73,13 +73,13 @@ #define NVME_CAP_LO_REG_TO_SHIFT (24) #define NVME_CAP_LO_REG_TO_MASK (0xFF) #define NVME_CAP_LO_MQES(x) \ - (((x) >> NVME_CAP_LO_REG_MQES_SHIFT) & NVME_CAP_LO_REG_MQES_MASK) + NVMEV(NVME_CAP_LO_REG_MQES, x) #define NVME_CAP_LO_CQR(x) \ - (((x) >> NVME_CAP_LO_REG_CQR_SHIFT) & NVME_CAP_LO_REG_CQR_MASK) + NVMEV(NVME_CAP_LO_REG_CQR, x) #define NVME_CAP_LO_AMS(x) \ - (((x) >> NVME_CAP_LO_REG_AMS_SHIFT) & NVME_CAP_LO_REG_AMS_MASK) + NVMEV(NVME_CAP_LO_REG_AMS, x) #define NVME_CAP_LO_TO(x) \ - (((x) >> NVME_CAP_LO_REG_TO_SHIFT) & NVME_CAP_LO_REG_TO_MASK) + NVMEV(NVME_CAP_LO_REG_TO, x) #define NVME_CAP_HI_REG_DSTRD_SHIFT (0) #define NVME_CAP_HI_REG_DSTRD_MASK (0xF) @@ -108,31 +108,31 @@ #define NVME_CAP_HI_REG_CRIMS_SHIFT (28) #define NVME_CAP_HI_REG_CRIMS_MASK (0x1) #define NVME_CAP_HI_DSTRD(x) \ - (((x) >> NVME_CAP_HI_REG_DSTRD_SHIFT) & NVME_CAP_HI_REG_DSTRD_MASK) + NVMEV(NVME_CAP_HI_REG_DSTRD, x) #define NVME_CAP_HI_NSSRS(x) \ - (((x) >> NVME_CAP_HI_REG_NSSRS_SHIFT) & NVME_CAP_HI_REG_NSSRS_MASK) + NVMEV(NVME_CAP_HI_REG_NSSRS, x) #define NVME_CAP_HI_CSS(x) \ - (((x) >> NVME_CAP_HI_REG_CSS_SHIFT) & NVME_CAP_HI_REG_CSS_MASK) + NVMEV(NVME_CAP_HI_REG_CSS, x) #define NVME_CAP_HI_CSS_NVM(x) \ - (((x) >> NVME_CAP_HI_REG_CSS_NVM_SHIFT) & NVME_CAP_HI_REG_CSS_NVM_MASK) + NVMEV(NVME_CAP_HI_REG_CSS_NVM, x) #define NVME_CAP_HI_BPS(x) \ - (((x) >> NVME_CAP_HI_REG_BPS_SHIFT) & NVME_CAP_HI_REG_BPS_MASK) + NVMEV(NVME_CAP_HI_REG_BPS, x) #define NVME_CAP_HI_CPS(x) \ - (((x) >> NVME_CAP_HI_REG_CPS_SHIFT) & NVME_CAP_HI_REG_CPS_MASK) + NVMEV(NVME_CAP_HI_REG_CPS, x) #define NVME_CAP_HI_MPSMIN(x) \ - (((x) >> NVME_CAP_HI_REG_MPSMIN_SHIFT) & NVME_CAP_HI_REG_MPSMIN_MASK) + NVMEV(NVME_CAP_HI_REG_MPSMIN, x) #define NVME_CAP_HI_MPSMAX(x) \ - (((x) >> NVME_CAP_HI_REG_MPSMAX_SHIFT) & NVME_CAP_HI_REG_MPSMAX_MASK) + NVMEV(NVME_CAP_HI_REG_MPSMAX, x) #define NVME_CAP_HI_PMRS(x) \ - (((x) >> NVME_CAP_HI_REG_PMRS_SHIFT) & NVME_CAP_HI_REG_PMRS_MASK) + NVMEV(NVME_CAP_HI_REG_PMRS, x) #define NVME_CAP_HI_CMBS(x) \ - (((x) >> NVME_CAP_HI_REG_CMBS_SHIFT) & NVME_CAP_HI_REG_CMBS_MASK) + NVMEV(NVME_CAP_HI_REG_CMBS, x) #define NVME_CAP_HI_NSSS(x) \ - (((x) >> NVME_CAP_HI_REG_NSSS_SHIFT) & NVME_CAP_HI_REG_NSSS_MASK) + NVMEV(NVME_CAP_HI_REG_NSSS, x) #define NVME_CAP_HI_CRWMS(x) \ - (((x) >> NVME_CAP_HI_REG_CRWMS_SHIFT) & NVME_CAP_HI_REG_CRWMS_MASK) + NVMEV(NVME_CAP_HI_REG_CRWMS, x) #define NVME_CAP_HI_CRIMS(x) \ - (((x) >> NVME_CAP_HI_REG_CRIMS_SHIFT) & NVME_CAP_HI_REG_CRIMS_MASK) + NVMEV(NVME_CAP_HI_REG_CRIMS, x) #define NVME_CC_REG_EN_SHIFT (0) #define NVME_CC_REG_EN_MASK (0x1) @@ -164,7 +164,8 @@ #define NVME_CSTS_REG_ST_SHIFT (6) #define NVME_CSTS_REG_ST_MASK (0x1) -#define NVME_CSTS_GET_SHST(csts) (((csts) >> NVME_CSTS_REG_SHST_SHIFT) & NVME_CSTS_REG_SHST_MASK) +#define NVME_CSTS_GET_SHST(csts) \ + NVMEV(NVME_CSTS_REG_SHST, csts) #define NVME_AQA_REG_ASQS_SHIFT (0) #define NVME_AQA_REG_ASQS_MASK (0xFFF) @@ -187,19 +188,19 @@ #define NVME_PMRCAP_REG_CMSS_MASK (0x1) #define NVME_PMRCAP_RDS(x) \ - (((x) >> NVME_PMRCAP_REG_RDS_SHIFT) & NVME_PMRCAP_REG_RDS_MASK) + NVMEV(NVME_PMRCAP_REG_RDS, x) #define NVME_PMRCAP_WDS(x) \ - (((x) >> NVME_PMRCAP_REG_WDS_SHIFT) & NVME_PMRCAP_REG_WDS_MASK) + NVMEV(NVME_PMRCAP_REG_WDS, x) #define NVME_PMRCAP_BIR(x) \ - (((x) >> NVME_PMRCAP_REG_BIR_SHIFT) & NVME_PMRCAP_REG_BIR_MASK) + NVMEV(NVME_PMRCAP_REG_BIR, x) #define NVME_PMRCAP_PMRTU(x) \ - (((x) >> NVME_PMRCAP_REG_PMRTU_SHIFT) & NVME_PMRCAP_REG_PMRTU_MASK) + NVMEV(NVME_PMRCAP_REG_PMRTU, x) #define NVME_PMRCAP_PMRWBM(x) \ - (((x) >> NVME_PMRCAP_REG_PMRWBM_SHIFT) & NVME_PMRCAP_REG_PMRWBM_MASK) + NVMEV(NVME_PMRCAP_REG_PMRWBM, x) #define NVME_PMRCAP_PMRTO(x) \ - (((x) >> NVME_PMRCAP_REG_PMRTO_SHIFT) & NVME_PMRCAP_REG_PMRTO_MASK) + NVMEV(NVME_PMRCAP_REG_PMRTO, x) #define NVME_PMRCAP_CMSS(x) \ - (((x) >> NVME_PMRCAP_REG_CMSS_SHIFT) & NVME_PMRCAP_REG_CMSS_MASK) + NVMEV(NVME_PMRCAP_REG_CMSS, x) /* Command field definitions */ @@ -219,12 +220,18 @@ #define NVME_STATUS_DNR_SHIFT (15) #define NVME_STATUS_DNR_MASK (0x1) -#define NVME_STATUS_GET_P(st) (((st) >> NVME_STATUS_P_SHIFT) & NVME_STATUS_P_MASK) -#define NVME_STATUS_GET_SC(st) (((st) >> NVME_STATUS_SC_SHIFT) & NVME_STATUS_SC_MASK) -#define NVME_STATUS_GET_SCT(st) (((st) >> NVME_STATUS_SCT_SHIFT) & NVME_STATUS_SCT_MASK) -#define NVME_STATUS_GET_CRD(st) (((st) >> NVME_STATUS_CRD_SHIFT) & NVME_STATUS_CRD_MASK) -#define NVME_STATUS_GET_M(st) (((st) >> NVME_STATUS_M_SHIFT) & NVME_STATUS_M_MASK) -#define NVME_STATUS_GET_DNR(st) (((st) >> NVME_STATUS_DNR_SHIFT) & NVME_STATUS_DNR_MASK) +#define NVME_STATUS_GET_P(st) \ + NVMEV(NVME_STATUS_P, st) +#define NVME_STATUS_GET_SC(st) \ + NVMEV(NVME_STATUS_SC, st) +#define NVME_STATUS_GET_SCT(st) \ + NVMEV(NVME_STATUS_SCT, st) +#define NVME_STATUS_GET_CRD(st) \ + NVMEV(NVME_STATUS_CRD, st) +#define NVME_STATUS_GET_M(st) \ + NVMEV(NVME_STATUS_M, st) +#define NVME_STATUS_GET_DNR(st) \ + NVMEV(NVME_STATUS_DNR, st) #define NVME_PWR_ST_MPS_SHIFT (0) #define NVME_PWR_ST_MPS_MASK (0x1) @@ -1751,8 +1758,7 @@ static inline bool nvme_ctrlr_has_dataset_mgmt(const struct nvme_controller_data *cd) { /* Assumes cd was byte swapped by nvme_controller_data_swapbytes() */ - return ((cd->oncs >> NVME_CTRLR_DATA_ONCS_DSM_SHIFT) & - NVME_CTRLR_DATA_ONCS_DSM_MASK); + return (NVMEV(NVME_CTRLR_DATA_ONCS_DSM, cd->oncs) != 0); } /* Namespace helper functions */ diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 845beec9f592..ad56141a556d 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -247,8 +247,7 @@ nvme_ctrlr_wait_for_ready(struct nvme_controller *ctrlr, int desired_val) csts = nvme_mmio_read_4(ctrlr, csts); if (csts == NVME_GONE) /* Hot unplug. */ return (ENXIO); - if (((csts >> NVME_CSTS_REG_RDY_SHIFT) & NVME_CSTS_REG_RDY_MASK) - == desired_val) + if (NVMEV(NVME_CSTS_REG_RDY, csts) == desired_val) break; if (timeout - ticks < 0) { nvme_printf(ctrlr, "controller ready did not become %d " @@ -274,8 +273,8 @@ nvme_ctrlr_disable(struct nvme_controller *ctrlr) cc = nvme_mmio_read_4(ctrlr, cc); csts = nvme_mmio_read_4(ctrlr, csts); - en = (cc >> NVME_CC_REG_EN_SHIFT) & NVME_CC_REG_EN_MASK; - rdy = (csts >> NVME_CSTS_REG_RDY_SHIFT) & NVME_CSTS_REG_RDY_MASK; + en = NVMEV(NVME_CC_REG_EN, cc); + rdy = NVMEV(NVME_CSTS_REG_RDY, csts); /* * Per 3.1.5 in NVME 1.3 spec, transitioning CC.EN from 0 to 1 @@ -321,8 +320,8 @@ nvme_ctrlr_enable(struct nvme_controller *ctrlr) cc = nvme_mmio_read_4(ctrlr, cc); csts = nvme_mmio_read_4(ctrlr, csts); - en = (cc >> NVME_CC_REG_EN_SHIFT) & NVME_CC_REG_EN_MASK; - rdy = (csts >> NVME_CSTS_REG_RDY_SHIFT) & NVME_CSTS_REG_RDY_MASK; + en = NVMEV(NVME_CC_REG_EN, cc); + rdy = NVMEV(NVME_CSTS_REG_RDY, csts); /* * See note in nvme_ctrlr_disable. Short circuit if we're already enabled. diff --git a/sys/dev/nvme/nvme_ns.c b/sys/dev/nvme/nvme_ns.c index 4aad28c1adf9..89779f23ad4d 100644 --- a/sys/dev/nvme/nvme_ns.c +++ b/sys/dev/nvme/nvme_ns.c @@ -180,10 +180,8 @@ nvme_ns_get_sector_size(struct nvme_namespace *ns) { uint8_t flbas_fmt, lbads; - flbas_fmt = (ns->data.flbas >> NVME_NS_DATA_FLBAS_FORMAT_SHIFT) & - NVME_NS_DATA_FLBAS_FORMAT_MASK; - lbads = (ns->data.lbaf[flbas_fmt] >> NVME_NS_DATA_LBAF_LBADS_SHIFT) & - NVME_NS_DATA_LBAF_LBADS_MASK; + flbas_fmt = NVMEV(NVME_NS_DATA_FLBAS_FORMAT, ns->data.flbas); + lbads = NVMEV(NVME_NS_DATA_LBAF_LBADS, ns->data.lbaf[flbas_fmt]); return (1 << lbads); } @@ -230,8 +228,7 @@ nvme_ns_get_stripesize(struct nvme_namespace *ns) { uint32_t ss; - if (((ns->data.nsfeat >> NVME_NS_DATA_NSFEAT_NPVALID_SHIFT) & - NVME_NS_DATA_NSFEAT_NPVALID_MASK) != 0) { + if (NVMEV(NVME_NS_DATA_NSFEAT_NPVALID, ns->data.nsfeat) != 0) { ss = nvme_ns_get_sector_size(ns); if (ns->data.npwa != 0) return ((ns->data.npwa + 1) * ss); @@ -551,8 +548,8 @@ nvme_ns_construct(struct nvme_namespace *ns, uint32_t id, if (ns->data.nsze == 0) return (ENXIO); - flbas_fmt = (ns->data.flbas >> NVME_NS_DATA_FLBAS_FORMAT_SHIFT) & - NVME_NS_DATA_FLBAS_FORMAT_MASK; + flbas_fmt = NVMEV(NVME_NS_DATA_FLBAS_FORMAT, ns->data.flbas); + /* * Note: format is a 0-based value, so > is appropriate here, * not >=. @@ -584,8 +581,7 @@ nvme_ns_construct(struct nvme_namespace *ns, uint32_t id, if (nvme_ctrlr_has_dataset_mgmt(&ctrlr->cdata)) ns->flags |= NVME_NS_DEALLOCATE_SUPPORTED; - vwc_present = (ctrlr->cdata.vwc >> NVME_CTRLR_DATA_VWC_PRESENT_SHIFT) & - NVME_CTRLR_DATA_VWC_PRESENT_MASK; + vwc_present = NVMEV(NVME_CTRLR_DATA_VWC_PRESENT, ctrlr->cdata.vwc); if (vwc_present) ns->flags |= NVME_NS_FLUSH_SUPPORTED; diff --git a/sys/dev/nvme/nvme_qpair.c b/sys/dev/nvme/nvme_qpair.c index 289ce87c86a5..b886a95b1724 100644 --- a/sys/dev/nvme/nvme_qpair.c +++ b/sys/dev/nvme/nvme_qpair.c @@ -1068,7 +1068,7 @@ nvme_qpair_timeout(void *arg) * usually doesn't). */ csts = nvme_mmio_read_4(ctrlr, csts); - cfs = (csts >> NVME_CSTS_REG_CFS_SHIFT) & NVME_CSTS_REG_CFS_MASK; + cfs = NVMEV(NVME_CSTS_REG_CFS, csts); if (csts == NVME_GONE || cfs == 1) goto do_reset;