diff options
author | Paul Kocialkowki <paul.kocialkowski@linux.intel.com> | 2017-06-27 13:53:06 +0300 |
---|---|---|
committer | Lyude <lyude@redhat.com> | 2017-06-27 17:13:36 -0400 |
commit | fa8b6ee5e5547e2d757ad4f7da33ec46cab0703c (patch) | |
tree | aa6efcc3f4ba58e3db400e9246e937543c55be12 /lib/igt_chamelium.h | |
parent | d1b08a89edeab5df3c1ca10cb74a5b527fee84d3 (diff) |
chamelium: Add support for HPD toggle scheduling instead of async pulses
This adds support for the newly-introduced ScheduleHpdToggle XMLRPC
method of the Chamelium's interface and makes use of it instead of
starting pulses with an asynchronous call, suspending and dealing with
the result at resume.
The XMLRPC library does not guarantee that the call will be made before
caring for its outcome and this is in fact what was happening:
the call was being delayed until resume time, as can be seen from the
Chamelium's logs. The quite generous timeout for HPD event detection
would then catch the toggle, that was sent after resume.
This is especially useful for testing HPD during suspend/resume.
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@linux.intel.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Diffstat (limited to 'lib/igt_chamelium.h')
-rw-r--r-- | lib/igt_chamelium.h | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h index 15f60246..81322ad2 100644 --- a/lib/igt_chamelium.h +++ b/lib/igt_chamelium.h @@ -61,10 +61,9 @@ void chamelium_fire_mixed_hpd_pulses(struct chamelium *chamelium, void chamelium_fire_hpd_pulses(struct chamelium *chamelium, struct chamelium_port *port, int width_msec, int count); -void chamelium_async_hpd_pulse_start(struct chamelium *chamelium, - struct chamelium_port *port, - bool high, int delay_secs); -void chamelium_async_hpd_pulse_finish(struct chamelium *chamelium); +void chamelium_schedule_hpd_toggle(struct chamelium *chamelium, + struct chamelium_port *port, int delay_ms, + bool rising_edge); int chamelium_new_edid(struct chamelium *chamelium, const unsigned char *edid); void chamelium_port_set_edid(struct chamelium *chamelium, struct chamelium_port *port, int edid_id); |