Re: [PATCH v4 2/2] mmc: core: Support packed command for eMMC4.5 device

From: Namjae Jeon
Date: Mon Feb 20 2012 - 21:08:43 EST


2012/2/21 <merez@xxxxxxxxxxxxxx>:
>>
>> @@ -1262,21 +1608,32 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue
>> *mq, struct request *rqc)
>> Â Â Â int ret = 1, disable_multi = 0, retry = 0, type;
>> Â Â Â enum mmc_blk_status status;
>> Â Â Â struct mmc_queue_req *mq_rq;
>> - Â Â struct request *req;
>> + Â Â struct request *req, *prq;
>> Â Â Â struct mmc_async_req *areq;
>> + Â Â u8 reqs = 0;
>>
>> Â Â Â if (!rqc && !mq->mqrq_prev->req)
>> Â Â Â Â Â Â Â return 0;
>>
>> + Â Â if (rqc)
>> + Â Â Â Â Â Â reqs = mmc_blk_prep_packed_list(mq, rqc);
>> +
>> Â Â Â do {
>> Â Â Â Â Â Â Â if (rqc) {
>> - Â Â Â Â Â Â Â Â Â Â mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
>> + Â Â Â Â Â Â Â Â Â Â if (reqs >= card->host->packed_min)
> In case host->packed_min will be set to a value bigger than 2 you will
> loose all the requests that were added to the packed list. If you want to
> support dynamic number of min packed requests you need to move the packed
> list preparation to queue.c where you can issue the fetched requests one
> after another, when (reqs < card->host->packed_min).
I don't understand why packed list preparation should be moved to
queue.c for dynamic number of packed min.
we can change packed min value via sysfs without compiling.
Would you explain more ?

>> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_blk_packed_hdr_wrq_prep(mq->mqrq_cur, card, mq, reqs);
>> + Â Â Â Â Â Â Â Â Â Â else
>> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â mmc_blk_rw_rq_prep(mq->mqrq_cur, card, 0, mq);
>
> Thanks,
> Maya Erez
> Consultant for Qualcomm Innovation Center, Inc.
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/