aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tilcdc
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2015-10-20 02:37:27 -0400
committerJyri Sarha <jsarha@ti.com>2016-02-25 09:39:38 -0500
commit2efec4f3064d084bac1b2c1e1513a7452e8e245d (patch)
tree5544d77e9c5b2f623e9e2f594049d015bfa09bba /drivers/gpu/drm/tilcdc
parent1aea1e79dbfd65a99da11868829c3e147b85cc32 (diff)
drm/tilcdc: split reset to a separate function
Split reset to a separate function and use usleep_range(250, 1000) instead of msleep(1) to to keep the reset bit on long enough. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> [Added description to the patch, changed mdelay(500) to usleep_range(250, 1000)] Signed-off-by: Jyri Sarha <jsarha@ti.com>
Diffstat (limited to 'drivers/gpu/drm/tilcdc')
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_crtc.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 08b1e03b502e..e62a950b8b76 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -112,17 +112,24 @@ static void update_scanout(struct drm_crtc *crtc)
112 } 112 }
113} 113}
114 114
115static void start(struct drm_crtc *crtc) 115static void reset(struct drm_crtc *crtc)
116{ 116{
117 struct drm_device *dev = crtc->dev; 117 struct drm_device *dev = crtc->dev;
118 struct tilcdc_drm_private *priv = dev->dev_private; 118 struct tilcdc_drm_private *priv = dev->dev_private;
119 119
120 if (priv->rev == 2) { 120 if (priv->rev != 2)
121 tilcdc_set(dev, LCDC_CLK_RESET_REG, LCDC_CLK_MAIN_RESET); 121 return;
122 msleep(1); 122
123 tilcdc_clear(dev, LCDC_CLK_RESET_REG, LCDC_CLK_MAIN_RESET); 123 tilcdc_set(dev, LCDC_CLK_RESET_REG, LCDC_CLK_MAIN_RESET);
124 msleep(1); 124 usleep_range(250, 1000);
125 } 125 tilcdc_clear(dev, LCDC_CLK_RESET_REG, LCDC_CLK_MAIN_RESET);
126}
127
128static void start(struct drm_crtc *crtc)
129{
130 struct drm_device *dev = crtc->dev;
131
132 reset(crtc);
126 133
127 tilcdc_set(dev, LCDC_DMA_CTRL_REG, LCDC_DUAL_FRAME_BUFFER_ENABLE); 134 tilcdc_set(dev, LCDC_DMA_CTRL_REG, LCDC_DUAL_FRAME_BUFFER_ENABLE);
128 tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_PALETTE_LOAD_MODE(DATA_ONLY)); 135 tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_PALETTE_LOAD_MODE(DATA_ONLY));