mmc_set_data_timeout(&data, card);mmc_wait_for_req(card->host, &mrq);if(cmd.error)returncmd.error;if(data.error)returndata.error;return0; } 开发者ID:Jeongduckho,项目名称:SJKernel-gn2,代码行数:40,代码来源:mmc_ops.c 示例3: sd_send_lock_unlock_cmd ▲点赞 5▼ intsd_send_lock_u...
*/intmmc_wait_for_req(struct mmc_host *host, struct mmc_request *mrq)//sw2-6-1-RH-Wlan_Reset7-00*{ DECLARE_COMPLETION_ONSTACK(complete); mrq->done_data = &complete; mrq->done = mmc_wait_done;mmc_start_request(host, mrq);//sw2-6-1-RH-Wlan_Reset7-00*[// wait_for_completion...
1、流程上的差别:(1)会阻塞的处理流程: mmc_wait_for_req ——》__mmc_start_req // 发起请求———》init_completion(&mrq->completion); ———》mrq->done = mmc_wait_done ———》mmc_start_request(host, mrq); // 实际发起请求的操作——》mmc_wait_for_req_done // 阻塞等待请求处理完成...
drivers/MMC/core/core.c:473 [MMC_core]MMC_WAIT_for_req_done =p "%s":请求失败(CMD%u):%d、重试...\012" drivers/MMC/core/core.c:2278 [MMC_core]MMC_calc_max_discard =p "%s":计算的最大值 放弃扇区%u 以进行超时%u ms\012" drivers/MMC/core/core.c:999 [MMC_core]MMC_set...
mmc_wait_for_req(card->host, &brq.mrq);/* * A block was successfully transferred. */spin_lock_irq(&md->lock); ret = __blk_end_request(req,0, brq.data.bytes_xfered); spin_unlock_irq(&md->lock); }while(ret);return1;
mmc_wait_for_req(card->host, &brq.mrq); /* * A block was successfully transferred. */ spin_lock_irq(&md->lock); ret = __blk_end_request(req, 0, brq.data.bytes_xfered); spin_unlock_irq(&md->lock); } while (ret);
mmc_wait_for_req mmc_wait_for_cmd mmc_set_data_timeout mmc_align_data_size 7、card检测相关 mmc_detect_change mmc_rescan mmc_detect_card_removed 8、bkops操作相关 mmc_blk_init_bkops_statistics mmc_start_delayed_bkops mmc_start_bkops & mmc_stop_bkops ...
continue; /* wait for done/new event again */ } } else if (context_info->is_new_req) { context_info->is_new_req = false; - if (!next_req) { - err = MMC_BLK_NEW_REQUEST; - break; /* return err */ - } + if (!next_req) ...
static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req){struct mmc_blk_data *md = mq->data;struct mmc_card *card = md->queue.card;struct mmc_blk_request brq;int ret = 1, disable_multi = 0;do {mmc_wait_for_req(card->host, &brq.mrq);...
mmc_wait_for_req mmc_wait_for_cmd mmc_set_data_timeout mmc_align_data_size 7、card检测相关 mmc_detect_change mmc_rescan mmc_detect_card_removed 8、bkops操作相关 mmc_blk_init_bkops_statistics mmc_start_delayed_bkops mmc_start_bkops & mmc_stop_bkops ...