Skip to contentSkip to conversation

intel_bios_reader: make edp block decode match kernel

PATCH In review Jani Nikula 2 participants 4 messages May 6, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 intel_bios_reader: make edp block decode match kernel

All the somewhat recent VBT specs and the kernel have different format for the eDP block than what the tool decodes. What the tool does *may* be correct for really old VBT, but I have no specs or other reference to suppor this. Just do what the kernel does, that's what we're interested in anyway.

---
 tools/intel_bios.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
tools/intel_bios.h +4 -1
index 128502039c66..832c580dd084 100644
@@ -590,8 +590,11 @@ struct edp_link_params {
 struct bdb_edp {
 	struct edp_power_seq power_seqs[16];
 	uint32_t color_depth;
-	uint32_t sdrrs_msa_timing_delay;
 	struct edp_link_params link_params[16];
+	uint32_t sdrrs_msa_timing_delay;
+
+	uint16_t edp_s3d_feature;
+	uint16_t edp_t3_optimization;
 } __attribute__ ((packed));
 
 /*
Signature · 1 line
1.9.1
Reviewed-by on v1 1/1
#1 lore raw
Quoted 7 lines · Jani Nikula

All the somewhat recent VBT specs and the kernel have different format for the eDP block than what the tool decodes. What the tool does *may* be correct for really old VBT, but I have no specs or other reference to suppor this. Just do what the kernel does, that's what we're interested in anyway.

You may want to add checks on the VBT revision that introduce the different parameters.

We're also missing the VswingPreEmphasisValue fields from rev. 173.

Signature · 1 line
Damien
Quoted 28 lines
---
 tools/intel_bios.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
tools/intel_bios.h +4 -1
index 128502039c66..832c580dd084 100644
@@ -590,8 +590,11 @@ struct edp_link_params {
 struct bdb_edp {
 	struct edp_power_seq power_seqs[16];
 	uint32_t color_depth;
-	uint32_t sdrrs_msa_timing_delay;
 	struct edp_link_params link_params[16];
+	uint32_t sdrrs_msa_timing_delay;
+
+	uint16_t edp_s3d_feature;
+	uint16_t edp_t3_optimization;
 } __attribute__ ((packed));
 
 /*
Signature · 6 lines
1.9.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
#2 lore raw
Quoted 7 lines · Damien Lespiau
Quoted 6 lines · Jani Nikula

All the somewhat recent VBT specs and the kernel have different format for the eDP block than what the tool decodes. What the tool does *may* be correct for really old VBT, but I have no specs or other reference to suppor this. Just do what the kernel does, that's what we're interested in anyway.

Quoted 6 lines
Quoted 1 line

You may want to add checks on the VBT revision that introduce the different parameters.

I *wanted* to. But the versions in the spec apparently get changed also when that part about the spec actually hasn't changed. At least my 140-something spec had some of the same stuff that was indicated as having been added at 150-something. :(

Quoted 1 line

We're also missing the VswingPreEmphasisValue fields from rev. 173.

Yup, need to be added later (when we actually start using those).

Ok to push?

BR,
Jani.

Quoted 32 lines
Signature · 2 lines
-- 
Damien
Quoted 28 lines
---
 tools/intel_bios.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
tools/intel_bios.h +4 -1
index 128502039c66..832c580dd084 100644
@@ -590,8 +590,11 @@ struct edp_link_params {
 struct bdb_edp {
 	struct edp_power_seq power_seqs[16];
 	uint32_t color_depth;
-	uint32_t sdrrs_msa_timing_delay;
 	struct edp_link_params link_params[16];
+	uint32_t sdrrs_msa_timing_delay;
+
+	uint16_t edp_s3d_feature;
+	uint16_t edp_t3_optimization;
 } __attribute__ ((packed));
 
 /*
Signature · 6 lines
1.9.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 1 line
Jani Nikula, Intel Open Source Technology Center
#3 lore raw
Quoted 20 lines · Jani Nikula
Quoted 7 lines · Damien Lespiau
Quoted 6 lines · Jani Nikula

All the somewhat recent VBT specs and the kernel have different format for the eDP block than what the tool decodes. What the tool does *may* be correct for really old VBT, but I have no specs or other reference to suppor this. Just do what the kernel does, that's what we're interested in anyway.

Quoted 6 lines
Quoted 1 line

You may want to add checks on the VBT revision that introduce the different parameters.

I *wanted* to. But the versions in the spec apparently get changed also when that part about the spec actually hasn't changed. At least my 140-something spec had some of the same stuff that was indicated as having been added at 150-something. :(

Quoted 5 lines
Quoted 1 line

We're also missing the VswingPreEmphasisValue fields from rev. 173.

Yup, need to be added later (when we actually start using those).

Ok to push?

Sure!

Signature · 1 line
Damien