diff options
author | Mythri P K <mythripk@ti.com> | 2012-06-20 14:20:03 +0530 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-11-27 11:42:27 +0800 |
commit | 7db27fcc6f6141cc2bdf54923e95e8e2f22b934a (patch) | |
tree | c3044d16e605da8bc6385cdda2e0e6aafc79fa73 | |
parent | c6e7aae9556ddf967d5cddc017a5246378fc2849 (diff) |
OMAPDSS: HDMI: Add support in the HDMI panel to support 3D
Add support to HDMI panel to configure it in 3D mode.
Signed-off-by: Mythri P K <mythripk@ti.com>
-rw-r--r-- | drivers/video/omap2/dss/hdmi_panel.c | 28 | ||||
-rw-r--r-- | include/video/omapdss.h | 3 |
2 files changed, 30 insertions, 1 deletions
diff --git a/drivers/video/omap2/dss/hdmi_panel.c b/drivers/video/omap2/dss/hdmi_panel.c index 121db6269cc..f7e8319d11a 100644 --- a/drivers/video/omap2/dss/hdmi_panel.c +++ b/drivers/video/omap2/dss/hdmi_panel.c @@ -338,6 +338,33 @@ err: return r; } +static int hdmi_panel_3d_enable(struct omap_dss_device *dssdev, + struct s3d_disp_info *info, int code) +{ + int r = 0; + DSSDBG("ENTER hdmi_panel_3d_enable\n"); + + mutex_lock(&hdmi.lock); + + if (dssdev->state != OMAP_DSS_DISPLAY_DISABLED) { + r = -EINVAL; + goto err; + } + + r = omapdss_hdmi_display_3d_enable(dssdev, info, code); + if (r) { + DSSERR("failed to power on\n"); + goto err; + } + + dssdev->state = OMAP_DSS_DISPLAY_ACTIVE; + +err: + mutex_unlock(&hdmi.lock); + + return r; +} + static void hdmi_panel_disable(struct omap_dss_device *dssdev) { mutex_lock(&hdmi.lock); @@ -530,6 +557,7 @@ static struct omap_dss_driver hdmi_driver = { .audio_stop = hdmi_panel_audio_stop, .audio_supported = hdmi_panel_audio_supported, .audio_config = hdmi_panel_audio_config, + .s3d_enable = hdmi_panel_3d_enable, .driver = { .name = "hdmi_panel", .owner = THIS_MODULE, diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 40daf178ae7..418a1077d07 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h @@ -760,7 +760,6 @@ struct omap_dss_driver { int (*read_edid)(struct omap_dss_device *dssdev, u8 *buf, int len); bool (*detect)(struct omap_dss_device *dssdev); - /* * For display drivers that support audio. This encompasses * HDMI and DisplayPort at the moment. @@ -778,6 +777,8 @@ struct omap_dss_driver { int (*audio_start)(struct omap_dss_device *dssdev); void (*audio_stop)(struct omap_dss_device *dssdev); + int (*s3d_enable)(struct omap_dss_device *dssdev, + struct s3d_disp_info *info, int code); }; int omap_dss_register_driver(struct omap_dss_driver *); |