/* SPDX-License-Identifier: GPL-2.0 */ #ifndef LINUX_MMC_HSQ_H #define LINUX_MMC_HSQ_H #define HSQ_NUM_SLOTS … #define HSQ_INVALID_TAG … /* * For MMC host software queue, we only allow 2 requests in * flight to avoid a long latency. */ #define HSQ_NORMAL_DEPTH … /* * For 4k random writes, we allow hsq_depth to increase to 5 * for better performance. */ #define HSQ_PERFORMANCE_DEPTH … struct hsq_slot { … }; struct mmc_hsq { … }; int mmc_hsq_init(struct mmc_hsq *hsq, struct mmc_host *mmc); void mmc_hsq_suspend(struct mmc_host *mmc); int mmc_hsq_resume(struct mmc_host *mmc); bool mmc_hsq_finalize_request(struct mmc_host *mmc, struct mmc_request *mrq); #endif