* [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
@ 2019-09-02 13:15 Ville Syrjala
2019-09-02 13:15 ` [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found Ville Syrjala
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Ville Syrjala @ 2019-09-02 13:15 UTC (permalink / raw)
To: dri-devel; +Cc: intel-gfx, Jean Delvare
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
CEA ext block revisions 1 and 2 do not contain the data block
collection. Instead that section of the extension block is
marked as reserved for 8 byte timing descriptors. Revision 3
changed it to contain the CEA data block collection instead.
Most places that iterate the data blocks already check for
revision >= 3, but drm_detect_hdmi_monitor() and
drm_detect_monitor_audio() do not. So in theory when encountering
rev 1 or 2 CEA extension block they could end up misinterpreting
whatever data is in the reserved section as CEA data blocks.
Let's have cea_db_offsets() do the revision check so that the
callers don't even have worry about it.
Cc: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/drm_edid.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 82a4ceed3fcf..7b3072fc550b 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
static int
cea_db_offsets(const u8 *cea, int *start, int *end)
{
+ if (cea_revision(cea) < 3)
+ return -ENOTSUPP;
+
/* DisplayID CTA extension blocks and top-level CEA EDID
* block header definitions differ in the following bytes:
* 1) Byte 2 of the header specifies length differently,
--
2.21.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found
2019-09-02 13:15 [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Ville Syrjala
@ 2019-09-02 13:15 ` Ville Syrjala
2019-09-10 9:46 ` Jean Delvare
2019-09-02 14:42 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Patchwork
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Ville Syrjala @ 2019-09-02 13:15 UTC (permalink / raw)
To: dri-devel; +Cc: intel-gfx, Jean Delvare
From: Ville Syrjälä <ville.syrjala@linux.intel.com>
Let's make cea_db_offsets() a bit more convenient to use by
setting the start/end offsets to zero whenever the data block
collection isn't present. This makes it safe for the caller
to blindly iterate the data blocks even if there are none.
Cc: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
drivers/gpu/drm/drm_edid.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 7b3072fc550b..e5905dc764c1 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
static int
cea_db_offsets(const u8 *cea, int *start, int *end)
{
+ *start = 0;
+ *end = 0;
+
if (cea_revision(cea) < 3)
return -ENOTSUPP;
@@ -4116,10 +4119,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
if (cea_revision(cea) >= 3) {
int i, start, end;
- if (cea_db_offsets(cea, &start, &end)) {
- start = 0;
- end = 0;
- }
+ cea_db_offsets(cea, &start, &end);
for_each_cea_db(cea, i, start, end) {
db = &cea[i];
--
2.21.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply related [flat|nested] 8+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
2019-09-02 13:15 [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Ville Syrjala
2019-09-02 13:15 ` [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found Ville Syrjala
@ 2019-09-02 14:42 ` Patchwork
2019-09-02 16:02 ` ✓ Fi.CI.IGT: " Patchwork
2019-09-10 9:40 ` [PATCH 1/2] " Jean Delvare
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2019-09-02 14:42 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
URL : https://patchwork.freedesktop.org/series/66131/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6820 -> Patchwork_14257
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/
Known issues
------------
Here are the changes found in Patchwork_14257 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live_hangcheck:
- fi-icl-u2: [PASS][1] -> [INCOMPLETE][2] ([fdo#107713] / [fdo#108569])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-icl-u2/igt@i915_selftest@live_hangcheck.html
* igt@kms_chamelium@dp-crc-fast:
- fi-cml-u2: [PASS][3] -> [FAIL][4] ([fdo#109483])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html
#### Possible fixes ####
* igt@gem_basic@create-close:
- fi-icl-u3: [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-icl-u3/igt@gem_basic@create-close.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-icl-u3/igt@gem_basic@create-close.html
* igt@gem_close_race@basic-threads:
- fi-bxt-dsi: [INCOMPLETE][7] ([fdo#103927]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-bxt-dsi/igt@gem_close_race@basic-threads.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-bxt-dsi/igt@gem_close_race@basic-threads.html
* igt@i915_module_load@reload:
- fi-icl-u3: [DMESG-WARN][9] ([fdo#107724] / [fdo#111214]) -> [PASS][10]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-icl-u3/igt@i915_module_load@reload.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-icl-u3/igt@i915_module_load@reload.html
* igt@i915_selftest@live_execlists:
- fi-skl-gvtdvm: [DMESG-FAIL][11] ([fdo#111108]) -> [PASS][12]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-skl-gvtdvm/igt@i915_selftest@live_execlists.html
* igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3: [FAIL][13] ([fdo#103167]) -> [PASS][14]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
#### Warnings ####
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-icl-u2: [FAIL][15] ([fdo#111407]) -> [FAIL][16] ([fdo#109483])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
[fdo#109483]: https://bugs.freedesktop.org/show_bug.cgi?id=109483
[fdo#111108]: https://bugs.freedesktop.org/show_bug.cgi?id=111108
[fdo#111214]: https://bugs.freedesktop.org/show_bug.cgi?id=111214
[fdo#111407]: https://bugs.freedesktop.org/show_bug.cgi?id=111407
Participating hosts (54 -> 45)
------------------------------
Missing (9): fi-ilk-m540 fi-hsw-4200u fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-icl-y fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_6820 -> Patchwork_14257
CI-20190529: 20190529
CI_DRM_6820: 2c16f62dc38ed97ab0056219f09d878c9e1c0355 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5162: e62ea305fdba2a9cd0dadfa527b54529cb0d1438 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_14257: 1905dca746611ec865b8f99cd6407d815c3cb341 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
1905dca74661 drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found
ae9f56115d1d drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* ✓ Fi.CI.IGT: success for series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
2019-09-02 13:15 [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Ville Syrjala
2019-09-02 13:15 ` [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found Ville Syrjala
2019-09-02 14:42 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Patchwork
@ 2019-09-02 16:02 ` Patchwork
2019-09-10 9:40 ` [PATCH 1/2] " Jean Delvare
3 siblings, 0 replies; 8+ messages in thread
From: Patchwork @ 2019-09-02 16:02 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
URL : https://patchwork.freedesktop.org/series/66131/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6820_full -> Patchwork_14257_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Known issues
------------
Here are the changes found in Patchwork_14257_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_schedule@wide-bsd:
- shard-iclb: [PASS][1] -> [SKIP][2] ([fdo#111325]) +3 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb8/igt@gem_exec_schedule@wide-bsd.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb2/igt@gem_exec_schedule@wide-bsd.html
* igt@gem_tiled_swapping@non-threaded:
- shard-snb: [PASS][3] -> [DMESG-WARN][4] ([fdo#108686])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-snb5/igt@gem_tiled_swapping@non-threaded.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-snb1/igt@gem_tiled_swapping@non-threaded.html
* igt@gem_workarounds@suspend-resume-context:
- shard-apl: [PASS][5] -> [DMESG-WARN][6] ([fdo#108566]) +7 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-apl7/igt@gem_workarounds@suspend-resume-context.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-apl4/igt@gem_workarounds@suspend-resume-context.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-kbl: [PASS][7] -> [SKIP][8] ([fdo#109271])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-kbl1/igt@i915_pm_rc6_residency@rc6-accuracy.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-kbl2/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@i915_pm_rps@reset:
- shard-apl: [PASS][9] -> [FAIL][10] ([fdo#102250])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-apl4/igt@i915_pm_rps@reset.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-apl2/igt@i915_pm_rps@reset.html
* igt@kms_atomic_transition@1x-modeset-transitions:
- shard-iclb: [PASS][11] -> [INCOMPLETE][12] ([fdo#107713])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb3/igt@kms_atomic_transition@1x-modeset-transitions.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb7/igt@kms_atomic_transition@1x-modeset-transitions.html
* igt@kms_cursor_legacy@cursora-vs-flipa-atomic:
- shard-skl: [PASS][13] -> [DMESG-WARN][14] ([fdo#106107])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-skl4/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-skl7/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html
* igt@kms_flip@dpms-vs-vblank-race-interruptible:
- shard-glk: [PASS][15] -> [FAIL][16] ([fdo#103060])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-glk8/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-glk8/igt@kms_flip@dpms-vs-vblank-race-interruptible.html
* igt@kms_flip@flip-vs-suspend:
- shard-skl: [PASS][17] -> [INCOMPLETE][18] ([fdo#109507])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-skl7/igt@kms_flip@flip-vs-suspend.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-skl4/igt@kms_flip@flip-vs-suspend.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite:
- shard-iclb: [PASS][19] -> [FAIL][20] ([fdo#103167]) +2 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][21] -> [SKIP][22] ([fdo#109441]) +2 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb4/igt@kms_psr@psr2_cursor_mmap_cpu.html
* igt@prime_vgem@fence-wait-bsd2:
- shard-iclb: [PASS][23] -> [SKIP][24] ([fdo#109276]) +14 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb7/igt@prime_vgem@fence-wait-bsd2.html
#### Possible fixes ####
* igt@gem_ctx_isolation@rcs0-s3:
- shard-apl: [DMESG-WARN][25] ([fdo#108566]) -> [PASS][26] +3 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-apl5/igt@gem_ctx_isolation@rcs0-s3.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-apl3/igt@gem_ctx_isolation@rcs0-s3.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][27] ([fdo#110854]) -> [PASS][28]
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb7/igt@gem_exec_balancer@smoke.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb2/igt@gem_exec_balancer@smoke.html
* igt@gem_exec_schedule@preempt-queue-contexts-bsd1:
- shard-iclb: [SKIP][29] ([fdo#109276]) -> [PASS][30] +6 similar issues
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb8/igt@gem_exec_schedule@preempt-queue-contexts-bsd1.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb2/igt@gem_exec_schedule@preempt-queue-contexts-bsd1.html
* igt@gem_exec_schedule@preemptive-hang-bsd:
- shard-iclb: [SKIP][31] ([fdo#111325]) -> [PASS][32] +3 similar issues
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb8/igt@gem_exec_schedule@preemptive-hang-bsd.html
* igt@gem_tiled_swapping@non-threaded:
- shard-apl: [INCOMPLETE][33] ([fdo#103927]) -> [PASS][34] +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-apl7/igt@gem_tiled_swapping@non-threaded.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-apl5/igt@gem_tiled_swapping@non-threaded.html
* igt@kms_cursor_legacy@flip-vs-cursor-toggle:
- shard-glk: [INCOMPLETE][35] ([fdo#103359] / [k.org#198133]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
* igt@kms_cursor_legacy@pipe-a-torture-bo:
- shard-iclb: [INCOMPLETE][37] ([fdo#107713]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb1/igt@kms_cursor_legacy@pipe-a-torture-bo.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb6/igt@kms_cursor_legacy@pipe-a-torture-bo.html
* igt@kms_flip@2x-modeset-vs-vblank-race-interruptible:
- shard-glk: [FAIL][39] ([fdo#103060]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-glk8/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-glk3/igt@kms_flip@2x-modeset-vs-vblank-race-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-hsw: [INCOMPLETE][41] ([fdo#103540]) -> [PASS][42] +1 similar issue
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-hsw2/igt@kms_flip@flip-vs-suspend-interruptible.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-hsw2/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite:
- shard-iclb: [FAIL][43] ([fdo#103167]) -> [PASS][44] +5 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite.html
* igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
- shard-skl: [FAIL][45] ([fdo#108145]) -> [PASS][46] +1 similar issue
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
* igt@kms_plane_lowres@pipe-a-tiling-x:
- shard-iclb: [FAIL][47] ([fdo#103166]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb8/igt@kms_plane_lowres@pipe-a-tiling-x.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-x.html
* igt@kms_psr@psr2_no_drrs:
- shard-iclb: [SKIP][49] ([fdo#109441]) -> [PASS][50] +2 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb8/igt@kms_psr@psr2_no_drrs.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
* igt@perf@blocking:
- shard-skl: [FAIL][51] ([fdo#110728]) -> [PASS][52] +1 similar issue
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-skl4/igt@perf@blocking.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-skl4/igt@perf@blocking.html
#### Warnings ####
* igt@gem_mocs_settings@mocs-rc6-bsd2:
- shard-iclb: [SKIP][53] ([fdo#109276]) -> [FAIL][54] ([fdo#111330])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb8/igt@gem_mocs_settings@mocs-rc6-bsd2.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb2/igt@gem_mocs_settings@mocs-rc6-bsd2.html
* igt@kms_dp_dsc@basic-dsc-enable-edp:
- shard-iclb: [SKIP][55] ([fdo#109349]) -> [DMESG-WARN][56] ([fdo#107724])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6820/shard-iclb8/igt@kms_dp_dsc@basic-dsc-enable-edp.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html
[fdo#102250]: https://bugs.freedesktop.org/show_bug.cgi?id=102250
[fdo#103060]: https://bugs.freedesktop.org/show_bug.cgi?id=103060
[fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
[fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#106107]: https://bugs.freedesktop.org/show_bug.cgi?id=106107
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
[fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_6820 -> Patchwork_14257
CI-20190529: 20190529
CI_DRM_6820: 2c16f62dc38ed97ab0056219f09d878c9e1c0355 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5162: e62ea305fdba2a9cd0dadfa527b54529cb0d1438 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_14257: 1905dca746611ec865b8f99cd6407d815c3cb341 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14257/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3
2019-09-02 13:15 [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Ville Syrjala
` (2 preceding siblings ...)
2019-09-02 16:02 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-09-10 9:40 ` Jean Delvare
3 siblings, 0 replies; 8+ messages in thread
From: Jean Delvare @ 2019-09-10 9:40 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx, dri-devel
Hi Ville,
On Mon, 2 Sep 2019 16:15:45 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> CEA ext block revisions 1 and 2 do not contain the data block
> collection. Instead that section of the extension block is
> marked as reserved for 8 byte timing descriptors. Revision 3
> changed it to contain the CEA data block collection instead.
>
> Most places that iterate the data blocks already check for
> revision >= 3, but drm_detect_hdmi_monitor() and
> drm_detect_monitor_audio() do not. So in theory when encountering
> rev 1 or 2 CEA extension block they could end up misinterpreting
> whatever data is in the reserved section as CEA data blocks.
>
> Let's have cea_db_offsets() do the revision check so that the
> callers don't even have worry about it.
>
> Cc: Jean Delvare <jdelvare@suse.de>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/drm_edid.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 82a4ceed3fcf..7b3072fc550b 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
> static int
> cea_db_offsets(const u8 *cea, int *start, int *end)
> {
> + if (cea_revision(cea) < 3)
> + return -ENOTSUPP;
> +
> /* DisplayID CTA extension blocks and top-level CEA EDID
> * block header definitions differ in the following bytes:
> * 1) Byte 2 of the header specifies length differently,
Reviewed-by: Jean Delvare <jdelvare@suse.de>
I like it, but then we need a subsequent patch to remove the now
redundant checks in add_cea_modes(), drm_edid_to_eld(),
drm_edid_to_sad() and drm_edid_to_speaker_allocation().
These last 2 functions are the ones my own patch modifies, so some care
is needed. If cea_db_offsets() now returns an error when CEA revisions
< 3, then these functions want to return 0 in that case (otherwise you
effectively undo the change I proposed).
By the way, both functions issue a debug message "SAD: invalid data
block offsets" when cea_db_offsets() returns an error, which becomes
misleading after your change. I think we want to move this message
inside cea_db_offsets() and only print it in the -ERANGE case.
--
Jean Delvare
SUSE L3 Support
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found
2019-09-02 13:15 ` [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found Ville Syrjala
@ 2019-09-10 9:46 ` Jean Delvare
2019-09-10 9:48 ` Ville Syrjälä
0 siblings, 1 reply; 8+ messages in thread
From: Jean Delvare @ 2019-09-10 9:46 UTC (permalink / raw)
To: Ville Syrjala; +Cc: intel-gfx, dri-devel
Hi Ville,
On Mon, 2 Sep 2019 16:15:46 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Let's make cea_db_offsets() a bit more convenient to use by
> setting the start/end offsets to zero whenever the data block
> collection isn't present. This makes it safe for the caller
> to blindly iterate the data blocks even if there are none.
>
> Cc: Jean Delvare <jdelvare@suse.de>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/drm_edid.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 7b3072fc550b..e5905dc764c1 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
> static int
> cea_db_offsets(const u8 *cea, int *start, int *end)
> {
> + *start = 0;
> + *end = 0;
> +
> if (cea_revision(cea) < 3)
> return -ENOTSUPP;
>
> @@ -4116,10 +4119,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
> if (cea_revision(cea) >= 3) {
> int i, start, end;
>
> - if (cea_db_offsets(cea, &start, &end)) {
> - start = 0;
> - end = 0;
> - }
> + cea_db_offsets(cea, &start, &end);
>
> for_each_cea_db(cea, i, start, end) {
> db = &cea[i];
Not sure if that's really needed. As it stands there's only one
function which wants to continue after cea_db_offsets() fails, all
others just bail out at that point. Now that cea_db_offsets() checks
for revision >= 3, the construct above could simply become:
int i, start, end;
if (cea_db_offsets(cea, &start, &end) == 0) {
for_each_cea_db(cea, i, start, end) {
db = &cea[i];
which is IMHO more elegant and does not require zeroing start and end
in cea_db_offsets().
--
Jean Delvare
SUSE L3 Support
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found
2019-09-10 9:46 ` Jean Delvare
@ 2019-09-10 9:48 ` Ville Syrjälä
2019-09-10 10:08 ` Jean Delvare
0 siblings, 1 reply; 8+ messages in thread
From: Ville Syrjälä @ 2019-09-10 9:48 UTC (permalink / raw)
To: Jean Delvare; +Cc: intel-gfx, dri-devel
On Tue, Sep 10, 2019 at 11:46:20AM +0200, Jean Delvare wrote:
> Hi Ville,
>
> On Mon, 2 Sep 2019 16:15:46 +0300, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Let's make cea_db_offsets() a bit more convenient to use by
> > setting the start/end offsets to zero whenever the data block
> > collection isn't present. This makes it safe for the caller
> > to blindly iterate the data blocks even if there are none.
> >
> > Cc: Jean Delvare <jdelvare@suse.de>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > drivers/gpu/drm/drm_edid.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> > index 7b3072fc550b..e5905dc764c1 100644
> > --- a/drivers/gpu/drm/drm_edid.c
> > +++ b/drivers/gpu/drm/drm_edid.c
> > @@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
> > static int
> > cea_db_offsets(const u8 *cea, int *start, int *end)
> > {
> > + *start = 0;
> > + *end = 0;
> > +
> > if (cea_revision(cea) < 3)
> > return -ENOTSUPP;
> >
> > @@ -4116,10 +4119,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
> > if (cea_revision(cea) >= 3) {
> > int i, start, end;
> >
> > - if (cea_db_offsets(cea, &start, &end)) {
> > - start = 0;
> > - end = 0;
> > - }
> > + cea_db_offsets(cea, &start, &end);
> >
> > for_each_cea_db(cea, i, start, end) {
> > db = &cea[i];
>
> Not sure if that's really needed. As it stands there's only one
> function which wants to continue after cea_db_offsets() fails, all
> others just bail out at that point. Now that cea_db_offsets() checks
> for revision >= 3, the construct above could simply become:
>
> int i, start, end;
>
> if (cea_db_offsets(cea, &start, &end) == 0) {
> for_each_cea_db(cea, i, start, end) {
> db = &cea[i];
>
> which is IMHO more elegant and does not require zeroing start and end
> in cea_db_offsets().
I dislike indentation. Also could perhaps even move the cea_db_offsets()
into the for_each_cea_db() macro so that the caller doesn't have to care
about these mundane details at all.
--
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found
2019-09-10 9:48 ` Ville Syrjälä
@ 2019-09-10 10:08 ` Jean Delvare
0 siblings, 0 replies; 8+ messages in thread
From: Jean Delvare @ 2019-09-10 10:08 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx, dri-devel
On Tue, 10 Sep 2019 12:48:42 +0300, Ville Syrjälä wrote:
> On Tue, Sep 10, 2019 at 11:46:20AM +0200, Jean Delvare wrote:
> > Hi Ville,
> >
> > On Mon, 2 Sep 2019 16:15:46 +0300, Ville Syrjala wrote:
> > > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > >
> > > Let's make cea_db_offsets() a bit more convenient to use by
> > > setting the start/end offsets to zero whenever the data block
> > > collection isn't present. This makes it safe for the caller
> > > to blindly iterate the data blocks even if there are none.
> > >
> > > Cc: Jean Delvare <jdelvare@suse.de>
> > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > ---
> > > drivers/gpu/drm/drm_edid.c | 8 ++++----
> > > 1 file changed, 4 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> > > index 7b3072fc550b..e5905dc764c1 100644
> > > --- a/drivers/gpu/drm/drm_edid.c
> > > +++ b/drivers/gpu/drm/drm_edid.c
> > > @@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
> > > static int
> > > cea_db_offsets(const u8 *cea, int *start, int *end)
> > > {
> > > + *start = 0;
> > > + *end = 0;
> > > +
> > > if (cea_revision(cea) < 3)
> > > return -ENOTSUPP;
> > >
> > > @@ -4116,10 +4119,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
> > > if (cea_revision(cea) >= 3) {
> > > int i, start, end;
> > >
> > > - if (cea_db_offsets(cea, &start, &end)) {
> > > - start = 0;
> > > - end = 0;
> > > - }
> > > + cea_db_offsets(cea, &start, &end);
> > >
> > > for_each_cea_db(cea, i, start, end) {
> > > db = &cea[i];
> >
> > Not sure if that's really needed. As it stands there's only one
> > function which wants to continue after cea_db_offsets() fails, all
> > others just bail out at that point. Now that cea_db_offsets() checks
> > for revision >= 3, the construct above could simply become:
> >
> > int i, start, end;
> >
> > if (cea_db_offsets(cea, &start, &end) == 0) {
> > for_each_cea_db(cea, i, start, end) {
> > db = &cea[i];
> >
> > which is IMHO more elegant and does not require zeroing start and end
> > in cea_db_offsets().
>
> I dislike indentation.
It would be the same as currently, so it's not that bad. But well I'm
not maintaining that piece of code so it's not my call anyway.
> Also could perhaps even move the cea_db_offsets()
> into the for_each_cea_db() macro so that the caller doesn't have to care
> about these mundane details at all.
If the macro stays readable, why not.
--
Jean Delvare
SUSE L3 Support
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-09-10 10:08 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-02 13:15 [PATCH 1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Ville Syrjala
2019-09-02 13:15 ` [PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found Ville Syrjala
2019-09-10 9:46 ` Jean Delvare
2019-09-10 9:48 ` Ville Syrjälä
2019-09-10 10:08 ` Jean Delvare
2019-09-02 14:42 ` ✓ Fi.CI.BAT: success for series starting with [1/2] drm/edid: Don't look for CEA data blocks in CEA ext block rev < 3 Patchwork
2019-09-02 16:02 ` ✓ Fi.CI.IGT: " Patchwork
2019-09-10 9:40 ` [PATCH 1/2] " Jean Delvare
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.