drm/omap: fix: disable encoder before destroying it
authorArchit Taneja <archit@ti.com>
Thu, 2 Jan 2014 09:19:53 +0000 (14:49 +0530)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 9 Jan 2014 13:17:25 +0000 (15:17 +0200)
commitec72a81e27d735eb0b5f9325be3d88aa4cb5510a
treec3cc17a82faf0fb50d5cae809c6c41e00c61751e
parentcc823bdcfb468808467a9f23186a10404f573fc4
drm/omap: fix: disable encoder before destroying it

Currently, an encoder is disabled only when an apply work is queued for the
corresponding crtc. This works fine for the paths where userspace explicitly
disables crtc, this results in disabling the omapdss device in the crtc's
pre_apply function.

However, when the omapdrm module is removed, there is no work queued to ensure
that the encoder is disabled. This can result in an enabled omapdss device when
removing omapdrm. omapdss is left in an inconsistent state, and that prevents us
from using that omapdss device being used again.

Disable enabled encoders in omap_encoder_destroy, we could consider a better
place for doing this later.

Signed-off-by: Archit Taneja <archit@ti.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/gpu/drm/omapdrm/omap_encoder.c