diff mbox

[1/2] lightnvm: remove mlc pairs structure

Message ID 20180130132605.28635-1-m@bjorling.me (mailing list archive)
State New, archived
Headers show

Commit Message

Matias Bjørling Jan. 30, 2018, 1:26 p.m. UTC
The known implementations of the 1.2 specification, and upcoming 2.0
implementation all expose a sequential list of pages to write.
Remove the data structure, as it is no longer needed.

Signed-off-by: Matias Bjørling <m@bjorling.me>
---
 drivers/nvme/host/lightnvm.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

Comments

=?UTF-8?q?Javier=20Gonz=C3=A1lez?= Jan. 31, 2018, 2 a.m. UTC | #1
> On 30 Jan 2018, at 21.26, Matias Bjørling <m@bjorling.me> wrote:
> 
> The known implementations of the 1.2 specification, and upcoming 2.0
> implementation all expose a sequential list of pages to write.
> Remove the data structure, as it is no longer needed.
> 
> Signed-off-by: Matias Bjørling <m@bjorling.me>
> ---
> drivers/nvme/host/lightnvm.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)

Even though the current implementations does not use the MLC pairing
information, this is part of the on the 1.2 identification. Until we
eventually remove 1.2 support (if we do), the identify structure should
reflect the specification as is.

Javier
Matias Bjorling Jan. 31, 2018, 8:35 a.m. UTC | #2
On 01/31/2018 03:00 AM, Javier González wrote:
>> On 30 Jan 2018, at 21.26, Matias Bjørling <m@bjorling.me> wrote:
>>
>> The known implementations of the 1.2 specification, and upcoming 2.0
>> implementation all expose a sequential list of pages to write.
>> Remove the data structure, as it is no longer needed.
>>
>> Signed-off-by: Matias Bjørling <m@bjorling.me>
>> ---
>> drivers/nvme/host/lightnvm.c | 14 +-------------
>> 1 file changed, 1 insertion(+), 13 deletions(-)
> 
> Even though the current implementations does not use the MLC pairing
> information, this is part of the on the 1.2 identification. Until we
> eventually remove 1.2 support (if we do), the identify structure should
> reflect the specification as is.
> 
> Javier
> 

I already started on removing the MLC bits in previous patches. These 
two patches continue that trend. I don't know of any implementing either 
multiple groups or MLC, and since it has not been implemented before, no 
one is going to use it. No reason to have dead code hanging around. This 
is similar to the NVMe device driver not having definitions for all that 
is in the specification until it is used in the implementation.
=?UTF-8?q?Javier=20Gonz=C3=A1lez?= Feb. 1, 2018, 1:56 a.m. UTC | #3
> On 31 Jan 2018, at 16.35, Matias Bjørling <mb@lightnvm.io> wrote:
> 
> On 01/31/2018 03:00 AM, Javier González wrote:
>>> On 30 Jan 2018, at 21.26, Matias Bjørling <m@bjorling.me> wrote:
>>> 
>>> The known implementations of the 1.2 specification, and upcoming 2.0
>>> implementation all expose a sequential list of pages to write.
>>> Remove the data structure, as it is no longer needed.
>>> 
>>> Signed-off-by: Matias Bjørling <m@bjorling.me>
>>> ---
>>> drivers/nvme/host/lightnvm.c | 14 +-------------
>>> 1 file changed, 1 insertion(+), 13 deletions(-)
>> Even though the current implementations does not use the MLC pairing
>> information, this is part of the on the 1.2 identification. Until we
>> eventually remove 1.2 support (if we do), the identify structure should
>> reflect the specification as is.
>> Javier
> 
> I already started on removing the MLC bits in previous patches. These
> two patches continue that trend. I don't know of any implementing
> either multiple groups or MLC, and since it has not been implemented
> before, no one is going to use it. No reason to have dead code hanging
> around. This is similar to the NVMe device driver not having
> definitions for all that is in the specification until it is used in
> the implementation.

It's ok with me - just wanted to point out that it seems weird removing
bits from the structure that describes the 1.2 identify command. Guess
these can com back if someone ever needs them...

Javier
diff mbox

Patch

diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c
index 50ef71ee3d86..16906327645e 100644
--- a/drivers/nvme/host/lightnvm.c
+++ b/drivers/nvme/host/lightnvm.c
@@ -116,17 +116,6 @@  struct nvme_nvm_command {
 	};
 };
 
-#define NVME_NVM_LP_MLC_PAIRS 886
-struct nvme_nvm_lp_mlc {
-	__le16			num_pairs;
-	__u8			pairs[NVME_NVM_LP_MLC_PAIRS];
-};
-
-struct nvme_nvm_lp_tbl {
-	__u8			id[8];
-	struct nvme_nvm_lp_mlc	mlc;
-};
-
 struct nvme_nvm_id_group {
 	__u8			mtype;
 	__u8			fmtype;
@@ -150,8 +139,7 @@  struct nvme_nvm_id_group {
 	__le32			mpos;
 	__le32			mccap;
 	__le16			cpar;
-	__u8			reserved[10];
-	struct nvme_nvm_lp_tbl lptbl;
+	__u8			reserved[906];
 } __packed;
 
 struct nvme_nvm_addr_format {