On 1 Oct 2017, at 15.24, Rakesh Pandit <[email protected]> wrote:
vblk isn't being used anyway and if we ever have a usecase we can
introduce this again. This makes the logic easier and removes
unnecessary checks.
Signed-off-by: Rakesh Pandit <[email protected]>
---
drivers/lightnvm/core.c | 29 ++++++++++++----------------- include/linux/lightnvm.h | 2 +-
2 files changed, 13 insertions(+), 18 deletions(-)
diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
index ddae430..9cd1c4b 100644
--- a/drivers/lightnvm/core.c
+++ b/drivers/lightnvm/core.c
@@ -616,7 +616,7 @@ int nvm_set_tgt_bb_tbl(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas,
memset(&rqd, 0, sizeof(struct nvm_rq));
- nvm_set_rqd_ppalist(tgt_dev, &rqd, ppas, nr_ppas, 1);
+ nvm_set_rqd_ppalist(tgt_dev, &rqd, ppas, nr_ppas);
nvm_rq_tgt_to_dev(tgt_dev, &rqd);
ret = dev->ops->set_bb_tbl(dev, &rqd.ppa_addr, rqd.nr_ppas, type);
@@ -680,7 +680,7 @@ int nvm_erase_sync(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *ppas,
rqd.private = &wait;
rqd.flags = geo->plane_mode >> 1;
- ret = nvm_set_rqd_ppalist(tgt_dev, &rqd, ppas, nr_ppas, 1);
+ ret = nvm_set_rqd_ppalist(tgt_dev, &rqd, ppas, nr_ppas);
if (ret)
return ret;
@@ -776,14 +776,14 @@ void nvm_put_area(struct nvm_tgt_dev *tgt_dev, sector_t begin)
EXPORT_SYMBOL(nvm_put_area);
int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd,
- const struct ppa_addr *ppas, int nr_ppas, int vblk)
+ const struct ppa_addr *ppas, int nr_ppas)
{
struct nvm_dev *dev = tgt_dev->parent;
struct nvm_geo *geo = &tgt_dev->geo;
int i, plane_cnt, pl_idx;
struct ppa_addr ppa;
- if ((!vblk || geo->plane_mode == NVM_PLANE_SINGLE) && nr_ppas == 1) {
+ if (geo->plane_mode == NVM_PLANE_SINGLE && nr_ppas == 1) {
rqd->nr_ppas = nr_ppas;
rqd->ppa_addr = ppas[0];
@@ -797,19 +797,14 @@ int nvm_set_rqd_ppalist(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd,
return -ENOMEM;
}
- if (!vblk) {
- for (i = 0; i < nr_ppas; i++)
- rqd->ppa_list[i] = ppas[i];
- } else {
- plane_cnt = geo->plane_mode;
- rqd->nr_ppas *= plane_cnt;
-
- for (i = 0; i < nr_ppas; i++) {
- for (pl_idx = 0; pl_idx < plane_cnt; pl_idx++) {
- ppa = ppas[i];
- ppa.g.pl = pl_idx;
- rqd->ppa_list[(pl_idx * nr_ppas) + i] = ppa;
- }
+ plane_cnt = geo->plane_mode;
+ rqd->nr_ppas *= plane_cnt;
+
+ for (i = 0; i < nr_ppas; i++) {
+ for (pl_idx = 0; pl_idx < plane_cnt; pl_idx++) {
+ ppa = ppas[i];
+ ppa.g.pl = pl_idx;
+ rqd->ppa_list[(pl_idx * nr_ppas) + i] = ppa;
}
}
diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h
index 81b71c6d..c8c014b 100644
--- a/include/linux/lightnvm.h
+++ b/include/linux/lightnvm.h
@@ -481,7 +481,7 @@ extern int nvm_max_phys_sects(struct nvm_tgt_dev *); extern int nvm_submit_io(struct nvm_tgt_dev *, struct nvm_rq *);
extern int nvm_erase_sync(struct nvm_tgt_dev *, struct ppa_addr *, int); extern int nvm_set_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *,
- const struct ppa_addr *, int, int);
+ const struct ppa_addr *, int);
extern void nvm_free_rqd_ppalist(struct nvm_tgt_dev *, struct nvm_rq *); extern int nvm_get_l2p_tbl(struct nvm_tgt_dev *, u64, u32, nvm_l2p_update_fn *,
void *);
--
2.7.4
This was used when using MLC media as SLC back in the days, when we had
the host media manager (spec 1.2). We probably want to have a path to
use NAND as SLC, but I agree that it should be separated in order to
reduce the number of checks (considering that this is for a very
specific purpose).
Reviewed-by: Javier González <
[email protected]>
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEm1mT7zen+vs9+T8kYx8FO3WZGMoFAlnSJbQACgkQYx8FO3WZ GMpV9BAAg9IjgV0HC2W+J4h5osF9PZkLZaCPtqo8fWnPLqXwrB4T5tV9FutAAl/1 CewK1RlXfnTpaVUNZg+YJS4at3V5A+wZbg4cXV1ujFAIViNbHyNhDcI9zdxhIFCs f5xWjK0msmuIWdVaZG9dahjZFrBfJYmCVYIur49nzv7Jzt57v6rq5iU5bhlOHSaC FaFN1yFAoQap/IcvZm8gzvMAwUwvd6wntbwU89B5VCsWfoLFb4Yc9weS9nUmsqMt 1dNPqL1ltBl7mh1qS48sOWR+TSSIpRdegIZG+fjsICsu18dtn/9NT5pEs7UieGq8 1rgUgoKGqcpv/UehXyMkE+CGRxskwoLL33uvsIhdq1AAgpFTb2bq32sGxNbIXmUN ghVvyZjp18QXjm48DobEUR4cvLwWP7Y2mecajCudva4wCseoeNnyvUsGBNxSPuE4 j3OES/1Pmjfe1/L1DxSFqSrjYUFN3LSw7tZ/40kr+43aMXqkfNHS7+gsL8eHTEsU TrFvakCKv+UwfH6qkYhLlcjsFFerPmwxTe4sbHo6e6L++u6OiVvBfDt8nQDFNfdg d/nkg7Lc2Tuu0n6LGCBrNrmJbQiunWOP4zEBAj0AI9uVIRByzeqcN5k3y8g6O+n2 kic+SbLLtajLp89qMNE+HdnsgOgDQgPAPHlfYd0GhCrY5qTtfcU=
=Q8Mh
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)