From: "Javier González" <jg@lightnvm.io> To: mb@lightnvm.io Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, "Javier González" <javier@cnexlabs.com> Subject: [PATCH 04/15] lightnvm: add shorten OCSSD version in geo Date: Wed, 28 Feb 2018 16:49:24 +0100 [thread overview] Message-ID: <1519832975-25432-5-git-send-email-javier@cnexlabs.com> (raw) In-Reply-To: <1519832975-25432-1-git-send-email-javier@cnexlabs.com> Create a shorten version to use in the generic geometry. Signed-off-by: Javier González <javier@cnexlabs.com> --- drivers/nvme/host/lightnvm.c | 6 ++++++ include/linux/lightnvm.h | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c index a600e70b6e6b..85f336a79cda 100644 --- a/drivers/nvme/host/lightnvm.c +++ b/drivers/nvme/host/lightnvm.c @@ -299,6 +299,9 @@ static int nvme_nvm_setup_12(struct nvme_nvm_id12 *id, geo->major_ver_id = id->ver_id; geo->minor_ver_id = 2; + /* Set compacted version for upper layers */ + geo->version = NVM_OCSSD_SPEC_12; + geo->nr_chnls = src->num_ch; geo->nr_luns = src->num_lun; geo->all_luns = geo->nr_chnls * geo->nr_luns; @@ -385,6 +388,9 @@ static int nvme_nvm_setup_20(struct nvme_nvm_id20 *id, geo->major_ver_id = id->mjr; geo->minor_ver_id = id->mnr; + /* Set compacted version for upper layers */ + geo->version = NVM_OCSSD_SPEC_20; + if (!(geo->major_ver_id == 2 && geo->minor_ver_id == 0)) { pr_err("nvm: OCSSD version not supported (v%d.%d)\n", geo->major_ver_id, geo->minor_ver_id); diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h index 4b2ecbf45fd9..b8bc158a2472 100644 --- a/include/linux/lightnvm.h +++ b/include/linux/lightnvm.h @@ -23,6 +23,11 @@ enum { #define NVM_LUN_BITS (8) #define NVM_CH_BITS (7) +enum { + NVM_OCSSD_SPEC_12 = 12, + NVM_OCSSD_SPEC_20 = 20, +}; + struct ppa_addr { /* Generic structure for all addresses */ union { @@ -266,6 +271,9 @@ struct nvm_geo { u8 major_ver_id; u8 minor_ver_id; + /* kernel short version */ + u8 version; + /* instance specific geometry */ int nr_chnls; int nr_luns; /* per channel */ -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: jg@lightnvm.io (Javier González) Subject: [PATCH 04/15] lightnvm: add shorten OCSSD version in geo Date: Wed, 28 Feb 2018 16:49:24 +0100 [thread overview] Message-ID: <1519832975-25432-5-git-send-email-javier@cnexlabs.com> (raw) In-Reply-To: <1519832975-25432-1-git-send-email-javier@cnexlabs.com> Create a shorten version to use in the generic geometry. Signed-off-by: Javier Gonz?lez <javier at cnexlabs.com> --- drivers/nvme/host/lightnvm.c | 6 ++++++ include/linux/lightnvm.h | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c index a600e70b6e6b..85f336a79cda 100644 --- a/drivers/nvme/host/lightnvm.c +++ b/drivers/nvme/host/lightnvm.c @@ -299,6 +299,9 @@ static int nvme_nvm_setup_12(struct nvme_nvm_id12 *id, geo->major_ver_id = id->ver_id; geo->minor_ver_id = 2; + /* Set compacted version for upper layers */ + geo->version = NVM_OCSSD_SPEC_12; + geo->nr_chnls = src->num_ch; geo->nr_luns = src->num_lun; geo->all_luns = geo->nr_chnls * geo->nr_luns; @@ -385,6 +388,9 @@ static int nvme_nvm_setup_20(struct nvme_nvm_id20 *id, geo->major_ver_id = id->mjr; geo->minor_ver_id = id->mnr; + /* Set compacted version for upper layers */ + geo->version = NVM_OCSSD_SPEC_20; + if (!(geo->major_ver_id == 2 && geo->minor_ver_id == 0)) { pr_err("nvm: OCSSD version not supported (v%d.%d)\n", geo->major_ver_id, geo->minor_ver_id); diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h index 4b2ecbf45fd9..b8bc158a2472 100644 --- a/include/linux/lightnvm.h +++ b/include/linux/lightnvm.h @@ -23,6 +23,11 @@ enum { #define NVM_LUN_BITS (8) #define NVM_CH_BITS (7) +enum { + NVM_OCSSD_SPEC_12 = 12, + NVM_OCSSD_SPEC_20 = 20, +}; + struct ppa_addr { /* Generic structure for all addresses */ union { @@ -266,6 +271,9 @@ struct nvm_geo { u8 major_ver_id; u8 minor_ver_id; + /* kernel short version */ + u8 version; + /* instance specific geometry */ int nr_chnls; int nr_luns; /* per channel */ -- 2.7.4
next prev parent reply other threads:[~2018-02-28 15:49 UTC|newest] Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-02-28 15:49 [PATCH V4 00/15] lightnvm: pblk: implement 2.0 support Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 01/15] lightnvm: simplify geometry structure Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-03-01 10:22 ` Matias Bjørling 2018-03-01 10:22 ` Matias Bjørling 2018-03-02 11:15 ` Javier González 2018-03-02 11:15 ` Javier González 2018-02-28 15:49 ` [PATCH 02/15] lightnvm: add controller capabilities to 2.0 Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-03-01 10:33 ` Matias Bjørling 2018-03-01 10:33 ` Matias Bjørling 2018-03-01 10:33 ` Matias Bjørling 2018-03-02 11:59 ` Javier González 2018-03-02 11:59 ` Javier González 2018-02-28 15:49 ` [PATCH 03/15] lightnvm: add minor version to generic geometry Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González [this message] 2018-02-28 15:49 ` [PATCH 04/15] lightnvm: add shorten OCSSD version in geo Javier González 2018-02-28 15:49 ` [PATCH 05/15] lightnvm: complete geo structure with maxoc* Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 06/15] lightnvm: normalize geometry nomenclature Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 07/15] lightnvm: add support for 2.0 address format Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 08/15] lightnvm: make address conversions depend on generic device Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 09/15] lightnvm: implement get log report chunk helpers Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-03-01 10:40 ` Matias Bjørling 2018-03-01 10:40 ` Matias Bjørling 2018-03-01 11:02 ` Javier Gonzalez 2018-03-01 11:02 ` Javier Gonzalez 2018-03-01 11:51 ` Matias Bjørling 2018-03-01 11:51 ` Matias Bjørling 2018-03-01 11:54 ` Javier Gonzalez 2018-03-01 11:54 ` Javier Gonzalez 2018-02-28 15:49 ` [PATCH 10/15] lightnvm: pblk: check for supported version Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 11/15] lightnvm: pblk: rename ppaf* to addrf* Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 12/15] lightnvn: pblk: use generic address format Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-03-01 10:41 ` Matias Bjørling 2018-03-01 10:41 ` Matias Bjørling 2018-03-01 11:05 ` Javier González 2018-03-01 11:05 ` Javier González 2018-02-28 15:49 ` [PATCH 13/15] lightnvm: pblk: implement get log report chunk Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-03-01 10:45 ` Matias Bjørling 2018-03-01 10:45 ` Matias Bjørling 2018-02-28 15:49 ` [PATCH 14/15] lightnvm: pblk: refactor init/exit sequences Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` [PATCH 15/15] lightnvm: pblk: implement 2.0 support Javier González 2018-02-28 15:49 ` Javier González 2018-02-28 15:49 ` Javier González 2018-03-01 10:48 ` Matias Bjørling 2018-03-01 10:48 ` 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=1519832975-25432-5-git-send-email-javier@cnexlabs.com \ --to=jg@lightnvm.io \ --cc=javier@cnexlabs.com \ --cc=linux-block@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-nvme@lists.infradead.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.