diff mbox series

[v2] drm/i915/bios: Update new entries in VBT BDB block definitions

Message ID 20240814152153.321537-1-dnyaneshwar.bhadane@intel.com (mailing list archive)
State New, archived
Headers show
Series [v2] drm/i915/bios: Update new entries in VBT BDB block definitions | expand

Commit Message

Bhadane, Dnyaneshwar Aug. 14, 2024, 3:21 p.m. UTC
New entries updated in BDB definition from VBT v257 to v260.

Extend fields in backlight power controller VBT block 43 for VBT v257.
Add t6 delay support fields in edp panel power block 27 for VBT v260.
Update supported VBT version range for obsolete fields.

v2:
- Update the commit message with description(Jani)
- Rename variable names align to spec names(Jani)

Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
---
 drivers/gpu/drm/i915/display/intel_vbt_defs.h | 37 ++++++++++++++++---
 1 file changed, 31 insertions(+), 6 deletions(-)

Comments

Kandpal, Suraj Aug. 21, 2024, 9:45 a.m. UTC | #1
> Subject: [v2] drm/i915/bios: Update new entries in VBT BDB block definitions
> 
> New entries updated in BDB definition from VBT v257 to v260.
> 
> Extend fields in backlight power controller VBT block 43 for VBT v257.
> Add t6 delay support fields in edp panel power block 27 for VBT v260.
> Update supported VBT version range for obsolete fields.
> 
> v2:
> - Update the commit message with description(Jani)
> - Rename variable names align to spec names(Jani)
> 
> Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_vbt_defs.h | 37 ++++++++++++++++---
>  1 file changed, 31 insertions(+), 6 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..454a309d766e 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 t6_delay;						/* 260+ */

Should be t6_delay_support

> +	u16 t6_link_idle_time[16];				/* 260+ */

Should be link_idle_time

>  } 

__packed;
> 
>  /*
> @@ -1321,7 +1323,7 @@ struct als_data_entry {  } __packed;
> 
>  struct aggressiveness_profile_entry {
> -	u8 dpst_aggressiveness : 4;
> +	u8 dpst_aggressiveness : 4;		/* (228/252)-256 */
>  	u8 lace_aggressiveness : 4;
>  } __packed;
> 
> @@ -1330,12 +1332,27 @@ struct aggressiveness_profile2_entry {
>  	u8 elp_aggressiveness : 4;
>  } __packed;
> 
> +struct aggressiveness_profile3_entry {
> +	u8 apd_aggressiveness:4;
> +	u8 pixoptix_aggressiveness:4;
> +} __packed;
> +
> +struct aggressiveness_profile4_entry {
> +	u8 xpst_aggressiveness:4;
> +	u8 tcon_aggressiveness:4;
> +} __packed;
> +
> +struct panel_identification {
> +	u8 panel_technology:4;
> +	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];
>  	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 apd;							/*
> 253-256 */
> +	u16 pixoptix;							/*
> 253-256 */
> +	struct aggressiveness_profile3_entry aggressiveness3[16];	/*
> 253-256 */
> +	struct panel_identification panel_identification[16];		/*
> 257+ */
> +	u16 xpst_support;						/*
> 257+ */
> +	u16 tcon_based_backlight_optimization;				/*
> 257+ */
> +	struct aggressiveness_profile4_entry aggressiveness4[16];	/*
> 257+ */
> +	u16 tcon_xpst_coexistence;					/*

Should be tcon_backlight_xpst_coexistence
Otherwise LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>

> 257+ */
>  } __packed;
> 
>  /*
> --
> 2.34.1
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
index e613288937e4..454a309d766e 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 t6_delay;						/* 260+ */
+	u16 t6_link_idle_time[16];				/* 260+ */
 } __packed;
 
 /*
@@ -1321,7 +1323,7 @@  struct als_data_entry {
 } __packed;
 
 struct aggressiveness_profile_entry {
-	u8 dpst_aggressiveness : 4;
+	u8 dpst_aggressiveness : 4;		/* (228/252)-256 */
 	u8 lace_aggressiveness : 4;
 } __packed;
 
@@ -1330,12 +1332,27 @@  struct aggressiveness_profile2_entry {
 	u8 elp_aggressiveness : 4;
 } __packed;
 
+struct aggressiveness_profile3_entry {
+	u8 apd_aggressiveness:4;
+	u8 pixoptix_aggressiveness:4;
+} __packed;
+
+struct aggressiveness_profile4_entry {
+	u8 xpst_aggressiveness:4;
+	u8 tcon_aggressiveness:4;
+} __packed;
+
+struct panel_identification {
+	u8 panel_technology:4;
+	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];
 	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 apd;							/* 253-256 */
+	u16 pixoptix;							/* 253-256 */
+	struct aggressiveness_profile3_entry aggressiveness3[16];	/* 253-256 */
+	struct panel_identification panel_identification[16];		/* 257+ */
+	u16 xpst_support;						/* 257+ */
+	u16 tcon_based_backlight_optimization;				/* 257+ */
+	struct aggressiveness_profile4_entry aggressiveness4[16];	/* 257+ */
+	u16 tcon_xpst_coexistence;					/* 257+ */
 } __packed;
 
 /*