[U-Boot] [PATCH v3 41/57] ram: rk3399: Simplify data training first argument

Jagan Teki
2019-07-16T11:57:29Z

data training is using chan_info as first argument with
channel number as second argument instead of that use
dram_info as first argument so-that we can get the
chan_info at data training definition.

This was the argument handling is meaningful, readable
and it would help to add similar data training for
lpddr4 in future.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
drivers/ram/rockchip/sdram_rk3399.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c
index e3f1abf7e7..1aaaeb5b88 100644
--- a/drivers/ram/rockchip/sdram_rk3399.c
+++ b/drivers/ram/rockchip/sdram_rk3399.c
@@ -1286,10 +1286,11 @@ static int data_training_wdql(const struct chan_info *chan, u32 channel,
return 0;
}

-static int data_training(const struct chan_info *chan, u32 channel,
+static int data_training(struct dram_info *dram, u32 channel,
const struct rk3399_sdram_params *params,
u32 training_flag)
{
+ struct chan_info *chan = &dram->chan[channel];
u32 *denali_phy = chan->publ->denali_phy;
int ret;

@@ -1498,8 +1499,7 @@ static int switch_to_phy_index1(struct dram_info *dram,
for (channel = 0; channel < ch_count; channel++) {
denali_phy = dram->chan[channel].publ->denali_phy;
clrsetbits_le32(&denali_phy[896], (0x3 << 8) | 1, 1 << 8);
- ret = data_training(&dram->chan[channel], channel,
- params, PI_FULL_TRAINING);
+ ret = data_training(dram, channel, params, PI_FULL_TRAINING);
if (ret < 0) {
debug("index1 training failed\n");
return ret;
@@ -1662,8 +1662,7 @@ static int sdram_init(struct dram_info *dram,
if (params->base.dramtype == LPDDR3)
training_flag |= PI_CA_TRAINING;

- if (!(data_training(&dram->chan[ch], ch,
- params, training_flag)))
+ if (!(data_training(dram, ch, params, training_flag)))
break;
}
/* Computed rank with associated channel number */
--
2.18.0.321.gffc6fa0e3