diff options
author | srinivas pulukuru <srinivas.pulukuru@ti.com> | 2011-11-14 12:08:05 -0600 |
---|---|---|
committer | Ziyann <jaraidaniel@gmail.com> | 2014-10-03 01:17:56 +0200 |
commit | 88f260ff72c1484927ae238738387dbcd1081b45 (patch) | |
tree | d63dbf7073ffcea8c0d4d9c81a953b125649db04 /drivers/video/omap2/displays | |
parent | 25c24b6bc1822475f1778bab08c226c14fd1a1d1 (diff) | |
download | kernel_samsung_tuna-88f260ff72c1484927ae238738387dbcd1081b45.zip kernel_samsung_tuna-88f260ff72c1484927ae238738387dbcd1081b45.tar.gz kernel_samsung_tuna-88f260ff72c1484927ae238738387dbcd1081b45.tar.bz2 |
OMAP4: HDMI: Add suspend handler for LCD panel
Add a suspend handler for LCD panel.
HDMI suspend/ resume path is broken due to lack of a suspend handler
for LCD panel. When a HPD signal is received
during resume it sends a device switch setting to user space causing
set_mode call from user space for reconfiguring the HDMI panel.
this enables the LCD panel but when the system goes to suspend again
it fails as the LCD doesn't have a suspend handler. LCD is currently
being disabled / enabled from DSSCOMP as part of Early suspend/Late Resume
But if the LCD is enabled after early suspend is completed there is no
way to disable it. This patch will fix this issue.
Remove the device switch setting for HDMI panel as this wiil cause
the user space to wake up for handling the switch setting and result
in the suspend path being broken.
Change-Id: Ia6c003d096fdce96935158fb17e9e079e0b8705a
Signed-off-by: Srinivas Pulukuru <srinivas.pulukuru@ti.com>
Diffstat (limited to 'drivers/video/omap2/displays')
-rw-r--r-- | drivers/video/omap2/displays/panel-tc358765.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/omap2/displays/panel-tc358765.c b/drivers/video/omap2/displays/panel-tc358765.c index 6048369..86faab2 100644 --- a/drivers/video/omap2/displays/panel-tc358765.c +++ b/drivers/video/omap2/displays/panel-tc358765.c @@ -416,12 +416,21 @@ static int tc358765_enable(struct omap_dss_device *dssdev) return r; } +static int tc358765_suspend(struct omap_dss_device *dssdev) +{ + /* Disable the panel and return 0;*/ + tc358765_disable(dssdev); + return 0; +} + static struct omap_dss_driver tc358765_driver = { .probe = tc358765_probe, .remove = tc358765_remove, .enable = tc358765_enable, .disable = tc358765_disable, + .suspend = tc358765_suspend, + .resume = NULL, .get_resolution = tc358765_get_resolution, .get_recommended_bpp = omapdss_default_get_recommended_bpp, |