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