<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/mmc/core.h, branch v3.1.4</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.1.4</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.1.4'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2011-07-20T21:21:10+00:00</updated>
<entry>
<title>mmc: core: add non-blocking mmc request function</title>
<updated>2011-07-20T21:21:10+00:00</updated>
<author>
<name>Per Forlin</name>
<email>per.forlin@linaro.org</email>
</author>
<published>2011-07-01T16:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=aa8b683a7d392271ed349c6ab9f36b8c313794b7'/>
<id>urn:sha1:aa8b683a7d392271ed349c6ab9f36b8c313794b7</id>
<content type='text'>
Previously there has only been one function mmc_wait_for_req()
to start and wait for a request. This patch adds:

 * mmc_start_req() - starts a request wihtout waiting
   If there is on ongoing request wait for completion
   of that request and start the new one and return.
   Does not wait for the new command to complete.

This patch also adds new function members in struct mmc_host_ops
only called from core.c:

 * pre_req - asks the host driver to prepare for the next job
 * post_req - asks the host driver to clean up after a completed job

The intention is to use pre_req() and post_req() to do cache maintenance
while a request is active. pre_req() can be called while a request is
active to minimize latency to start next job. post_req() can be used after
the next job is started to clean up the request. This will minimize the
host driver request end latency. post_req() is typically used before
ending the block request and handing over the buffer to the block layer.

Add a host-private member in mmc_data to be used by pre_req to mark the
data. The host driver will then check this mark to see if the data is
prepared or not.

Signed-off-by: Per Forlin &lt;per.forlin@linaro.org&gt;
Acked-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Acked-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Reviewed-by: Venkatraman S &lt;svenkatr@ti.com&gt;
Tested-by: Sourav Poddar &lt;sourav.poddar@ti.com&gt;
Tested-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: queue: let host controllers specify maximum discard timeout</title>
<updated>2011-07-20T21:21:03+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2011-06-28T14:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e056a1b5b67b4e4bfad00bf143ab14f634777705'/>
<id>urn:sha1:e056a1b5b67b4e4bfad00bf143ab14f634777705</id>
<content type='text'>
Some host controllers will not operate without a hardware
timeout that is limited in value.  However large discards
require large timeouts, so there needs to be a way to
specify the maximum discard size.

A host controller driver may now specify the maximum discard
timeout possible so that max_discard_sectors can be calculated.

However, for eMMC when the High Capacity Erase Group Size
is not in use, the timeout calculation depends on clock
rate which may change.  For that case Preferred Erase Size
is used instead.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: Standardize header file inclusion checks.</title>
<updated>2011-07-20T21:20:48+00:00</updated>
<author>
<name>Robert P. J. Day</name>
<email>rpjday@crashcourse.ca</email>
</author>
<published>2011-05-27T20:04:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=100e918610b7487fa18db97b3879cd8d1fdd5974'/>
<id>urn:sha1:100e918610b7487fa18db97b3879cd8d1fdd5974</id>
<content type='text'>
Standardize the checks for multiple MMC header file inclusion,
including adding comments to terminating #endif's, and fixing
one incorrect comment.

Signed-off-by: Robert P. J. Day &lt;rpjday@crashcourse.ca&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Use CMD23 for multiblock transfers when we can.</title>
<updated>2011-05-25T20:48:46+00:00</updated>
<author>
<name>Andrei Warkentin</name>
<email>andreiw@motorola.com</email>
</author>
<published>2011-05-23T20:06:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d0c97cfb81ebc5b416c0f92fa2fc18d2773e3023'/>
<id>urn:sha1:d0c97cfb81ebc5b416c0f92fa2fc18d2773e3023</id>
<content type='text'>
CMD23-prefixed instead of open-ended multiblock transfers
have a performance advantage on some MMC cards.

Signed-off-by: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Add mmc CMD+ACMD passthrough ioctl</title>
<updated>2011-05-25T01:02:54+00:00</updated>
<author>
<name>John Calixto</name>
<email>john.calixto@modsystems.com</email>
</author>
<published>2011-04-26T22:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cb87ea28ed9e75a41eb456bfcb547b4e6f10e750'/>
<id>urn:sha1:cb87ea28ed9e75a41eb456bfcb547b4e6f10e750</id>
<content type='text'>
Allows appropriately-privileged applications to send CMD (normal) and ACMD
(application-specific; preceded with CMD55) commands to cards/devices on
the mmc bus.  This is primarily useful for enabling the security
functionality built in to every SD card.

It can also be used as a generic passthrough (e.g. to enable virtual
machines to control mmc bus devices directly).  However, this use case has
not been tested rigorously.  Generic passthrough testing was only conducted
for a few non-security opcodes to prove the feasibility of the passthrough.

Since any opcode can be sent using this passthrough, it is very possible to
render the card/device unusable.  Applications that use this ioctl must
have CAP_SYS_RAWIO.

Security commands tested on TI PCIxx12 (SDHCI), Sigma Designs SMP8652 SoC,
TI OMAP3621/OMAP3630 SoC, Samsung S5PC110 SoC, Qualcomm MSM7200A SoC.

Signed-off-by: John Calixto &lt;john.calixto@modsystems.com&gt;
Reviewed-by: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Allow setting CMD timeout for CMD6 (SWITCH).</title>
<updated>2011-05-25T01:01:13+00:00</updated>
<author>
<name>Andrei Warkentin</name>
<email>andreiw@motorola.com</email>
</author>
<published>2011-04-11T21:13:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d3a8d95dcbb726b9cf0bbc166b2473bdd236c88c'/>
<id>urn:sha1:d3a8d95dcbb726b9cf0bbc166b2473bdd236c88c</id>
<content type='text'>
CMD6 is an R1B-type command, where DAT is used as busy. Depending
on register written using CMD6, timeout value can be different
as per spec.

Signed-off-by: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Rename erase_timeout to cmd_timeout_ms.</title>
<updated>2011-05-25T01:01:05+00:00</updated>
<author>
<name>Andrei Warkentin</name>
<email>andreiw@motorola.com</email>
</author>
<published>2011-04-11T21:13:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=eaa02f751ff4f8abfc2e55a15c20a5a274244418'/>
<id>urn:sha1:eaa02f751ff4f8abfc2e55a15c20a5a274244418</id>
<content type='text'>
Renames erase_timeout to cmd_timeout_ms inside struct mmc_command.
First step to making host honor timeouts for non-data-transfer
commands. Cleans up erase timeout code.

Signed-off-by: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: export function mmc_do_release_host()</title>
<updated>2011-03-17T19:35:11+00:00</updated>
<author>
<name>Ulf Hansson</name>
<email>ulf.hansson@stericsson.com</email>
</author>
<published>2011-03-09T08:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ab1efd271704416c9e6e9cb4e5f58e7e4c4260e6'/>
<id>urn:sha1:ab1efd271704416c9e6e9cb4e5f58e7e4c4260e6</id>
<content type='text'>
When using mmc_try_claim_host the corresponding release
function is mmc_do_release_host, which then also must
be exported.

Reviewed-by: Jonas Aberg &lt;jonas.aberg@stericsson.com&gt;
Reviewed-by: Sebastian Rasmussen &lt;sebastian.rasmussen@stericsson.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@stericsson.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: Fixes for Dual Data Rate (DDR) support</title>
<updated>2010-10-23T13:11:16+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@nokia.com</email>
</author>
<published>2010-08-24T10:20:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0f8d8ea64ec7c77ca5beb59534d386fe0235961a'/>
<id>urn:sha1:0f8d8ea64ec7c77ca5beb59534d386fe0235961a</id>
<content type='text'>
The DDR support patch needs the following fixes:

- The block driver does not need to know about DDR, any more
  than it needs to know about bus width.
- Not only the card must be switched to DDR mode.  The host
  controller must also be configured, which is done through
  the 'set_ios()' function.
- Do not set the DDR mode state until after the switch command
  is successful.
- Setting block length is not supported in DDR mode.  Make that
  a core function and change the other place it is used (mmc_test)
  also.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: MMC 4.4 DDR support</title>
<updated>2010-10-23T13:11:16+00:00</updated>
<author>
<name>Hanumath Prasad</name>
<email>hanumath.prasad@stericsson.com</email>
</author>
<published>2010-09-30T21:37:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=dfc13e8402c75e7c2e0a52e123c0500a3259866b'/>
<id>urn:sha1:dfc13e8402c75e7c2e0a52e123c0500a3259866b</id>
<content type='text'>
Add support for Dual Data Rate MMC cards as defined in the 4.4
specification.

Signed-off-by: Hanumath Prasad &lt;hanumath.prasad@stericsson.com&gt;
Cc: linux-mmc@vger.kernel.org
Acked-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Tested-by Zhangfei Gao &lt;zhangfei.gao@marvell.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
</feed>
