<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/include/linux/mmc/core.h, branch v2.6.38.5</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<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.toradex.cn/cgit/linux-toradex.git/commit/?id=0f8d8ea64ec7c77ca5beb59534d386fe0235961a'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</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.toradex.cn/cgit/linux-toradex.git/commit/?id=dfc13e8402c75e7c2e0a52e123c0500a3259866b'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: add erase, secure erase, trim and secure trim operations</title>
<updated>2010-08-12T15:43:30+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@nokia.com</email>
</author>
<published>2010-08-11T21:17:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dfe86cba7676d58db8de7e623f5e72f1b0d3ca35'/>
<id>dfe86cba7676d58db8de7e623f5e72f1b0d3ca35</id>
<content type='text'>
SD/MMC cards tend to support an erase operation.  In addition, eMMC v4.4
cards can support secure erase, trim and secure trim operations that are
all variants of the basic erase command.

SD/MMC device attributes "erase_size" and "preferred_erase_size" have been
added.

"erase_size" is the minimum size, in bytes, of an erase operation.  For
MMC, "erase_size" is the erase group size reported by the card.  Note that
"erase_size" does not apply to trim or secure trim operations where the
minimum size is always one 512 byte sector.  For SD, "erase_size" is 512
if the card is block-addressed, 0 otherwise.

SD/MMC cards can erase an arbitrarily large area up to and
including the whole card.  When erasing a large area it may
be desirable to do it in smaller chunks for three reasons:

    1. A single erase command will make all other I/O on the card
       wait.  This is not a problem if the whole card is being erased, but
       erasing one partition will make I/O for another partition on the
       same card wait for the duration of the erase - which could be a
       several minutes.

    2. To be able to inform the user of erase progress.

    3. The erase timeout becomes too large to be very useful.
       Because the erase timeout contains a margin which is multiplied by
       the size of the erase area, the value can end up being several
       minutes for large areas.

"erase_size" is not the most efficient unit to erase (especially for SD
where it is just one sector), hence "preferred_erase_size" provides a good
chunk size for erasing large areas.

For MMC, "preferred_erase_size" is the high-capacity erase size if a card
specifies one, otherwise it is based on the capacity of the card.

For SD, "preferred_erase_size" is the allocation unit size specified by
the card.

"preferred_erase_size" is in bytes.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Kyungmin Park &lt;kmpark@infradead.org&gt;
Cc: Madhusudhan Chikkature &lt;madhu.cr@ti.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Ben Gardiner &lt;bengardiner@nanometrics.ca&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
SD/MMC cards tend to support an erase operation.  In addition, eMMC v4.4
cards can support secure erase, trim and secure trim operations that are
all variants of the basic erase command.

SD/MMC device attributes "erase_size" and "preferred_erase_size" have been
added.

"erase_size" is the minimum size, in bytes, of an erase operation.  For
MMC, "erase_size" is the erase group size reported by the card.  Note that
"erase_size" does not apply to trim or secure trim operations where the
minimum size is always one 512 byte sector.  For SD, "erase_size" is 512
if the card is block-addressed, 0 otherwise.

SD/MMC cards can erase an arbitrarily large area up to and
including the whole card.  When erasing a large area it may
be desirable to do it in smaller chunks for three reasons:

    1. A single erase command will make all other I/O on the card
       wait.  This is not a problem if the whole card is being erased, but
       erasing one partition will make I/O for another partition on the
       same card wait for the duration of the erase - which could be a
       several minutes.

    2. To be able to inform the user of erase progress.

    3. The erase timeout becomes too large to be very useful.
       Because the erase timeout contains a margin which is multiplied by
       the size of the erase area, the value can end up being several
       minutes for large areas.

"erase_size" is not the most efficient unit to erase (especially for SD
where it is just one sector), hence "preferred_erase_size" provides a good
chunk size for erasing large areas.

For MMC, "preferred_erase_size" is the high-capacity erase size if a card
specifies one, otherwise it is based on the capacity of the card.

For SD, "preferred_erase_size" is the allocation unit size specified by
the card.

"preferred_erase_size" is in bytes.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Kyungmin Park &lt;kmpark@infradead.org&gt;
Cc: Madhusudhan Chikkature &lt;madhu.cr@ti.com&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Ben Gardiner &lt;bengardiner@nanometrics.ca&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: allow host claim / release nesting</title>
<updated>2009-09-23T14:39:33+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@nokia.com</email>
</author>
<published>2009-09-22T23:44:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=319a3f1429c91147058ac26c5f5bac8ec1730bc6'/>
<id>319a3f1429c91147058ac26c5f5bac8ec1730bc6</id>
<content type='text'>
This change allows the MMC host to be claimed in situations where the host
may or may not have already been claimed.  Also 'mmc_try_claim_host()' is
now exported.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change allows the MMC host to be claimed in situations where the host
may or may not have already been claimed.  Also 'mmc_try_claim_host()' is
now exported.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Acked-by: Matt Fleming &lt;matt@console-pimps.org&gt;
Cc: Ian Molton &lt;ian@mnementh.co.uk&gt;
Cc: "Roberto A. Foglietta" &lt;roberto.foglietta@gmail.com&gt;
Cc: Jarkko Lavinen &lt;jarkko.lavinen@nokia.com&gt;
Cc: Denis Karpov &lt;ext-denis.2.karpov@nokia.com&gt;
Cc: Pierre Ossman &lt;pierre@ossman.eu&gt;
Cc: Philip Langdale &lt;philipl@overt.org&gt;
Cc: "Madhusudhan" &lt;madhu.cr@ti.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: Add mmc_vddrange_to_ocrmask() helper function</title>
<updated>2008-12-31T17:18:13+00:00</updated>
<author>
<name>Anton Vorontsov</name>
<email>avorontsov@ru.mvista.com</email>
</author>
<published>2008-11-26T19:54:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=86e8286a0e48663e1e86a5884b30a6d05de2993a'/>
<id>86e8286a0e48663e1e86a5884b30a6d05de2993a</id>
<content type='text'>
This function sets the OCR mask bits according to provided voltage
ranges. Will be used by the mmc_spi OpenFirmware bindings.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function sets the OCR mask bits according to provided voltage
ranges. Will be used by the mmc_spi OpenFirmware bindings.

Signed-off-by: Anton Vorontsov &lt;avorontsov@ru.mvista.com&gt;
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc,sdio: helper function for transfer padding</title>
<updated>2008-07-15T12:14:44+00:00</updated>
<author>
<name>Pierre Ossman</name>
<email>drzeus@drzeus.cx</email>
</author>
<published>2008-06-28T10:52:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ad3868b2ec96ec14a1549c9e33f5f9a2a3c6ab15'/>
<id>ad3868b2ec96ec14a1549c9e33f5f9a2a3c6ab15</id>
<content type='text'>
There are a lot of crappy controllers out there that cannot handle
all the request sizes that the MMC/SD/SDIO specifications require.
In case the card driver can pad the data to overcome the problems,
this commit adds a helper that calculates how much that padding
should be.

A corresponding helper is also added for SDIO, but it can also deal
with all the complexities of splitting up a large transfer efficiently.

Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are a lot of crappy controllers out there that cannot handle
all the request sizes that the MMC/SD/SDIO specifications require.
In case the card driver can pad the data to overcome the problems,
this commit adds a helper that calculates how much that padding
should be.

A corresponding helper is also added for SDIO, but it can also deal
with all the complexities of splitting up a large transfer efficiently.

Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>MMC headers learn about SPI</title>
<updated>2007-09-23T19:37:51+00:00</updated>
<author>
<name>David Brownell</name>
<email>david-b@pacbell.net</email>
</author>
<published>2007-08-08T16:09:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=97018580c40c8a31dd7ae744da3378c787a2066d'/>
<id>97018580c40c8a31dd7ae744da3378c787a2066d</id>
<content type='text'>
Teach the MMC/SD/SDIO system headers that some hosts use SPI mode

 - New host capabilities and status bits
    * MMC_CAP_SPI, with mmc_host_is_spi() test
    * mmc_host.use_spi_crc flag

 - SPI-specific declarations:
    * Response types, MMC_RSP_SPI_R*
    * Two SPI-only commands
    * Status bits used native to SPI:  R1_SPI_*, R2_SPI_*

 - Fix a few (unrelated) whitespace bugs in the headers.

 - Reorder a few mmc_host fields, removing several bytes of padding

None of these changes affect current code.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Teach the MMC/SD/SDIO system headers that some hosts use SPI mode

 - New host capabilities and status bits
    * MMC_CAP_SPI, with mmc_host_is_spi() test
    * mmc_host.use_spi_crc flag

 - SPI-specific declarations:
    * Response types, MMC_RSP_SPI_R*
    * Two SPI-only commands
    * Status bits used native to SPI:  R1_SPI_*, R2_SPI_*

 - Fix a few (unrelated) whitespace bugs in the headers.

 - Reorder a few mmc_host fields, removing several bytes of padding

None of these changes affect current code.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sdio: allow for mmc_claim_host to be aborted</title>
<updated>2007-09-23T18:55:13+00:00</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@cam.org</email>
</author>
<published>2007-06-30T14:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2342f3323c9a76367a1d7f9a35525ee3cb3911df'/>
<id>2342f3323c9a76367a1d7f9a35525ee3cb3911df</id>
<content type='text'>
It is sometimes necessary to give up on trying to claim the host lock,
especially if that happens in a thread that has to be stopped.

While at it, fix the description for mmc_claim_host() which was wrong.

Signed-off-by: Nicolas Pitre &lt;npitre@mvista.com&gt;
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is sometimes necessary to give up on trying to claim the host lock,
especially if that happens in a thread that has to be stopped.

While at it, fix the description for mmc_claim_host() which was wrong.

Signed-off-by: Nicolas Pitre &lt;npitre@mvista.com&gt;
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: implement SDIO IO_RW_DIRECT operation</title>
<updated>2007-09-23T17:42:37+00:00</updated>
<author>
<name>Pierre Ossman</name>
<email>drzeus@drzeus.cx</email>
</author>
<published>2007-05-22T18:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b2bcc798bbb482b2909801280f3c4aff8cbbf5be'/>
<id>b2bcc798bbb482b2909801280f3c4aff8cbbf5be</id>
<content type='text'>
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: detect SDIO cards</title>
<updated>2007-09-23T17:40:07+00:00</updated>
<author>
<name>Pierre Ossman</name>
<email>drzeus@drzeus.cx</email>
</author>
<published>2007-05-21T18:23:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5c4e6f1301649d5b29dd0f70e6da83e728ab5ca5'/>
<id>5c4e6f1301649d5b29dd0f70e6da83e728ab5ca5</id>
<content type='text'>
Really basic init sequence for SDIO cards.

Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Really basic init sequence for SDIO cards.

Signed-off-by: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
</pre>
</div>
</content>
</entry>
</feed>
