diff options
author | Alan Cox <alan@linux.intel.com> | 2012-04-25 14:36:34 +0100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-04-27 09:23:10 +0100 |
commit | 642c52fcc98aa441bda8c7d8252e8b9b563b370b (patch) | |
tree | ae82b0608f97abf08bbbe9a2a72574be8640cea6 /drivers/gpu/drm/gma500/intel_bios.c | |
parent | 1896344b181549cea0ab38a810f4f8efcd6ecafb (diff) | |
download | linux-642c52fcc98aa441bda8c7d8252e8b9b563b370b.tar.bz2 |
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.c | 18 |
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, } } +static void +parse_driver_features(struct drm_psb_private *dev_priv, + struct bdb_header *bdb) +{ + struct bdb_driver_features *driver; + + driver = find_section(bdb, BDB_DRIVER_FEATURES); + if (!driver) + return; + + /* This bit means to use 96Mhz for DPLL_A or not */ + if (driver->primary_lfp_id) + dev_priv->dplla_96mhz = true; + else + dev_priv->dplla_96mhz = false; +} + /** * psb_intel_init_bios - initialize VBIOS settings & find VBT * @dev: DRM device @@ -263,6 +280,7 @@ bool psb_intel_init_bios(struct drm_device *dev) /* Grab useful general definitions */ parse_general_features(dev_priv, bdb); + parse_driver_features(dev_priv, bdb); parse_lfp_panel_data(dev_priv, bdb); parse_sdvo_panel_data(dev_priv, bdb); parse_backlight_data(dev_priv, bdb); |