OMAPDSS: encoder-tpd12s015: Fix race issue with LS_OE
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 19 Sep 2014 16:58:57 +0000 (16:58 +0000)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 4 Feb 2015 10:32:04 +0000 (12:32 +0200)
commita87a6d6b09de3118e5679c2057b99b7791b7673b
tree669887b685004b13504cde0e768be5f8844330fd
parentfa0c52ab232656d5a730eba73b5e37c70acb78db
OMAPDSS: encoder-tpd12s015: Fix race issue with LS_OE

A race issue has been observed with the encoder-tpd12s015 driver, which
leads to errors when trying to read EDID. This has only now been
observed, as OMAP4 and OMAP5 boards used SoC's GPIOs for LS_OE GPIO. On
dra7-evm boards, the LS_OE is behind a i2c controlled GPIO expander,
which increases the time to set the LS_OE.

This patch simplifies the handling of the LS_OE gpio in the driver by
removing the interrupt handling totally. The only time we actually need
to enable LS_OE is when we are reading the EDID, and thus we can just
set and clear the LS_OE gpio inside the read_edid() function.

This also has the additional benefit of very slightly decreasing the
power consumption.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c