[PATCH] drm/i915/bios: Update new entries in VBT BDB block definations
Jani Nikula
jani.nikula at linux.intel.com
Mon Aug 12 14:27:44 UTC 2024
On Mon, 12 Aug 2024, Dnyaneshwar Bhadane <dnyaneshwar.bhadane at intel.com> wrote:
> New entries updated in BDB defination from VBT v257- v260.
*definition
Please explain what you're adding.
Also, the spec never ceases to amaze me. Like here, adding stuff for a
few revisions, obsoleting and starting over. Ugh.
> Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vbt_defs.h | 35 ++++++++++++++++---
> 1 file changed, 30 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> index e613288937e4..65342f347bba 100644
> --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
> @@ -1080,6 +1080,8 @@ struct bdb_edp {
> u16 edp_fast_link_training_rate[16]; /* 224+ */
> u16 edp_max_port_link_rate[16]; /* 244+ */
> u16 edp_dsc_disable; /* 251+ */
> + u16 t16_delay; /* 260+ */
Please let's follow the spec in member naming where feasible.
This would be t6_delay_support.
> + u16 t16_link_idle_time; /* 260+ */
And this would be u16 link_idle_time[16]. The size is 32 bytes, not 2.
(Where does t16 come from?)
> } __packed;
>
> /*
> @@ -1330,12 +1332,27 @@ struct aggressiveness_profile2_entry {
> u8 elp_aggressiveness : 4;
> } __packed;
>
> +struct aggressiveness_profile3_entry {
> + u8 adp_aggressiveness:4;
apd_aggressiveness
> + u8 po_aggressiveness:4;
pixoptix_aggressiveness
> +} __packed;
> +
> +struct aggressiveness_profile4_entry {
> + u8 xpst_aggressiveness:4;
> + u8 tcon_aggressiveness:4;
> +} __packed;
> +
> +struct panel_identification {
> + u8 panel_type:4;
panel_type is a loaded word in VBT. Let's avoid it. Maybe
panel_technology or something.
> + u8 reserved:4;
> +} __packed;
> +
> struct bdb_lfp_power {
> struct lfp_power_features features; /* ???-227 */
> struct als_data_entry als[5];
> u8 lace_aggressiveness_profile:3; /* 210-227 */
> u8 reserved1:5;
> - u16 dpst; /* 228+ */
> + u16 dpst; /* 228-256 */
> u16 psr; /* 228+ */
> u16 drrs; /* 228+ */
> u16 lace_support; /* 228+ */
> @@ -1343,12 +1360,20 @@ struct bdb_lfp_power {
> u16 dmrrs; /* 228+ */
> u16 adb; /* 228+ */
> u16 lace_enabled_status; /* 228+ */
> - struct aggressiveness_profile_entry aggressiveness[16]; /* 228+ */
> + struct aggressiveness_profile_entry aggressiveness[16]; /* 228-256 */
The LACE agressiveness is still valid. Please add the comment to struct
aggressiveness_profile dpst_aggressiveness member.
> u16 hobl; /* 232+ */
> u16 vrr_feature_enabled; /* 233+ */
> - u16 elp; /* 247+ */
> - u16 opst; /* 247+ */
> - struct aggressiveness_profile2_entry aggressiveness2[16]; /* 247+ */
> + u16 elp; /* 247-256 */
> + u16 opst; /* 247-256 */
> + struct aggressiveness_profile2_entry aggressiveness2[16]; /* 247-256 */
> + u16 adp; /* 253-256 */
apd
> + u16 po; /* 253-256 */
pixoptix
> + struct aggressiveness_profile3_entry aggressiveness3[16]; /* 253-256 */
> + struct panel_identification panel_identity[16]; /* 257+ */
panel_identification
> + u16 xpst; /* 257+ */
xpst_support
> + u16 tcon; /* 257+ */
tcon_based_backlight_optimization
> + struct aggressiveness_profile4_entry aggressiveness4[16]; /* 257+ */
> + u16 tcon_coexist_xpst; /* 257+ */
Hrmh, this is where the member naming in spec is not feasible. Maybe
tcon_xpst_coexistence.
> } __packed;
>
> /*
--
Jani Nikula, Intel
More information about the Intel-gfx
mailing list