Lines Matching refs:intmask
3262 static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask, u32 *intmask_p)
3265 if (intmask & SDHCI_INT_AUTO_CMD_ERR && host->data_cmd) {
3288 mmc_hostname(host->mmc), (unsigned)intmask);
3294 if (intmask & (SDHCI_INT_TIMEOUT | SDHCI_INT_CRC |
3296 if (intmask & SDHCI_INT_TIMEOUT) {
3306 (intmask & (SDHCI_INT_CRC | SDHCI_INT_TIMEOUT)) ==
3318 if (intmask & SDHCI_INT_AUTO_CMD_ERR) {
3334 if (intmask & SDHCI_INT_RESPONSE)
3370 static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
3379 if (intmask & SDHCI_INT_DATA_AVAIL && !host->data) {
3396 if (intmask & SDHCI_INT_DATA_TIMEOUT) {
3403 if (intmask & SDHCI_INT_DATA_END) {
3427 mmc_hostname(host->mmc), (unsigned)intmask);
3434 if (intmask & SDHCI_INT_DATA_TIMEOUT) {
3437 } else if (intmask & SDHCI_INT_DATA_END_BIT) {
3441 } else if ((intmask & SDHCI_INT_DATA_CRC) &&
3447 } else if (intmask & SDHCI_INT_ADMA_ERROR) {
3449 intmask);
3454 host->ops->adma_workaround(host, intmask);
3460 if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL))
3472 if (intmask & SDHCI_INT_DMA_END) {
3489 if (intmask & SDHCI_INT_DATA_END) {
3519 u32 intmask, mask, unexpected = 0;
3530 intmask = sdhci_readl(host, SDHCI_INT_STATUS);
3531 if (!intmask || intmask == 0xffffffff) {
3537 DBG("IRQ status 0x%08x\n", intmask);
3540 intmask = host->ops->irq(host, intmask);
3541 if (!intmask)
3546 mask = intmask & (SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK |
3550 if (intmask & (SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE)) {
3572 sdhci_writel(host, intmask & (SDHCI_INT_CARD_INSERT |
3575 host->thread_isr |= intmask & (SDHCI_INT_CARD_INSERT |
3580 if (intmask & SDHCI_INT_CMD_MASK)
3581 sdhci_cmd_irq(host, intmask & SDHCI_INT_CMD_MASK, &intmask);
3583 if (intmask & SDHCI_INT_DATA_MASK)
3584 sdhci_data_irq(host, intmask & SDHCI_INT_DATA_MASK);
3586 if (intmask & SDHCI_INT_BUS_POWER)
3590 if (intmask & SDHCI_INT_RETUNE)
3593 if ((intmask & SDHCI_INT_CARD_INT) &&
3599 intmask &= ~(SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE |
3604 if (intmask) {
3605 unexpected |= intmask;
3606 sdhci_writel(host, intmask, SDHCI_INT_STATUS);
3612 intmask = sdhci_readl(host, SDHCI_INT_STATUS);
3613 } while (intmask && --max_loops);
3963 bool sdhci_cqe_irq(struct sdhci_host *host, u32 intmask, int *cmd_error,
3971 if (intmask & (SDHCI_INT_INDEX | SDHCI_INT_END_BIT | SDHCI_INT_CRC)) {
3975 } else if (intmask & SDHCI_INT_TIMEOUT) {
3981 if (intmask & (SDHCI_INT_DATA_END_BIT | SDHCI_INT_DATA_CRC)) {
3985 } else if (intmask & SDHCI_INT_DATA_TIMEOUT) {
3988 } else if (intmask & SDHCI_INT_ADMA_ERROR) {
3995 mask = intmask & host->cqe_ier;
3998 if (intmask & SDHCI_INT_BUS_POWER)
4002 intmask &= ~(host->cqe_ier | SDHCI_INT_ERROR);
4003 if (intmask) {
4004 sdhci_writel(host, intmask, SDHCI_INT_STATUS);
4006 mmc_hostname(host->mmc), intmask);