[PATCH for 5.5] phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz
dianders at chromium.org
Mon Jan 6 14:25:37 PST 2020
On Mon, Dec 23, 2019 at 12:49 AM Jonas Karlman <jonas at kwiboo.se> wrote:
> Commit 287422a95fe2 ("drm/rockchip: Round up _before_ giving to the clock framework")
> changed what rate clk_round_rate() is called with, an additional 999 Hz
> added to the requsted mode clock. This has caused a regression on RK3328
> and presumably also on RK3228 because the inno-hdmi-phy clock requires an
> exact match of the requested rate in the pre pll config table.
> When an exact match is not found the parent clock rate (24MHz) is returned
> to the clk_round_rate() caller. This cause wrong pixel clock to be used and
> result in no-signal when configuring a mode on RK3328.
> Fix this by rounding the rate down to closest 1000 Hz in round_rate func,
> this allows an exact match to be found in pre pll config table.
> Fixes: 287422a95fe2 ("drm/rockchip: Round up _before_ giving to the clock framework")
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
> drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 4 ++++
> 1 file changed, 4 insertions(+)
Sorry for the regression and thanks for the fix. It seems sane to me
since you're just matching against your own table and all the rates
there are all in kHz.
Reviewed-by: Douglas Anderson <dianders at chromium.org>
More information about the linux-arm-kernel