diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2015-10-20 02:37:27 -0400 |
---|---|---|
committer | Jyri Sarha <jsarha@ti.com> | 2016-02-25 09:39:38 -0500 |
commit | 2efec4f3064d084bac1b2c1e1513a7452e8e245d (patch) | |
tree | 5544d77e9c5b2f623e9e2f594049d015bfa09bba /drivers/gpu/drm/tilcdc | |
parent | 1aea1e79dbfd65a99da11868829c3e147b85cc32 (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.c | 21 |
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 | ||
115 | static void start(struct drm_crtc *crtc) | 115 | static 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 | |||
128 | static 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)); |