linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: per.forlin@linaro.org (Per Forlin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v6 02/11] omap_hsmmc: add support for pre_req and post_req
Date: Tue, 21 Jun 2011 08:51:08 +0200	[thread overview]
Message-ID: <BANLkTinNG2h747MggWfoJfMp4wOSTaTKSg@mail.gmail.com> (raw)
In-Reply-To: <BANLkTi=+o496k8Uz_k33AH=Zr8+MaFOEig@mail.gmail.com>

On 21 June 2011 07:41, Kishore Kadiyala <kishorek.kadiyala@gmail.com> wrote:
> <snip>
>
>> +
>> +static void omap_hsmmc_pre_req(struct mmc_host *mmc, struct mmc_request *mrq,
>> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bool is_first_req)
>
> I don't see the usage of "is_first_req" below.
> Is it required?
>
It is not required. It is only an indication that this request is the
first in a series of request. The host driver may do various
optimisations based on this information. The first request in a series
of jobs can't be prepared in parallel to the previous job. The host
driver can do the following to minimise latency for the first job.
 * Preparing the cache while the MMC read/write cmd is being
processed. In this case the pre_req could do nothing and the job is
instead run in parallel to the read/write cmd being sent. If the
is_first_req is false pre_req will run in parallel to an active
transfer, in this case it is more efficient to prepare the request in
pre_req.
 * Run PIO mode instead of DMA
 * Maybe there can be power related optimisations based on if it is
one single transfer or multiple ones.

>> +{
>> + ? ? ? struct omap_hsmmc_host *host = mmc_priv(mmc);
>> +
>> + ? ? ? if (mrq->data->host_cookie) {
>> + ? ? ? ? ? ? ? mrq->data->host_cookie = 0;
>> + ? ? ? ? ? ? ? return ;
>> + ? ? ? }
>> +
>> + ? ? ? if (host->use_dma)
>> + ? ? ? ? ? ? ? if (omap_hsmmc_pre_dma_transfer(host, mrq->data,
>> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? &host->next_data))
>> + ? ? ? ? ? ? ? ? ? ? ? mrq->data->host_cookie = 0;
>> +}
>> +
>> ?/*
>

Thanks for your comments,
Per

  reply	other threads:[~2011-06-21  6:51 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-19 21:17 [PATCH v6 00/11] mmc: use nonblock mmc requests to minimize latency Per Forlin
2011-06-19 21:17 ` [PATCH v6 01/11] mmc: add non-blocking mmc request function Per Forlin
2011-06-19 21:17 ` [PATCH v6 02/11] omap_hsmmc: add support for pre_req and post_req Per Forlin
2011-06-21  5:41   ` Kishore Kadiyala
2011-06-21  6:51     ` Per Forlin [this message]
2011-06-21 13:56       ` Kishore Kadiyala
2011-06-21 19:18       ` Nicolas Pitre
2011-06-21 20:18         ` Per Forlin
2011-06-21 20:29           ` Nicolas Pitre
2011-06-19 21:17 ` [PATCH v6 03/11] mmci: implement pre_req() and post_req() Per Forlin
2011-06-19 21:17 ` [PATCH v6 04/11] mmc: mmc_test: add debugfs file to list all tests Per Forlin
2011-06-19 21:17 ` [PATCH v6 05/11] mmc: mmc_test: add test for non-blocking transfers Per Forlin
2011-06-19 21:17 ` [PATCH v6 06/11] mmc: add member in mmc queue struct to hold request data Per Forlin
2011-06-19 21:17 ` [PATCH v6 07/11] mmc: add a block request prepare function Per Forlin
2011-06-19 21:17 ` [PATCH v6 08/11] mmc: move error code in mmc_block_issue_rw_rq to a separate function Per Forlin
2011-06-19 21:17 ` [PATCH v6 09/11] mmc: add a second mmc queue request member Per Forlin
2011-06-19 21:17 ` [PATCH v6 10/11] mmc: test: add random fault injection in core.c Per Forlin
2011-06-19 21:17 ` [PATCH v6 11/11] mmc: add handling for two parallel block requests in issue_rw_rq Per Forlin
2011-06-20 15:17   ` Kishore Kadiyala
2011-06-21  6:40     ` Per Forlin
2011-06-21  7:05       ` Per Forlin
2011-06-21 13:52         ` Kishore Kadiyala
2011-06-21 21:01     ` Per Forlin
2011-06-21  7:14   ` Per Forlin
2011-06-21  7:53 ` [PATCH v6 00/11] mmc: use nonblock mmc requests to minimize latency Russell King - ARM Linux
2011-06-21  8:09   ` Per Forlin
2011-06-21  9:26     ` Per Forlin
2011-06-23 13:37       ` Russell King - ARM Linux
2011-06-24  8:58         ` Per Forlin
2011-06-27  9:42           ` Per Forlin
2011-06-27 10:02             ` Russell King - ARM Linux
2011-06-27 10:21               ` Per Forlin
2011-06-27 15:29               ` Linus Walleij
2011-06-27 16:34                 ` Vijaya Kumar K-1
2011-06-27 10:34   ` saeed bishara
2011-06-27 11:02     ` Russell King - ARM Linux
2011-06-28  6:22       ` saeed bishara
2011-07-03 14:47         ` Russell King - ARM Linux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BANLkTinNG2h747MggWfoJfMp4wOSTaTKSg@mail.gmail.com \
    --to=per.forlin@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).