<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/mmc/core, branch v3.5</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>mmc: cd-gpio: pass IRQF_ONESHOT to request_threaded_irq()</title>
<updated>2012-07-11T03:03:57+00:00</updated>
<author>
<name>Guennadi Liakhovetski</name>
<email>g.liakhovetski@gmx.de</email>
</author>
<published>2012-07-11T02:54:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=623b51fc8642fd3c795fa9903be3adaa537ad9c5'/>
<id>623b51fc8642fd3c795fa9903be3adaa537ad9c5</id>
<content type='text'>
Fix a boot regression on Mackerel boards with sh_mobile_sdhi
in existing kernels causing:

genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq XXX

caused by 1c6c6952 (genirq: Reject bogus threaded irq requests).

This is backported from Guennadi's patch:
"mmc: extend and rename cd-gpio helpers to handle more slot GPIO functions"

Reported-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.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>
Fix a boot regression on Mackerel boards with sh_mobile_sdhi
in existing kernels causing:

genirq: Threaded irq requested with handler=NULL and !ONESHOT for irq XXX

caused by 1c6c6952 (genirq: Reject bogus threaded irq requests).

This is backported from Guennadi's patch:
"mmc: extend and rename cd-gpio helpers to handle more slot GPIO functions"

Reported-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Guennadi Liakhovetski &lt;g.liakhovetski@gmx.de&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: Revert "skip card initialization if power class selection fails"</title>
<updated>2012-07-11T02:47:13+00:00</updated>
<author>
<name>Venkatraman S</name>
<email>svenkatr@ti.com</email>
</author>
<published>2012-07-02T06:56:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=87f761b6c0c4c6aa8072734a574b4049a9b8f9d4'/>
<id>87f761b6c0c4c6aa8072734a574b4049a9b8f9d4</id>
<content type='text'>
This reverts commit 3d93576e(skip card initialization if
power class selection fails).
Problem has been reported when this is used with eMMC4.41
card with Tegra Platform. Till the issue is root caused,
bus width selection failure should not be treated as fatal.

Reported-by: Marc Dietrich &lt;marvin24@gmx.de&gt;
Signed-Off-by: Venkatraman S &lt;svenkatr@ti.com&gt;
CC: Ulf Hansson &lt;ulf.hansson@stericsson.com&gt;
CC: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
CC: Saugata Das &lt;saugata.das@linaro.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>
This reverts commit 3d93576e(skip card initialization if
power class selection fails).
Problem has been reported when this is used with eMMC4.41
card with Tegra Platform. Till the issue is root caused,
bus width selection failure should not be treated as fatal.

Reported-by: Marc Dietrich &lt;marvin24@gmx.de&gt;
Signed-Off-by: Venkatraman S &lt;svenkatr@ti.com&gt;
CC: Ulf Hansson &lt;ulf.hansson@stericsson.com&gt;
CC: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
CC: Saugata Das &lt;saugata.das@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: return an error on suspend if mmc_deselect_cards fails</title>
<updated>2012-06-06T13:49:47+00:00</updated>
<author>
<name>Jaehoon Chung</name>
<email>jh80.chung@samsung.com</email>
</author>
<published>2012-05-31T11:31:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=85e727edb963459d13cdd9ce84c335d251a005a7'/>
<id>85e727edb963459d13cdd9ce84c335d251a005a7</id>
<content type='text'>
When mmc_host is not spi mode, mmc/sd is doing mmc_deselect_cards().
mmc_deselect_cards could be returned error.
If returned error, we can know something wrong when enter suspend.

Signed-off-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Acked-by: Ulf Hansson &lt;ulf.hansson@linaro.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>
When mmc_host is not spi mode, mmc/sd is doing mmc_deselect_cards().
mmc_deselect_cards could be returned error.
If returned error, we can know something wrong when enter suspend.

Signed-off-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Signed-off-by: Kyungmin Park &lt;kyungmin.park@samsung.com&gt;
Acked-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: sdio: fix setting card data bus width as 4-bit</title>
<updated>2012-06-06T13:22:53+00:00</updated>
<author>
<name>Yong Ding</name>
<email>yongd@marvell.com</email>
</author>
<published>2012-05-15T05:09:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=2a0fe914a38745f5b03534c4e4f4056cbd6978b8'/>
<id>2a0fe914a38745f5b03534c4e4f4056cbd6978b8</id>
<content type='text'>
SDIO_CCCR_IF[1:0] in SDIO card is used for card data bus width
setting as below:

     00b: 1-bit bus
     01b: Reserved
     10b: 4-bit bus
     11b: 8-bit bus (only for embedded SDIO)

And sdio_enable_wide is for setting data bus width as 4-bit.
But currently, it first reads the register, second OR' 1b with
SDIO_CCCR_IF[1], and then writes it back.

As we can see, this is based on such assumption that the
SDIO_CCCR_IF[0] is always 0. Apparently, this is not right.

Signed-off-by: Yong Ding &lt;yongd@marvell.com&gt;
Acked-by: Philip Rakity &lt;prakity@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>
SDIO_CCCR_IF[1:0] in SDIO card is used for card data bus width
setting as below:

     00b: 1-bit bus
     01b: Reserved
     10b: 4-bit bus
     11b: 8-bit bus (only for embedded SDIO)

And sdio_enable_wide is for setting data bus width as 4-bit.
But currently, it first reads the register, second OR' 1b with
SDIO_CCCR_IF[1], and then writes it back.

As we can see, this is based on such assumption that the
SDIO_CCCR_IF[0] is always 0. Apparently, this is not right.

Signed-off-by: Yong Ding &lt;yongd@marvell.com&gt;
Acked-by: Philip Rakity &lt;prakity@marvell.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: block: Allow disabling 512B sector size emulation</title>
<updated>2012-05-17T13:35:21+00:00</updated>
<author>
<name>Saugata Das</name>
<email>saugata.das@linaro.org</email>
</author>
<published>2012-05-17T11:02:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a5075eb94837edde6833fd5e0277fc2370cf8b39'/>
<id>a5075eb94837edde6833fd5e0277fc2370cf8b39</id>
<content type='text'>
This patch adds support for large sector size of 4KB by disabling
emulation.  This patch passes eMMC DATA_SECTOR_SIZE as the logical
block size during mmc_blk_alloc_req.

In order to use this patch for 4KB sector size, ensure that
USE_NATIVE_SECTOR is enabled, partition table is 4KB sector size
aligned and file system block and sector size are 4KB multiples.

Signed-off-by: Saugata Das &lt;saugata.das@linaro.org&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@gmail.com&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.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>
This patch adds support for large sector size of 4KB by disabling
emulation.  This patch passes eMMC DATA_SECTOR_SIZE as the logical
block size during mmc_blk_alloc_req.

In order to use this patch for 4KB sector size, ensure that
USE_NATIVE_SECTOR is enabled, partition table is 4KB sector size
aligned and file system block and sector size are 4KB multiples.

Signed-off-by: Saugata Das &lt;saugata.das@linaro.org&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@gmail.com&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: Remove dead code</title>
<updated>2012-05-10T00:47:49+00:00</updated>
<author>
<name>Philippe De Swert</name>
<email>philippedeswert@gmail.com</email>
</author>
<published>2012-04-11T20:32:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f6f44590f231cdf914ce740f3a53a6b815bf4767'/>
<id>f6f44590f231cdf914ce740f3a53a6b815bf4767</id>
<content type='text'>
bus_width is passed to the function and when 0 (MMC_BUS_WIDTH_1)
will cause the function to return. So in in the second test it
definitely is different from 0, and the third test is redundant.

Signed-off-by: Philippe De Swert &lt;philippedeswert@gmail.com&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@gmail.com&gt;
Acked-by: Philip Rakity &lt;prakity@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>
bus_width is passed to the function and when 0 (MMC_BUS_WIDTH_1)
will cause the function to return. So in in the second test it
definitely is different from 0, and the third test is redundant.

Signed-off-by: Philippe De Swert &lt;philippedeswert@gmail.com&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@gmail.com&gt;
Acked-by: Philip Rakity &lt;prakity@marvell.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: Prevent eMMC VCC supply to be cut from late init</title>
<updated>2012-05-09T16:55:01+00:00</updated>
<author>
<name>Ulf Hansson</name>
<email>ulf.hansson@linaro.org</email>
</author>
<published>2012-05-09T14:15:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=fa5501890d8974301042e0202d342a6cbe8609f4'/>
<id>fa5501890d8974301042e0202d342a6cbe8609f4</id>
<content type='text'>
For eMMC cards that has been initialized from a bootloader,
the VCC voltage supply must not be cut in an uncontrolled
manner, without first sending SLEEP or POWEROFF_NOTIFY.

The regulator_init_complete late initcall, may cut the VCC
regulator if it's reference counter is zero. To be able to
prevent the regulator from being cut, mmc_start_host, which
should execute at device init and thus before late init,
calls mmc_power_up. Then the host driver is able to increase
the reference to the regulator.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Reviewed-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.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 eMMC cards that has been initialized from a bootloader,
the VCC voltage supply must not be cut in an uncontrolled
manner, without first sending SLEEP or POWEROFF_NOTIFY.

The regulator_init_complete late initcall, may cut the VCC
regulator if it's reference counter is zero. To be able to
prevent the regulator from being cut, mmc_start_host, which
should execute at device init and thus before late init,
calls mmc_power_up. Then the host driver is able to increase
the reference to the regulator.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Reviewed-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: skip card initialization if power class selection fails</title>
<updated>2012-05-09T14:07:12+00:00</updated>
<author>
<name>Subhash Jadavani</name>
<email>subhashj@codeaurora.org</email>
</author>
<published>2012-04-12T14:06:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3d93576e3442a2becb91290d62f1c105fec1150c'/>
<id>3d93576e3442a2becb91290d62f1c105fec1150c</id>
<content type='text'>
With current implementation of power class selection,
mmc_select_powerclass() should never fail. So treat any error
returned by this function as serious enough to skip the card
initialization.

Signed-off-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@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>
With current implementation of power class selection,
mmc_select_powerclass() should never fail. So treat any error
returned by this function as serious enough to skip the card
initialization.

Signed-off-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Reviewed-by: Namjae Jeon &lt;linkinjeon@gmail.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: fix the signaling 1.8V for HS200</title>
<updated>2012-05-09T14:04:12+00:00</updated>
<author>
<name>Seungwon Jeon</name>
<email>tgih.jun@samsung.com</email>
</author>
<published>2012-04-25T07:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=10942aa40a595d7ff8b4e90f8a762e816367cac3'/>
<id>10942aa40a595d7ff8b4e90f8a762e816367cac3</id>
<content type='text'>
Currently only 1.2V is treated for HS200 mode. If the host has only
1.8V I/O capability not 1.2V, mmc_set_signal_voltage can't be called
for 1.8V HS200. EXT_CSD_CARD_TYPE_SDR_1_8V needs to be considered.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.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>
Currently only 1.2V is treated for HS200 mode. If the host has only
1.8V I/O capability not 1.2V, mmc_set_signal_voltage can't be called
for 1.8V HS200. EXT_CSD_CARD_TYPE_SDR_1_8V needs to be considered.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mmc: core: fix the decision of HS200/DDR card-type</title>
<updated>2012-05-09T14:03:21+00:00</updated>
<author>
<name>Seungwon Jeon</name>
<email>tgih.jun@samsung.com</email>
</author>
<published>2012-04-25T07:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=96cf5f02aee8bbeff38824b18b9ec583d687f846'/>
<id>96cf5f02aee8bbeff38824b18b9ec583d687f846</id>
<content type='text'>
Current implementation decides the card type exclusively. Even though
eMMC device can support both HS200 and DDR mode, card type will be
set only for HS200. If the host doesn't support HS200 but has DDR
capability, then DDR mode can't be selected.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.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>
Current implementation decides the card type exclusively. Even though
eMMC device can support both HS200 and DDR mode, card type will be
set only for HS200. If the host doesn't support HS200 but has DDR
capability, then DDR mode can't be selected.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Reviewed-by: Subhash Jadavani &lt;subhashj@codeaurora.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
