<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/powerpc/lib, branch v2022.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/arch/powerpc/lib?h=v2022.07</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/arch/powerpc/lib?h=v2022.07'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2022-03-03T21:51:19Z</updated>
<entry>
<title>powerpc: Remove unused MPC8540/60ADS code</title>
<updated>2022-03-03T21:51:19Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2022-02-23T17:28:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3db7b2bb4c23939336c0fb9aaa8bc6795410f5af'/>
<id>urn:sha1:3db7b2bb4c23939336c0fb9aaa8bc6795410f5af</id>
<content type='text'>
Remove some code, primarily CPM2 related, that is now unused since the
removal of MPC8540/60ADS.

Fixes 3913191c8a6b ("powerpc: mpc8540ads: mpc8560ads: Drop support for MPC8540/60ADS")
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
Reviewed-by: Simon Glass &lt;sjg@chromium.org&gt;
</content>
</entry>
<entry>
<title>WS cleanup: remove trailing empty lines</title>
<updated>2021-09-30T12:08:56Z</updated>
<author>
<name>Wolfgang Denk</name>
<email>wd@denx.de</email>
</author>
<published>2021-09-27T15:42:36Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=66356b4c06c934021f6cb58d93877427162b369f'/>
<id>urn:sha1:66356b4c06c934021f6cb58d93877427162b369f</id>
<content type='text'>
Signed-off-by: Wolfgang Denk &lt;wd@denx.de&gt;
</content>
</entry>
<entry>
<title>lmb: Switch to generic arch_lmb_reserve_generic()</title>
<updated>2021-09-23T18:15:32Z</updated>
<author>
<name>Marek Vasut</name>
<email>marek.vasut@gmail.com</email>
</author>
<published>2021-09-10T20:47:10Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=1f391c34547e79391ad4b167d68351521c49c6d0'/>
<id>urn:sha1:1f391c34547e79391ad4b167d68351521c49c6d0</id>
<content type='text'>
Switch arc/arm/m68k/microblaze/mips/ppc arch_lmb_reserve() to
arch_lmb_reserve_generic().

Reviewed-by: Tom Rini &lt;trini@konsulko.com&gt;
Signed-off-by: Marek Vasut &lt;marek.vasut+renesas@gmail.com&gt;
Cc: Alexey Brodkin &lt;alexey.brodkin@synopsys.com&gt;
Cc: Angelo Dureghello &lt;angelo@sysam.it&gt;
Cc: Daniel Schwierzeck &lt;daniel.schwierzeck@gmail.com&gt;
Cc: Eugeniy Paltsev &lt;Eugeniy.Paltsev@synopsys.com&gt;
Cc: Hai Pham &lt;hai.pham.ud@renesas.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Simon Goldschmidt &lt;simon.k.r.goldschmidt@gmail.com&gt;
Cc: Tom Rini &lt;trini@konsulko.com&gt;
Cc: Wolfgang Denk &lt;wd@denx.de&gt;
</content>
</entry>
<entry>
<title>Revert "powerpc: fix regression in arch_initr_trap()"</title>
<updated>2021-06-23T12:45:03Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2021-06-03T13:39:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8f0f26eb59006846348b59e1e9eca98b24cea333'/>
<id>urn:sha1:8f0f26eb59006846348b59e1e9eca98b24cea333</id>
<content type='text'>
With the changes in commit 588efcdd72fc ("powerpc: Don't use relative
include for config.h in global_data.h") fixing the root of the problem,
we no longer need this re-inclusion.

This reverts commit f6c0d365d3e8ee8e4fd3ebe2ed957c2bca9d3328.

Cc: Matt Merhar &lt;mattmerhar@protonmail.com&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
</entry>
<entry>
<title>powerpc: fix regression in arch_initr_trap()</title>
<updated>2021-05-26T21:26:07Z</updated>
<author>
<name>Matt Merhar</name>
<email>mattmerhar@protonmail.com</email>
</author>
<published>2021-05-17T17:32:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f6c0d365d3e8ee8e4fd3ebe2ed957c2bca9d3328'/>
<id>urn:sha1:f6c0d365d3e8ee8e4fd3ebe2ed957c2bca9d3328</id>
<content type='text'>
The assembly output of the arch_initr_trap() function differed by a
single byte after common.h was removed from traps.c:

 fff49a18 &lt;arch_initr_trap&gt;:
 fff49a18:      94 21 ff f0     stwu    r1,-16(r1)
 fff49a1c:      7c 08 02 a6     mflr    r0
 fff49a20:      90 01 00 14     stw     r0,20(r1)
-fff49a24:      80 62 00 44     lwz     r3,68(r2)
+fff49a24:      80 62 00 38     lwz     r3,56(r2)
 fff49a28:      4b ff 76 19     bl      fff41040 &lt;trap_init&gt;
 fff49a2c:      80 01 00 14     lwz     r0,20(r1)
 fff49a30:      38 60 00 00     li      r3,0
 fff49a34:      38 21 00 10     addi    r1,r1,16
 fff49a38:      7c 08 03 a6     mtlr    r0

This was causing a consistent hard lockup during the MMC read / loading
of the QoriQ FMan firmware on a P2041RDB board.

Re-adding the header causes identical assembly to be emitted and allows
the firmware loading and subsequent boot to succeed.

Fixes: 401d1c4f5d ("common: Drop asm/global_data.h from common header")
Signed-off-by: Matt Merhar &lt;mattmerhar@protonmail.com&gt;
</content>
</entry>
<entry>
<title>powerpc: introduce CONFIG_CACHE_FLUSH_WATCHDOG_THRESHOLD</title>
<updated>2021-04-27T06:28:07Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rasmus.villemoes@prevas.dk</email>
</author>
<published>2021-04-21T09:16:03Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=729c1fe656913f0d5b09e986fec9976020a3363c'/>
<id>urn:sha1:729c1fe656913f0d5b09e986fec9976020a3363c</id>
<content type='text'>
When flush_cache() is called during boot on our ~7M kernel image, the
hundreds of thousands of WATCHDOG_RESET calls end up adding
significantly to boottime. Flushing a single cache line doesn't take
many microseconds, so doing these calls for every cache line is
complete overkill.

The generic watchdog_reset() provided by wdt-uclass.c actually
contains some rate-limiting logic that should in theory mitigate this,
but alas, that rate-limiting must be disabled on powerpc because of
its get_timer() implementation - get_timer() works just fine until
interrupts are disabled, but it just so happens that the "big"
flush_cache() call happens in the part of bootm where interrupts are
indeed disabled. [1] [2] [3]

I have checked with objdump that the generated code doesn't change
when this option is left at its default value of 0: gcc is smart
enough to see that the "&gt;=" comparison is tautologically true, hence
all assignments to "flushed" are eliminated as dead stores.

On our board, setting the option to something like 65536 ends up
reducing total boottime by about 0.8 seconds.

[1] https://patchwork.ozlabs.org/project/uboot/patch/20200605111657.28773-1-rasmus.villemoes@prevas.dk/
[2] https://lists.denx.de/pipermail/u-boot/2021-April/446906.html
[3] https://lists.denx.de/pipermail/u-boot/2021-April/447280.html

Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
Signed-off-by: Rasmus Villemoes &lt;rasmus.villemoes@prevas.dk&gt;
</content>
</entry>
<entry>
<title>powerpc: lib: remove leftover CONFIG_5xx</title>
<updated>2021-04-27T06:28:07Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rasmus.villemoes@prevas.dk</email>
</author>
<published>2021-04-21T09:16:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ec4cc0edf9c73ce65eaf669ad1b6b445c42844a0'/>
<id>urn:sha1:ec4cc0edf9c73ce65eaf669ad1b6b445c42844a0</id>
<content type='text'>
CONFIG_5xx hasn't existed since commit 502589777416 (powerpc, 5xx:
remove support for 5xx). Remove this last mention of it.

Reviewed-by: Stefan Roese &lt;sr@denx.de&gt;
Signed-off-by: Rasmus Villemoes &lt;rasmus.villemoes@prevas.dk&gt;
</content>
</entry>
<entry>
<title>allow opting out of WATCHDOG_RESET() from timer interrupt</title>
<updated>2021-04-27T06:28:07Z</updated>
<author>
<name>Rasmus Villemoes</name>
<email>rasmus.villemoes@prevas.dk</email>
</author>
<published>2021-04-14T07:18:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=933ada560b678726835566fbff8a044fa9800175'/>
<id>urn:sha1:933ada560b678726835566fbff8a044fa9800175</id>
<content type='text'>
Having WATCHDOG_RESET() called automatically from the timer interrupt
runs counter to the idea of a watchdog device - if the board runs into
an infinite loops with interrupts still enabled, the watchdog will
never fire.

When using CONFIG_(SPL_)WDT, the watchdog_reset function is a lot more
complicated than just poking a few SOC-specific registers - it
involves accessing all kinds of global data, and if the interrupt
happens at the wrong time (say, in the middle of an WATCHDOG_RESET()
call from ordinary code), that can end up corrupting said global data.

Allow the board to opt out of calling WATCHDOG_RESET() from the timer
interrupt handler by setting CONFIG_SYS_WATCHDOG_FREQ to 0 - as that
setting is currently nonsensical (it would be compile-time
divide-by-zero), it cannot affect any existing boards.

Add documentation for both the existing and extended meaning of
CONFIG_SYS_WATCHDOG_FREQ.

Signed-off-by: Rasmus Villemoes &lt;rasmus.villemoes@prevas.dk&gt;
</content>
</entry>
<entry>
<title>Merge branch '2021-02-02-drop-asm_global_data-when-unused'</title>
<updated>2021-02-15T15:16:45Z</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2021-02-15T13:19:40Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2ae80437fbe0181184ae4b188b89629b902702c6'/>
<id>urn:sha1:2ae80437fbe0181184ae4b188b89629b902702c6</id>
<content type='text'>
- Merge the patch to take &lt;asm/global_data.h&gt; out of &lt;common.h&gt;
</content>
</entry>
<entry>
<title>bdinfo: Rename function names to be clearer</title>
<updated>2021-02-03T10:38:41Z</updated>
<author>
<name>Bin Meng</name>
<email>bin.meng@windriver.com</email>
</author>
<published>2021-01-31T12:36:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=98592c7509278e73b2d56c5e307015d6f33c0f34'/>
<id>urn:sha1:98592c7509278e73b2d56c5e307015d6f33c0f34</id>
<content type='text'>
At present we have bdinfo_print_num() to print unsigned long numbers.
We also have print_phys_addr() which accept numbers that might be
64-bit on a 32-bit platform.

Rename these 2 functions to be clearer:

bdinfo_print_num() =&gt; bdinfo_print_num_l()
print_phys_addr()  =&gt; bdinfo_print_num_ll()

While we are here, make bdinfo_print_num_ll() public so that it can
be used outside cmd/bdinfo.c in the future.

Signed-off-by: Bin Meng &lt;bin.meng@windriver.com&gt;
</content>
</entry>
</feed>
