summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2016-04-20 15:17:24 -0700
committerPatrick Georgi <pgeorgi@google.com>2016-05-09 08:40:59 +0200
commitb38895ea38e1b2d35eed16d8dd8bfb48f0af1ff5 (patch)
tree15a611112d83f8f72880b622bea5238e9fab3f1d
parentf5702e70d66a0c429c80452bbbf4e1b4c1591dc5 (diff)
rockchip: rk3399: use static pointers to regs as they compile to faster code
Quoting an earlier review comment, using static structures pointers in the include file "should allow the compiler to optimize accesses better than defining it in a separate compilation unit (by being able to constant fold stuff like &rk3399_pmusgrf->field into a single address, rather than loading the symbol, loading an offset constant and adding)". Any decent compiler linker system nowadays would consolidate this definition in any case. BRANCH=none BUG=chrome-os-partner:51537 TEST=with the rest of the patches applied Kevin successfully boots Linux kernel. Change-Id: Ibb576c7691a30f2f429651fcca133bd72710c13b Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: 89b6f22e37f733667156f15afb8c27d8a9f07512 Original-Change-Id: Ice8d6d766a91e7f4fce553378a23b9ca593d12dd Original-Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/339869 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-on: https://review.coreboot.org/14705 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--src/soc/rockchip/rk3399/clock.c4
-rw-r--r--src/soc/rockchip/rk3399/include/soc/grf.h6
2 files changed, 3 insertions, 7 deletions
diff --git a/src/soc/rockchip/rk3399/clock.c b/src/soc/rockchip/rk3399/clock.c
index db4ec3db47..7bf5df8261 100644
--- a/src/soc/rockchip/rk3399/clock.c
+++ b/src/soc/rockchip/rk3399/clock.c
@@ -17,10 +17,6 @@
#include <soc/clock.h>
#include <soc/grf.h>
-struct rk3399_grf_regs * const rk3399_grf = (void *)GRF_BASE;
-struct rk3399_pmugrf_regs * const rk3399_pmugrf = (void *)PMUGRF_BASE;
-struct rk3399_pmusgrf_regs * const rk3399_pmusgrf = (void *)PMUSGRF_BASE;
-
void rkclk_configure_spi(unsigned int bus, unsigned int hz)
{
}
diff --git a/src/soc/rockchip/rk3399/include/soc/grf.h b/src/soc/rockchip/rk3399/include/soc/grf.h
index 9d1821cb5b..389454f0c7 100644
--- a/src/soc/rockchip/rk3399/include/soc/grf.h
+++ b/src/soc/rockchip/rk3399/include/soc/grf.h
@@ -315,9 +315,9 @@ struct rk3399_pmusgrf_regs {
};
check_member(rk3399_pmusgrf_regs, slv_secure_con4, 0xe3d4);
-extern struct rk3399_grf_regs * const rk3399_grf;
-extern struct rk3399_pmugrf_regs * const rk3399_pmugrf;
-extern struct rk3399_pmusgrf_regs * const rk3399_pmusgrf;
+static struct rk3399_grf_regs * const rk3399_grf = (void *)GRF_BASE;
+static struct rk3399_pmugrf_regs * const rk3399_pmugrf = (void *)PMUGRF_BASE;
+static struct rk3399_pmusgrf_regs * const rk3399_pmusgrf = (void *)PMUSGRF_BASE;
#define UART2A_SEL RK_CLRSETBITS(3 << 10, 0 << 10)
#define UART2B_SEL RK_CLRSETBITS(3 << 10, 1 << 10)