Re: [Patch 2/3] via-sdmmc: via-sdmmc.c
From: Oliver Neukum
Date: Tue Dec 16 2008 - 06:56:21 EST
Am Dienstag, 16. Dezember 2008 12:41:35 schrieb JosephChan@xxxxxxxxxx:
> +ÂÂÂÂÂÂÂspin_lock_irqsave(&host->lock, flags);
> +
> +ÂÂÂÂÂÂÂaddrbase = vcrdr_chip->pcictrl_mmiobase;
> +ÂÂÂÂÂÂÂwriteb(PCI_DMA_CLK_SDC, addrbase + PCIDMACLK_REG);
> +ÂÂÂÂÂÂÂvcrdr_chip->cur_device = DEV_SDC;
> +
> +ÂÂÂÂÂÂÂaddrbase = vcrdr_chip->sdhc_mmiobase;
> +ÂÂÂÂÂÂÂstatus = readw(addrbase + SDSTATUS_REG);
> +ÂÂÂÂÂÂÂif (!(status & SD_STS_SLOTG)) {
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂif (host->mrq) {
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂpr_err("%s: Card removed during transfer!\n",
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ Â Â Â mmc_hostname(host->mmc));
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂhost->mrq->cmd->error = -ENOMEDIUM;
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂtasklet_schedule(&host->finish_tasklet);
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ}
> +
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂaddrbase = vcrdr_chip->pcictrl_mmiobase;
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂwriteb(PCI_CLK_375K, addrbase + PCISDCCLK_REG);
> +
> +ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂvia_reset_pcictrl(host);
This means a long delay with interrupts off. Is this really needed?
Regards
Oliver
èº{.nÇ+·®+%Ëlzwm
ébëæìr¸zX§»®w¥{ayºÊÚë,j¢f£¢·hàz¹®w¥¢¸¢·¦j:+v¨wèjØm¶ÿ¾«êçzZ+ùÝj"ú!¶iOæ¬z·vØ^¶m§ÿðÃnÆàþY&