From: Javier Gonzalez <javier@cnexlabs.com>
To: "Matias Bjørling" <mb@lightnvm.io>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] lightnvm: add 2.0 geometry identification
Date: Thu, 8 Feb 2018 13:35:09 +0000 [thread overview]
Message-ID: <EC9FE5B1-5E13-4B4F-A925-07572859FBE9@cnexlabs.com> (raw)
In-Reply-To: <20180205121505.27563-4-mb@lightnvm.io>
[-- Attachment #1: Type: text/plain, Size: 2327 bytes --]
> On 5 Feb 2018, at 13.15, Matias Bjørling <mb@lightnvm.io> wrote:
>
> Implement the geometry data structures for 2.0 and enable a drive
> to be identified as one, including exposing the appropriate 2.0
> sysfs entries.
>
> Signed-off-by: Matias Bjørling <mb@lightnvm.io>
> ---
> drivers/lightnvm/core.c | 2 +-
> drivers/nvme/host/lightnvm.c | 334 +++++++++++++++++++++++++++++++++++++------
> include/linux/lightnvm.h | 11 +-
> 3 files changed, 295 insertions(+), 52 deletions(-)
>
> diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
> index c72863b36439..250e74dfa120 100644
> --- a/drivers/lightnvm/core.c
> +++ b/drivers/lightnvm/core.c
> @@ -934,7 +934,7 @@ static int nvm_init(struct nvm_dev *dev)
> pr_debug("nvm: ver:%x nvm_vendor:%x\n",
> dev->identity.ver_id, dev->identity.vmnt);
>
> - if (dev->identity.ver_id != 1) {
> + if (dev->identity.ver_id != 1 && dev->identity.ver_id != 2) {
> pr_err("nvm: device not supported by kernel.");
> goto err;
> }
> diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
> index 6412551ecc65..a9c010655ccc 100644
> --- a/drivers/nvme/host/lightnvm.c
> +++ b/drivers/nvme/host/lightnvm.c
> @@ -184,6 +184,58 @@ struct nvme_nvm_bb_tbl {
> __u8 blk[0];
> };
>
> +struct nvme_nvm_id20_addrf {
> + __u8 grp_len;
> + __u8 pu_len;
> + __u8 chk_len;
> + __u8 lba_len;
> + __u8 resv[4];
> +};
> +
> +struct nvme_nvm_id20 {
> + __u8 mjr;
> + __u8 mnr;
> + __u8 resv[6];
> +
> + struct nvme_nvm_id20_addrf lbaf;
> +
> + __u32 mccap;
> + __u8 resv2[12];
> +
> + __u8 wit;
> + __u8 resv3[31];
> +
> + /* Geometry */
> + __u16 num_grp;
> + __u16 num_pu;
> + __u32 num_chk;
> + __u32 clba;
> + __u8 resv4[52];
> +
> + /* Write data requirements */
> + __u32 ws_min;
> + __u32 ws_opt;
> + __u32 mw_cunits;
> + __u32 maxoc;
> + __u32 maxocpu;
> + __u8 resv5[44];
> +
> + /* Performance related metrics */
> + __u32 trdt;
> + __u32 trdm;
> + __u32 twrt;
> + __u32 twrm;
> + __u32 tcrst;
> + __u32 tcrsm;
> + __u8 resv6[40];
> +
> + /* Reserved area */
> + __u8 resv7[2816];
> +
> + /* Vendor specific */
> + __u8 vs[1024];
> +};
>
All __u16, __u32 should be __le16, __le32
Javier
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2018-02-08 13:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-05 12:15 [PATCH 0/4] lightnvm: base 2.0 implementation Matias Bjørling
2018-02-05 12:15 ` [PATCH 1/4] lightnvm: make 1.2 data structures explicit Matias Bjørling
2018-02-05 12:15 ` [PATCH 2/4] lightnvm: flatten nvm_id_group into nvm_id Matias Bjørling
2018-02-05 12:15 ` [PATCH 3/4] lightnvm: add 2.0 geometry identification Matias Bjørling
2018-02-05 18:04 ` Randy Dunlap
2018-02-06 9:43 ` Matias Bjørling
2018-02-08 13:35 ` Javier Gonzalez [this message]
2018-02-05 12:15 ` [PATCH 4/4] nvme: lightnvm: add late setup of block size and metadata Matias Bjørling
2018-03-23 11:00 ` Matias Bjørling
2018-03-28 8:28 ` Christoph Hellwig
2018-03-28 12:36 ` Matias Bjørling
2018-02-08 9:35 ` [PATCH 0/4] lightnvm: base 2.0 implementation Javier Gonzalez
2018-02-08 9:42 ` Matias Bjørling
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=EC9FE5B1-5E13-4B4F-A925-07572859FBE9@cnexlabs.com \
--to=javier@cnexlabs.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mb@lightnvm.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).