Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85bcc130 authored by Pierre Ossman's avatar Pierre Ossman Committed by Russell King
Browse files

[PATCH] MMC: wbsd update

Updates to the wbsd driver.
                                                                                
* Fix to handle DAT3 card detection.
* Fixed bug which could cause large writes to stall in FIFO mode.
* Plug 'n Play support. In most cases you need ACPI PNP for this to work.
* Uses generic DMA API (ISA dependency removed).
parent 88d7bd8c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ config MMC_PXA

config MMC_WBSD
	tristate "Winbond W83L51xD SD/MMC Card Interface support"
	depends on MMC && ISA && ISA_DMA_API
	depends on MMC && ISA_DMA_API
	help
	  This selects the Winbond(R) W83L51xD Secure digital and
          Multimedia card Interface.
+531 −185

File changed.

Preview size limit exceeded, changes collapsed.

+12 −0
Original line number Diff line number Diff line
@@ -35,6 +35,12 @@ const int valid_ids[] = {

#define DEVICE_SD		0x03

#define WBSD_PINS_DAT3_HI	0x20
#define WBSD_PINS_DAT3_OUT	0x10
#define WBSD_PINS_GP11_HI	0x04
#define WBSD_PINS_DETECT_GP11	0x02
#define WBSD_PINS_DETECT_DAT3	0x01

#define WBSD_CMDR		0x00
#define WBSD_DFR		0x01
#define WBSD_EIR		0x02
@@ -133,6 +139,7 @@ const int valid_ids[] = {
#define WBSD_CRC_OK		0x05 /* S010E (00101) */
#define WBSD_CRC_FAIL		0x0B /* S101E (01011) */

#define WBSD_DMA_SIZE		65536

struct wbsd_host
{
@@ -140,6 +147,11 @@ struct wbsd_host
	
	spinlock_t		lock;		/* Mutex */

	int			flags;		/* Driver states */

#define WBSD_FCARD_PRESENT	(1<<0)		/* Card is present */
#define WBSD_FIGNORE_DETECT	(1<<1)		/* Ignore card detection */
	
	struct mmc_request*	mrq;		/* Current request */
	
	u8			isr;		/* Accumulated ISR */