Skip to content

Commit

Permalink
panel-raspberrypi-touchscreen: Round up clk rate to fix DSI panel.
Browse files Browse the repository at this point in the history
Commit 488f9bc slightly increased the
reported rate of PLLD, so the clk driver decided that PLLD/3/8 was now
higher than our requested pixel clock rate and rejected it in favor of
PLLD/4/8, which then ran the pixel clock way out of spec.

By bumping the requested clock rate just slightly, we get back to
PLLD/3/8 like we wanted and the panel displays content again.

Signed-off-by: Eric Anholt <[email protected]>
  • Loading branch information
anholt authored and pelwell committed Mar 8, 2017
1 parent 8196e63 commit 073d94f
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,12 @@ static const struct drm_display_mode rpi_touchscreen_modes[] = {
#define HBP 46
#define HFP ((PIXEL_CLOCK / (VTOTAL * VREFRESH)) - (HACT + HSW + HBP))

.clock = PIXEL_CLOCK / 1000,
/* Round up the pixel clock a bit (10khz), so that the
* "don't run things faster than the requested clock
* rate" rule of the clk driver doesn't reject the
* divide-by-3 mode due to rounding error.
*/
.clock = PIXEL_CLOCK / 1000 + 10,
.hdisplay = HACT,
.hsync_start = HACT + HFP,
.hsync_end = HACT + HFP + HSW,
Expand Down

0 comments on commit 073d94f

Please sign in to comment.