Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 307099
b: refs/heads/master
c: 642c52f
h: refs/heads/master
i:
  307097: 7895ce0
  307095: 0000824
v: v3
  • Loading branch information
Alan Cox authored and Dave Airlie committed Apr 27, 2012
1 parent c92296e commit 3e5b709
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1896344b181549cea0ab38a810f4f8efcd6ecafb
refs/heads/master: 642c52fcc98aa441bda8c7d8252e8b9b563b370b
18 changes: 18 additions & 0 deletions trunk/drivers/gpu/drm/gma500/intel_bios.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down
39 changes: 39 additions & 0 deletions trunk/drivers/gpu/drm/gma500/intel_bios.h
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,45 @@ struct bdb_sdvo_lvds_options {
u8 panel_misc_bits_4;
} __attribute__((packed));

struct bdb_driver_features {
u8 boot_dev_algorithm:1;
u8 block_display_switch:1;
u8 allow_display_switch:1;
u8 hotplug_dvo:1;
u8 dual_view_zoom:1;
u8 int15h_hook:1;
u8 sprite_in_clone:1;
u8 primary_lfp_id:1;

u16 boot_mode_x;
u16 boot_mode_y;
u8 boot_mode_bpp;
u8 boot_mode_refresh;

u16 enable_lfp_primary:1;
u16 selective_mode_pruning:1;
u16 dual_frequency:1;
u16 render_clock_freq:1; /* 0: high freq; 1: low freq */
u16 nt_clone_support:1;
u16 power_scheme_ui:1; /* 0: CUI; 1: 3rd party */
u16 sprite_display_assign:1; /* 0: secondary; 1: primary */
u16 cui_aspect_scaling:1;
u16 preserve_aspect_ratio:1;
u16 sdvo_device_power_down:1;
u16 crt_hotplug:1;
u16 lvds_config:2;
u16 tv_hotplug:1;
u16 hdmi_config:2;

u8 static_display:1;
u8 reserved2:7;
u16 legacy_crt_max_x;
u16 legacy_crt_max_y;
u8 legacy_crt_max_refresh;

u8 hdmi_termination;
u8 custom_vbt_version;
} __attribute__((packed));

extern bool psb_intel_init_bios(struct drm_device *dev);
extern void psb_intel_destroy_bios(struct drm_device *dev);
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/gpu/drm/gma500/psb_drv.h
Original file line number Diff line number Diff line change
Expand Up @@ -669,6 +669,8 @@ struct drm_psb_private {
u32 dspcntr[3];

int mdfld_panel_id;

bool dplla_96mhz; /* DPLL data from the VBT */
};


Expand Down

0 comments on commit 3e5b709

Please sign in to comment.