From: Alex Waterman Date: Thu, 27 Aug 2015 17:50:18 +0000 (-0700) Subject: platform: tegra: emc: Fix logic in EMC CC X-Git-Tag: tegra-l4t-r23.1~45 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/sojka/nv-tegra/linux-3.10.git/commitdiff_plain/5a4164bd9cbc7ce824f0b0d37ce0fcd2556a5d04 platform: tegra: emc: Fix logic in EMC CC Fix some logic in the EMC clock change. The problem was that a bitwise and operation was compared against the literal value 1. The idea was to actually test if the bit was set. Bug 1416640 Change-Id: Ib30c36bb59206b1637ff1fe0443b918c2e493ebe Signed-off-by: Alex Waterman Reviewed-on: http://git-master/r/791570 Reviewed-by: Robert Shih Tested-by: Robert Shih GVS: Gerrit_Virtual_Submit Reviewed-by: Steve Rogers --- diff --git a/drivers/platform/tegra/mc/tegra21_emc_cc_r21012.c b/drivers/platform/tegra/mc/tegra21_emc_cc_r21012.c index e83c7a3df6d..1721dee12d3 100644 --- a/drivers/platform/tegra/mc/tegra21_emc_cc_r21012.c +++ b/drivers/platform/tegra/mc/tegra21_emc_cc_r21012.c @@ -857,14 +857,14 @@ void emc_set_clock_r21012(struct tegra21_emc_table *next_timing, } /* Check if we need to turn on VREF generator. */ - if ((((last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) == 0) && - ((next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) == 1)) || - (((last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) == 0) && - ((next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) == 1))) { + if ((!(last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) && + (next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF)) || + (!(last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) && + (next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF))) { u32 pad_tx_ctrl = next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX]; u32 last_pad_tx_ctrl = diff --git a/drivers/platform/tegra/mc/tegra21_emc_cc_r21015.c b/drivers/platform/tegra/mc/tegra21_emc_cc_r21015.c index 8c10cd84eea..4fd0d7171af 100644 --- a/drivers/platform/tegra/mc/tegra21_emc_cc_r21015.c +++ b/drivers/platform/tegra/mc/tegra21_emc_cc_r21015.c @@ -1605,14 +1605,14 @@ void emc_set_clock_r21015(struct tegra21_emc_table *next_timing, } /* Check if we need to turn on VREF generator. */ - if ((((last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) == 0) && - ((next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) == 1)) || - (((last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) == 0) && - ((next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) == 1))) { + if ((!(last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) && + (next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF)) || + (!(last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) && + (next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF))) { u32 pad_tx_ctrl = next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX]; u32 last_pad_tx_ctrl = diff --git a/drivers/platform/tegra/mc/tegra21_emc_cc_r21021.c b/drivers/platform/tegra/mc/tegra21_emc_cc_r21021.c index 245f64e4987..463bf4086dd 100644 --- a/drivers/platform/tegra/mc/tegra21_emc_cc_r21021.c +++ b/drivers/platform/tegra/mc/tegra21_emc_cc_r21021.c @@ -908,14 +908,14 @@ void emc_set_clock_r21021(struct tegra21_emc_table *next_timing, } /* Check if we need to turn on VREF generator. */ - if ((((last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) == 0) && - ((next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) == 1)) || - (((last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) == 0) && - ((next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & - EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) == 1))) { + if ((!(last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF) && + (next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQ_E_IVREF)) || + (!(last_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF) && + (next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX] & + EMC_PMACRO_DATA_PAD_TX_CTRL_DATA_DQS_E_IVREF))) { u32 pad_tx_ctrl = next_timing->burst_regs[EMC_PMACRO_DATA_PAD_TX_CTRL_INDEX]; u32 last_pad_tx_ctrl =