linux_dsm_epyc7002/drivers/gpu/drm/omapdrm
Venkateswara Rao Mandela c618a3a93b drm/omap: Implement workaround for DRA7 errata ID:i932
Description of DRA7 Errata i932:

In rare circumstances DPLL_VIDEO1 and DPLL_VIDEO2 PLL's may not lock on
the first attempt during DSS initialization. When this occurs, a
subsequent attempt to relock the PLL will result in PLL successfully
locking.

This patch does the following as per the errata recommendation:

- retries locking the PLL upto 20 times.

- The time to wait for a PLL lock set to 1000 REFCLK cycles. We use
usleep_range to wait for 1000 REFCLK cycles in the us range. This tight
constraint is imposed as a lock later than 1000 REFCLK cycles may have
high jitter.

- Criteria for PLL lock is extended from check on just the PLL_LOCK bit
to check on 6 PLL_STATUS bits.

Silicon Versions Impacted:
DRA71, DRA72, DRA74, DRA76 - All silicon revisions
AM57x - All silicon revisions

OMAP4/5 are not impacted by this errata

Signed-off-by: Venkateswara Rao Mandela <venkat.mandela@ti.com>
[tomi.valkeinen@ti.com: ported to v4.14]
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-06-28 13:41:05 +03:00
..
displays drm: omapdrm: displays: panel-dsi-cm: Fix field access before set 2018-03-02 15:11:07 +02:00
dss drm/omap: Implement workaround for DRA7 errata ID:i932 2018-06-28 13:41:05 +03:00
Kconfig drm/omap: Get rid of DRM_OMAP_NUM_CRTCS config option 2017-04-03 12:36:40 +03:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap_connector.c drm/omap: handle alloc failures in omap_connector 2018-05-07 10:19:12 -04:00
omap_connector.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
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: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
omap_dmm_priv.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_dmm_tiler.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
omap_dmm_tiler.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_drv.c drm/omap: Use normalized zpos for plane placement 2018-03-28 09:45:45 +03:00
omap_drv.h drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations 2018-03-01 09:18:18 +02:00
omap_encoder.c drm: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
omap_encoder.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
omap_fb.c drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_fb.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
omap_fbdev.c drm/omap: Init fbdev emulation only when we have displays 2018-03-01 09:18:18 +02:00
omap_fbdev.h drm/omap: cleanup fbdev init/free 2018-03-01 09:18:18 +02:00
omap_gem_dmabuf.c drm: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
omap_gem.c gpu: drm: omapdrm: Adding new typedef vm_fault_t 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_irq.c drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations 2018-03-01 09:18:18 +02:00
omap_irq.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_plane.c drm/omap: Use normalized zpos for plane placement 2018-03-28 09:45:45 +03:00
omap_plane.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
tcm-sita.c drm/omap: silence unititialized variable warning 2018-05-07 10:19:11 -04:00
tcm-sita.h drm: omapdrm: Remove filename from header and fix copyright tag 2017-12-19 11:21:32 +02:00
tcm.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
TODO drm/omap: move out of staging 2013-02-16 17:38:06 -05:00