Commit f87f6599 authored by Jani Nikula's avatar Jani Nikula

drm/i915/bios: reserve struct bdb_ prefix for BDB blocks

Don't use bdb_ prefixes for structs within blocks. Add a new bdb struct
for SDVO panel DTDs for completeness.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/cd062ced1bbbe07e087212b42c83e5ac64a22a49.1559308269.git.jani.nikula@intel.com
parent aafe16e3
...@@ -302,7 +302,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv, ...@@ -302,7 +302,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
const struct bdb_header *bdb) const struct bdb_header *bdb)
{ {
const struct bdb_lfp_backlight_data *backlight_data; const struct bdb_lfp_backlight_data *backlight_data;
const struct bdb_lfp_backlight_data_entry *entry; const struct lfp_backlight_data_entry *entry;
int panel_type = dev_priv->vbt.panel_type; int panel_type = dev_priv->vbt.panel_type;
backlight_data = find_section(bdb, BDB_LVDS_BACKLIGHT); backlight_data = find_section(bdb, BDB_LVDS_BACKLIGHT);
...@@ -327,7 +327,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv, ...@@ -327,7 +327,7 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
dev_priv->vbt.backlight.type = INTEL_BACKLIGHT_DISPLAY_DDI; dev_priv->vbt.backlight.type = INTEL_BACKLIGHT_DISPLAY_DDI;
if (bdb->version >= 191 && if (bdb->version >= 191 &&
get_blocksize(backlight_data) >= sizeof(*backlight_data)) { get_blocksize(backlight_data) >= sizeof(*backlight_data)) {
const struct bdb_lfp_backlight_control_method *method; const struct lfp_backlight_control_method *method;
method = &backlight_data->backlight_control[panel_type]; method = &backlight_data->backlight_control[panel_type];
dev_priv->vbt.backlight.type = method->type; dev_priv->vbt.backlight.type = method->type;
...@@ -351,7 +351,7 @@ static void ...@@ -351,7 +351,7 @@ static void
parse_sdvo_panel_data(struct drm_i915_private *dev_priv, parse_sdvo_panel_data(struct drm_i915_private *dev_priv,
const struct bdb_header *bdb) const struct bdb_header *bdb)
{ {
const struct lvds_dvo_timing *dvo_timing; const struct bdb_sdvo_panel_dtds *dtds;
struct drm_display_mode *panel_fixed_mode; struct drm_display_mode *panel_fixed_mode;
int index; int index;
...@@ -371,15 +371,15 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv, ...@@ -371,15 +371,15 @@ parse_sdvo_panel_data(struct drm_i915_private *dev_priv,
index = sdvo_lvds_options->panel_type; index = sdvo_lvds_options->panel_type;
} }
dvo_timing = find_section(bdb, BDB_SDVO_PANEL_DTDS); dtds = find_section(bdb, BDB_SDVO_PANEL_DTDS);
if (!dvo_timing) if (!dtds)
return; return;
panel_fixed_mode = kzalloc(sizeof(*panel_fixed_mode), GFP_KERNEL); panel_fixed_mode = kzalloc(sizeof(*panel_fixed_mode), GFP_KERNEL);
if (!panel_fixed_mode) if (!panel_fixed_mode)
return; return;
fill_detail_timing_data(panel_fixed_mode, dvo_timing + index); fill_detail_timing_data(panel_fixed_mode, &dtds->dtds[index]);
dev_priv->vbt.sdvo_lvds_vbt_mode = panel_fixed_mode; dev_priv->vbt.sdvo_lvds_vbt_mode = panel_fixed_mode;
......
...@@ -477,7 +477,7 @@ struct bdb_lvds_options { ...@@ -477,7 +477,7 @@ struct bdb_lvds_options {
} __packed; } __packed;
/* LFP pointer table contains entries to the struct below */ /* LFP pointer table contains entries to the struct below */
struct bdb_lvds_lfp_data_ptr { struct lvds_lfp_data_ptr {
u16 fp_timing_offset; /* offsets are from start of bdb */ u16 fp_timing_offset; /* offsets are from start of bdb */
u8 fp_table_size; u8 fp_table_size;
u16 dvo_timing_offset; u16 dvo_timing_offset;
...@@ -488,7 +488,7 @@ struct bdb_lvds_lfp_data_ptr { ...@@ -488,7 +488,7 @@ struct bdb_lvds_lfp_data_ptr {
struct bdb_lvds_lfp_data_ptrs { struct bdb_lvds_lfp_data_ptrs {
u8 lvds_entries; /* followed by one or more lvds_data_ptr structs */ u8 lvds_entries; /* followed by one or more lvds_data_ptr structs */
struct bdb_lvds_lfp_data_ptr ptr[16]; struct lvds_lfp_data_ptr ptr[16];
} __packed; } __packed;
/* LFP data has 3 blocks per entry */ /* LFP data has 3 blocks per entry */
...@@ -547,20 +547,24 @@ struct lvds_pnp_id { ...@@ -547,20 +547,24 @@ struct lvds_pnp_id {
u8 mfg_year; u8 mfg_year;
} __packed; } __packed;
struct bdb_lvds_lfp_data_entry { struct lvds_lfp_data_entry {
struct lvds_fp_timing fp_timing; struct lvds_fp_timing fp_timing;
struct lvds_dvo_timing dvo_timing; struct lvds_dvo_timing dvo_timing;
struct lvds_pnp_id pnp_id; struct lvds_pnp_id pnp_id;
} __packed; } __packed;
struct bdb_lvds_lfp_data { struct bdb_lvds_lfp_data {
struct bdb_lvds_lfp_data_entry data[16]; struct lvds_lfp_data_entry data[16];
} __packed;
struct bdb_sdvo_panel_dtds {
struct lvds_dvo_timing dtds[4];
} __packed; } __packed;
#define BDB_BACKLIGHT_TYPE_NONE 0 #define BDB_BACKLIGHT_TYPE_NONE 0
#define BDB_BACKLIGHT_TYPE_PWM 2 #define BDB_BACKLIGHT_TYPE_PWM 2
struct bdb_lfp_backlight_data_entry { struct lfp_backlight_data_entry {
u8 type:2; u8 type:2;
u8 active_low_pwm:1; u8 active_low_pwm:1;
u8 obsolete1:5; u8 obsolete1:5;
...@@ -570,16 +574,16 @@ struct bdb_lfp_backlight_data_entry { ...@@ -570,16 +574,16 @@ struct bdb_lfp_backlight_data_entry {
u8 obsolete3; u8 obsolete3;
} __packed; } __packed;
struct bdb_lfp_backlight_control_method { struct lfp_backlight_control_method {
u8 type:4; u8 type:4;
u8 controller:4; u8 controller:4;
} __packed; } __packed;
struct bdb_lfp_backlight_data { struct bdb_lfp_backlight_data {
u8 entry_size; u8 entry_size;
struct bdb_lfp_backlight_data_entry data[16]; struct lfp_backlight_data_entry data[16];
u8 level[16]; u8 level[16];
struct bdb_lfp_backlight_control_method backlight_control[16]; struct lfp_backlight_control_method backlight_control[16];
} __packed; } __packed;
struct bdb_sdvo_lvds_options { struct bdb_sdvo_lvds_options {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment