OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 74 to Rev 75
    Reverse comparison

Rev 74 → Rev 75

/test_project/trunk/linux_sd_driver/drivers/mmc/host/mmc_ocores.c
131,7 → 131,7
oc_host=host;
//XXX:Remove after uppdated bitfil with Timeout
if (cmd->opcode == 8 || cmd->opcode == 5 )
/*if (cmd->opcode == 8 || cmd->opcode == 5 )
{
host->mrq->cmd->error = -ETIMEDOUT;
mmc_request_done(host->mmc, host->mrq);
142,7 → 142,11
writel(cmd_command, host->base + SD_COMMAND);
wmb();
writel(cmd_arg, host->base + SD_ARG);
}
}*/
CMD_IRQ_ON (host,(ECC|EEI));
writel(cmd_command, host->base + SD_COMMAND);
wmb();
writel(cmd_arg, host->base + SD_ARG);
}
 
static void ocores_process_next(struct ocores_host *host)
398,27 → 402,38
{
if ( mmc_resp_type(host->mrq->cmd) == MMC_RSP_R2 ) //Long response
{
printk(KERN_ALERT "Long Response, Word Cnt * = %08x\n ",host->word_cnt);
host->word_cnt+=1;
switch(host->word_cnt-1)
{
case (0):
host->mrq->cmd->resp[3] = readl(host->base + SD_RESP1);
ocores_start_cmd(host, host->mrq->cmd);
break;
case (1):
host->mrq->cmd->resp[2] = readl(host->base + SD_RESP1);
ocores_start_cmd(host, host->mrq->cmd);
break;
case (2):
host->mrq->cmd->resp[1] = readl(host->base + SD_RESP1);
ocores_start_cmd(host, host->mrq->cmd);
break;
case (3):
host->mrq->cmd->resp[0] = readl(host->base + SD_RESP1);
mmc_request_done(host->mmc, host->mrq);
break;
printk(KERN_ALERT "Long Response, Word Cnt %d, RESP * = %08x\n ",host->word_cnt,readl(host->base + SD_RESP1));
if (host->mrq->cmd->opcode == 2){
host->mrq->cmd->resp[3] = readl(host->base + SD_RESP1);
host->mrq->cmd->resp[2] = 0xaaaaaaaa;
host->mrq->cmd->resp[1] = 0xbbbbbbbb;
host->mrq->cmd->resp[0] = 0;
mmc_request_done(host->mmc, host->mrq);
}
else {
host->word_cnt+=1;
switch(host->word_cnt-1)
{
case (0):
host->mrq->cmd->resp[3] = readl(host->base + SD_RESP1);
ocores_start_cmd(host, host->mrq->cmd);
break;
case (1):
host->mrq->cmd->resp[2] = readl(host->base + SD_RESP1);
ocores_start_cmd(host, host->mrq->cmd);
break;
case (2):
host->mrq->cmd->resp[1] = readl(host->base + SD_RESP1);
ocores_start_cmd(host, host->mrq->cmd);
break;
case (3):
host->mrq->cmd->resp[0] = readl(host->base + SD_RESP1);
mmc_request_done(host->mmc, host->mrq);
break;
}
}
}
else //Short response
{

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.