diff options
author | Alan Cox <alan@linux.intel.com> | 2011-07-05 14:39:06 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-05 15:20:41 (GMT) |
commit | 060351f17401937d65232100405888e7f16d4f4f (patch) | |
tree | c9b6c63412a5a1731b02ab4b1079d83b5f7f69e0 /drivers/staging/gma500 | |
parent | cc976ced8e78332b88e4f4d63e7025d97809e776 (diff) | |
download | linux-fsl-qoriq-060351f17401937d65232100405888e7f16d4f4f.tar.xz |
gma500: Read the GCT panel type information for Medfield
Missed in the original merge work
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/gma500')
-rw-r--r-- | drivers/staging/gma500/mrst_bios.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/drivers/staging/gma500/mrst_bios.c b/drivers/staging/gma500/mrst_bios.c index 0d944c4..103777b 100644 --- a/drivers/staging/gma500/mrst_bios.c +++ b/drivers/staging/gma500/mrst_bios.c @@ -28,6 +28,12 @@ #include "psb_drm.h" #include "psb_drv.h" #include "mrst_bios.h" +#include "mdfld_output.h" + +static int panel_id; +module_param_named(panel_id, panel_id, int, 0600); +MODULE_PARM_DESC(panel_id, "Panel Identifier"); + void mrst_get_fuse_settings(struct drm_device *dev) { @@ -231,6 +237,27 @@ void mrst_get_vbt_data(struct drm_psb_private *dev_priv) dev_err(dev->dev, "Unknown revision of GCT!\n"); vbt->size = 0; } - /* FIXME: Need to sort out Medfield panel identifiers in future */ + if (IS_MDFLD(dev_priv->dev)){ + if (panel_id == GCT_DETECT) { + if (dev_priv->gct_data.bpi == 2) { + dev_info(dev->dev, "[GFX] PYR Panel Detected\n"); + dev_priv->panel_id = PYR_CMD; + panel_id = PYR_CMD; + } + else if(dev_priv->gct_data.bpi == 0) { + dev_info(dev->dev, "[GFX] TMD Panel Detected.\n"); + dev_priv->panel_id = TMD_VID; + panel_id = TMD_VID; + } + else { + dev_info(dev->dev, "[GFX] Default Panel (TPO)\n"); + dev_priv->panel_id = TPO_CMD; + panel_id = TPO_CMD; + } + } else { + dev_info(dev->dev, "[GFX] Panel Parameter Passed in through cmd line\n"); + dev_priv->panel_id = panel_id; + } + } } |