linux/drivers/mmc/host/mmc_hsq.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef LINUX_MMC_HSQ_H
   3#define LINUX_MMC_HSQ_H
   4
   5struct hsq_slot {
   6        struct mmc_request *mrq;
   7};
   8
   9struct mmc_hsq {
  10        struct mmc_host *mmc;
  11        struct mmc_request *mrq;
  12        wait_queue_head_t wait_queue;
  13        struct hsq_slot *slot;
  14        spinlock_t lock;
  15        struct work_struct retry_work;
  16
  17        int next_tag;
  18        int num_slots;
  19        int qcnt;
  20
  21        bool enabled;
  22        bool waiting_for_idle;
  23        bool recovery_halt;
  24};
  25
  26int mmc_hsq_init(struct mmc_hsq *hsq, struct mmc_host *mmc);
  27void mmc_hsq_suspend(struct mmc_host *mmc);
  28int mmc_hsq_resume(struct mmc_host *mmc);
  29bool mmc_hsq_finalize_request(struct mmc_host *mmc, struct mmc_request *mrq);
  30
  31#endif
  32