1. 26 Feb, 2019 1 commit
  2. 21 Aug, 2017 2 commits
  3. 19 Jul, 2017 1 commit
  4. 07 Jun, 2017 1 commit
  5. 26 Jan, 2017 1 commit
    • Lyude Paul's avatar
      Add support for hotplug testing with the Chamelium · c99f8b7a
      Lyude Paul authored
      For the purpose of testing things such as hotplugging and bad monitors,
      the ChromeOS team ended up designing a neat little device known as the
      Chamelium. More information on this can be found here:
      
      	https://www.chromium.org/chromium-os/testing/chamelium
      
      This adds support for a couple of things to intel-gpu-tools:
       - igt library functions for connecting to udev and monitoring it for
         hotplug events, loosely based off of the unfinished hotplugging
         implementation in testdisplay
       - Library functions for controlling the chamelium in tests using
         xmlrpc. A couple of RPC calls were ommitted here, mainly because they
         didn't seem very useful for our needs (yet)
       - A set of functions for doing CRC checks and frame comparisons in
         tests
       - A set of basic tests using the Chamelium library.
      
      Cc: Tomeu Vizoso <tomeu@tomeuvizoso.net>
      Signed-off-by: Lyude Paul's avatarLyude <lyude@redhat.com>
      
      Changes since v1:
      - Don't try to guess connector mappings, have the user specify them
        manually using a configuration file
      - Open DRM fd using DRIVER_ANY, not DRIVER_INTEL
      - Lower the hotplug timeout a little bit, since 30 seconds was leftover
        from debugging these tests anyway
      - Don't try to keep track of the original state of the chamelium ports,
        and just leave them plugged in after each run. This makes more sense
        to me, since I'd imagine in automated testing setups using chameliums
        that all of the extra monitors will probably be provided by the
        Chamelium to begin with, so keeping them plugged in would make sure
        tests running afterwards that require >1 monitor don't get skipped.
      - Add wait_for_connector() to the chamelium tests. After some more
        testing, I found that depending on the system some tests would throw
        false negatives due to us not waiting long enough for the system to
        detect that we connected something to it. This mainly happened with
        VGA connectors, since their lack of HPD makes them take significantly
        longer for the hardware to notice. wait_for_connector() fixes this by
        continually reprobing the status of the desired connector (without
        relying on a hpd event happening, since that might never come) until
        we get what we want, or we time out and fail.
      - Use kmstest_get_property() for retrieving EDIDs instead of doing it by
        hand
      - Don't hardcode PIPE_A for bringing up the display, use kmstest to find
        an appropriate CRTC to use.
      Changes since v2:
      - Fix incorrect usage of the list helpers when recording new EDIDs
      - Add missing documentation
      - Make sure documentation actually appears
      - Since we finally got video capture working, add CRC functions and fix
        the ones we couldn't actually test before
      - In the exit handler, reset the xmlrpc env so we can properly reset the
        Chamelium even after an RPC error
      - Make sure compiling without Chamelium support still works
      Changes since v3:
      - Change the config file name from .igt_chamelium_rc to .igtrc
      - Remove chamelium global context
      - Get rid of define_common_connector_tests()
      - Get rid of connector list, expose connectors as opaque objects and
        provide helpers for accessing their attributes
      - Get rid of configure.ac option for Chamelium
      - Add tests for CRC functions
      - Add frame dumping functions + tests
      - Add FSM handling to chamelium_rpc()
      - Use LIBUDEV_LIBS in automake, not UDEV_LIBS
      - Documentation fixes
      - Improve debugging output some more
      - Remove skip_without_suspend_support, we no longer need to check for
        suspend support before calling things
      - Remove unnessecary malloc() checks with igt_assert()
      - Don't use igt_require in chamelium_init, leave it up to the caller
        whether or not to abort when failing to initialize the chamelium
      - Use igt_assert_eq for making assertions about connector's statuses
      - Define suspend/resume delay for tests as constant
      c99f8b7a
  6. 29 Nov, 2016 1 commit
    • Abdiel Janulgue's avatar
      lib: add igt_dummyload · 35fa2ca7
      Abdiel Janulgue authored
      A lot of igt testcases need some GPU workload to make sure a race
      window is big enough. Unfortunately having a fixed amount of
      workload leads to spurious test failures or overly long runtimes
      on some fast/slow platforms. This library contains functionality
      to submit GPU workloads that should consume exactly a specific
      amount of time.
      
      Since v14: Since we are using multiple signals, walk list of batches
      to terminate a batch to avoid using a single global batch. Cycle signals
      between SIGRTMIN and SIGRTMAX properly.
      
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: tomeu@tomeuvizoso.net
      Reviewed-by: 's avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Signed-off-by: Abdiel Janulgue's avatarAbdiel Janulgue <abdiel.janulgue@linux.intel.com>
      35fa2ca7
  7. 19 Feb, 2016 1 commit
  8. 21 Aug, 2015 2 commits
  9. 09 Feb, 2015 1 commit
  10. 25 Nov, 2014 1 commit
  11. 20 Aug, 2013 1 commit
  12. 17 Aug, 2013 1 commit