<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/memory/tegra, branch v5.8</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v5.8</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v5.8'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2020-03-11T14:24:16Z</updated>
<entry>
<title>memory: tegra: Correct debugfs clk rate-range on Tegra124</title>
<updated>2020-03-11T14:24:16Z</updated>
<author>
<name>Dmitry Osipenko</name>
<email>digetx@gmail.com</email>
</author>
<published>2020-02-24T23:58:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=141267bffd1dc19a76e4d50e3e4829f85a806875'/>
<id>urn:sha1:141267bffd1dc19a76e4d50e3e4829f85a806875</id>
<content type='text'>
Correctly set clk rate-range if number of available timings is zero.
This fixes noisy "invalid range [4294967295, 0]" error messages during
boot.

Fixes: 6b9acd935546 ("memory: tegra: Refashion EMC debugfs interface on Tegra124")
Signed-off-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra: Correct debugfs clk rate-range on Tegra30</title>
<updated>2020-03-11T14:24:16Z</updated>
<author>
<name>Dmitry Osipenko</name>
<email>digetx@gmail.com</email>
</author>
<published>2020-02-24T23:58:35Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a53670e1a734ba56fac84cf2b93b838bd4a6b835'/>
<id>urn:sha1:a53670e1a734ba56fac84cf2b93b838bd4a6b835</id>
<content type='text'>
Correctly set clk rate-range if number of available timings is zero.
This fixes noisy "invalid range [4294967295, 0]" error messages during
boot.

Fixes: 8cee32b40040 ("memory: tegra: Implement EMC debugfs interface on Tegra30")
Signed-off-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra: Correct debugfs clk rate-range on Tegra20</title>
<updated>2020-03-11T14:24:15Z</updated>
<author>
<name>Dmitry Osipenko</name>
<email>digetx@gmail.com</email>
</author>
<published>2020-02-24T23:58:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2243af41115d0e36e6414df6dd2a0386e022d9f8'/>
<id>urn:sha1:2243af41115d0e36e6414df6dd2a0386e022d9f8</id>
<content type='text'>
Correctly set clk rate-range if number of available timings is zero.
This fixes noisy "invalid range [4294967295, 0]" error messages during
boot.

Fixes: 8209eefa3d37 ("memory: tegra: Implement EMC debugfs interface on Tegra20")
Signed-off-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra30-emc: Correct error message for timed out auto calibration</title>
<updated>2020-01-10T14:48:48Z</updated>
<author>
<name>Dmitry Osipenko</name>
<email>digetx@gmail.com</email>
</author>
<published>2019-12-20T02:08:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5e5eca6644873da93f5a32904f43220380f34e88'/>
<id>urn:sha1:5e5eca6644873da93f5a32904f43220380f34e88</id>
<content type='text'>
The code waits for auto calibration to be finished and not to be disabled.

Signed-off-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra30-emc: Firm up hardware programming sequence</title>
<updated>2020-01-10T14:48:40Z</updated>
<author>
<name>Dmitry Osipenko</name>
<email>digetx@gmail.com</email>
</author>
<published>2019-12-20T02:08:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0f8bb9da5aee80d8d1b716e0fc5441575ff0ef21'/>
<id>urn:sha1:0f8bb9da5aee80d8d1b716e0fc5441575ff0ef21</id>
<content type='text'>
Previously there was a problem where a late handshake handling caused
a memory corruption, this problem was resolved by issuing calibration
command right after changing the timing, but looks like the solution
wasn't entirely correct since calibration interval could be disabled as
well. Now programming sequence is completed immediately after receiving
handshake from CaR, without potentially long delays and in accordance to
the TRM's programming guide.

Secondly, the TRM's programming guide suggests to flush EMC writes by
reading any *MC* register before doing CaR changes. This is also addressed
now.

Signed-off-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra30-emc: Firm up suspend/resume sequence</title>
<updated>2020-01-10T14:47:18Z</updated>
<author>
<name>Dmitry Osipenko</name>
<email>digetx@gmail.com</email>
</author>
<published>2019-12-20T02:08:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=51bb73f93410a30550641f69d14cfb7b43fd2da1'/>
<id>urn:sha1:51bb73f93410a30550641f69d14cfb7b43fd2da1</id>
<content type='text'>
The current code doesn't prevent race conditions of suspend/resume vs CCF.
Let's take exclusive control over the EMC clock during suspend in a way
that is free from race conditions.

Signed-off-by: Dmitry Osipenko &lt;digetx@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra: Correct reset value of xusb_hostr</title>
<updated>2020-01-10T14:34:06Z</updated>
<author>
<name>Nicolin Chen</name>
<email>nicoleotsuka@gmail.com</email>
</author>
<published>2019-12-20T00:29:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=5f5636ef1de9174db8333787086a0e105938a2c5'/>
<id>urn:sha1:5f5636ef1de9174db8333787086a0e105938a2c5</id>
<content type='text'>
According to Tegra X1 (Tegra210) TRM, the reset value of xusb_hostr
field (bit [7:0]) should be 0x7a. So this patch simply corrects it.

Signed-off-by: Nicolin Chen &lt;nicoleotsuka@gmail.com&gt;
Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra: Add support for the Tegra194 memory controller</title>
<updated>2020-01-09T18:38:38Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2019-12-22T14:10:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a127e690b051df030f5ad2e28b14e8c3a624c145'/>
<id>urn:sha1:a127e690b051df030f5ad2e28b14e8c3a624c145</id>
<content type='text'>
The memory and external memory controllers on Tegra194 are very similar
to their predecessors from Tegra186. Add the necessary SoC-specific data
to support the newer versions.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra: Only include support for enabled SoCs</title>
<updated>2020-01-09T18:35:54Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2019-12-22T14:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4e04b88633ae9cb38d6bc1d7fd37d2782eab726d'/>
<id>urn:sha1:4e04b88633ae9cb38d6bc1d7fd37d2782eab726d</id>
<content type='text'>
The memory client tables can be fairly large and they can easily be
omitted if support for the corresponding SoC is not enabled.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
<entry>
<title>memory: tegra: Support DVFS on Tegra186 and later</title>
<updated>2020-01-09T18:35:54Z</updated>
<author>
<name>Thierry Reding</name>
<email>treding@nvidia.com</email>
</author>
<published>2019-12-22T14:10:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=52d15dd23f0b0f1d1cf87b1581cc5f1f8c22eb0c'/>
<id>urn:sha1:52d15dd23f0b0f1d1cf87b1581cc5f1f8c22eb0c</id>
<content type='text'>
Add a Tegra186 (and later) EMC driver that reads the EMC DVFS tables
from BPMP and uses the EMC clock to change the external memory clock.

This currently only provides a debugfs interface to show the available
frequencies and set lower and upper limits of the allowed range. This
can be used for testing the various frequencies. The goal is to
eventually integrate this with the interconnect framework so that the
EMC frequency can be scaled based on demand from memory clients.

Signed-off-by: Thierry Reding &lt;treding@nvidia.com&gt;
</content>
</entry>
</feed>
