aboutsummaryrefslogtreecommitdiff
path: root/platform
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 /platform
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>
Diffstat (limited to 'platform')
-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);