Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2efec4f3 authored by Tomi Valkeinen's avatar Tomi Valkeinen Committed by Jyri Sarha
Browse files

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: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
[Added description to the patch, changed mdelay(500) to usleep_range(250, 1000)]
Signed-off-by: default avatarJyri Sarha <jsarha@ti.com>
parent 1aea1e79
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -112,18 +112,25 @@ static void update_scanout(struct drm_crtc *crtc)
	}
}

static void start(struct drm_crtc *crtc)
static void reset(struct drm_crtc *crtc)
{
	struct drm_device *dev = crtc->dev;
	struct tilcdc_drm_private *priv = dev->dev_private;

	if (priv->rev == 2) {
	if (priv->rev != 2)
		return;

	tilcdc_set(dev, LCDC_CLK_RESET_REG, LCDC_CLK_MAIN_RESET);
		msleep(1);
	usleep_range(250, 1000);
	tilcdc_clear(dev, LCDC_CLK_RESET_REG, LCDC_CLK_MAIN_RESET);
		msleep(1);
}

static void start(struct drm_crtc *crtc)
{
	struct drm_device *dev = crtc->dev;

	reset(crtc);

	tilcdc_set(dev, LCDC_DMA_CTRL_REG, LCDC_DUAL_FRAME_BUFFER_ENABLE);
	tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_PALETTE_LOAD_MODE(DATA_ONLY));
	tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_RASTER_ENABLE);