diff options
author | Jani Nikula <jani.nikula@intel.com> | 2024-05-30 18:26:05 +0300 |
---|---|---|
committer | Jani Nikula <jani.nikula@intel.com> | 2024-05-31 11:32:25 +0300 |
commit | 4187acfcfe0c7ef7dbcc07e5ea6c1cf237dd05f3 (patch) | |
tree | 3f353505f3e86f4193d49386867cac195bb86436 /tools/intel_vbt_defs.h | |
parent | 4059521d2b2e704fd184d9bec843291ae5536262 (diff) |
tools/intel_vbt_decode: sync intel_vbt_defs.h with kernel commit 7234f948b58b
Synchronize intel_vbt_defs.h with kernel commit:
7234f948b58b ("drm/i915/bios: Indicate which VBT structures are based on EDID")
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'tools/intel_vbt_defs.h')
-rw-r--r-- | tools/intel_vbt_defs.h | 95 |
1 files changed, 48 insertions, 47 deletions
diff --git a/tools/intel_vbt_defs.h b/tools/intel_vbt_defs.h index 6600a8cf8..32a6cd01c 100644 --- a/tools/intel_vbt_defs.h +++ b/tools/intel_vbt_defs.h @@ -39,6 +39,50 @@ #include "intel_bios.h" +/* EDID derived structures */ +struct bdb_edid_pnp_id { + u16 mfg_name; + u16 product_code; + u32 serial; + u8 mfg_week; + u8 mfg_year; +} __packed; + +struct bdb_edid_product_name { + char name[13]; +} __packed; + +struct bdb_edid_dtd { + u16 clock; /**< In 10khz */ + u8 hactive_lo; + u8 hblank_lo; + u8 hblank_hi:4; + u8 hactive_hi:4; + u8 vactive_lo; + u8 vblank_lo; + u8 vblank_hi:4; + u8 vactive_hi:4; + u8 hsync_off_lo; + u8 hsync_pulse_width_lo; + u8 vsync_pulse_width_lo:4; + u8 vsync_off_lo:4; + u8 vsync_pulse_width_hi:2; + u8 vsync_off_hi:2; + u8 hsync_pulse_width_hi:2; + u8 hsync_off_hi:2; + u8 himage_lo; + u8 vimage_lo; + u8 vimage_hi:4; + u8 himage_hi:4; + u8 h_border; + u8 v_border; + u8 rsvd1:3; + u8 digital:2; + u8 vsync_positive:1; + u8 hsync_positive:1; + u8 non_interlaced:1; +} __packed; + /** * struct vbt_header - VBT Header structure * @signature: VBT signature, always starts with "$VBT" @@ -645,39 +689,8 @@ struct bdb_sdvo_lvds_options { * Block 23 - SDVO LVDS Panel DTDs */ -struct lvds_dvo_timing { - u16 clock; /**< In 10khz */ - u8 hactive_lo; - u8 hblank_lo; - u8 hblank_hi:4; - u8 hactive_hi:4; - u8 vactive_lo; - u8 vblank_lo; - u8 vblank_hi:4; - u8 vactive_hi:4; - u8 hsync_off_lo; - u8 hsync_pulse_width_lo; - u8 vsync_pulse_width_lo:4; - u8 vsync_off_lo:4; - u8 vsync_pulse_width_hi:2; - u8 vsync_off_hi:2; - u8 hsync_pulse_width_hi:2; - u8 hsync_off_hi:2; - u8 himage_lo; - u8 vimage_lo; - u8 vimage_hi:4; - u8 himage_hi:4; - u8 h_border; - u8 v_border; - u8 rsvd1:3; - u8 digital:2; - u8 vsync_positive:1; - u8 hsync_positive:1; - u8 non_interlaced:1; -} __packed; - struct bdb_sdvo_panel_dtds { - struct lvds_dvo_timing dtds[4]; + struct bdb_edid_dtd dtds[4]; } __packed; /* @@ -828,14 +841,6 @@ struct lvds_fp_timing { u16 terminator; } __packed; -struct lvds_pnp_id { - u16 mfg_name; - u16 product_code; - u32 serial; - u8 mfg_week; - u8 mfg_year; -} __packed; - /* * For reference only. fp_timing has variable size so * the data must be accessed using the data table pointers. @@ -843,18 +848,14 @@ struct lvds_pnp_id { */ struct lvds_lfp_data_entry { struct lvds_fp_timing fp_timing; - struct lvds_dvo_timing dvo_timing; - struct lvds_pnp_id pnp_id; + struct bdb_edid_dtd dvo_timing; + struct bdb_edid_pnp_id pnp_id; } __packed; struct bdb_lvds_lfp_data { struct lvds_lfp_data_entry data[16]; } __packed; -struct lvds_lfp_panel_name { - u8 name[13]; -} __packed; - struct lvds_lfp_black_border { u8 top; /* 227+ */ u8 bottom; /* 227+ */ @@ -863,7 +864,7 @@ struct lvds_lfp_black_border { } __packed; struct bdb_lvds_lfp_data_tail { - struct lvds_lfp_panel_name panel_name[16]; /* (156-163?)+ */ + struct bdb_edid_product_name panel_name[16]; /* (156-163?)+ */ u16 scaling_enable; /* 187+ */ u8 seamless_drrs_min_refresh_rate[16]; /* 188+ */ u8 pixel_overlap_count[16]; /* 208+ */ |