<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/mmc/core/sdio.c, branch linux-5.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-06-25T03:34:44Z</updated>
<entry>
<title>mmc: core: Prevent processing SDIO IRQs when the card is suspended</title>
<updated>2019-06-25T03:34:44Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2019-06-18T12:05:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec959de3d3a45a24c9ffb2a4aaa6c3b5df61031f'/>
<id>urn:sha1:ec959de3d3a45a24c9ffb2a4aaa6c3b5df61031f</id>
<content type='text'>
commit 83293386bc95cf5e9f0c0175794455835bd1cb4a upstream.

Processing of SDIO IRQs must obviously be prevented while the card is
system suspended, otherwise we may end up trying to communicate with an
uninitialized SDIO card.

Reports throughout the years shows that this is not only a theoretical
problem, but a real issue. So, let's finally fix this problem, by keeping
track of the state for the card and bail out before processing the SDIO
IRQ, in case the card is suspended.

Cc: stable@vger.kernel.org
Reported-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Tested-by: Douglas Anderson &lt;dianders@chromium.org&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: core: Add a debug print when the card may have been replaced</title>
<updated>2019-02-28T08:28:27Z</updated>
<author>
<name>hongjiefang</name>
</author>
<published>2019-02-28T06:08:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=099b648116090acf0c65c8df867aa1cb42476f3b'/>
<id>urn:sha1:099b648116090acf0c65c8df867aa1cb42476f3b</id>
<content type='text'>
If the card was removed in suspended state and a new one was inserted,
print a debug log when the check detects that it's not the old card.

Signed-off-by: hongjiefang &lt;hongjiefang@asrmicro.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Drop the unused mmc_power_save|restore_host()</title>
<updated>2018-07-16T09:21:45Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2018-06-26T14:51:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29772f8a73d88a5de648177d9d822055ab7d1ba6'/>
<id>urn:sha1:29772f8a73d88a5de648177d9d822055ab7d1ba6</id>
<content type='text'>
The last user of mmc_power_save|restore_host() APIs is gone, hence let's
drop them. Drop also the corresponding bus_ops callback,
-&gt;power_save|restore() as those becomes redundant.

Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Eyal Reizer &lt;eyalreizer@gmail.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Implement -&gt;sw_reset bus ops for SDIO</title>
<updated>2018-05-08T07:33:56Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2018-04-05T14:31:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7405df4c79cd7b4204c5b4b5af2b1ad362ea85ad'/>
<id>urn:sha1:7405df4c79cd7b4204c5b4b5af2b1ad362ea85ad</id>
<content type='text'>
Let's implement the -&gt;sw_reset() bus ops to allow SDIO func drivers, in
particular, to make a SW reset without doing a full power cycle of the SDIO
card.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Tested-by: Quentin Schulz &lt;quentin.schulz@bootlin.com&gt;
Reviewed-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>mmc: core: Rename -&gt;reset() bus ops to -&gt;hw_reset()</title>
<updated>2018-05-08T07:33:29Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2018-04-05T11:24:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3a3db6030b64ceb4b4e41a6811168c5d90a9f7f8'/>
<id>urn:sha1:3a3db6030b64ceb4b4e41a6811168c5d90a9f7f8</id>
<content type='text'>
The bus ops -&gt;reset() executes a full HW reset of the card, as the calling
function mmc_hw_reset() also indicates by its name. Let's convert to follow
the similar names, for both the bus ops callback and for the corresponding
bus ops functions, as to clarify the purpose of code.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Tested-by: Quentin Schulz &lt;quentin.schulz@bootlin.com&gt;
Reviewed-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>mmc: core: Re-factor some code for SDIO re-initialization</title>
<updated>2018-05-08T07:32:36Z</updated>
<author>
<name>Ulf Hansson</name>
</author>
<published>2015-05-11T14:46:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb09f44e290b1775fbeadb4289dbcfc2f954b0d2'/>
<id>urn:sha1:fb09f44e290b1775fbeadb4289dbcfc2f954b0d2</id>
<content type='text'>
The mmc_sdio_init_card() function has a couple of callers. In the
re-initialization cases, some additional reset commands are issued before
mmc_sdio_init_card() is called. As these additional reset commands are the
same, let's move these into a new static function, mmc_sdio_reinit_card()
and call mmc_sdio_init_card() from there. In this way we avoid the open
coding.

Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
Tested-by: Quentin Schulz &lt;quentin.schulz@bootlin.com&gt;
Reviewed-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>mmc: core: Add capability to avoid 3.3V signaling</title>
<updated>2018-05-02T13:08:44Z</updated>
<author>
<name>Kyle Roeschley</name>
</author>
<published>2018-04-13T21:54:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=247cfe53557524a94dd1001d19e5aa50bd5aca81'/>
<id>urn:sha1:247cfe53557524a94dd1001d19e5aa50bd5aca81</id>
<content type='text'>
Some SD host controllers cannot handle extended use of 3.3V signaling.
To accommodate these controllers, add a capability that requires us to
negotiate the voltage down from 3.3V during card initialization.

Signed-off-by: Kyle Roeschley &lt;kyle.roeschley@ni.com&gt;
Signed-off-by: Jennifer Dahm &lt;jennifer.dahm@ni.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
</content>
</entry>
<entry>
<title>mmc: core: Add a new quirk for limiting clock rate</title>
<updated>2018-05-02T13:08:39Z</updated>
<author>
<name>harish_kandiga@mentor.com</name>
</author>
<published>2018-04-10T07:00:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ebc5a1bf4f2afc2f2b348320dcfb45a8c0ac3de5'/>
<id>urn:sha1:ebc5a1bf4f2afc2f2b348320dcfb45a8c0ac3de5</id>
<content type='text'>
This patch adds a quirk to limit clock rate which
can be used to reduce the SDIO clock rate for some
chips with broken UHS.

Signed-off-by: Harish Jenny K N &lt;harish_kandiga@mentor.com&gt;
Reviewed-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
</content>
</entry>
<entry>
<title>mmc: sdio: Check the return value of sdio_enable_4bit_bus</title>
<updated>2018-03-15T08:32:30Z</updated>
<author>
<name>Shawn Lin</name>
</author>
<published>2018-02-27T01:26:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e178270dfcf2b576b0060b382836219dcda83b5'/>
<id>urn:sha1:1e178270dfcf2b576b0060b382836219dcda83b5</id>
<content type='text'>
Since we could move card-&gt;host-&gt;caps &amp; MMC_CAP_4_BIT_DATA
ahead of mmc_sdio_init_uhs_card, in mmc_host_uhs(). So there
we could save this bit to check that. Also, if the process of
sdio_enable_4bit_bus goes wrong, we should bails out early.

Signed-off-by: Shawn Lin &lt;shawn.lin@rock-chips.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
</content>
</entry>
<entry>
<title>mmc: sdio: Keep card runtime resumed while adding function devices</title>
<updated>2017-06-20T08:30:39Z</updated>
<author>
<name>Adrian Hunter</name>
</author>
<published>2017-06-09T12:27:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4760257cb54e29e9a90e0ce849f4efcd67718816'/>
<id>urn:sha1:4760257cb54e29e9a90e0ce849f4efcd67718816</id>
<content type='text'>
Drivers core will runtime suspend a device with no driver. That means the
SDIO card will be runtime suspended as soon as it is added. It is then
runtime resumed to add each function. That is entirely pointless, so add
pm runtime get/put to keep the SDIO card runtime resumed until the function
devices have been added.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt;
</content>
</entry>
</feed>
