<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/include/linux/mmc/card.h, branch v2.6.39</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>mmc: add MMC_QUIRK_BROKEN_CLK_GATING</title>
<updated>2011-03-15T17:48:35+00:00</updated>
<author>
<name>Pierre Tardy</name>
<email>tardyp@gmail.com</email>
</author>
<published>2011-02-06T18:03:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=db9935000d95ae3f9702b7ff6ac0eef2319d8772'/>
<id>db9935000d95ae3f9702b7ff6ac0eef2319d8772</id>
<content type='text'>
Some sdio card are not following sdio standard, and do not work
when the sdio bus's clock is gated.

To keep functionnality for all legacy driver, we turn this quirk on
for every sdio card.
Drivers needs to disable the quirk manually when someone verifies that
their supported card works with clock gating.

Signed-off-by: Pierre Tardy &lt;tardyp@gmail.com&gt;
Acked-by: Ohad Ben-Cohen &lt;ohad@wizery.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>
Some sdio card are not following sdio standard, and do not work
when the sdio bus's clock is gated.

To keep functionnality for all legacy driver, we turn this quirk on
for every sdio card.
Drivers needs to disable the quirk manually when someone verifies that
their supported card works with clock gating.

Signed-off-by: Pierre Tardy &lt;tardyp@gmail.com&gt;
Acked-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: add per device quirk placeholder</title>
<updated>2011-03-15T17:48:33+00:00</updated>
<author>
<name>Pierre Tardy</name>
<email>pierre.tardy@intel.com</email>
</author>
<published>2011-02-06T18:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=57f0adc7eaaf4315d568e72069dbe48aa7e20995'/>
<id>57f0adc7eaaf4315d568e72069dbe48aa7e20995</id>
<content type='text'>
Some cards have quirks valid for every platforms using current
platform quirk hooks leads to a lot of code and debug duplication.

So we inspire a bit from what exists in PCI subsystem and do our own
per vendorid/deviceid quirk.  We still drop the complexity of the pci
quirk system (with special section tables, and so on).
That can be added later if needed.

Signed-off-by: Pierre Tardy &lt;pierre.tardy@intel.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Acked-by: Ohad Ben-Cohen &lt;ohad@wizery.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>
Some cards have quirks valid for every platforms using current
platform quirk hooks leads to a lot of code and debug duplication.

So we inspire a bit from what exists in PCI subsystem and do our own
per vendorid/deviceid quirk.  We still drop the complexity of the pci
quirk system (with special section tables, and so on).
That can be added later if needed.

Signed-off-by: Pierre Tardy &lt;pierre.tardy@intel.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Acked-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: export eMMC4.4 enhanced area details to sysfs</title>
<updated>2011-03-15T17:48:01+00:00</updated>
<author>
<name>Chuanxiao Dong</name>
<email>chuanxiao.dong@intel.com</email>
</author>
<published>2011-01-21T20:09:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=709de99df0ecf3102e7728fbd876a3591859f423'/>
<id>709de99df0ecf3102e7728fbd876a3591859f423</id>
<content type='text'>
Enhanced area feature is a new feature defined in eMMC4.4 standard. This
user data area provides higher performance/reliability, at the expense
of using twice the effective media space due to the area using SLC.

The MMC driver now reads out the enhanced area offset and size and adds
them to the device attributes in sysfs. Enabling the enhanced area can
only be done once, and should be done in manufacturing. To use this
feature, bit ERASE_GRP_DEF should also be set.

Documentation/ABI/testing/sysfs-devices-mmc describes the two new
attributes.

Signed-off-by: Chuanxiao Dong &lt;chuanxiao.dong@intel.com&gt;
Reviewed-by: Chris Ball &lt;cjb@laptop.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enhanced area feature is a new feature defined in eMMC4.4 standard. This
user data area provides higher performance/reliability, at the expense
of using twice the effective media space due to the area using SLC.

The MMC driver now reads out the enhanced area offset and size and adds
them to the device attributes in sysfs. Enabling the enhanced area can
only be done once, and should be done in manufacturing. To use this
feature, bit ERASE_GRP_DEF should also be set.

Documentation/ABI/testing/sysfs-devices-mmc describes the two new
attributes.

Signed-off-by: Chuanxiao Dong &lt;chuanxiao.dong@intel.com&gt;
Reviewed-by: Chris Ball &lt;cjb@laptop.org&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.tavy.me/linux.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: rename dev_to_mmc_card() to mmc_dev_to_card()</title>
<updated>2010-10-23T13:11:12+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andy.shevchenko@gmail.com</email>
</author>
<published>2010-09-18T00:32:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=265cdc900ce93c0cd2465d751fe75ff2e55e126e'/>
<id>265cdc900ce93c0cd2465d751fe75ff2e55e126e</id>
<content type='text'>
Global symbols should use their subsystem name in a prefixed fashion.

Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Global symbols should use their subsystem name in a prefixed fashion.

Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: make mmc_dev_to_card() macro public</title>
<updated>2010-10-23T13:11:12+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>andy.shevchenko@gmail.com</email>
</author>
<published>2010-08-20T07:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=453722b9f7366e5b8b46101358dd7bcaef62b59d'/>
<id>453722b9f7366e5b8b46101358dd7bcaef62b59d</id>
<content type='text'>
Conversion from struct device to struct mmc_card is used more than in one
place.  Due to this it's better to have public macro for such thing.

Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@nokia.com&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conversion from struct device to struct mmc_card is used more than in one
place.  Due to this it's better to have public macro for such thing.

Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@nokia.com&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: &lt;linux-mmc@vger.kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&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.tavy.me/linux.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>sdio: allow non-standard SDIO cards</title>
<updated>2010-08-11T15:59:04+00:00</updated>
<author>
<name>Grazvydas Ignotas</name>
<email>notasas@gmail.com</email>
</author>
<published>2010-08-11T01:01:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6f51be3d37dff73cf8db771df4169f4c2f1cbf66'/>
<id>6f51be3d37dff73cf8db771df4169f4c2f1cbf66</id>
<content type='text'>
There are some chips (like TI WL12xx series) that can be interfaced over
SDIO but don't support the SDIO specification, meaning that they are
missing CIA (Common I/O Area) with all it's registers.  Current Linux SDIO
implementation relies on those registers to identify and configure the
card, so non-standard cards can not function and cause lots of warnings
from the core when it reads invalid data from non-existent registers.

After this patch, init_card() host callback can now set new quirk
MMC_QUIRK_NONSTD_SDIO, which means that SDIO core should not try to access
any standard SDIO registers and rely on init_card() to fill all SDIO
structures instead.  As those cards are usually embedded chips, all the
required information can be obtained from machine board files by the host
driver when it's called through init_card() callback.

Signed-off-by: Grazvydas Ignotas &lt;notasas@gmail.com&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Bob Copeland &lt;me@bobcopeland.com&gt;
Cc: Kalle Valo &lt;kvalo@adurom.com&gt;
Cc: Madhusudhan Chikkature &lt;madhu.cr@ti.com&gt;
Cc: Kishore Kadiyala &lt;kishore.kadiyala@ti.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&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>
There are some chips (like TI WL12xx series) that can be interfaced over
SDIO but don't support the SDIO specification, meaning that they are
missing CIA (Common I/O Area) with all it's registers.  Current Linux SDIO
implementation relies on those registers to identify and configure the
card, so non-standard cards can not function and cause lots of warnings
from the core when it reads invalid data from non-existent registers.

After this patch, init_card() host callback can now set new quirk
MMC_QUIRK_NONSTD_SDIO, which means that SDIO core should not try to access
any standard SDIO registers and rely on init_card() to fill all SDIO
structures instead.  As those cards are usually embedded chips, all the
required information can be obtained from machine board files by the host
driver when it's called through init_card() callback.

Signed-off-by: Grazvydas Ignotas &lt;notasas@gmail.com&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Bob Copeland &lt;me@bobcopeland.com&gt;
Cc: Kalle Valo &lt;kvalo@adurom.com&gt;
Cc: Madhusudhan Chikkature &lt;madhu.cr@ti.com&gt;
Cc: Kishore Kadiyala &lt;kishore.kadiyala@ti.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&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: implement SD-combo (IO+mem) support</title>
<updated>2010-08-11T15:59:03+00:00</updated>
<author>
<name>Michal Miroslaw</name>
<email>mirq-linux@rere.qmqm.pl</email>
</author>
<published>2010-08-11T01:01:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=7310ece86ad7da027f85a37a0638164118a5d12f'/>
<id>7310ece86ad7da027f85a37a0638164118a5d12f</id>
<content type='text'>
Signed-off-by: Michal Miroslaw &lt;mirq-linux@rere.qmqm.pl&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: Chris Ball &lt;cjb@laptop.org&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>
Signed-off-by: Michal Miroslaw &lt;mirq-linux@rere.qmqm.pl&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: Chris Ball &lt;cjb@laptop.org&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: recognize CSD structure</title>
<updated>2010-08-11T15:59:02+00:00</updated>
<author>
<name>Kyungmin Park</name>
<email>kmpark@infradead.org</email>
</author>
<published>2010-08-11T01:01:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6da24b786ed1963a7f872c1899627968c76d17d7'/>
<id>6da24b786ed1963a7f872c1899627968c76d17d7</id>
<content type='text'>
The eMMC spec 4.4 and 4.3 + additional feature chips has CSD structure
version 3 and version 3 have to check the CSD_STRUCTURE byte in the
EXT_CSD register.

Also fix EXT_CSD revision message.

[akpm@linux-foundation.org: fix comment, per Chris Ball]
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: Chris Ball &lt;cjb@laptop.org&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>
The eMMC spec 4.4 and 4.3 + additional feature chips has CSD structure
version 3 and version 3 have to check the CSD_STRUCTURE byte in the
EXT_CSD register.

Also fix EXT_CSD revision message.

[akpm@linux-foundation.org: fix comment, per Chris Ball]
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Cc: Adrian Hunter &lt;adrian.hunter@nokia.com&gt;
Cc: Chris Ball &lt;cjb@laptop.org&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>
</feed>
