From: "Konstantin Dorfman" <kdorfman@codeaurora.org>
To: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>,
linux-mmc <linux-mmc@vger.kernel.org>,
Chris Ball <cjb@laptop.org>,
Kyungmin Park <kyungmin.park@samsung.com>,
Hanumath Prasad <hanumath.prasad@stericsson.com>,
Per FORLIN <per.forlin@stericsson.com>,
Sebastian Rasmussen <sebras@gmail.com>,
"Dong, Chuanxiao" <chuanxiao.dong@intel.com>,
"svenkatr@ti.com" <svenkatr@ti.com>,
Saugata Das <saugata.das@linaro.org>,
Konstantin Dorfman <kdorfman@codeaurora.org>,
Maya Erez <merez@codeaurora.org>,
Ulf Hansson <ulf.hansson@stericsson.com>
Subject: Re: [PATCH v9] mmc: support BKOPS feature for eMMC
Date: Thu, 14 Jun 2012 17:58:50 +0300 (IDT) [thread overview]
Message-ID: <fbe39ac33590ae06606fc19ed96fdb97.squirrel@www.codeaurora.org> (raw)
In-Reply-To: <4FD9EB47.6000905@intel.com>
Hello Adrian,
On Thu, June 14, 2012 4:46 pm, Adrian Hunter wrote:
> On 08/06/12 07:39, Jaehoon Chung wrote:
>> Enable eMMC background operations (BKOPS) feature.
>>
>> If URGENT_BKOPS is set after a response, note that BKOPS
>> are required. After all I/O requests are finished, run
>> BKOPS if required. Should read/write operations be requested
>> during BKOPS, first issue HPI to interrupt the ongoing BKOPS
>> and then service the request.
>> If BKOPS-STATUS is upper than LEVEL2, need to check until clear
>> the BKOPS-STATUS vaule.
>>
>> If you want to enable this feature, set MMC_CAP2_BKOPS.
>> And if you want to set the BKOPS_EN bit in ext_csd register,
>> use the MMC_CAP2_INIT_BKOPS.
>>
>> Future considerations
>> * Check BKOPS_LEVEL=1 and start BKOPS in a preventive manner.
>> * Interrupt ongoing BKOPS before powering off the card.
>> * How get BKOPS_STATUS value.(periodically send ext_csd command?)
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
>> Signed-off-by: Maya Erez <merez@codeaurora.org>
>> ---
>
> I would not expect this to work nicely with runtime PM. I expect that
> BKOPS
> would need to be stopped beforehand. But that would limit the time
> available for BKOPS since runtime PM would always kick in and stop it.
> How
> is runtime PM to be handled?
>
Indeed, it is handled in mmc_suspend_host(), HPI issued before CMD5, when
background BKOPS in progress.
We expect to start BKOPS when idle period starts (no block requests
incoming). Then we have 2 cases:
1) URGENT level reached => BKOPS started synchronously and host will wait
till no more BKOPS needed
2) BKOPS level is not URGENT, there is host controller driver defined
timeout after last host command, before runtime suspend flow triggerred.
For example for msm_sdcc it is 5 second.
This implementation was tested and we did not see URGENT levels and
performance degradation.
--
Kostya Dorfman,
Consultant for Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
next prev parent reply other threads:[~2012-06-14 14:58 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-08 4:39 [PATCH v9] mmc: support BKOPS feature for eMMC Jaehoon Chung
2012-06-13 12:40 ` Dong, Chuanxiao
[not found] ` <17296D9F8FF2234F831FC3DF505A87A90FEA11E5@SHSMSX102.ccr.corp.intel.com >
2012-06-14 14:49 ` Konstantin Dorfman
2012-06-15 3:00 ` Jaehoon Chung
2012-06-13 13:53 ` S, Venkatraman
2012-06-14 8:44 ` merez
2012-06-15 4:29 ` Jaehoon Chung
2012-06-14 13:46 ` Adrian Hunter
2012-06-14 14:58 ` Konstantin Dorfman [this message]
2012-07-12 5:02 ` Jaehoon Chung
2012-07-12 6:00 ` Adrian Hunter
2012-07-12 6:50 ` Jaehoon Chung
[not found] ` <4FD88B7D.3000600@codeaurora.org>
2012-06-15 4:19 ` Jaehoon Chung
2012-06-15 6:10 ` Subhash Jadavani
2012-07-06 16:47 ` Chris Ball
2012-07-08 10:13 ` merez
2012-07-09 2:34 ` Jaehoon Chung
2012-07-09 2:48 ` Chris Ball
2012-07-09 4:14 ` Jaehoon Chung
2012-07-09 4:39 ` Chris Ball
-- strict thread matches above, loose matches on Subject: below --
2012-06-12 10:58 merez
2012-06-13 3:07 ` Jaehoon Chung
2012-06-13 6:18 ` merez
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=fbe39ac33590ae06606fc19ed96fdb97.squirrel@www.codeaurora.org \
--to=kdorfman@codeaurora.org \
--cc=adrian.hunter@intel.com \
--cc=chuanxiao.dong@intel.com \
--cc=cjb@laptop.org \
--cc=hanumath.prasad@stericsson.com \
--cc=jh80.chung@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-mmc@vger.kernel.org \
--cc=merez@codeaurora.org \
--cc=per.forlin@stericsson.com \
--cc=saugata.das@linaro.org \
--cc=sebras@gmail.com \
--cc=svenkatr@ti.com \
--cc=ulf.hansson@stericsson.com \
/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).