summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2020-05-21lib/gpu_cmds: Add media pipeline functions based on intel_bbZbigniew Kempczyński2-0/+54
Add "_v2" versions of media pipeline creation functions. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib/intel_batchbuffer: Introduce temporary igt_fillfunc_v2_tZbigniew Kempczyński2-0/+35
gem_gpgpu_fill test is spread over different generations (gen >= 7) so some transitional state is required until all gens will be rewritten to new intel_bb code without libdrm dependency. So, let's define new igt_fillfunc_v2_t to be new fill function. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib/gpgpu_fill: libdrm-free gpgpu pipeline creationZbigniew Kempczyński2-0/+221
Provide "v2" pipeline for gpgpu fill for all gens. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib/gpu_cmds: Add gpgpu pipeline functions based on intel_bbZbigniew Kempczyński2-0/+617
Add no-libdrm functions which will replace libdrm version in the final version. v5: fix offset (Chris), emits addresses Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib/intel_batchbuffer: Introduce intel_bbZbigniew Kempczyński2-0/+578
Simple batchbuffer facility which gathers and outputs relocations. v2: make bb api more consistent and universal v3: fix compiling issues on non-x86 arch v4: add indexing tree and marking object as render target v5: randomizing addresses to avoid relocations v6: fix invalid reallocation size (Chris) Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib/rendercopy_bufmgr: Pass alignment during buffer initializationZbigniew Kempczyński1-2/+2
For linear buffer buf_ops currently was extended to align the stride so we need to update the call. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib/intel_bufops: Add bufops reference and adapt stride requirementZbigniew Kempczyński2-12/+50
Add bufops reference to intel_buf to allow acquire drm fd against which buffer was created. Change stride limitation for intel_buf for non-tiled buffers. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-20lib: Cleanup __igt_params_open()Chris Wilson1-136/+29
The device always exist, so use it to derive the module name required to lookup either the debugfs params directory or the sysfs module parameters. Fixes: 2f5cee33ce55 ("igt/params: use igt_params_set_save for igt_set_module_param*") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2020-05-20Always pass device to igt_params_setChris Wilson4-18/+18
Don't second guess, require the user to provide the device that wish to set the module parameter for. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2020-05-20lib/i915: Assume unknown hardware just worksChris Wilson1-1/+4
If we don't recognise the hardware, then it can't be any of the known broken HW where MI_STORE_DWORD_IMM either uses physical addressing or simply fails catastrophically. As it's not known to be broken, assume it just works. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-19lib: Remove early has_known_intel_chipset() checkChris Wilson1-19/+1
When opening a specific driver, open that driver. Once we have the device fd, we can then do feature checks that the tests *actually* require. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Petri Latvala <petri.latvala@intel.com>
2020-05-19lib/i915: Reset all engine properties to defaults prior to the start of a testChris Wilson3-4/+85
We need each test in an isolated context, so that bad results from one test do not interfere with the next. In particular, we want to clean up the device and reset it to the defaults so that they are known for the next test, and the test can focus on behaviour it wants to control. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-05-18lib/igt_pm: Add lib func to get lpsp capabilityAnshuman Gupta2-0/+30
This lib function evaluate the lpsp capability from the connector specific debugfs attribute i915_lpsp_info. v2: - changed the lib function prefix igt_output_is_lpsp_capable to i915_output_is_lpsp_capable. [Martin] v3: - early return for the connector which doesn't support lpsp on any platform. v4: - debugfs entry changed from i915_lpsp_info to i915_lpsp_capability. v5: - return lpsp capability false if i915_lpsp_capability debugfs is not present. [Animesh] Reviewed-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
2020-05-14lib/igt_gt: Add newline to IGT_HANG=0 skipsPetri Latvala1-2/+2
v2: Include the variable name in the output (Chris) Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-11Macros fixes: Removed unused & redundant macrosranjeet kumar4-20/+2
Local macros were declared in several files as a prelude to upstream implementations. Now that we ship include/drm-uapi, we can remove LOCAL as we upstream. Cc: Dixit, Ashutosh <ashutosh.dixit@intel.com> Cc: Tahvanainen Jari <jari.tahvanainen@intel.com> Signed-off-by: ranjeet kumar <ranjeet1.kumar@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-11lib/igt_kms: Make igt_display_require() + chamelium more robustArkadiusz Hiler3-11/+80
1. We don't reset Chamelium, as this generates extra unplug events if any of the ports is already connected which is often the case 2. We try to plug all the chamelium ports, it's a noop if they are already plugged 2. We wait for all the ports being connected: - if the port mapping is provided: wait for the ports to be connected - if there is no mapping: sleep(10) and hope for the best Cc: Petri Latvala <petri.latvala@intel.com> Cc: Imre Deak <imre.deak@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com>
2020-05-11lib/igt_chamelium: Sleep when doing autodiscoveryArkadiusz Hiler1-2/+26
Autodiscovery was wrongly assuming that whenever we do chamelium_plug() the connector state change is immediate. It was working most of the time for native connectors, but may explain some of the flip-flopping skips. The problem got only more serious with the advent of LSPcons as USB-C, where we have much things happening on the signal path, introducing delays. So for the sake of reliability this change introduces sleep(10) between plug and reprobe. The number is about 2 * the_most_pathological_case_observed. Also the discovery step is performed only if there is no static port mapping set up. After the discovery is done, IGT prints the mapping ready to be pasted into .igtrc. Cc: Kunal Joshi <kunal1.joshi@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com>
2020-05-08igt/params: use igt_params_set_save for igt_set_module_param*Juha-Pekka Heikkila1-34/+122
Unify parameter access. Here switch to use debugfs/dri/N as default for module parameters with fallback to /sys/module/<device>/parameters. Here is also decided 'default' device if -1 is specified as device. Default being that device which is first to match requirements. Default device is used only for sysfs, not for debugfs. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08igt/params: add generic saving module parameter setJani Nikula2-9/+56
Add functionality to save original value to be restored by exit handler and setting new value. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08lib/params: add igt_params_open() which will return pathJani Nikula1-11/+18
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2020-05-08lib/params: overhaul param savingJani Nikula1-60/+41
More generic, use existing functions. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08lib/params: start renaming functions igt_params_*Juha-Pekka Heikkila6-15/+11
Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-08lib/params: add igt_params.c for module parameter accessJani Nikula12-218/+290
We have generic helpers for sysfs access in igt_sysfs.c, but we also have a number of module parameter access specific helpers scattered here and there. Start gathering the latter into a file of its own. For i915, the long-term goal is to migrate from module parameters to device specific debugfs parameters. With all igt module param access centralized in one place, we can make the transition much easier. Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-07lib/i915: Split igt_require_gem() into i915/Chris Wilson15-105/+167
igt_require_gem() is a pecularity of i915/, move it out of the core. Similar opportunistic move of gem_reopen_driver() and gem_quiescent_gpu(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-05-05lib/tests: Add tests for magic control blocks nestingArkadiusz Hiler3-0/+267
Cc: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05lib/igt_core: Disallow nesting of igt_dynamic inside igt_dynamicArkadiusz Hiler1-0/+2
igt_dynamic is allowed only inside igt_subtest_with_dynamic Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05lib/igt_core: Make assert on invalid magic blocks nesting more verboseArkadiusz Hiler1-13/+42
Instead of ending the execution with cryptic assert let's actually print a message explaining the reason and point towards igt_core's documentation. I am sticking with assert() instead of abort() because of the semi-useful stacktraces it produces. Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05lib/drmtest: Introduce __drm_open_driver_anotherArkadiusz Hiler2-23/+146
__drm_open_driver_another(int idx, ...) is a counterpart to __drm_open_driver(..) with the following changes: If device filters are provided the idx-th filter is used and the first matching device is selected. Consecutive calls to it, with increasing idx (starting from zero) are guaranteed to return fd of a different /dev/dri/ node than the previous calls or -1. Counterparts to other existing drm_open_*() should be introduced in similar fashion as the need arises. v2: (Petri) * try_modprobe if device is not found * split kms_prime changes into a separate commit Cc: Petri Latvala <petri.latvala@intel.com> Cc: Mika Kahola <mika.kahola@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-05-05lib: Support multiple filtersArkadiusz Hiler4-38/+79
This patch brings back support for multiple filters that was in the original series by Zbyszek. We can now take multiple, semicolon separated filters. Right now the tests are using only the first filter. v2: drop unnecessary check before for-loop (Petri) Cc: Petri Latvala <petri.latvala@intel.com> Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2020-04-29tests/kms_fbcon_fbt: Reduce execution time by not calling wait_until_enabled()José Roberto de Souza2-0/+11
After unset all CRTCs is expected that FBC and PSR is disabled, calling wait_until_enabled() will make it wait until timeout to it return false and pass the test. So instead lets implement is_disabled() hook, as the kmstest_unset_all_crtcs() is a synchronous call, the features will be already disabled after it, so no need to do any wait. Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2020-04-29tests/kms_fbcon_fbt: Make FBC wait_until_update() more reliableJosé Roberto de Souza2-2/+12
We can't depend onto debugfs reads of the FBC status as compression takes one idle frame to recompress and we could easily miss that. Instead lets use the pipe CRC as it keeps the CRC of each frame so we can compare each other until a blink in the FBCON causes it do change. Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2020-04-29lib/ioctl_wrappers: Delete gem_total_mappable_size()Ashutosh Dixit2-18/+0
gem_total_mappable_size() has no callers and calls the DRM_I915_GEM_GET_APERTURE ioctl using 'struct local_i915_gem_get_aperture' which has fields which are unsupported in the kernel. Delete the function. Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2020-04-17igt_core: Add --versionPetri Latvala1-0/+7
To help verify correct deployment, add a --version flag that just prints the IGT-Version text. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2020-04-17lib/color_encoding: Fix up support for XYUV format.Bob Paauwe2-3/+4
Add XYUV8888 to the list of DRM Formats to test. Also fix the byte order for the format. Signed-off-by: Bob Paauwe <bob.j.paauwe@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2020-04-16lib: Use read() for timerfd timeout detectionChris Wilson1-6/+6
The poll() is proving unreliable, where our tests timeout without the spinner being terminated. Let's try a blocking read instead! Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1676 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: "Dixit, Ashutosh" <ashutosh.dixit@intel.com> Reviewed-by: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
2020-04-15tests/kms_chamelium: Test HPD for different mode handling scenariosArkadiusz Hiler2-1/+2
The default scenario is now performing all hotplugs with modes disabled on all connectors. This is the quickest of the tests and represents userspace not caring about the new display (e.g. explicitly disabled). *-hpd-enable-disable-mode covers the most common userspace behavior where each hotplug event is accompanied by a corresponding enabling / disabling commit. *-hpd-with-enabled-mode explicitly targets the scenario where we have mode enabled and never disable it as we do hotplugs to reproduce the issue we see with TypeC connectors for ICL and TGL. v2: - refresh igt_display output state after reprobing - get mode and set pipe only after we have connector plugged in v3: fix VGA subtest names (Kunal) Cc: Kunal Joshi <kunal1.joshi@intel.com> Cc: Imre Deak <imre.deak@intel.com> Issue: https://gitlab.freedesktop.org/drm/intel/issues/323 Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
2020-04-09lib: Set initial invalid timerfd to -1Chris Wilson1-9/+8
Allow for a timerfd of 0, just in case some test closes stdin. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-04-09lib/i915/perf: update TGL configsLionel Landwerlin2-859/+3005
Some HW woes are forcing us to store EU activity counters in a different way. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2020-04-09i915/gem_wait: Warn if the test completes before the spinner times outChris Wilson2-2/+7
Check that our threaded timer to expire the igt_spin_t does fire! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-04-09lib/i915: Cleanup errno before starting testsChris Wilson1-0/+1
Since we probe the existence of the engines, we expect errno to be randomly set prior to starting the test. Lets reset it to 0 so that any error before the igt_dynamic_f test is not mistakenly printed by a failed test. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-04-09lib: Show the actual error from submitting the rendercopyChris Wilson6-42/+36
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-04-06i915/i915_hangman: Drop last reference to bygone 'i915_error_state'Chris Wilson1-1/+0
The test is looking at sysfs/error so dumping the old debugfs/i915_error_state looks quite silly. The only dilemma is whether it is worth replacing with a line-by-line dump. I propose we make that a future problem -- and leave it to whoever has to debug it next time. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
2020-04-06lib: Fix device lists not cleaned up sufficiently before rescanJanusz Krzysztofik1-6/+10
Some effort is already taken to clean up previous content of device lists before forced device rescan is performed but it is not sufficient. An attempt to use forced device rescan in a test results in that test crashing or spinning until being killed by OOM killer. Fix it. v2: Remove device from the list before device attributes are destroyed Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2020-04-04lib/igt_dummyload: Give the timer thread a RT priority boostChris Wilson1-1/+10
Do not leave it up to the lazy scheduler when the timeout is applied to the batch, force it to be real-time! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Michał Winiarski <michal.winiarski@intel.com> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
2020-04-03lib: Bump estimates for object overheadChris Wilson1-1/+1
We are dramatically underestimating the overhead for an active object and its inodes. Not that we condone such largesse! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Matthew Auld <matthew.auld@intel.com>
2020-04-02lib/i915/perf: break generated code in separate filesLionel Landwerlin9-737/+1152
Initially all the generated code was per generation. Eventually we grouped it into a single file to reuse as much as possible equation code (this reduce binary size by a factor). So many equations are just the same from generation to generation. But this generated file is 200k lines long... This change puts all the equations into a single file, so that we reuse as much code as possible, and then breaks down the metric sets & register configurations into per generation files. v2: Split registers away from the metric set descriptions v3: Fix automake Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2020-04-02lib/i915/perf: remove generation code for mathml renderLionel Landwerlin1-151/+17
Gputop had support for generating mathml figures of the post processing equations. It's not useful here. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2020-04-01i915/gem_exec_schedule: Dynamic engine testsChris Wilson1-3/+3
Use igt_subtest_with_dynamic for the flexible approach to engine dependent test discovery. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2020-03-31lib: Sync i915_pciids.h with kernelSwathi Dhanavanthri2-13/+21
Changes: 3882581753d1 ("drm/i915/tgl: Add new PCI IDs to TGL") v2: Separated U series CML IDs to be in sync with kernel 8717c6b7414f ("Separate U series pci id from origianl list") v3: Updating lib/intel_device_info.c with the U series Signed-off-by: Swathi Dhanavanthri <swathi.dhanavanthri@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
2020-03-31lib/igt_dummyload: Use timerfd rather than SIGEV_THREADMichał Winiarski2-18/+27
Since timer_delete doesn't give us any guarantees that the thread and its notify_function isn't currently running, we can hit a use-after-free in a race condition scenario. This causes a seemingly random segfault when igt_spin_end from notify thread is called after igt_spin_free was already called from the main thread. Let's fix that by using timerfd and managing the timer thread ourselves. Signed-off-by: Michał Winiarski <michal.winiarski@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>