power: reset: at91-reset: Optimize at91_reset()
[ Upstream commit62d48983f2] This patch adds a small optimization to the low-level at91_reset() function, which includes: - Removes the extra branch, since the following store operations already have proper condition checks. - Removes the definition of the clobber register r4, since it is no longer used in the code. Fixes:fcd0532fac("power: reset: at91-reset: make at91sam9g45_restart() generic") Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com> Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20250307053809.20245-1-eagle.alexander923@gmail.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c6c1422679
commit
d46af758f6
@@ -129,12 +129,11 @@ static int at91_reset(struct notifier_block *this, unsigned long mode,
|
|||||||
" str %4, [%0, %6]\n\t"
|
" str %4, [%0, %6]\n\t"
|
||||||
/* Disable SDRAM1 accesses */
|
/* Disable SDRAM1 accesses */
|
||||||
"1: tst %1, #0\n\t"
|
"1: tst %1, #0\n\t"
|
||||||
" beq 2f\n\t"
|
|
||||||
" strne %3, [%1, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t"
|
" strne %3, [%1, #" __stringify(AT91_DDRSDRC_RTR) "]\n\t"
|
||||||
/* Power down SDRAM1 */
|
/* Power down SDRAM1 */
|
||||||
" strne %4, [%1, %6]\n\t"
|
" strne %4, [%1, %6]\n\t"
|
||||||
/* Reset CPU */
|
/* Reset CPU */
|
||||||
"2: str %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t"
|
" str %5, [%2, #" __stringify(AT91_RSTC_CR) "]\n\t"
|
||||||
|
|
||||||
" b .\n\t"
|
" b .\n\t"
|
||||||
:
|
:
|
||||||
@@ -145,7 +144,7 @@ static int at91_reset(struct notifier_block *this, unsigned long mode,
|
|||||||
"r" cpu_to_le32(AT91_DDRSDRC_LPCB_POWER_DOWN),
|
"r" cpu_to_le32(AT91_DDRSDRC_LPCB_POWER_DOWN),
|
||||||
"r" (reset->data->reset_args),
|
"r" (reset->data->reset_args),
|
||||||
"r" (reset->ramc_lpr)
|
"r" (reset->ramc_lpr)
|
||||||
: "r4");
|
);
|
||||||
|
|
||||||
return NOTIFY_DONE;
|
return NOTIFY_DONE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user