mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
mmc: sdhci: Add quirk to indicate MMC_RSP_136 has CRC
TI's implementation of sdhci controller used in DRA7 SoC's has CRC in responses with length 136 bits. Add quirk to indicate the controller has CRC in MMC_RSP_136. If this quirk is set sdhci library shouldn't shift the response present in SDHCI_RESPONSE register. Signed-off-by: Kishon Vijay Abraham I <[email protected]> Acked-by: Adrian Hunter <[email protected]> Signed-off-by: Ulf Hansson <[email protected]>
This commit is contained in:
parent
4a5fc11945
commit
1284c248d1
2 changed files with 5 additions and 0 deletions
|
|
@ -1182,6 +1182,9 @@ static void sdhci_read_rsp_136(struct sdhci_host *host, struct mmc_command *cmd)
|
|||
cmd->resp[i] = sdhci_readl(host, reg);
|
||||
}
|
||||
|
||||
if (host->quirks2 & SDHCI_QUIRK2_RSP_136_HAS_CRC)
|
||||
return;
|
||||
|
||||
/* CRC is stripped so we need to do some shifting */
|
||||
for (i = 0; i < 4; i++) {
|
||||
cmd->resp[i] <<= 8;
|
||||
|
|
|
|||
|
|
@ -435,6 +435,8 @@ struct sdhci_host {
|
|||
#define SDHCI_QUIRK2_ACMD23_BROKEN (1<<14)
|
||||
/* Broken Clock divider zero in controller */
|
||||
#define SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN (1<<15)
|
||||
/* Controller has CRC in 136 bit Command Response */
|
||||
#define SDHCI_QUIRK2_RSP_136_HAS_CRC (1<<16)
|
||||
|
||||
int irq; /* Device IRQ */
|
||||
void __iomem *ioaddr; /* Mapped address */
|
||||
|
|
|
|||
Loading…
Reference in a new issue