platform: generic: allwinner: Optimize current hart scratch access

The address of the local scratch area is stored in each hart's mscratch
CSR. It is more efficient to read the CSR than to compute the address
from the hart ID.

Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Samuel Holland 2024-03-18 07:49:29 -07:00 committed by Anup Patel
parent b94396c7dd
commit f5375bc15e

View file

@ -142,7 +142,7 @@ static void sun20i_d1_riscv_cfg_restore(void)
static void sun20i_d1_riscv_cfg_init(void) static void sun20i_d1_riscv_cfg_init(void)
{ {
u64 entry = sbi_hartid_to_scratch(0)->warmboot_addr; u64 entry = sbi_scratch_thishart_ptr()->warmboot_addr;
/* Enable MMIO access. */ /* Enable MMIO access. */
writel_relaxed(CCU_BGR_ENABLE, SUN20I_D1_CCU_BASE + RISCV_CFG_BGR_REG); writel_relaxed(CCU_BGR_ENABLE, SUN20I_D1_CCU_BASE + RISCV_CFG_BGR_REG);