xref: /spdk/lib/ftl/ftl_l2p_flat.h (revision 106ad3793f953d7353e5a5a1fa67fa6a82d13747)
1b16bdc6dSArtur Paszkiewicz /*   SPDX-License-Identifier: BSD-3-Clause
2a6dbe372Spaul luse  *   Copyright (C) 2022 Intel Corporation.
3b16bdc6dSArtur Paszkiewicz  *   All rights reserved.
4b16bdc6dSArtur Paszkiewicz  */
5b16bdc6dSArtur Paszkiewicz 
6b16bdc6dSArtur Paszkiewicz #ifndef FTL_L2P_FLAT_H
7b16bdc6dSArtur Paszkiewicz #define FTL_L2P_FLAT_H
8b16bdc6dSArtur Paszkiewicz 
9b16bdc6dSArtur Paszkiewicz int ftl_l2p_flat_init(struct spdk_ftl_dev *dev);
10b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_deinit(struct spdk_ftl_dev *dev);
11b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_pin(struct spdk_ftl_dev *dev, struct ftl_l2p_pin_ctx *pin_ctx);
12b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_unpin(struct spdk_ftl_dev *dev, uint64_t lba, uint64_t count);
13b16bdc6dSArtur Paszkiewicz ftl_addr ftl_l2p_flat_get(struct spdk_ftl_dev *dev, uint64_t lba);
14b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_set(struct spdk_ftl_dev *dev, uint64_t lba, ftl_addr addr);
15*106ad379SMateusz Kozlowski void ftl_l2p_flat_trim(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
16b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_clear(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
1755147295SKozlowski Mateusz void ftl_l2p_flat_restore(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
18ef93cc38SKozlowski Mateusz void ftl_l2p_flat_persist(struct spdk_ftl_dev *dev, ftl_l2p_cb cb, void *cb_ctx);
19b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_process(struct spdk_ftl_dev *dev);
20b16bdc6dSArtur Paszkiewicz bool ftl_l2p_flat_is_halted(struct spdk_ftl_dev *dev);
21b16bdc6dSArtur Paszkiewicz void ftl_l2p_flat_halt(struct spdk_ftl_dev *dev);
22dd949849SKozlowski Mateusz void ftl_l2p_flat_resume(struct spdk_ftl_dev *dev);
23b16bdc6dSArtur Paszkiewicz 
24b16bdc6dSArtur Paszkiewicz #endif /* FTL_L2P_FLAT_H */
25