igt_chamelium: Increase timeout for CaptureVideo
cover igt_chamelium: Increase timeout for CaptureVideo
For some chamelium boards, we observed that the chamelium_rpc() call with method_name as CaptureVideo timed out because the display resolution read by the FPGA using the VideoDumper did not match the resolution in the RX chip. The resolution read by the FPGA from the memory was incorrect after 10 seconds and needed more time to stabilize to the correct value.
So, instead of checking the chamelium->env.fault_occured in the chamelium_rpc() funtion, we defer the check in the parent function chamelium_capture(). We iterate upto 10 times if chamelium_rpc() with method name as CaptureVideo fails thus effectively increasing the timeout to 100 seconds instead if 10 seconds. If after 10 iterations, chamelium->env.fault_occured is still set, we return an error.
This looks like an issue from Google's end in the FPGA code. This patch introduces a workaround till we get the issue resolved from Google's end.
Neel Desai (1):
lib/igt_chamelium: Increase timeout for CaptureVideo
lib/igt_chamelium.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-)
--
2.17.1
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
PATCH 1/1 lib/igt_chamelium: Increase timeout for CaptureVideo
For some chamelium boards, we observed that the chamelium_rpc() call with method_name as CaptureVideo timed out because the display resolution read by the FPGA using the VideoDumper did not match the resolution in the RX chip. The resolution read by the FPGA from the memory was incorrect after 10 seconds and needed more time to stabilize to the correct value.
So, instead of checking the chamelium->env.fault_occured in the chamelium_rpc() funtion, we defer the check in the parent function chamelium_capture(). We iterate upto 10 times if chamelium_rpc() with method name as CaptureVideo fails thus effectively increasing the timeout to 100 seconds instead if 10 seconds. If after 10 iterations, chamelium->env.fault_occured is still set, we return an error.
This looks like an issue from Google's end in the FPGA code. This patch introduces a workaround till we get the issue resolved from Google's end.
--- lib/igt_chamelium.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-)
lib/igt_chamelium.c +31 -2
@@ -301,6 +301,25 @@ static xmlrpc_value *chamelium_rpc(struct chamelium *chamelium,igt_cleanup_hotplug (monitor_args.mon); } +/* +* For some chamelium boards, we observed that the +* chamelium_rpc() call with method_name as CaptureVideo timed +* out because the display resolution read by the FPGA using +* VideoDumper did not match the resolution in the rx chip. The +* resolution read by the FPGA from the memory was +* incorrect and needed more time to stabilize to the correct +* value. So, instead of checking the +* chamelium->env.fault_occured here, we defer checking in the +* parent (chamelium_capture()) call and retry for 10 times. +* This increases the timeout to 100 seconds instead of 10 +* seconds for CaptureVideo. After 10 iterations of +* chamelium_rpc with method_name as CaptureVideo if the +* chamelium->env.fault_occured is still set, we return an +* error. +*/ +if (!strcmp (method_name,"CaptureVideo" )) +return res; +igt_assert_f (!chamelium->env.fault_occurred,"Chamelium RPC call failed: %s\n" , chamelium->env.fault_string);
@@ -838,9 +857,19 @@ void chamelium_stop_capture(struct chamelium *chamelium, int frame_count)void chamelium_capture (struct chamelium *chamelium,struct chamelium_port *port,int x,int y,int w,int h,int frame_count) { -xmlrpc_DECREF (chamelium_rpc (chamelium, port,"CaptureVideo" , +int iter =0 ; +xmlrpc_value *res; +do { + res =chamelium_rpc (chamelium, port,"CaptureVideo" , (w && h) ?"(iiiiii)" :"(iinnnn)" , - port->id, frame_count, x, y, w, h)); + port->id, frame_count, x, y, w, h); + iter++; + }while (chamelium->env.fault_occurred && iter <10 ); + +igt_assert_f (!chamelium->env.fault_occurred, +"Chamelium RPC call failed: %s\n" , + chamelium->env.fault_string); +xmlrpc_DECREF (res); chamelium->capturing_port = port; }
Signature · 6 lines
2.17.1 _______________________________________________ igt-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/igt-dev
Re: [igt-dev] [PATCH i-g-t 1/1] lib/igt_chamelium: Increase timeout for CaptureVideo
Quoted 43 lines · Neel Desai
For some chamelium boards, we observed that the
chamelium_rpc()call withmethod_nameas CaptureVideo timed out because the display resolution read by the FPGA using the VideoDumper did not match the resolution in the RX chip. The resolution read by the FPGA from the memory was incorrect after 10 seconds and needed more time to stabilize
to the correct value.So, instead of checking the
chamelium->env.fault_occuredin thechamelium_rpc()funtion, we defer the check in the parent functionchamelium_capture(). We iterate upto 10 times ifchamelium_rpc()with method name as CaptureVideo fails thus effectively increasing the timeout to 100 seconds instead if 10 seconds. If after 10 iterations,chamelium->env.fault_occuredis still set, we return an error.This looks like an issue from Google's end in the FPGA code. This patch
introduces a workaround till we get the issue resolved from Google's end.Signed-off-by Neel Desai <[email protected]>--- lib/igt_chamelium.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-)lib/igt_chamelium.c +9
-0@@ -301,6 +301,25 @@ static xmlrpc_value *chamelium_rpc(struct chamelium *chamelium,igt_cleanup_hotplug (monitor_args.mon); } +/* +* For some chamelium boards, we observed that the +* chamelium_rpc() call with method_name as CaptureVideo timed +* out because the display resolution read by the FPGA using +* VideoDumper did not match the resolution in the rx chip. The +* resolution read by the FPGA from the memory was +* incorrect and needed more time to stabilize to the correct +* value. So, instead of checking the +* chamelium->env.fault_occured here, we defer checking in the
lib/igt_chamelium.c static xmlrpc_value *chamelium_rpc(struct · line 323
Quoted 10 lines
lib/igt_chamelium.c +10
-0+* parent (chamelium_capture()) call and retry for 10 times. +* This increases the timeout to 100 seconds instead of 10 +* seconds for CaptureVideo. After 10 iterations of +* chamelium_rpc with method_name as CaptureVideo if the +* chamelium->env.fault_occured is still set, we return an +* error. +*/ +if (!strcmp (method_name,"CaptureVideo" )) +return res; +
Why not make this a standard capability for all RPC interaction? What if we hit this in one of the other calls?
-Stuart
Quoted 25 lines
lib/igt_chamelium.c +0
-0igt_assert_f(!chamelium->env.fault_occurred, "Chamelium RPC call failed: %s\n",lib/igt_chamelium.c +12
-2chamelium->env.fault_string);@@ -838,9 +857,19 @@ void chamelium_stop_capture(struct chamelium *chamelium, int frame_count)void chamelium_capture (struct chamelium *chamelium,struct chamelium_port *port,int x,int y,int w,int h,int frame_count) { -xmlrpc_DECREF (chamelium_rpc (chamelium, port,"CaptureVideo" , +int iter =0 ; +xmlrpc_value *res; +do { + res =chamelium_rpc (chamelium, port,"CaptureVideo" , (w && h) ?"(iiiiii)" :"(iinnnn)" , - port->id, frame_count, x, y, w, h)); + port->id, frame_count, x, y, w, h); + iter++; + }while (chamelium->env.fault_occurred && iter <10 ); + +igt_assert_f (!chamelium->env.fault_occurred, +"Chamelium RPC call failed: %s\n" , + chamelium->env.fault_string); +xmlrpc_DECREF (res);
Quoted 3 lines
chamelium->capturing_port= port;
}
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.BAT: success for igt_chamelium: Increase timeout for CaptureVideo
In reply to Neel Desai== Series Details ==
== Series Details ==
Series: igt_chamelium: Increase timeout for CaptureVideo
URL : https://patchwork.freedesktop.org/series/59599/
State : success
== Summary ==
CI Bug Log - changes from IGT_4953 -> IGTPW_2873
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/59599/revisions/1/mbox/
Known issues
------------
Here are the changes found in IGTPW_2873 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@amdgpu/amd_basic@cs-compute:
- fi-kbl-8809g: NOTRUN -> FAIL [fdo#108094]
* igt@amdgpu/amd_basic@query-info:
- fi-bsw-kefka: NOTRUN -> SKIP [fdo#109271] +50
* igt@amdgpu/amd_basic@semaphore:
- fi-bdw-5557u: NOTRUN -> SKIP [fdo#109271] +38
* igt@gem_exec_basic@basic-bsd2:
- fi-kbl-7500u: NOTRUN -> SKIP [fdo#109271] +9
* igt@gem_exec_basic@gtt-bsd2:
- fi-byt-clapper: NOTRUN -> SKIP [fdo#109271] +52
* igt@i915_selftest@live_execlists:
- fi-apl-guc: NOTRUN -> INCOMPLETE [fdo#103927] / [fdo#109720]
* igt@kms_busy@basic-flip-c:
- fi-byt-clapper: NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
- fi-bsw-kefka: NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
* igt@kms_chamelium@dp-crc-fast:
- fi-kbl-7500u: NOTRUN -> DMESG-WARN [fdo#103841]
* igt@kms_chamelium@hdmi-edid-read:
- fi-hsw-peppy: NOTRUN -> SKIP [fdo#109271] +46
- fi-kbl-8809g: NOTRUN -> SKIP [fdo#109271] +54
* igt@kms_frontbuffer_tracking@basic:
- fi-hsw-peppy: NOTRUN -> DMESG-FAIL [fdo#102614] / [fdo#107814]
- fi-byt-clapper: NOTRUN -> FAIL [fdo#103167]
* igt@kms_pipe_crc_basic@read-crc-pipe-a:
- fi-byt-clapper: NOTRUN -> FAIL [fdo#103191] +1
* igt@kms_psr@primary_page_flip:
- fi-apl-guc: NOTRUN -> SKIP [fdo#109271] +48
* igt@runner@aborted:
- fi-kbl-7500u: NOTRUN -> FAIL [fdo#103841]
- fi-apl-guc: NOTRUN -> FAIL [fdo#108622] / [fdo#109720]
#### Possible fixes ####
* igt@i915_selftest@live_contexts:
- fi-bdw-gvtdvm: DMESG-FAIL -> PASS
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- fi-glk-dsi: FAIL [fdo#103191] -> PASS
[fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103191]: https://bugs.freedesktop.org/show_bug.cgi?id=103191
[fdo#103841]: https://bugs.freedesktop.org/show_bug.cgi?id=103841
[fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
[fdo#107814]: https://bugs.freedesktop.org/show_bug.cgi?id=107814
[fdo#108094]: https://bugs.freedesktop.org/show_bug.cgi?id=108094
[fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720
Participating hosts (42 -> 40)
------------------------------
Additional (7): fi-bdw-5557u fi-hsw-peppy fi-apl-guc fi-kbl-7500u fi-kbl-8809g fi-bsw-kefka fi-byt-clapper
Missing (9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-j1900 fi-bsw-cyan fi-ctg-p8600 fi-icl-y fi-bdw-samus fi-skl-6700k2
Build changes
-------------
* IGT: IGT_4953 -> IGTPW_2873
CI_DRM_5939: 757f5370dc4baed0475b6e28efd67ecc267e8745 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2873: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2873/
IGT_4953: e03d0030391689cfd0fbca293d44d83dd7d9e356 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2873/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev
Patchwork
CI[igt-dev] ✓ Fi.CI.IGT: success for igt_chamelium: Increase timeout for CaptureVideo
In reply to Neel Desai== Series Details ==
== Series Details ==
Series: igt_chamelium: Increase timeout for CaptureVideo
URL : https://patchwork.freedesktop.org/series/59599/
State : success
== Summary ==
CI Bug Log - changes from IGT_4953_full -> IGTPW_2873_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://patchwork.freedesktop.org/api/1.0/series/59599/revisions/1/mbox/
Known issues
------------
Here are the changes found in IGTPW_2873_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_schedule@preemptive-hang-bsd2:
- shard-hsw: NOTRUN -> SKIP [fdo#109271] +24
* igt@gem_pread@stolen-uncached:
- shard-kbl: NOTRUN -> SKIP [fdo#109271] +20
* igt@gem_tiled_swapping@non-threaded:
- shard-hsw: PASS -> FAIL [fdo#108686]
* igt@i915_pm_rpm@i2c:
- shard-iclb: PASS -> DMESG-WARN [fdo#109982]
* igt@i915_suspend@forcewake:
- shard-apl: PASS -> DMESG-WARN [fdo#108566] +1
* igt@kms_atomic_transition@5x-modeset-transitions-fencing:
- shard-hsw: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +2
- shard-glk: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1
* igt@kms_busy@extended-modeset-hang-oldfb-render-e:
- shard-snb: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +6
* igt@kms_busy@extended-pageflip-modeset-hang-oldfb-render-d:
- shard-kbl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278]
* igt@kms_content_protection@atomic-dpms:
- shard-kbl: NOTRUN -> FAIL [fdo#110321] / [fdo#110336]
* igt@kms_cursor_crc@cursor-256x256-suspend:
- shard-kbl: PASS -> FAIL [fdo#103232]
- shard-glk: NOTRUN -> FAIL [fdo#103232]
- shard-apl: PASS -> FAIL [fdo#103232] * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
- shard-hsw: PASS -> FAIL [fdo#105767]
* igt@kms_flip@dpms-vs-vblank-race:
- shard-glk: PASS -> FAIL [fdo#103060]
* igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
- shard-iclb: PASS -> FAIL [fdo#103167] +6
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-iclb: PASS -> FAIL [fdo#109247] +14
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt:
- shard-glk: NOTRUN -> SKIP [fdo#109271] +20
* igt@kms_lease@page_flip_implicit_plane:
- shard-apl: NOTRUN -> FAIL [fdo#110281]
* igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-kbl: NOTRUN -> FAIL [fdo#108145]
* igt@kms_plane_alpha_blend@pipe-c-constant-alpha-max:
- shard-glk: NOTRUN -> FAIL [fdo#108145]
* igt@kms_plane_lowres@pipe-a-tiling-y:
- shard-iclb: PASS -> FAIL [fdo#103166]
* igt@kms_plane_scaling@pipe-b-scaler-with-pixel-format:
- shard-glk: PASS -> SKIP [fdo#109271] / [fdo#109278]
* igt@kms_psr2_su@page_flip:
- shard-iclb: PASS -> SKIP [fdo#109642]
* igt@kms_psr@psr2_primary_mmap_gtt:
- shard-iclb: PASS -> SKIP [fdo#109441] +2
* igt@kms_psr@sprite_plane_move:
- shard-iclb: PASS -> FAIL [fdo#107383] / [fdo#110215]
* igt@kms_rotation_crc@multiplane-rotation:
- shard-kbl: PASS -> FAIL [fdo#109016]
* igt@kms_setmode@basic:
- shard-hsw: PASS -> FAIL [fdo#99912]
* igt@kms_universal_plane@universal-plane-gen9-features-pipe-f:
- shard-apl: NOTRUN -> SKIP [fdo#109271] / [fdo#109278] +1
* igt@perf_pmu@busy-accuracy-2-rcs0:
- shard-snb: NOTRUN -> SKIP [fdo#109271] +41
* igt@prime_nv_pcopy@test3_5:
- shard-apl: NOTRUN -> SKIP [fdo#109271] +25
* igt@tools_test@tools_test:
- shard-glk: PASS -> SKIP [fdo#109271]
#### Possible fixes ####
* igt@gem_ctx_isolation@bcs0-s3:
- shard-apl: DMESG-WARN [fdo#108566] -> PASS +2
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-glk: FAIL [fdo#103167] -> PASS
* igt@kms_frontbuffer_tracking@fbc-tilingchange:
- shard-iclb: FAIL [fdo#103167] -> PASS +10
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
- shard-iclb: FAIL [fdo#109247] -> PASS +13
* igt@kms_plane@pixel-format-pipe-a-planes-source-clamping:
- shard-glk: SKIP [fdo#109271] -> PASS
* igt@kms_plane_scaling@pipe-c-scaler-with-rotation:
- shard-glk: SKIP [fdo#109271] / [fdo#109278] -> PASS
* igt@kms_psr@cursor_mmap_gtt:
- shard-iclb: FAIL [fdo#107383] / [fdo#110215] -> PASS +2
* igt@kms_psr@no_drrs:
- shard-iclb: FAIL [fdo#108341] -> PASS
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: SKIP [fdo#109441] -> PASS +1
* igt@kms_sysfs_edid_timing:
- shard-iclb: FAIL [fdo#100047] -> PASS
[fdo#100047]: https://bugs.freedesktop.org/show_bug.cgi?id=100047
[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#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
[fdo#107383]: https://bugs.freedesktop.org/show_bug.cgi?id=107383
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
[fdo#109016]: https://bugs.freedesktop.org/show_bug.cgi?id=109016
[fdo#109247]: https://bugs.freedesktop.org/show_bug.cgi?id=109247
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#109982]: https://bugs.freedesktop.org/show_bug.cgi?id=109982
[fdo#110215]: https://bugs.freedesktop.org/show_bug.cgi?id=110215
[fdo#110281]: https://bugs.freedesktop.org/show_bug.cgi?id=110281
[fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321
[fdo#110336]: https://bugs.freedesktop.org/show_bug.cgi?id=110336
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (7 -> 6)
------------------------------
Missing (1): shard-skl
Build changes
-------------
* IGT: IGT_4953 -> IGTPW_2873
CI_DRM_5939: 757f5370dc4baed0475b6e28efd67ecc267e8745 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_2873: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2873/
IGT_4953: e03d0030391689cfd0fbca293d44d83dd7d9e356 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_2873/
_______________________________________________
igt-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/igt-dev