Lines Matching refs:intmask
3196 static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask, u32 *intmask_p) in sdhci_cmd_irq() argument
3199 if (intmask & SDHCI_INT_AUTO_CMD_ERR && host->data_cmd) { in sdhci_cmd_irq()
3222 mmc_hostname(host->mmc), (unsigned)intmask); in sdhci_cmd_irq()
3227 if (intmask & (SDHCI_INT_TIMEOUT | SDHCI_INT_CRC | in sdhci_cmd_irq()
3229 if (intmask & SDHCI_INT_TIMEOUT) in sdhci_cmd_irq()
3236 (intmask & (SDHCI_INT_CRC | SDHCI_INT_TIMEOUT)) == in sdhci_cmd_irq()
3248 if (intmask & SDHCI_INT_AUTO_CMD_ERR) { in sdhci_cmd_irq()
3262 if (intmask & SDHCI_INT_RESPONSE) in sdhci_cmd_irq()
3298 static void sdhci_data_irq(struct sdhci_host *host, u32 intmask) in sdhci_data_irq() argument
3303 if (intmask & SDHCI_INT_DATA_AVAIL) { in sdhci_data_irq()
3322 if (intmask & SDHCI_INT_DATA_TIMEOUT) { in sdhci_data_irq()
3328 if (intmask & SDHCI_INT_DATA_END) { in sdhci_data_irq()
3352 mmc_hostname(host->mmc), (unsigned)intmask); in sdhci_data_irq()
3358 if (intmask & SDHCI_INT_DATA_TIMEOUT) in sdhci_data_irq()
3360 else if (intmask & SDHCI_INT_DATA_END_BIT) in sdhci_data_irq()
3362 else if ((intmask & SDHCI_INT_DATA_CRC) && in sdhci_data_irq()
3366 else if (intmask & SDHCI_INT_ADMA_ERROR) { in sdhci_data_irq()
3368 intmask); in sdhci_data_irq()
3372 host->ops->adma_workaround(host, intmask); in sdhci_data_irq()
3378 if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL)) in sdhci_data_irq()
3390 if (intmask & SDHCI_INT_DMA_END) { in sdhci_data_irq()
3407 if (intmask & SDHCI_INT_DATA_END) { in sdhci_data_irq()
3437 u32 intmask, mask, unexpected = 0; in sdhci_irq() local
3448 intmask = sdhci_readl(host, SDHCI_INT_STATUS); in sdhci_irq()
3449 if (!intmask || intmask == 0xffffffff) { in sdhci_irq()
3455 DBG("IRQ status 0x%08x\n", intmask); in sdhci_irq()
3458 intmask = host->ops->irq(host, intmask); in sdhci_irq()
3459 if (!intmask) in sdhci_irq()
3464 mask = intmask & (SDHCI_INT_CMD_MASK | SDHCI_INT_DATA_MASK | in sdhci_irq()
3468 if (intmask & (SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE)) { in sdhci_irq()
3490 sdhci_writel(host, intmask & (SDHCI_INT_CARD_INSERT | in sdhci_irq()
3493 host->thread_isr |= intmask & (SDHCI_INT_CARD_INSERT | in sdhci_irq()
3498 if (intmask & SDHCI_INT_CMD_MASK) in sdhci_irq()
3499 sdhci_cmd_irq(host, intmask & SDHCI_INT_CMD_MASK, &intmask); in sdhci_irq()
3501 if (intmask & SDHCI_INT_DATA_MASK) in sdhci_irq()
3502 sdhci_data_irq(host, intmask & SDHCI_INT_DATA_MASK); in sdhci_irq()
3504 if (intmask & SDHCI_INT_BUS_POWER) in sdhci_irq()
3508 if (intmask & SDHCI_INT_RETUNE) in sdhci_irq()
3511 if ((intmask & SDHCI_INT_CARD_INT) && in sdhci_irq()
3517 intmask &= ~(SDHCI_INT_CARD_INSERT | SDHCI_INT_CARD_REMOVE | in sdhci_irq()
3522 if (intmask) { in sdhci_irq()
3523 unexpected |= intmask; in sdhci_irq()
3524 sdhci_writel(host, intmask, SDHCI_INT_STATUS); in sdhci_irq()
3530 intmask = sdhci_readl(host, SDHCI_INT_STATUS); in sdhci_irq()
3531 } while (intmask && --max_loops); in sdhci_irq()
3880 bool sdhci_cqe_irq(struct sdhci_host *host, u32 intmask, int *cmd_error, in sdhci_cqe_irq() argument
3888 if (intmask & (SDHCI_INT_INDEX | SDHCI_INT_END_BIT | SDHCI_INT_CRC)) in sdhci_cqe_irq()
3890 else if (intmask & SDHCI_INT_TIMEOUT) in sdhci_cqe_irq()
3895 if (intmask & (SDHCI_INT_DATA_END_BIT | SDHCI_INT_DATA_CRC)) in sdhci_cqe_irq()
3897 else if (intmask & SDHCI_INT_DATA_TIMEOUT) in sdhci_cqe_irq()
3899 else if (intmask & SDHCI_INT_ADMA_ERROR) in sdhci_cqe_irq()
3905 mask = intmask & host->cqe_ier; in sdhci_cqe_irq()
3908 if (intmask & SDHCI_INT_BUS_POWER) in sdhci_cqe_irq()
3912 intmask &= ~(host->cqe_ier | SDHCI_INT_ERROR); in sdhci_cqe_irq()
3913 if (intmask) { in sdhci_cqe_irq()
3914 sdhci_writel(host, intmask, SDHCI_INT_STATUS); in sdhci_cqe_irq()
3916 mmc_hostname(host->mmc), intmask); in sdhci_cqe_irq()