Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4264c980 authored by Matias Bjørling's avatar Matias Bjørling Committed by Jens Axboe
Browse files

lightnvm: check for NAND flash and its type



Only NAND flash with SLC and MLC is supported. Make sure to not try to
initialize TLC memory or other non-volatile memory types.

Signed-off-by: default avatarMatias Bjørling <m@bjorling.me>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 73387e7b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -185,6 +185,16 @@ static int nvm_core_init(struct nvm_dev *dev)
	dev->plane_mode = NVM_PLANE_SINGLE;
	dev->max_rq_size = dev->ops->max_phys_sect * dev->sec_size;

	if (grp->mtype != 0) {
		pr_err("nvm: memory type not supported\n");
		return -EINVAL;
	}

	if (grp->fmtype != 0 && grp->fmtype != 1) {
		pr_err("nvm: flash type not supported\n");
		return -EINVAL;
	}

	if (grp->mpos & 0x020202)
		dev->plane_mode = NVM_PLANE_DOUBLE;
	if (grp->mpos & 0x040404)