diff options
Diffstat (limited to 'drivers/mmc/host/msm_sdcc.h')
| -rw-r--r-- | drivers/mmc/host/msm_sdcc.h | 15 | 
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/mmc/host/msm_sdcc.h b/drivers/mmc/host/msm_sdcc.h index ff2b0f74f6f..402028d16b8 100644 --- a/drivers/mmc/host/msm_sdcc.h +++ b/drivers/mmc/host/msm_sdcc.h @@ -138,8 +138,13 @@  #define MCI_IRQENABLE	\  	(MCI_CMDCRCFAILMASK|MCI_DATACRCFAILMASK|MCI_CMDTIMEOUTMASK|	\  	MCI_DATATIMEOUTMASK|MCI_TXUNDERRUNMASK|MCI_RXOVERRUNMASK|	\ -	MCI_CMDRESPENDMASK|MCI_CMDSENTMASK|MCI_DATAENDMASK) +	MCI_CMDRESPENDMASK|MCI_CMDSENTMASK|MCI_DATAENDMASK|MCI_PROGDONEMASK) +#define MCI_IRQ_PIO \ +	(MCI_RXDATAAVLBLMASK | MCI_TXDATAAVLBLMASK | MCI_RXFIFOEMPTYMASK | \ +	 MCI_TXFIFOEMPTYMASK | MCI_RXFIFOFULLMASK | MCI_TXFIFOFULLMASK | \ +	 MCI_RXFIFOHALFFULLMASK | MCI_TXFIFOHALFEMPTYMASK | \ +	 MCI_RXACTIVEMASK | MCI_TXACTIVEMASK)  /*   * The size of the FIFO in bytes.   */ @@ -172,6 +177,8 @@ struct msmsdcc_dma_data {  	struct msmsdcc_host		*host;  	int				busy; /* Set if DM is busy */  	int				active; +	unsigned int			result; +	struct msm_dmov_errdata		err;  };  struct msmsdcc_pio_data { @@ -188,7 +195,6 @@ struct msmsdcc_curr_req {  	unsigned int		xfer_remain;	/* Bytes remaining to send */  	unsigned int		data_xfered;	/* Bytes acked by BLKEND irq */  	int			got_dataend; -	int			got_datablkend;  	int			user_pages;  }; @@ -201,7 +207,6 @@ struct msmsdcc_stats {  struct msmsdcc_host {  	struct resource		*cmd_irqres; -	struct resource		*pio_irqres;  	struct resource		*memres;  	struct resource		*dmares;  	void __iomem		*base; @@ -235,13 +240,17 @@ struct msmsdcc_host {  	int			cmdpoll;  	struct msmsdcc_stats	stats; +	struct tasklet_struct	dma_tlet;  	/* Command parameters */  	unsigned int		cmd_timeout;  	unsigned int		cmd_pio_irqmask;  	unsigned int		cmd_datactrl;  	struct mmc_command	*cmd_cmd;  	u32			cmd_c; +	bool			gpio_config_status; +	bool prog_scan; +	bool prog_enable;  };  #endif  | 
