aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/gma500/intel_bios.c
diff options
context:
space:
mode:
authorAlan Cox <alan@linux.intel.com>2012-04-25 09:36:34 -0400
committerDave Airlie <airlied@redhat.com>2012-04-27 04:23:10 -0400
commit642c52fcc98aa441bda8c7d8252e8b9b563b370b (patch)
treeae82b0608f97abf08bbbe9a2a72574be8640cea6 /drivers/gpu/drm/gma500/intel_bios.c
parent1896344b181549cea0ab38a810f4f8efcd6ecafb (diff)
gma500: read the PLL bits
We need to pull more stuff from the VBT in order to configure the clocking correctly in all cases. Add the relevant bits from the other CDV driver work. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/gma500/intel_bios.c')
-rw-r--r--drivers/gpu/drm/gma500/intel_bios.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/gma500/intel_bios.c b/drivers/gpu/drm/gma500/intel_bios.c
index d4d0c5b8bf91..51ea6df125f2 100644
--- a/drivers/gpu/drm/gma500/intel_bios.c
+++ b/drivers/gpu/drm/gma500/intel_bios.c
@@ -217,6 +217,23 @@ static void parse_general_features(struct drm_psb_private *dev_priv,
217 } 217 }
218} 218}
219 219
220static void
221parse_driver_features(struct drm_psb_private *dev_priv,
222 struct bdb_header *bdb)
223{
224 struct bdb_driver_features *driver;
225
226 driver = find_section(bdb, BDB_DRIVER_FEATURES);
227 if (!driver)
228 return;
229
230 /* This bit means to use 96Mhz for DPLL_A or not */
231 if (driver->primary_lfp_id)
232 dev_priv->dplla_96mhz = true;
233 else
234 dev_priv->dplla_96mhz = false;
235}
236
220/** 237/**
221 * psb_intel_init_bios - initialize VBIOS settings & find VBT 238 * psb_intel_init_bios - initialize VBIOS settings & find VBT
222 * @dev: DRM device 239 * @dev: DRM device
@@ -263,6 +280,7 @@ bool psb_intel_init_bios(struct drm_device *dev)
263 280
264 /* Grab useful general definitions */ 281 /* Grab useful general definitions */
265 parse_general_features(dev_priv, bdb); 282 parse_general_features(dev_priv, bdb);
283 parse_driver_features(dev_priv, bdb);
266 parse_lfp_panel_data(dev_priv, bdb); 284 parse_lfp_panel_data(dev_priv, bdb);
267 parse_sdvo_panel_data(dev_priv, bdb); 285 parse_sdvo_panel_data(dev_priv, bdb);
268 parse_backlight_data(dev_priv, bdb); 286 parse_backlight_data(dev_priv, bdb);