gpu: host1x: clk_round_rate() can return a zero upon error
authorPaul Walmsley <pwalmsley@nvidia.com>
Tue, 10 Dec 2013 02:00:12 +0000 (18:00 -0800)
committerThierry Reding <treding@nvidia.com>
Thu, 19 Dec 2013 08:29:52 +0000 (09:29 +0100)
Treat both negative and zero return values from clk_round_rate() as
errors.  This is needed since subsequent patches will convert
clk_round_rate()'s return value to be an unsigned type, rather than a
signed type, since some clock sources can generate rates higher than
(2^31)-1 Hz.

Eventually, when calling clk_round_rate(), only a return value of zero
will be considered a error.  All other values will be considered valid
rates.  The comparison against values less than 0 is kept to preserve
the correct behavior in the meantime.

Signed-off-by: Paul Walmsley <pwalmsley@nvidia.com>
Cc: Mikko Perttunen <mperttunen@nvidia.com>
Cc: Arto Merilainen <amerilainen@nvidia.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Terje Bergström <tbergstrom@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/tegra/hdmi.c

index 7f6253e..0cfc94f 100644 (file)
@@ -960,7 +960,7 @@ static int tegra_output_hdmi_check_mode(struct tegra_output *output,
        parent = clk_get_parent(hdmi->clk_parent);
 
        err = clk_round_rate(parent, pclk * 4);
-       if (err < 0)
+       if (err <= 0)
                *status = MODE_NOCLOCK;
        else
                *status = MODE_OK;