<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mmc/core/sdio.c, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-11-14T18:10:22Z</updated>
<entry>
<title>mmc: core: sdio: Fix unconditional wake_up_process() on sdio thread</title>
<updated>2014-11-14T18:10:22Z</updated>
<author>
<name>Fu Zhonghui</name>
</author>
<published>2014-08-18T02:48:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0f9df89576d1ef9490790fb4f1f4756f95f8586'/>
<id>urn:sha1:a0f9df89576d1ef9490790fb4f1f4756f95f8586</id>
<content type='text'>
commit dea67c4ec8218b301d7cac7ee6e63dac0bc566cb upstream.

781e989cf59 ("mmc: sdhci: convert to new SDIO IRQ handling") and
bf3b5ec66bd ("mmc: sdio_irq: rework sdio irq handling") disabled
the use of our own custom threaded IRQ handler, but left in an
unconditional wake_up_process() on that handler at resume-time.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=80151

In addition, the check for MMC_CAP_SDIO_IRQ capability is added
before enable sdio IRQ.

Signed-off-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
Signed-off-by: Fu Zhonghui &lt;zhonghui.fu@linux.intel.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mmc: drop the speed mode of card's state</title>
<updated>2014-05-12T22:05:53Z</updated>
<author>
<name>Seungwon Jeon</name>
</author>
<published>2014-04-23T08:07:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cdc991790c51c693d0c347a5286af017826a5d01'/>
<id>urn:sha1:cdc991790c51c693d0c347a5286af017826a5d01</id>
<content type='text'>
Timing mode identifier has same role and can take the place
of speed mode. This change removes all related speed mode.

Signed-off-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Tested-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Acked-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
</entry>
<entry>
<title>mmc: core: Invoke sdio func driver's PM callbacks from the sdio bus</title>
<updated>2014-04-22T11:06:40Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2014-02-28T11:49:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=573185cc7e646fdd5da12702ba5383e91cc25ef3'/>
<id>urn:sha1:573185cc7e646fdd5da12702ba5383e91cc25ef3</id>
<content type='text'>
The sdio func device is added to the driver model after the card
device.

This means the sdio func device will be suspend before the card device
and thus resumed after. The consequence are the mmc core don't
explicity need to protect itself from receiving sdio requests in
suspended state. Instead that can be handled from the sdio bus, which
is thus invokes the PM callbacks instead of old dummy function.

In the case were the sdio func driver don't implement the PM callbacks
the mmc core will in the early phase of system suspend, remove the
card from the driver model and thus power off it.

Cc: Aaron Lu &lt;aaron.lu@intel.com&gt;
Cc: NeilBrown &lt;neilb@suse.de&gt;
Cc: Rafael J. Wysocki &lt;rjw@rjwysocki.net&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Reviewed-by: Aaron Lu &lt;aaron.lu@intel.com&gt;
Tested-by: xiaoming wang &lt;xiaoming.wang@intel.com&gt;
Tested-by: Chuanxiao Dong &lt;chuanxiao.dong@intel.com&gt;
Signed-off-by: Chris Ball &lt;chris@printf.net&gt;
</content>
</entry>
<entry>
<title>mmc: core: Collect common code for card ocr validation</title>
<updated>2013-10-31T00:26:31Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-16T10:06:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=726d6f2374410d980341bfeb49399614e689e702'/>
<id>urn:sha1:726d6f2374410d980341bfeb49399614e689e702</id>
<content type='text'>
Since mmc_select_voltage now only gets called from the attach sequence,
it makes sense to move the out of spec validations of the card ocr into
this function.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Prevent violation of specs while initializing cards</title>
<updated>2013-10-31T00:26:30Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-16T09:28:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce69d37b7d8fa692c45d71d94aa0c921859b82ce'/>
<id>urn:sha1:ce69d37b7d8fa692c45d71d94aa0c921859b82ce</id>
<content type='text'>
According to eMMC/SD/SDIO specs, the VDD (VCC) voltage level must be
maintained during the initialization sequence. If we want/need to tune
the voltage level, a complete power cycle of the card must be executed.

Most host drivers conforms to the specifications by only allowing to
change VDD voltage level at the MMC_POWER_UP state, but some also cares
about MMC_POWER_ON state, which they should'nt. This patch will not
break those drivers, but they could clean up code to better reflect
what is expected from the protocol layer.

A big re-work of the mmc_select_voltage function is done to only change
VDD voltage level if the host supports MMC_CAP2_FULL_PWR_CYCLE.
Otherwise only validation of the host and card ocr mask will be done.

A very nice side-effect of this patch is that we now don't need to
reset the negotiated ocr mask at the mmc_power_off function, since now
it will actually reflect the present voltage level, which safely can be
used at the next power up and re-initialization. Moreover, we then only
need to execute mmc_select_voltage from the attach sequence.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Move cached value of the negotiated ocr mask to card struct</title>
<updated>2013-10-31T00:26:29Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-13T09:31:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6904115095ad60ced638eb1e36e0e4e5e7de00b0'/>
<id>urn:sha1:6904115095ad60ced638eb1e36e0e4e5e7de00b0</id>
<content type='text'>
The negotiated ocr mask is directly related to the card. Once a card
gets removed, the mask shall be dropped. By moving the cache of the ocr
mask from the host struct to the card struct we have accomplished this.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Cleanup code for setting ocr mask for SDIO</title>
<updated>2013-10-31T00:26:28Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-13T08:49:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db4a0d0512253c23a052ae650395c07d956118b3'/>
<id>urn:sha1:db4a0d0512253c23a052ae650395c07d956118b3</id>
<content type='text'>
At several places in mmc_sdio_init_card function the cached mask in
host-&gt;ocr were being updated. To simplify code, we make use of an
local ocr parameter instead.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Remove unnecessary retry mechanism at SDIO attach</title>
<updated>2013-10-31T00:26:27Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-12T14:38:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec2ed7006263bd4224083aff7833bd791ac35d65'/>
<id>urn:sha1:ec2ed7006263bd4224083aff7833bd791ac35d65</id>
<content type='text'>
The retry and fallback mechanism when failing to switch to 1.8V
signaling voltage is handled by the SDIO card init function. Thus we
can remove the duplicated old code from the attach function.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Let mmc_set_signal_voltage take ocr as parameter</title>
<updated>2013-10-31T00:26:26Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-12T13:36:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0f791fdad82a02af013e4fc8c385dc690080c366'/>
<id>urn:sha1:0f791fdad82a02af013e4fc8c385dc690080c366</id>
<content type='text'>
This is yet another step of restructure code to be able to fixup the
setup of the negotiated ocr mask.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Let mmc_power_up|cycle take ocr as parameter</title>
<updated>2013-10-31T00:26:25Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-09-12T12:36:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a065193c46a16f1ddf20622c7011c8f327e0478'/>
<id>urn:sha1:4a065193c46a16f1ddf20622c7011c8f327e0478</id>
<content type='text'>
As a step to fixup the setup of the negotiated ocr mask, we need the
mmc_power_up|cycle functions to take the ocr as a parameter.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
</feed>
