arm-sdk

os build toolkit for various embedded devices
git clone https://git.parazyd.org/arm-sdk
Log | Files | Refs | Submodules | README | LICENSE

0005-Revert-drm-omap-work-around-for-omap3-display-enable.patch (2831B)


      1 From 324c0340c85dee1a2ae3eb6c71bcd9e47c9f03f7 Mon Sep 17 00:00:00 2001
      2 From: =?UTF-8?q?Filip=20Matijevi=C4=87?= <filip.matijevic.pz@gmail.com>
      3 Date: Thu, 2 Nov 2017 18:46:21 +0100
      4 Subject: [PATCH 05/11] Revert "drm/omap: work-around for omap3 display enable"
      5 
      6 This reverts commit fc5cc9678e130196012c17b37e555d53d3d3476b.
      7 ---
      8  drivers/gpu/drm/omapdrm/omap_drv.c | 47 ++++++++++++++------------------------
      9  1 file changed, 17 insertions(+), 30 deletions(-)
     10 
     11 diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
     12 index dd68b2556f5b..bc5b68ecd0f7 100644
     13 --- a/drivers/gpu/drm/omapdrm/omap_drv.c
     14 +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
     15 @@ -74,36 +74,23 @@ static void omap_atomic_commit_tail(struct drm_atomic_state *old_state)
     16  	/* Apply the atomic update. */
     17  	drm_atomic_helper_commit_modeset_disables(dev, old_state);
     18  
     19 -	if (priv->omaprev != 0x3430) {
     20 -		/* With the current dss dispc implementation we have to enable
     21 -		 * the new modeset before we can commit planes. The dispc ovl
     22 -		 * configuration relies on the video mode configuration been
     23 -		 * written into the HW when the ovl configuration is
     24 -		 * calculated.
     25 -		 *
     26 -		 * This approach is not ideal because after a mode change the
     27 -		 * plane update is executed only after the first vblank
     28 -		 * interrupt. The dispc implementation should be fixed so that
     29 -		 * it is able use uncommitted drm state information.
     30 -		 */
     31 -		drm_atomic_helper_commit_modeset_enables(dev, old_state);
     32 -		omap_atomic_wait_for_completion(dev, old_state);
     33 -
     34 -		drm_atomic_helper_commit_planes(dev, old_state, 0);
     35 -
     36 -		drm_atomic_helper_commit_hw_done(old_state);
     37 -	} else {
     38 -		/*
     39 -		 * OMAP3 DSS seems to have issues with the work-around above,
     40 -		 * resulting in endless sync losts if a crtc is enabled without
     41 -		 * a plane. For now, skip the WA for OMAP3.
     42 -		 */
     43 -		drm_atomic_helper_commit_planes(dev, old_state, 0);
     44 -
     45 -		drm_atomic_helper_commit_modeset_enables(dev, old_state);
     46 -
     47 -		drm_atomic_helper_commit_hw_done(old_state);
     48 -	}
     49 +	/* With the current dss dispc implementation we have to enable
     50 +	 * the new modeset before we can commit planes. The dispc ovl
     51 +	 * configuration relies on the video mode configuration been
     52 +	 * written into the HW when the ovl configuration is
     53 +	 * calculated.
     54 +	 *
     55 +	 * This approach is not ideal because after a mode change the
     56 +	 * plane update is executed only after the first vblank
     57 +	 * interrupt. The dispc implementation should be fixed so that
     58 +	 * it is able use uncommitted drm state information.
     59 +	 */
     60 +	drm_atomic_helper_commit_modeset_enables(dev, old_state);
     61 +	omap_atomic_wait_for_completion(dev, old_state);
     62 +
     63 +	drm_atomic_helper_commit_planes(dev, old_state, 0);
     64 +
     65 +	drm_atomic_helper_commit_hw_done(old_state);
     66  
     67  	/*
     68  	 * Wait for completion of the page flips to ensure that old buffers
     69 -- 
     70 2.14.1
     71