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

Commit 6f949909 authored by Philip Langdale's avatar Philip Langdale Committed by Pierre Ossman
Browse files

mmc: Correct definition of R6



During development of SDHC support, it was discovered that the definition
for R6 was incorrect. This patch fixes that and patches the drivers that
do switch on the response type.

Signed-off-by: default avatarPhilip Langdale <philipl@overt.org>
Cc: Alex Dubov <oakad@yahoo.com>
Cc: Pavel Pisa <ppisa@pikron.com>
Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
parent 1b3b2631
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -351,9 +351,6 @@ static void imxmci_start_cmd(struct imxmci_host *host, struct mmc_command *cmd,
	case MMC_RSP_R3: /* short */
		cmdat |= CMD_DAT_CONT_RESPONSE_FORMAT_R3;
		break;
	case MMC_RSP_R6: /* short CRC */
		cmdat |= CMD_DAT_CONT_RESPONSE_FORMAT_R6;
		break;
	default:
		break;
	}
+1 −4
Original line number Diff line number Diff line
@@ -208,7 +208,7 @@ mmc_omap_start_command(struct mmc_omap_host *host, struct mmc_command *cmd)
		break;
	case MMC_RSP_R1:
	case MMC_RSP_R1B:
		/* resp 1, resp 1b */
		/* resp 1, 1b, 6, 7 */
		resptype = 1;
		break;
	case MMC_RSP_R2:
@@ -217,9 +217,6 @@ mmc_omap_start_command(struct mmc_omap_host *host, struct mmc_command *cmd)
	case MMC_RSP_R3:
		resptype = 3;
		break;
	case MMC_RSP_R6:
		resptype = 6;
		break;
	default:
		dev_err(mmc_dev(host->mmc), "Invalid response type: %04x\n", mmc_resp_type(cmd));
		break;
+1 −1
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ static void pxamci_start_cmd(struct pxamci_host *host, struct mmc_command *cmd,

#define RSP_TYPE(x)	((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE))
	switch (RSP_TYPE(mmc_resp_type(cmd))) {
	case RSP_TYPE(MMC_RSP_R1): /* r1, r1b, r6 */
	case RSP_TYPE(MMC_RSP_R1): /* r1, r1b, r6, r7 */
		cmdat |= CMDAT_RESP_SHORT;
		break;
	case RSP_TYPE(MMC_RSP_R3):
+0 −3
Original line number Diff line number Diff line
@@ -173,9 +173,6 @@ static unsigned int tifm_sd_op_flags(struct mmc_command *cmd)
	case MMC_RSP_R3:
		rc |= TIFM_MMCSD_RSP_R3;
		break;
	case MMC_RSP_R6:
		rc |= TIFM_MMCSD_RSP_R6;
		break;
	default:
		BUG();
	}
+1 −1
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ struct mmc_command {
#define MMC_RSP_R1B	(MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
#define MMC_RSP_R2	(MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC)
#define MMC_RSP_R3	(MMC_RSP_PRESENT)
#define MMC_RSP_R6	(MMC_RSP_PRESENT|MMC_RSP_CRC)
#define MMC_RSP_R6	(MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)

#define mmc_resp_type(cmd)	((cmd)->flags & (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE))