Simon Ser
823afd5c94
edid: fix interlaced timing printing in DTDs
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-07 07:06:36 +02:00
Simon Ser
eea7215002
di-edid-decode: print preferred flag for type I timing
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-03 14:14:45 +02:00
Simon Ser
cad7de92c7
displayid: add support for display parameters data block
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-03 08:56:03 +02:00
Simon Ser
d7144ad9b9
displayid: parse type I timings
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-10-03 06:32:38 +00:00
Simon Ser
87e264f7fb
Introduce di_gtf_compute()
...
This is a function to compute a timing according to GTF.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-29 11:50:09 +00:00
Simon Ser
40d8018a7e
displayid: parse data blocks
...
Just parse the tag for now.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-27 07:56:09 +00:00
Simon Ser
ceabc884fd
displayid: parse product type
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-27 07:56:09 +00:00
Simon Ser
28beee232c
edid: parse established timings III
...
This display descriptor contains a bitfield indicating support for
DMT timings.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-26 09:18:59 +02:00
Simon Ser
b89910ef4e
test/data: add goldstar-ite6604-hdmi
...
It contains established timings III.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 09:09:59 +02:00
Simon Ser
df676bef3a
di-edid-decode: fix inverted text for analog video setup
...
The texts and cases are inverted here.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 09:07:20 +02:00
Simon Ser
29dd7c1e17
test/data: add acer-p1276
...
We don't have any analog display EDID in our tests. Increase our
test coverage by including one.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 09:07:05 +02:00
Simon Ser
047e8bb305
edid: expose struct di_dmt_timing
...
This allows callers to access the detailed DMT data.
di-edid-decode is updated to print the missing fields.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-17 06:53:39 +00:00
Simon Ser
c637a9daf8
edid: parse timing data from CVT range limit descriptor
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:27:32 +02:00
Simon Ser
7c8bcb09eb
edid: parse timing data from secondary GTF range limit descriptor
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:26:32 +02:00
Simon Ser
7e0b8c1af9
test/data: add viewsonic-vp2768-dp
...
It contains a CVT range limits descriptor.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:25:57 +02:00
Simon Ser
da89d95268
test/data: add msi-mag321curv-dp
...
It contains a GTF secondary range limit descriptor.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-06 09:25:12 +02:00
Simon Ser
407b309904
cta: add support for video capability data block
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-05 18:11:56 +00:00
Simon Ser
7a6d694b1a
Add basic support for DisplayID in EDID extension blocks
...
Establish the new headers and structs, and just parse the
version/revision for now.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-02 06:42:06 +00:00
Simon Ser
789a927569
test/data: add apple-xdr-dp
...
Contains DisplayID extension blocks.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-09-02 06:42:06 +00:00
Simon Ser
0c8673af02
cta: add support for video data blocks
...
Report the SVDs inside the video data block.
We'll need to add additional APIs to get detailed SVD mode info
in the future (with a SVD table).
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-31 13:18:34 +00:00
Simon Ser
4e5df43659
test: rename EDID files with .edid filename extension
...
This makes it easier to perform an operation on all EDID files at
once, e.g. "test/edid-decode-diff.sh test/data/*.edid" to update all
diffs at once.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-29 15:23:41 +02:00
Simon Ser
37a6186445
test/edid-decode-diff: do not fail if .diff doesn't exist
...
Call rm with the -f flag to ignore non-existing .diff files.
The .diff file doesn't exist if there is no difference in the
edid-decode output.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-29 13:59:52 +02:00
Simon Ser
355a3aca80
cta: parse HDR static metadata blocks
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-29 13:52:50 +02:00
Simon Ser
f5f8371965
edid: add prefix to range limits failure messages
...
Upstream edid-decode uses a global variable to store the current
EDID section name and prefix failure messages.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-29 10:19:48 +00:00
Simon Ser
41507c0b5f
ci: update edid-decode
...
This new version contains a fix for a bogus failure message.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-15 14:58:59 +02:00
Simon Ser
c784d978fb
cta: parse detailed timing definitions
...
After the data blocks, the CTA extension contains a list of DTDs.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-08 18:41:18 +02:00
Simon Ser
501c20f854
edid: parse established timings I and II
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-08 16:33:14 +00:00
Simon Ser
8e7308358e
edid: parse analog and digital flags in DTDs
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-03 18:49:00 +00:00
Simon Ser
f11ec2b9ab
edid: parse DTD signal type
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-03 18:49:00 +00:00
Simon Ser
0e3f4cedbf
edid: fix product year < 2006 in EDID 1.3
...
EDID 1.4 forbids years < 2006, but EDID 1.3 allows them.
Error out when an EDID uses a reserved value. Correctly parse the
year on older EDID revisions.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-03 18:49:00 +00:00
Simon Ser
21f7fe66a0
test/data: add sun-gh19ps-dvi
...
It contains unusual DTD flags, a manufacture year we don't parse
correctly yet, and GTF support.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-03 18:49:00 +00:00
Simon Ser
44963edc4c
cta: parse colorimetry data blocks
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-02 22:21:19 +02:00
Simon Ser
1ce9128701
di-edid-decode: exit with non-zero code on conformance failure
...
Upstream edid-decode does the same.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-02 21:48:52 +02:00
Simon Ser
3b64049622
di-edid-decode: print failure message
...
Mirror upstream edid-decode.
samsung-s27a950d-dp and hp-5dq99aa-hdmi are missing some failures
about features we haven't implemented yet. panasonic-mei96a2-dp
has a bogus "Missing Display Product Name" failure, see [1].
[1]: https://lore.kernel.org/linux-media/20220802093219.30599-1-contact@emersion.fr/T/#u
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-02 21:48:01 +02:00
Simon Ser
79e0ac2dd4
test: include edid-decode failure messages in diffs
...
This will allow us to check that we find the same failures as
upstream edid-decode.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-02 21:47:35 +02:00
Simon Ser
4f4aa025cf
edid: add display range limits type
...
This is a bit messy because the values depend on various misc flags
defined earlier in the spec, and the meaning changes between EDID 1.3
and 1.4. On top of that edid-decode prints something confusing in the
EDID 1.3 case.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-02 20:07:08 +02:00
Simon Ser
e047d89f94
cta: add support for enumerating data blocks
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-01 16:41:59 +02:00
Simon Ser
67af3033ee
cta: add support for misc flags
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-01 16:41:59 +02:00
Simon Ser
afdacff9f8
cta: introduce new API for CTA-861
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-01 16:41:33 +02:00
Simon Ser
b22dcc8af8
edid: add di_edid_standard_timing_get_dmt_id
...
This returns the DMT ID of an EDID standard timing, if any.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-08-01 14:35:33 +00:00
Simon Ser
fed3a18b64
edid: add support for chromaticity coordinates
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-21 16:14:52 +02:00
Simon Ser
2b6f3804a0
edid: parse standard timings
...
The edid-decode output uses data from the DMT, so we're not able
to replicate it yet.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-21 16:07:52 +02:00
Simon Ser
669bdac3c8
edid: parse display color type
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-21 12:48:49 +00:00
Simon Ser
197c5f5ee1
edid: parse interlaced/stereo flags from DTDs
...
The analog/digital flags are left for a future patch.
A join_str() function is introduced in di-edid-decode: upstream
edid-decode uses a comma-separated list with a handful of other
flags.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-17 11:22:09 +02:00
Simon Ser
3d0f36c528
test/data: add samsung-s27a950d-dp
...
This EDID contains DTDs with the stereo flag set, and audio blocks
in the CTA extension.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-17 11:17:48 +02:00
Simon Ser
c8b9b8f42d
edid: parse display range limits descriptor
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-15 17:29:33 +02:00
Simon Ser
58b10d9048
di-edid-decode: compute DTD aspect ratio
...
Upstream edid-decode computes the aspect ratio for detailed
timing definitions.
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-15 11:43:23 +02:00
Simon Ser
13a9287e40
edid: add support for detailed timing definitions
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-14 16:37:57 +02:00
Simon Ser
65dbc3fbbf
test: add panasonic-mei96a2-dp EDID
...
This adds coverage for two untested code-paths:
- Unset "Serial Number"
- "Model year" instead of "Made in"
This EDID blob comes from Digital/Panasonic/MEI96A2/7CA47BE65E1E [1]
in the linuxhw EDID repository.
[1]: https://github.com/linuxhw/EDID/blob/master/Digital/Panasonic/MEI96A2/7CA47BE65E1E
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-10 14:05:12 +02:00
Simon Ser
10435a83e8
edid: parse other feature support flags
...
Signed-off-by: Simon Ser <contact@emersion.fr>
2022-06-10 11:49:20 +00:00