summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMatias Bjørling <m@bjorling.me>2016-01-12 07:49:19 +0100
committerJens Axboe <axboe@fb.com>2016-01-12 16:21:16 +0100
commit069368e91879a3a640cfae4bdc1f9f8cc99c93a0 (patch)
tree57a2d4df9b3c9d705afc058b952b3ab450364b6d /include
parentlightnvm: unlock rq and free ppa_list on submission fail (diff)
downloadlinux-069368e91879a3a640cfae4bdc1f9f8cc99c93a0.tar.xz
linux-069368e91879a3a640cfae4bdc1f9f8cc99c93a0.zip
lightnvm: move ppa erase logic to core
A device may function in single, dual or quad plane mode. The gennvm media manager manages this with explicit helpers. They convert a single ppa to 1, 2 or 4 separate ppas in a ppa list. To aid implementation of recovery and system blocks, this functionality can be moved directly into the core. Signed-off-by: Matias Bjørling <m@bjorling.me> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/lightnvm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h
index 034117b3be5f..c228dbc803bf 100644
--- a/include/linux/lightnvm.h
+++ b/include/linux/lightnvm.h
@@ -427,6 +427,9 @@ extern int nvm_register(struct request_queue *, char *,
extern void nvm_unregister(char *);
extern int nvm_submit_io(struct nvm_dev *, struct nvm_rq *);
+extern void nvm_generic_to_addr_mode(struct nvm_dev *, struct nvm_rq *);
+extern void nvm_addr_to_generic_mode(struct nvm_dev *, struct nvm_rq *);
+extern int nvm_erase_ppa(struct nvm_dev *, struct ppa_addr);
extern int nvm_erase_blk(struct nvm_dev *, struct nvm_block *);
#else /* CONFIG_NVM */
struct nvm_dev_ops;