aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Holland <samuel.holland@sifive.com>2024-03-18 07:49:29 -0700
committerAnup Patel <anup@brainfault.org>2024-04-05 17:34:25 +0530
commitf5375bc15e9f3e577dfc24f9095a3e37246a3fa3 (patch)
treefbba4126ba52d8c773a0a7095a837077d5e1ee9a
parentb94396c7dde699c17e81e087aadafda125f86856 (diff)
downloadopensbi-f5375bc15e9f3e577dfc24f9095a3e37246a3fa3.zip
opensbi-f5375bc15e9f3e577dfc24f9095a3e37246a3fa3.tar.gz
opensbi-f5375bc15e9f3e577dfc24f9095a3e37246a3fa3.tar.bz2
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>
-rw-r--r--platform/generic/allwinner/sun20i-d1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/platform/generic/allwinner/sun20i-d1.c b/platform/generic/allwinner/sun20i-d1.c
index ed19d5d..ab2eee5 100644
--- a/platform/generic/allwinner/sun20i-d1.c
+++ b/platform/generic/allwinner/sun20i-d1.c
@@ -142,7 +142,7 @@ static void sun20i_d1_riscv_cfg_restore(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. */
writel_relaxed(CCU_BGR_ENABLE, SUN20I_D1_CCU_BASE + RISCV_CFG_BGR_REG);