linux-stable/drivers/gpu/drm/omapdrm
Tomi Valkeinen 0e45633f49 drm/omap: fix max fclk divider for omap36xx
commit e2c4ed148c upstream.

The OMAP36xx and AM/DM37x TRMs say that the maximum divider for DSS fclk
(in CM_CLKSEL_DSS) is 32. Experimentation shows that this is not
correct, and using divider of 32 breaks DSS with a flood or underflows
and sync losts. Dividers up to 31 seem to work fine.

There is another patch to the DT files to limit the divider correctly,
but as the DSS driver also needs to know the maximum divider to be able
to iteratively find good rates, we also need to do the fix in the DSS
driver.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Adam Ford <aford173@gmail.com>
Cc: stable@vger.kernel.org
Link: https://patchwork.freedesktop.org/patch/msgid/20191002122542.8449-1-tomi.valkeinen@ti.com
Tested-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-11 18:21:01 +02:00
..
displays drm/omap: fix email address 2018-06-28 13:41:05 +03:00
dss drm/omap: fix max fclk divider for omap36xx 2019-10-11 18:21:01 +02:00
Kconfig
Makefile
omap_connector.c drm: drop _mode_ from update_edit_property() 2018-07-13 18:40:27 +02:00
omap_connector.h
omap_crtc.c drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations 2018-03-01 09:18:18 +02:00
omap_crtc.h drm: omapdrm: dss: Pass omap_drm_private pointer to dss_mgr_ops 2018-03-01 09:18:18 +02:00
omap_debugfs.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_dmm_priv.h
omap_dmm_tiler.c drm/omap: fix memory barrier bug in DMM driver 2018-11-21 09:19:10 +01:00
omap_dmm_tiler.h
omap_drv.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
omap_drv.h drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_encoder.c
omap_encoder.h
omap_fb.c drm/omapdrm: Nuke omap_framebuffer_get_next_connector() 2018-05-25 21:21:39 +03:00
omap_fb.h drm/omapdrm: Nuke omap_framebuffer_get_next_connector() 2018-05-25 21:21:39 +03:00
omap_fbdev.c drm/omap: gem: Replace struct_mutex usage with omap_obj private lock 2018-06-28 13:41:05 +03:00
omap_fbdev.h drm/omap: cleanup fbdev init/free 2018-03-01 09:18:18 +02:00
omap_gem.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_gem.h gpu: drm: omapdrm: Adding new typedef vm_fault_t 2018-06-28 13:41:05 +03:00
omap_gem_dmabuf.c drm/omap: remove now unused functions 2018-06-25 13:28:06 +10:00
omap_irq.c drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations 2018-03-01 09:18:18 +02:00
omap_irq.h
omap_plane.c drm/omap: Use normalized zpos for plane placement 2018-03-28 09:45:45 +03:00
omap_plane.h
tcm-sita.c drm/omap: silence unititialized variable warning 2018-05-07 10:19:11 -04:00
tcm-sita.h
tcm.h
TODO