[U-Boot] [RFC 1/1] dm: video: tegra124: incorrect logical condition
Anatolij Gustschin
agust at denx.de
Tue Mar 6 10:08:26 UTC 2018
Hi all,
On Wed, 31 Jan 2018 01:16:07 +0100
Heinrich Schuchardt xypron.glpk at 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 at 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
More information about the U-Boot
mailing list