summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRobert Winkler <robert.winkler@boundarydevices.com>2013-08-08 18:30:06 -0700
committerEric Nelson <eric.nelson@boundarydevices.com>2013-09-03 14:14:33 -0700
commit104d4ebfcad4021ed982ec0f436d56c3d0f44068 (patch)
treec5660a663c6ba7d621ab19a379d9f53b1098bb30 /drivers
parent06042959ffe47e50156c7711d00702b036bd26a8 (diff)
mxc_hdmi: Add only_cea parameter to mxc_hdmi module
When this boolean parameter is true, only add CEA modes to modelist. Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/mxc_hdmi.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c
index fa67128a3ced..d4511950a938 100644
--- a/drivers/video/mxc_hdmi.c
+++ b/drivers/video/mxc_hdmi.c
@@ -79,6 +79,12 @@
#define YCBCR422_8BITS 3
#define XVYCC444 4
+
+static int only_cea;
+module_param(only_cea, bool, 0644);
+MODULE_PARM_DESC(only_cea, "Allow only CEA modes");
+
+
/*
* We follow a flowchart which is in the "Synopsys DesignWare Courses
* HDMI Transmitter Controller User Guide, 1.30a", section 3.1
@@ -1804,7 +1810,8 @@ static void mxc_hdmi_edid_rebuild_modelist(struct mxc_hdmi *hdmi)
*/
mode = &hdmi->fbi->monspecs.modedb[i];
- if (!(mode->vmode & FB_VMODE_INTERLACED)) {
+ if (!(mode->vmode & FB_VMODE_INTERLACED) &&
+ (!only_cea || mxc_edid_mode_to_vic(mode))) {
int vic = mxc_edid_mode_to_vic(mode);
dev_info(&hdmi->pdev->dev, "%s: Added mode %d(VIC %u):", __func__, i, vic);
@@ -1944,8 +1951,9 @@ static void mxc_hdmi_cable_connected(struct mxc_hdmi *hdmi)
mxc_hdmi_edid_rebuild_modelist(hdmi);
break;
- /* Nothing to do if EDID same */
+ /* Rebuild even if they're the same in case only_cea changed */
case HDMI_EDID_SAME:
+ mxc_hdmi_edid_rebuild_modelist(hdmi);
break;
case HDMI_EDID_FAIL: