
Hi all,
On Wed, 31 Jan 2018 01:16:07 +0100 Heinrich Schuchardt xypron.glpk@gmx.de wrote:
2 << 24 | A is always true. To use check against a bitmask we need &.
it is always true, but here we are not checking against a bitmask, so the patch is wrong.
We set or clear register bit (depending on 'is_lvds' value) together with another register bits for ROTCLK config.
So, I think the code should be
2 << CSTM_ROTCLK_SHIFT | (is_lvds ? CSTM_LVDS_EN_ENABLE : CSTM_LVDS_EN_DISABLE)
But I do not have the hardware to test. Maybe Simon ?
Identified with cppcheck.
Signed-off-by: Heinrich Schuchardt xypron.glpk@gmx.de
I do not have the hardware available. But the current coding is fishy.
Please, clarify what should be coded here.
drivers/video/tegra124/sor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/tegra124/sor.c b/drivers/video/tegra124/sor.c index 700ab25d46..4b3381fae2 100644 --- a/drivers/video/tegra124/sor.c +++ b/drivers/video/tegra124/sor.c @@ -669,7 +669,7 @@ static void tegra_dc_sor_config_panel(struct tegra_dc_sor_data *sor, tegra_sor_write_field(sor, CSTM, CSTM_ROTCLK_DEFAULT_MASK | CSTM_LVDS_EN_ENABLE,
2 << CSTM_ROTCLK_SHIFT |
2 << CSTM_ROTCLK_SHIFT & is_lvds ? CSTM_LVDS_EN_ENABLE : CSTM_LVDS_EN_DISABLE);
Thanks,
Anatolij