cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mmc_ops.h (2191B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 *  linux/drivers/mmc/core/mmc_ops.h
      4 *
      5 *  Copyright 2006-2007 Pierre Ossman
      6 */
      7
      8#ifndef _MMC_MMC_OPS_H
      9#define _MMC_MMC_OPS_H
     10
     11#include <linux/types.h>
     12
     13enum mmc_busy_cmd {
     14	MMC_BUSY_CMD6,
     15	MMC_BUSY_ERASE,
     16	MMC_BUSY_HPI,
     17	MMC_BUSY_EXTR_SINGLE,
     18	MMC_BUSY_IO,
     19};
     20
     21struct mmc_host;
     22struct mmc_card;
     23struct mmc_command;
     24
     25int mmc_select_card(struct mmc_card *card);
     26int mmc_deselect_cards(struct mmc_host *host);
     27int mmc_set_dsr(struct mmc_host *host);
     28int mmc_go_idle(struct mmc_host *host);
     29int mmc_send_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr);
     30int mmc_set_relative_addr(struct mmc_card *card);
     31int mmc_send_adtc_data(struct mmc_card *card, struct mmc_host *host, u32 opcode,
     32		       u32 args, void *buf, unsigned len);
     33int mmc_send_csd(struct mmc_card *card, u32 *csd);
     34int __mmc_send_status(struct mmc_card *card, u32 *status, unsigned int retries);
     35int mmc_send_status(struct mmc_card *card, u32 *status);
     36int mmc_send_cid(struct mmc_host *host, u32 *cid);
     37int mmc_spi_read_ocr(struct mmc_host *host, int highcap, u32 *ocrp);
     38int mmc_spi_set_crc(struct mmc_host *host, int use_crc);
     39int mmc_bus_test(struct mmc_card *card, u8 bus_width);
     40int mmc_can_ext_csd(struct mmc_card *card);
     41int mmc_switch_status(struct mmc_card *card, bool crc_err_fatal);
     42bool mmc_prepare_busy_cmd(struct mmc_host *host, struct mmc_command *cmd,
     43			  unsigned int timeout_ms);
     44int __mmc_poll_for_busy(struct mmc_host *host, unsigned int period_us,
     45			unsigned int timeout_ms,
     46			int (*busy_cb)(void *cb_data, bool *busy),
     47			void *cb_data);
     48int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms,
     49		      bool retry_crc_err, enum mmc_busy_cmd busy_cmd);
     50int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
     51		unsigned int timeout_ms, unsigned char timing,
     52		bool send_status, bool retry_crc_err, unsigned int retries);
     53int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
     54		unsigned int timeout_ms);
     55void mmc_run_bkops(struct mmc_card *card);
     56int mmc_cmdq_enable(struct mmc_card *card);
     57int mmc_cmdq_disable(struct mmc_card *card);
     58int mmc_sanitize(struct mmc_card *card, unsigned int timeout_ms);
     59
     60#endif
     61