<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mmc/core/core.h, branch linux-3.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-11-26T13:30:57Z</updated>
<entry>
<title>mmc: core: consistent handling of initial values</title>
<updated>2014-11-26T13:30:57Z</updated>
<author>
<name>Johan Rudholm</name>
</author>
<published>2014-11-06T13:46:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2d079c43bc5ade7b41610b356bf117e14037a584'/>
<id>urn:sha1:2d079c43bc5ade7b41610b356bf117e14037a584</id>
<content type='text'>
mmc_do_hw_reset(), mmc_power_up() and mmc_power_off() all set similar
initial values for bus_mode, bus_width, chip_select and timing. Let's
make this handling simpler and more consistent by sticking them
together in a common function. This will introduce small changes in
behavior in the following places:

mmc_power_off():

  For SPI hosts, explicitly set bus_mode = MMC_BUSMODE_PUSHPULL and
  chip_select = MMC_CS_HIGH, before we left them as they were.

  For non-SPI hosts, set bus_mode = MMC_BUSMODE_PUSHPULL instead of
  MMC_BUSMODE_OPENDRAIN as before.

  These two changes should not be a problem since the device will be
  powered off anyway.

mmc_do_hw_reset():

  Always set bus_mode = MMC_BUSMODE_PUSHPULL, as required by SD/SDIO
  cards. MMC cards require MMC_BUSMODE_OPENDRAIN, but this is taken
  care of by mmc_init_card() and mmc_attach_mmc().

Signed-off-by: Johan Rudholm &lt;johanru@axis.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.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>
<entry>
<title>mmc: core: Extend shutdown sequence to handle bus operations</title>
<updated>2013-06-27T16:39:18Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-06-10T15:03:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b086bde71243e2596f9d8e3c060119b84110d33'/>
<id>urn:sha1:6b086bde71243e2596f9d8e3c060119b84110d33</id>
<content type='text'>
By adding an optional .shutdown callback to the bus_ops struct we
provide the possibility to let each bus type handle it's shutdown
requirements.

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: Validate suspend prerequisites for SDIO at SUSPEND_PREPARE</title>
<updated>2013-06-27T16:39:15Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-06-10T15:03:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=810caddba42a54fe5db4e2664757a9a334ba359c'/>
<id>urn:sha1:810caddba42a54fe5db4e2664757a9a334ba359c</id>
<content type='text'>
This patch moves the validation for all the suspend prerequisites to be
done at SUSPEND_PREPARE notification. Previously in the SDIO case parts
of the validation was done from mmc_suspend_host.

This patch invents a new pre_suspend bus_ops callback and implements it
for SDIO. Returning an error code from it, will mean at SUSPEND_PREPARE
notification, the card will be removed before proceeding with the
suspend sequence.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Tested-by: Jaehoon Chung &lt;jh80.chung@samsung.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Restructure and simplify code for mmc sleep|awake</title>
<updated>2013-05-26T18:23:17Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-04-19T13:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=07a682160866e302d696f5c76d74024d575fb79d'/>
<id>urn:sha1:07a682160866e302d696f5c76d74024d575fb79d</id>
<content type='text'>
The mmc_card_sleep|awake APIs are not being used since the support is
already properly encapsulated within the suspend sequence. Sleep|awake
command is also specific for eMMC.

We remove the sleep|awake bus_ops, the mmc_card_sleep|awake APIs and
move the code into the mmc specific core instead. This also includes
the mmc ops function, mmc_sleepawake. All releated functions have then
become static and we have got far less code to maintain.

Additionally this patch also simplifies the code from mmc_sleepawake,
since it is only used to put the card to sleep and not awake.

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: Add bus_ops for runtime pm callbacks</title>
<updated>2013-05-26T18:23:15Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2013-05-02T12:02:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12d01d0b813b93e7bde1b5f468b5c85aa8b33590'/>
<id>urn:sha1:12d01d0b813b93e7bde1b5f468b5c85aa8b33590</id>
<content type='text'>
SDIO is the only protocol that uses runtime pm for the card device
right now. To provide the option for sd and mmc to use runtime pm as
well the bus_ops callback are extended with two new functions. One for
runtime_suspend and one for runtime_resume.

This patch will also implement the callbacks for SDIO to make sure
existing functionality is maintained. It also prepares to move
away from using the mmc_power_restore_host API, since it is not
needed when using runtime PM.

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: Break out start_signal_voltage_switch</title>
<updated>2013-02-24T19:37:07Z</updated>
<author>
<name>Johan Rudholm</name>
</author>
<published>2013-01-28T14:08:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=567c89032cfdda8047562abe450947ac01f2d3c7'/>
<id>urn:sha1:567c89032cfdda8047562abe450947ac01f2d3c7</id>
<content type='text'>
Allow callers to access the start_signal_voltage_switch host_ops
member without going through any cmd11 logic. This is mostly a
preparation for the following signal voltage switch patch.

Also, reset ios.signal_voltage to its original value if
start_signal_voltage_switch fails.

Signed-off-by: Johan Rudholm &lt;johan.rudholm@stericsson.com&gt;
Acked-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Tested-by: Wei WANG &lt;wei_wang@realsil.com.cn&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Add mmc_power_cycle</title>
<updated>2013-02-24T19:37:06Z</updated>
<author>
<name>Johan Rudholm</name>
</author>
<published>2013-01-28T14:08:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=276e090f9217b69e46d8255132d2667ac5eec51b'/>
<id>urn:sha1:276e090f9217b69e46d8255132d2667ac5eec51b</id>
<content type='text'>
Add mmc_power_cycle which can be used to power cycle for instance
SD-cards.

Signed-off-by: Johan Rudholm &lt;johan.rudholm@stericsson.com&gt;
Acked-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Tested-by: Wei WANG &lt;wei_wang@realsil.com.cn&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>mmc: fix async request mechanism for sequential read scenarios</title>
<updated>2013-02-11T18:28:49Z</updated>
<author>
<name>Konstantin Dorfman</name>
</author>
<published>2013-01-14T19:28:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2220eedfd7aea69008173a224975e10284fbe854'/>
<id>urn:sha1:2220eedfd7aea69008173a224975e10284fbe854</id>
<content type='text'>
When current request is running on the bus and if next request fetched
by mmcqd is NULL, mmc context (mmcqd thread) gets blocked until the
current request completes. This means that if new request comes in while
the mmcqd thread is blocked, this new request can not be prepared in
parallel to current ongoing request. This may result in delaying the new
request execution and increase it's latency.

This change allows to wake up the MMC thread on new request arrival.
Now once the MMC thread is woken up, a new request can be fetched and
prepared in parallel to the current running request which means this new
request can be started immediately after the current running request
completes.

With this change read throughput is improved by 16%.

Signed-off-by: Konstantin Dorfman &lt;kdorfman@codeaurora.org&gt;
Reviewed-by: Seungwon Jeon &lt;tgih.jun@samsung.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
</feed>
