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 |
{ |