Commit 058727ee authored by Jani Nikula's avatar Jani Nikula

drm/i915/bios: amend edp block based on intel_vbt_decode

Copy over some fields defined in the intel_vbt_decode tool. No
functional changes.

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/8a42f0e4d1bba2679e9cd78da1e31b66133d562f.1503670197.git.jani.nikula@intel.com
parent b7c7c3ea
...@@ -576,7 +576,7 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb) ...@@ -576,7 +576,7 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
{ {
const struct bdb_edp *edp; const struct bdb_edp *edp;
const struct edp_power_seq *edp_pps; const struct edp_power_seq *edp_pps;
const struct edp_link_params *edp_link_params; const struct edp_fast_link_params *edp_link_params;
int panel_type = dev_priv->vbt.panel_type; int panel_type = dev_priv->vbt.panel_type;
edp = find_section(bdb, BDB_EDP); edp = find_section(bdb, BDB_EDP);
...@@ -600,7 +600,7 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb) ...@@ -600,7 +600,7 @@ parse_edp(struct drm_i915_private *dev_priv, const struct bdb_header *bdb)
/* Get the eDP sequencing and link info */ /* Get the eDP sequencing and link info */
edp_pps = &edp->power_seqs[panel_type]; edp_pps = &edp->power_seqs[panel_type];
edp_link_params = &edp->link_params[panel_type]; edp_link_params = &edp->fast_link_params[panel_type];
dev_priv->vbt.edp.pps = *edp_pps; dev_priv->vbt.edp.pps = *edp_pps;
......
...@@ -688,23 +688,38 @@ struct bdb_driver_features { ...@@ -688,23 +688,38 @@ struct bdb_driver_features {
#define EDP_VSWING_1_2V 3 #define EDP_VSWING_1_2V 3
struct edp_link_params { struct edp_fast_link_params {
u8 rate:4; u8 rate:4;
u8 lanes:4; u8 lanes:4;
u8 preemphasis:4; u8 preemphasis:4;
u8 vswing:4; u8 vswing:4;
} __packed; } __packed;
struct edp_pwm_delays {
u16 pwm_on_to_backlight_enable;
u16 backlight_disable_to_pwm_off;
} __packed;
struct edp_full_link_params {
u8 preemphasis:4;
u8 vswing:4;
} __packed;
struct bdb_edp { struct bdb_edp {
struct edp_power_seq power_seqs[16]; struct edp_power_seq power_seqs[16];
u32 color_depth; u32 color_depth;
struct edp_link_params link_params[16]; struct edp_fast_link_params fast_link_params[16];
u32 sdrrs_msa_timing_delay; u32 sdrrs_msa_timing_delay;
/* ith bit indicates enabled/disabled for (i+1)th panel */ /* ith bit indicates enabled/disabled for (i+1)th panel */
u16 edp_s3d_feature; u16 edp_s3d_feature; /* 162 */
u16 edp_t3_optimization; u16 edp_t3_optimization; /* 165 */
u64 edp_vswing_preemph; /* v173 */ u64 edp_vswing_preemph; /* 173 */
u16 fast_link_training; /* 182 */
u16 dpcd_600h_write_required; /* 185 */
struct edp_pwm_delays pwm_delays[16]; /* 186 */
u16 full_link_params_provided; /* 199 */
struct edp_full_link_params full_link_params[16]; /* 199 */
} __packed; } __packed;
struct psr_table { struct psr_table {
......
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