<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/mips/lib, branch v2016.11</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/mips/lib?h=v2016.11</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/mips/lib?h=v2016.11'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2016-09-21T13:04:04Z</updated>
<entry>
<title>MIPS: Ensure cache ops complete in mips_cache_reset</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:59Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=639200f6a0dcfe67e4c923b6108703e192946388'/>
<id>urn:sha1:639200f6a0dcfe67e4c923b6108703e192946388</id>
<content type='text'>
Ensure that cache operations complete before returning from
mips_cache_reset by placing a completion barrier (sync instruction)
before the return. Without this there is no guarantee that the cache ops
will complete before any subsequent memory accesses, since they are
indexed cache ops &amp; thus not implicitly ordered with memory accesses.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Clear hazard between TagLo writes &amp; cache ops</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:58Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d608254b0aa23607df1dcb5a7ca07de9a8ec9bb0'/>
<id>urn:sha1:d608254b0aa23607df1dcb5a7ca07de9a8ec9bb0</id>
<content type='text'>
Writing to the coprocessor 0 TagLo registers introduces an execution
hazard in that we need that write to complete before any cache
instructions execute. Ensure that hazard is cleared by inserting an ehb
instruction between the TagLo writes &amp; cache op loop.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Join the coherent domain when a CM is present</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:55Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=7953354b07bba8fa9599bf5d212308e6cdf9cbe2'/>
<id>urn:sha1:7953354b07bba8fa9599bf5d212308e6cdf9cbe2</id>
<content type='text'>
MIPS Linux expects the bootloader to leave the boot CPU a member of the
coherent domain when running on a system with a CM, and we will need to
do so if we wish to make use of IOCUs to have cache-coherent DMA in
U-Boot (and on some systems there is no choice in that matter). When a
CM is present, join the coherent domain after completing cache
initialisation.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: L2 cache support</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:54Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4baa0ab67d504f3b4318f999631e3f83d0c52c4a'/>
<id>urn:sha1:4baa0ab67d504f3b4318f999631e3f83d0c52c4a</id>
<content type='text'>
This patch adds support for initialising &amp; maintaining L2 caches on MIPS
systems. The L2 cache configuration may be advertised through either
coprocessor 0 or the MIPS Coherence Manager depending upon the system,
and support for both is included.

If the L2 can be bypassed then we bypass it early in boot &amp; initialise
the L1 caches first, such that we can start making use of the L1
instruction cache as early as possible. Otherwise we initialise the L2
first such that the L1s have no opportunity to generate access to the
uninitialised L2.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Define register names for cache init</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5c72e5a62e998ce374a27b0589328bb284a27c8c'/>
<id>urn:sha1:5c72e5a62e998ce374a27b0589328bb284a27c8c</id>
<content type='text'>
Define names for registers holding cache sizes throughout
mips_cache_reset, in order to make the code easier to read &amp; allow for
changing register assignments more easily.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Enable use of the instruction cache earlier</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=33b5c9b2092e10fa3b8b325823c846368f25bba9'/>
<id>urn:sha1:33b5c9b2092e10fa3b8b325823c846368f25bba9</id>
<content type='text'>
Enable use of the instruction cache immediately after it has been
initialised. This will only take effect if U-Boot was linked to run from
kseg0 rather than kseg1, but when this is the case the data cache
initialisation code will run cached &amp; thus significantly faster.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>MIPS: Probe cache line sizes once during boot</title>
<updated>2016-09-21T13:04:04Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-09-21T10:18:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8cb4817d0f076605c5126f0925f6c7fdb0461bf6'/>
<id>urn:sha1:8cb4817d0f076605c5126f0925f6c7fdb0461bf6</id>
<content type='text'>
Rather than probing the cache line sizes on every call of any cache
maintenance function, probe them once during boot &amp; store the values in
the global data structure for later use. This will reduce the overhead
of the cache maintenance functions, which isn't a big deal yet but
becomes more important once L2 caches which may expose their properties
via coprocessor 2 or the CM are supported.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
<entry>
<title>libfdt: Introduce new ARCH_FIXUP_FDT option</title>
<updated>2016-08-01T01:37:08Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2016-07-28T07:06:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=e2f88dfd2d9671945877daf5a8c9223b864c34d1'/>
<id>urn:sha1:e2f88dfd2d9671945877daf5a8c9223b864c34d1</id>
<content type='text'>
Add new Kconfig option to disable arch_fixup_fdt() calls for cases where
U-Boot shouldn't update memory setup in DTB file.
One example of usage of this option is to boot OS with different memory
setup than U-Boot use.

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>MIPS: Fix invalidate_dcache_range to operate on L1 Dcache</title>
<updated>2016-06-10T10:27:29Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-06-09T12:09:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a95800e881a8df837f0c4121a2cd560a4c02bd2f'/>
<id>urn:sha1:a95800e881a8df837f0c4121a2cd560a4c02bd2f</id>
<content type='text'>
Commit fb64cda57998 ("MIPS: Abstract cache op loops with a macro")
accidentally modified invalidate_dcache_range to operate on the L1
Icache instead of the Dcache. Fix the cache op used to operate on the
Dcache.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
Fixes: fb64cda57998 ("MIPS: Abstract cache op loops with a macro")
</content>
</entry>
<entry>
<title>MIPS: Abstract cache op loops with a macro</title>
<updated>2016-05-31T07:44:24Z</updated>
<author>
<name>Paul Burton</name>
<email>paul.burton@imgtec.com</email>
</author>
<published>2016-05-27T13:28:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=fb64cda579985e21610672eae44faf40eadd71ea'/>
<id>urn:sha1:fb64cda579985e21610672eae44faf40eadd71ea</id>
<content type='text'>
The various cache maintenance routines perform a number of loops over
cache lines. Rather than duplicate the code for performing such loops,
abstract it out into a new cache_loop macro which performs an arbitrary
number of cache ops on a range of addresses. This reduces duplication in
the existing L1 cache maintenance code &amp; will allow for not adding
further duplication when introducing L2 cache support.

Signed-off-by: Paul Burton &lt;paul.burton@imgtec.com&gt;
</content>
</entry>
</feed>
