1b16bdc6dSArtur Paszkiewicz /* SPDX-License-Identifier: BSD-3-Clause 2b16bdc6dSArtur Paszkiewicz * Copyright (c) Intel Corporation. 3b16bdc6dSArtur Paszkiewicz * All rights reserved. 4b16bdc6dSArtur Paszkiewicz */ 5b16bdc6dSArtur Paszkiewicz 6b16bdc6dSArtur Paszkiewicz #include "spdk/thread.h" 7b16bdc6dSArtur Paszkiewicz 8b16bdc6dSArtur Paszkiewicz #include "ftl_core.h" 9b16bdc6dSArtur Paszkiewicz #include "ftl_mngt.h" 10b16bdc6dSArtur Paszkiewicz #include "ftl_mngt_steps.h" 11*6448f336SArtur Paszkiewicz #include "ftl_band.h" 12b16bdc6dSArtur Paszkiewicz #include "ftl_l2p.h" 13b16bdc6dSArtur Paszkiewicz 14b16bdc6dSArtur Paszkiewicz static void 15b16bdc6dSArtur Paszkiewicz l2p_cb(struct spdk_ftl_dev *dev, int status, void *ctx) 16b16bdc6dSArtur Paszkiewicz { 17b16bdc6dSArtur Paszkiewicz struct ftl_mngt_process *mngt = ctx; 18b16bdc6dSArtur Paszkiewicz 19b16bdc6dSArtur Paszkiewicz if (status) { 20b16bdc6dSArtur Paszkiewicz ftl_mngt_fail_step(mngt); 21b16bdc6dSArtur Paszkiewicz } else { 22b16bdc6dSArtur Paszkiewicz ftl_mngt_next_step(mngt); 23b16bdc6dSArtur Paszkiewicz } 24b16bdc6dSArtur Paszkiewicz } 25b16bdc6dSArtur Paszkiewicz 26b16bdc6dSArtur Paszkiewicz void 27b16bdc6dSArtur Paszkiewicz ftl_mngt_init_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) 28b16bdc6dSArtur Paszkiewicz { 29b16bdc6dSArtur Paszkiewicz if (ftl_l2p_init(dev)) { 30b16bdc6dSArtur Paszkiewicz ftl_mngt_fail_step(mngt); 31b16bdc6dSArtur Paszkiewicz } else { 32b16bdc6dSArtur Paszkiewicz ftl_mngt_next_step(mngt); 33b16bdc6dSArtur Paszkiewicz } 34b16bdc6dSArtur Paszkiewicz } 35b16bdc6dSArtur Paszkiewicz 36b16bdc6dSArtur Paszkiewicz void 37b16bdc6dSArtur Paszkiewicz ftl_mngt_deinit_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) 38b16bdc6dSArtur Paszkiewicz { 39b16bdc6dSArtur Paszkiewicz ftl_l2p_deinit(dev); 40b16bdc6dSArtur Paszkiewicz ftl_mngt_next_step(mngt); 41b16bdc6dSArtur Paszkiewicz } 42b16bdc6dSArtur Paszkiewicz 43b16bdc6dSArtur Paszkiewicz void 44b16bdc6dSArtur Paszkiewicz ftl_mngt_clear_l2p(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) 45b16bdc6dSArtur Paszkiewicz { 46b16bdc6dSArtur Paszkiewicz ftl_l2p_clear(dev, l2p_cb, mngt); 47b16bdc6dSArtur Paszkiewicz } 48