<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/mmc/card, branch v3.0.80</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: core: check for zero length ioctl data</title>
<updated>2012-03-01T00:33:42+00:00</updated>
<author>
<name>Johan Rudholm</name>
<email>johan.rudholm@stericsson.com</email>
</author>
<published>2011-11-23T08:05:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e9513216eb2c0276e227fbb9a6f754e16c9c7510'/>
<id>e9513216eb2c0276e227fbb9a6f754e16c9c7510</id>
<content type='text'>
commit 4d6144de8ba263eb3691a737c547e5b2fdc45287 upstream.

If the read or write buffer size associated with the command sent
through the mmc_blk_ioctl is zero, do not prepare data buffer.

This enables a ioctl(2) call to for instance send a MMC_SWITCH to set
a byte in the ext_csd.

Signed-off-by: Johan Rudholm &lt;johan.rudholm@stericsson.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 4d6144de8ba263eb3691a737c547e5b2fdc45287 upstream.

If the read or write buffer size associated with the command sent
through the mmc_blk_ioctl is zero, do not prepare data buffer.

This enables a ioctl(2) call to for instance send a MMC_SWITCH to set
a byte in the ext_csd.

Signed-off-by: Johan Rudholm &lt;johan.rudholm@stericsson.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: queue: bring discard_granularity/alignment into line with SCSI</title>
<updated>2011-06-25T22:53:05+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2011-06-23T10:40:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c31b55cd4eaf050bb5a15bd8251da1b3c7edeb1c'/>
<id>c31b55cd4eaf050bb5a15bd8251da1b3c7edeb1c</id>
<content type='text'>
SCSI defines discard alignment as the offset to the first
optimal discard.  In the case of SD/MMC, that is always zero
which is the default.

SCSI defines discard granularity as a hint of a optimal
discard size.  That is much better expressed by the MMC
"preferred erase size" (pref_erase) field.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.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>
SCSI defines discard alignment as the offset to the first
optimal discard.  In the case of SD/MMC, that is always zero
which is the default.

SCSI defines discard granularity as a hint of a optimal
discard size.  That is much better expressed by the MMC
"preferred erase size" (pref_erase) field.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: queue: append partition subname to queue thread name</title>
<updated>2011-06-25T22:52:57+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2011-06-23T10:40:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d09408ade08a08a710a247fb52aa50101e73ebf7'/>
<id>d09408ade08a08a710a247fb52aa50101e73ebf7</id>
<content type='text'>
For example, an eMMC with 2 boot partitions will have 3 threads.
The names change from:

   40 ?        00:00:00 mmcqd/0
   41 ?        00:00:00 mmcqd/0
   42 ?        00:00:00 mmcqd/0

to:

   40 ?        00:00:00 mmcqd/0
   41 ?        00:00:00 mmcqd/0boot0
   42 ?        00:00:00 mmcqd/0boot1

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andrei Warkentin &lt;andreiw@motorola.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>
For example, an eMMC with 2 boot partitions will have 3 threads.
The names change from:

   40 ?        00:00:00 mmcqd/0
   41 ?        00:00:00 mmcqd/0
   42 ?        00:00:00 mmcqd/0

to:

   40 ?        00:00:00 mmcqd/0
   41 ?        00:00:00 mmcqd/0boot0
   42 ?        00:00:00 mmcqd/0boot1

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: block: switch card to User Data Area when removing the block driver</title>
<updated>2011-06-25T22:52:49+00:00</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2011-06-23T10:40:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ddd6fa7e794e62af3ec3eb4ffdc78489885701f2'/>
<id>ddd6fa7e794e62af3ec3eb4ffdc78489885701f2</id>
<content type='text'>
The MMC block driver and other drivers (e.g. mmc-test) will expect
the card to be switched to the User Data Area eMMC partition when
they start.  Hence the MMC block driver should ensure it is that
way when it is removed.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andrei Warkentin &lt;andreiw@motorola.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 MMC block driver and other drivers (e.g. mmc-test) will expect
the card to be switched to the User Data Area eMMC partition when
they start.  Hence the MMC block driver should ensure it is that
way when it is removed.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Cc: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: Block CMD23 support for UHS104/SDXC cards.</title>
<updated>2011-05-25T20:49:03+00:00</updated>
<author>
<name>Andrei Warkentin</name>
<email>andreiw@motorola.com</email>
</author>
<published>2011-05-23T20:06:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f0d89972b01798cf9d245dfa1cacfa0ee78a3593'/>
<id>f0d89972b01798cf9d245dfa1cacfa0ee78a3593</id>
<content type='text'>
SD cards operating at UHS104 or better support SET_BLOCK_COUNT.

Signed-off-by: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Reviewed-by: Arindam Nath &lt;arindam.nath@amd.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>
SD cards operating at UHS104 or better support SET_BLOCK_COUNT.

Signed-off-by: Andrei Warkentin &lt;andreiw@motorola.com&gt;
Reviewed-by: Arindam Nath &lt;arindam.nath@amd.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</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.toradex.cn/cgit/linux-toradex.git/commit/?id=d0c97cfb81ebc5b416c0f92fa2fc18d2773e3023'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: mmc_test: minor clean up, use t = &amp;test.area everywhere</title>
<updated>2011-05-25T03:53:49+00:00</updated>
<author>
<name>Andy Shevchenko</name>
<email>ext-andriy.shevchenko@nokia.com</email>
</author>
<published>2011-05-10T12:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=253d6a280f77a9b61a76f9b1bfb83545fbd58726'/>
<id>253d6a280f77a9b61a76f9b1bfb83545fbd58726</id>
<content type='text'>
Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@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>
Signed-off-by: Andy Shevchenko &lt;ext-andriy.shevchenko@nokia.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: card: fix potential null dereference of 'idata'</title>
<updated>2011-05-25T03:53:49+00:00</updated>
<author>
<name>Vladimir Motyka</name>
<email>vladimir.motyka@gmail.com</email>
</author>
<published>2011-05-11T04:00:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aea253ecffecd38b5ab97edd73fbe2842a7de371'/>
<id>aea253ecffecd38b5ab97edd73fbe2842a7de371</id>
<content type='text'>
When allocation of idata failed there was a null dereference. Also avoid
calling kfree where it isn't needed.

Signed-off-by: Vladimir Motyka &lt;vladimir.motyka@gmail.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>
When allocation of idata failed there was a null dereference. Also avoid
calling kfree where it isn't needed.

Signed-off-by: Vladimir Motyka &lt;vladimir.motyka@gmail.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</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.toradex.cn/cgit/linux-toradex.git/commit/?id=cb87ea28ed9e75a41eb456bfcb547b4e6f10e750'/>
<id>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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: block: init force_ro sysfs attribute</title>
<updated>2011-05-25T01:02:49+00:00</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin@rab.in</email>
</author>
<published>2011-04-23T15:22:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=641c3187b9d53cfd4c23b0ce2ab18a13d5e775e5'/>
<id>641c3187b9d53cfd4c23b0ce2ab18a13d5e775e5</id>
<content type='text'>
To avoid lockdep warnings:

BUG: key dc90a520 not in .data!
------------[ cut here ]------------
WARNING: at /home/rabin/kernel/arm/kernel/lockdep.c:2701 sysfs_add_file_mode+0x4c/0xb0()
Modules linked in:
[&lt;c004b5d8&gt;] (unwind_backtrace+0x0/0xe4) from [&lt;c0074f20&gt;] (warn_slowpath_common+0x4c/0x64)
[&lt;c0074f20&gt;] (warn_slowpath_common+0x4c/0x64) from [&lt;c0074f50&gt;] (warn_slowpath_null+0x18/0x1c)
[&lt;c0074f50&gt;] (warn_slowpath_null+0x18/0x1c) from [&lt;c0157fec&gt;] (sysfs_add_file_mode+0x4c/0xb0)
[&lt;c0157fec&gt;] (sysfs_add_file_mode+0x4c/0xb0) from [&lt;c02d61e4&gt;] (mmc_add_disk+0x40/0x64)
[&lt;c02d61e4&gt;] (mmc_add_disk+0x40/0x64) from [&lt;c02d64cc&gt;] (mmc_blk_probe+0x188/0x1fc)
[&lt;c02d64cc&gt;] (mmc_blk_probe+0x188/0x1fc) from [&lt;c02ce820&gt;] (mmc_bus_probe+0x14/0x18)
...

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To avoid lockdep warnings:

BUG: key dc90a520 not in .data!
------------[ cut here ]------------
WARNING: at /home/rabin/kernel/arm/kernel/lockdep.c:2701 sysfs_add_file_mode+0x4c/0xb0()
Modules linked in:
[&lt;c004b5d8&gt;] (unwind_backtrace+0x0/0xe4) from [&lt;c0074f20&gt;] (warn_slowpath_common+0x4c/0x64)
[&lt;c0074f20&gt;] (warn_slowpath_common+0x4c/0x64) from [&lt;c0074f50&gt;] (warn_slowpath_null+0x18/0x1c)
[&lt;c0074f50&gt;] (warn_slowpath_null+0x18/0x1c) from [&lt;c0157fec&gt;] (sysfs_add_file_mode+0x4c/0xb0)
[&lt;c0157fec&gt;] (sysfs_add_file_mode+0x4c/0xb0) from [&lt;c02d61e4&gt;] (mmc_add_disk+0x40/0x64)
[&lt;c02d61e4&gt;] (mmc_add_disk+0x40/0x64) from [&lt;c02d64cc&gt;] (mmc_blk_probe+0x188/0x1fc)
[&lt;c02d64cc&gt;] (mmc_blk_probe+0x188/0x1fc) from [&lt;c02ce820&gt;] (mmc_bus_probe+0x14/0x18)
...

Signed-off-by: Rabin Vincent &lt;rabin@rab.in&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
