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

Commit b62222fc authored by Darren Etheridge's avatar Darren Etheridge Committed by Jyri Sarha
Browse files

drm/tilcdc: make frame_done interrupt active at all times



The frame_done interrupt was only being enabled when the vsync
interrupts were being enabled by DRM.  However the frame_done is
used to determine if the LCD controller has successfully completed
the raster_enable, raster_disable commands and the vsync interrupts
are not always enabled during these operations.

Signed-off-by: default avatarDarren Etheridge <detheridge@ti.com>
Tested-by: default avatarDave Gerlach <d-gerlach@ti.com>
Signed-off-by: default avatarJyri Sarha <jsarha@ti.com>
Reviewed-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 85fd27f8
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -369,7 +369,9 @@ static int tilcdc_irq_postinstall(struct drm_device *dev)
	if (priv->rev == 1)
		tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_V1_UNDERFLOW_INT_ENA);
	else
		tilcdc_set(dev, LCDC_INT_ENABLE_SET_REG, LCDC_V2_UNDERFLOW_INT_ENA);
		tilcdc_set(dev, LCDC_INT_ENABLE_SET_REG,
			   LCDC_V2_UNDERFLOW_INT_ENA |
			   LCDC_FRAME_DONE);

	return 0;
}
@@ -403,7 +405,7 @@ static void enable_vblank(struct drm_device *dev, bool enable)
	} else {
		reg = LCDC_INT_ENABLE_SET_REG;
		mask = LCDC_V2_END_OF_FRAME0_INT_ENA |
			LCDC_V2_END_OF_FRAME1_INT_ENA | LCDC_FRAME_DONE;
			LCDC_V2_END_OF_FRAME1_INT_ENA;
	}

	if (enable)