Skip to content
Snippets Groups Projects
Select Git revision
  • 1e8e55b67030c6a2fef893d428bdcd611f73705c
  • vme-testing default
  • ci-test
  • master
  • remoteproc
  • am625-sk-ov5640
  • pcal6534-upstreaming
  • lps22df-upstreaming
  • msc-upstreaming
  • imx8mp
  • iio/noa1305
  • vme-next
  • vme-next-4.14-rc4
  • v4.14-rc4
  • v4.14-rc3
  • v4.14-rc2
  • v4.14-rc1
  • v4.13
  • vme-next-4.13-rc7
  • v4.13-rc7
  • v4.13-rc6
  • v4.13-rc5
  • v4.13-rc4
  • v4.13-rc3
  • v4.13-rc2
  • v4.13-rc1
  • v4.12
  • v4.12-rc7
  • v4.12-rc6
  • v4.12-rc5
  • v4.12-rc4
  • v4.12-rc3
32 results

queue.h

Blame
  • queue.h 3.27 KiB
    /* SPDX-License-Identifier: GPL-2.0 */
    #ifndef MMC_QUEUE_H
    #define MMC_QUEUE_H
    
    #include <linux/types.h>
    #include <linux/blkdev.h>
    #include <linux/blk-mq.h>
    #include <linux/mmc/core.h>
    #include <linux/mmc/host.h>
    
    enum mmc_issued {
    	MMC_REQ_STARTED,
    	MMC_REQ_BUSY,
    	MMC_REQ_FAILED_TO_START,
    	MMC_REQ_FINISHED,
    };
    
    enum mmc_issue_type {
    	MMC_ISSUE_SYNC,
    	MMC_ISSUE_DCMD,
    	MMC_ISSUE_ASYNC,
    	MMC_ISSUE_MAX,
    };
    
    static inline struct mmc_queue_req *req_to_mmc_queue_req(struct request *rq)
    {
    	return blk_mq_rq_to_pdu(rq);
    }
    
    struct mmc_queue_req;
    
    static inline struct request *mmc_queue_req_to_req(struct mmc_queue_req *mqr)
    {
    	return blk_mq_rq_from_pdu(mqr);
    }
    
    struct task_struct;
    struct mmc_blk_data;
    struct mmc_blk_ioc_data;
    
    struct mmc_blk_request {
    	struct mmc_request	mrq;
    	struct mmc_command	sbc;
    	struct mmc_command	cmd;
    	struct mmc_command	stop;
    	struct mmc_data		data;
    	int			retune_retry_done;
    };
    
    /**
     * enum mmc_drv_op - enumerates the operations in the mmc_queue_req
     * @MMC_DRV_OP_IOCTL: ioctl operation
     * @MMC_DRV_OP_IOCTL_RPMB: RPMB-oriented ioctl operation
     * @MMC_DRV_OP_BOOT_WP: write protect boot partitions
     * @MMC_DRV_OP_GET_CARD_STATUS: get card status
     * @MMC_DRV_OP_GET_EXT_CSD: get the EXT CSD from an eMMC card
     */
    enum mmc_drv_op {
    	MMC_DRV_OP_IOCTL,
    	MMC_DRV_OP_IOCTL_RPMB,
    	MMC_DRV_OP_BOOT_WP,
    	MMC_DRV_OP_GET_CARD_STATUS,
    	MMC_DRV_OP_GET_EXT_CSD,
    };
    
    struct mmc_queue_req {
    	struct mmc_blk_request	brq;
    	struct scatterlist	*sg;
    	struct mmc_async_req	areq;
    	enum mmc_drv_op		drv_op;