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