[U-Boot] [PATCH 045/172] ddr: altera: Dissolve invocation of sdr_get_addr(&sdr_reg_file->.*)
Marek Vasut
marex at denx.de
Mon Jul 27 22:50:08 CEST 2015
Instead of this indirection, just adjust the register pointer and
directly use the register base address.
Signed-off-by: Marek Vasut <marex at denx.de>
---
drivers/ddr/altera/sequencer.c | 46 ++++++++++++++++++++++--------------------
1 file changed, 24 insertions(+), 22 deletions(-)
diff --git a/drivers/ddr/altera/sequencer.c b/drivers/ddr/altera/sequencer.c
index 9b81a51..9866b04 100644
--- a/drivers/ddr/altera/sequencer.c
+++ b/drivers/ddr/altera/sequencer.c
@@ -22,7 +22,7 @@ static struct socfpga_sdr_rw_load_jump_manager *sdr_rw_load_jump_mgr_regs =
(struct socfpga_sdr_rw_load_jump_manager *)(BASE_RW_MGR + 0xC00);
static struct socfpga_sdr_reg_file *sdr_reg_file =
- (struct socfpga_sdr_reg_file *)(BASE_REG_FILE);
+ (struct socfpga_sdr_reg_file *)SDR_PHYGRP_REGFILEGRP_ADDRESS;
static struct socfpga_sdr_scc_mgr *sdr_scc_mgr =
(struct socfpga_sdr_scc_mgr *)(BASE_SCC_MGR + 0x0E00);
@@ -130,7 +130,7 @@ static void set_failing_group_stage(uint32_t group, uint32_t stage,
static void reg_file_set_group(uint32_t set_group)
{
- u32 addr = sdr_get_addr(&sdr_reg_file->cur_stage);
+ u32 addr = (u32)&sdr_reg_file->cur_stage;
/* Read the current group and stage */
uint32_t cur_stage_group = readl(SOCFPGA_SDR_ADDRESS + addr);
@@ -147,7 +147,8 @@ static void reg_file_set_group(uint32_t set_group)
static void reg_file_set_stage(uint32_t set_stage)
{
- u32 addr = sdr_get_addr(&sdr_reg_file->cur_stage);
+ u32 addr = (u32)&sdr_reg_file->cur_stage;
+
/* Read the current group and stage */
uint32_t cur_stage_group = readl(SOCFPGA_SDR_ADDRESS + addr);
@@ -163,7 +164,8 @@ static void reg_file_set_stage(uint32_t set_stage)
static void reg_file_set_sub_stage(uint32_t set_sub_stage)
{
- u32 addr = sdr_get_addr(&sdr_reg_file->cur_stage);
+ u32 addr = (u32)&sdr_reg_file->cur_stage;
+
/* Read the current group and stage */
uint32_t cur_stage_group = readl(SOCFPGA_SDR_ADDRESS + addr);
@@ -1911,7 +1913,7 @@ static uint32_t rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase(uint32_t grp)
if (found_passing_read && found_failing_read)
dtaps_per_ptap = d - initial_failing_dtap;
- addr = sdr_get_addr(&sdr_reg_file->dtaps_per_ptap);
+ addr = (u32)&sdr_reg_file->dtaps_per_ptap;
writel(dtaps_per_ptap, SOCFPGA_SDR_ADDRESS + addr);
debug_cond(DLEVEL == 2, "%s:%d find_dqs_en_phase: dtaps_per_ptap=%u \
- %u = %u", __func__, __LINE__, d,
@@ -3754,7 +3756,7 @@ static uint32_t run_mem_calibrate(void)
/* Update the FOM in the register file */
debug_info = gbl->fom_in;
debug_info |= gbl->fom_out << 8;
- addr = sdr_get_addr(&sdr_reg_file->fom);
+ addr = (u32)&sdr_reg_file->fom;
writel(debug_info, SOCFPGA_SDR_ADDRESS + addr);
addr = sdr_get_addr(&phy_mgr_cfg->cal_debug_info);
@@ -3768,7 +3770,7 @@ static uint32_t run_mem_calibrate(void)
debug_info |= gbl->error_substage << 8;
debug_info |= gbl->error_group << 16;
- addr = sdr_get_addr(&sdr_reg_file->failing_stage);
+ addr = (u32)&sdr_reg_file->failing_stage;
writel(debug_info, SOCFPGA_SDR_ADDRESS + addr);
addr = sdr_get_addr(&phy_mgr_cfg->cal_debug_info);
writel(debug_info, SOCFPGA_SDR_ADDRESS + addr);
@@ -3779,7 +3781,7 @@ static uint32_t run_mem_calibrate(void)
debug_info = gbl->error_stage;
debug_info |= gbl->error_substage << 8;
debug_info |= gbl->error_group << 16;
- addr = sdr_get_addr(&sdr_reg_file->failing_stage);
+ addr = (u32)&sdr_reg_file->failing_stage;
writel(debug_info, SOCFPGA_SDR_ADDRESS + addr);
}
@@ -3809,25 +3811,25 @@ static void initialize_reg_file(void)
uint32_t addr;
/* Initialize the register file with the correct data */
- addr = sdr_get_addr(&sdr_reg_file->signature);
+ addr = (u32)&sdr_reg_file->signature;
writel(REG_FILE_INIT_SEQ_SIGNATURE, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->debug_data_addr);
+ addr = (u32)&sdr_reg_file->debug_data_addr;
writel(0, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->cur_stage);
+ addr = (u32)&sdr_reg_file->cur_stage;
writel(0, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->fom);
+ addr = (u32)&sdr_reg_file->fom;
writel(0, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->failing_stage);
+ addr = (u32)&sdr_reg_file->failing_stage;
writel(0, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->debug1);
+ addr = (u32)&sdr_reg_file->debug1;
writel(0, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->debug2);
+ addr = (u32)&sdr_reg_file->debug2;
writel(0, SOCFPGA_SDR_ADDRESS + addr);
}
@@ -3931,25 +3933,25 @@ static void initialize_tracking(void)
concatenated_refresh = concatenated_refresh ^ 1000; /* trefi */
/* Initialize the register file with the correct data */
- addr = sdr_get_addr(&sdr_reg_file->dtaps_per_ptap);
+ addr = (u32)&sdr_reg_file->dtaps_per_ptap;
writel(dtaps_per_ptap, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->trk_sample_count);
+ addr = (u32)&sdr_reg_file->trk_sample_count;
writel(trk_sample_count, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->trk_longidle);
+ addr = (u32)&sdr_reg_file->trk_longidle;
writel(concatenated_longidle, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->delays);
+ addr = (u32)&sdr_reg_file->delays;
writel(concatenated_delays, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->trk_rw_mgr_addr);
+ addr = (u32)&sdr_reg_file->trk_rw_mgr_addr;
writel(concatenated_rw_addr, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->trk_read_dqs_width);
+ addr = (u32)&sdr_reg_file->trk_read_dqs_width;
writel(RW_MGR_MEM_IF_READ_DQS_WIDTH, SOCFPGA_SDR_ADDRESS + addr);
- addr = sdr_get_addr(&sdr_reg_file->trk_rfsh);
+ addr = (u32)&sdr_reg_file->trk_rfsh;
writel(concatenated_refresh, SOCFPGA_SDR_ADDRESS + addr);
}
--
2.1.4
More information about the U-Boot
mailing list