aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rename myself in OWNERSAlistair Delva2019-10-251-1/+2
| | | | | | | Also added Sean to OWNERS. Change-Id: I0f681aa7e64ff2cf32199438a1fc03cdf2dc70a6 Exempt-From-Owner-Approval: Fixing my OWNERS entry
* Upgrade igt-gpu-tools to 357dbe1869d88a2f08bcee4eebceff4ee9014424ndk-sysroot-r21Haibo Huang2019-08-2253-447/+1969
|\ | | | | | | | | | | am: 22248ce8b1 Change-Id: I2ad5207e28b5f0b7d85bde5556654b7f86f6a7b1
| * Upgrade igt-gpu-tools to 357dbe1869d88a2f08bcee4eebceff4ee9014424Haibo Huang2019-08-2253-447/+1969
| |\ | | | | | | | | | | | | | | | Exempt-From-Owner-Approval: upgrade library Test: None Change-Id: Ia660d53173e6aee55a1dc5360649568e4ac4c1b6
| | * tests/kms_properties: Fix upper bound of 'max bpc' rangeImre Deak2019-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The available range reported by the driver is the inclusive [min_bpc, max_bpc], so fix the upper bound used by the test accordingly. This issue had the side-effect (on ICL for instance) of limiting 'max bpc' to 10 (instead of restoring it to the default 12) for all the tests following kms_properties, as seen from the logs in the referenced bug below. Reference: https://bugs.freedesktop.org/show_bug.cgi?id=109593 Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Simon Ser <simon.ser@intel.com>
| | * i915/gem_concurrent_blit: Do not try to idle while submitting in parallelChris Wilson2019-08-201-17/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we try to idle while another thread is submitting, we will be forced to wait until that other thread is finished -- effectively serialising the parallel workloads, defeating said purpose. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Stuart Summers <stuart.summers@intel.com>
| | * tests/kms_chamelium: Wait for chamelium being reachable after a suspendArkadiusz Hiler2019-08-203-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Getting network back after waking up from suspend takes some time. If it's not quick enough, it may cause any following chamelium_rpc to fail. This includes the chamelium port reset in exit handler: igt_chamelium-CRITICAL: Test assertion failure function chamelium_rpc, file ../lib/igt_chamelium.c:349: igt_chamelium-CRITICAL: Failed assertion: !chamelium->env.fault_occurred igt_chamelium-CRITICAL: Last errno: 113, No route to host igt_chamelium-CRITICAL: Chamelium RPC call failed: libcurl failed to execute the HTTP POST transaction, explaining: Failed to connect to 192.168.1.224 port 9992: No route to host Stack trace: #0 ../lib/igt_core.c:1674 __igt_fail_assert() #1 [chamelium_rpc+0x1ea] #2 ../lib/igt_chamelium.c:2274 chamelium_reset() #3 ../lib/igt_chamelium.c:2361 chamelium_deinit() #4 ../lib/igt_core.c:2124 call_exit_handlers() So let's wait for Chamelium to be reachable after each suspend_autoresume. v2: Bump the network timeout to 20s, the slowest observed bring-up was 17s. (Petri) Do not DECREF if we get NULL from __chmelium_rpc(). (Simon & CI) Cc: Simon Ser <simon.ser@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109380 Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Simon Ser <simon.ser@intel.com>
| | * tests/igt_command_line.sh: Add new selftest for special handlingAntonio Argenziano2019-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dmabuf_selftests has been recently added to the test list but not added to the special handling in igt_command_line.sh and therefore build testing would fail. Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> [Fixed syntax error and test name] Reviewed-by: Petri Latvala <petri.latvala@intel.com>
| | * tests: Add kernel selftests for dmabufChris Wilson2019-08-193-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | Just a plain igt_kmod() wrapper for dmabuf_seltests.ko Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Tomi Sarvela <tomi.p.sarvela@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
| | * tests/kms_plane_multiple: Commit state before remove_fb callsNicholas Kazlauskas2019-08-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The kms_plane_multiple@* tests fail on amdgpu with a dmesg-warn due to "atomic remove_fb failed with -22" "WARNING: CPU: 6 PID: 183 at drivers/gpu/drm/drm_framebuffer.c:986" The call to drmModeRmFB essentially creates an atomic commit internally when we drop the last reference to the FB in IGT. This commit disables the plane associated with framebuffer. Since the planes are iterated by increasing index in IGT the last plane to have its framebuffer removed is the cursor plane on AMDGPU. On AMDGPU we can't enable the cursor plane without any active hardware planes (primary, overlay) since there is no dedicated cursor plane. The commits to release the overlay plane fail since it's the last remaining plane and the cursor plane is still active. The fix to the test is to just perform a commit that disables all 3 planes at the same time before calling remove_fb. This improves performance enables support for drivers that don't support cursor planes being enabled without a primary or overlay. Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Leo Li <sunpeng.li@amd.com>
| | * tests: add kms_prime to MakefileOleg Vasilev2019-08-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test was introduced in earlier series, but was only added to meson test list. Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com> Cc: Simon Ser <simon.ser@intel.com> Fixes: 93129f55ba9e ("tests/kms_prime: add vendor-agnostic kms prime tests") Reviewed-by: Simon Ser <simon.ser@intel.com>
| | * tests/kms_chamelium: check whether EDID blob is non-NULL before trying to ↵Simon Ser2019-08-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | read it test_edid_read sets an EDID on a port, plugs it and reads it back. Sometimes retrieving the blob fails. Check whether the blob is set at all before trying to get it. This makes it obvious it's not drmModeGetPropertyBlob failing for another reason. Signed-off-by: Simon Ser <simon.ser@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106766 Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * tests/kms_prime: add vendor-agnostic kms prime testsOleg Vasilev2019-08-192-0/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, there are different sets of prime tests: - vgem + i915 - amdgpu + i915 - nouveau + i915 The idea is to create a set of tests which are expected to work on any prime-compatible driver. It can be run with any combination of exporter + importer, while those devices have respective prime capabilities. In order to be vendor-agnostic, tests should use generic KMS API. Since vgem can be used as both exporter and importer, and there aren't any generic kms features which vgem doesn't support, it is sufficient to test vgem as exporter with any other KMS driver. The first test is simple: 1. Exporter creates a dumb FB and fills it with a plain color 2. FB is transferred to the importer 3. Importer modesets and computes pipe CRC 4. Importer draws the same color through cairo and compares CRC The initial motivation comes from the need to test prime support in vkms. V2: - Chris: rename the file - Simon: memory hygiene, codestyle Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Simon Ser <simon.ser@intel.com> Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Simon Ser <daniel@ffwll.ch> Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com>
| | * lib: expose fb_initOleg Vasilev2019-08-192-20/+22
| | | | | | | | | | | | | | | | | | | | | Make it public. Signed-off-by: Oleg Vasilev <oleg.vasilev@intel.com> Reviewed-by: Simon Ser <simon.ser@intel.com>
| | * i915/gem_ctx_engine: Scheduler required for reordering requestsChris Wilson2019-08-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | To run the independent subtests requires to issue the requests not-in-submission order, we need a scheduler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
| | * tests/kms_chamelium: add an aspect ratio testSimon Ser2019-08-151-1/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test generates an EDID with support for modes tied to a specific aspect ratio. It then plugs a connector with this EDID and iterates the list of modes to find the one with the expected aspect ratio flag. The connector is then enabled and the Chamelium board is used to capture the AVI InfoFrame. The InfoFrame fields are then checked. To advertise support for a mode with a specific aspect ratio, sinks add Video Identification Codes in the CEA extension. The VIC chosen by the source is contained in the AVI InfoFrame. The InfoFrame also contains a picture aspect ratio field, but it's only able to indicate whether the aspect ratio is 16:9 or 4:3. For now the test is only enabled for HDMI. I've tried to make it work on DP too, but after reading the kernel code it seems like we don't support AVI InfoFrames on DP. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * lib/igt_infoframe: add support for AVI InfoFramesSimon Ser2019-08-152-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds partial support for AVI InfoFrames. Only bytes 1 and 2 of the InfoFrame payload are parsed. These bytes contain (among other things) information about the aspect ratio of the frames. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * tests/kms_chamelium: chatty connector status assertionsSimon Ser2019-08-151-13/+31
| | | | | | | | | | | | | | | | | | | | | This commit adds an error message to connector status assertions. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * docs/chamelium: document port auto-discoverySimon Ser2019-08-151-7/+3
| | | | | | | | | | | | | | | | | | | | | Explicit Chamelium port mappings are now optional. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * docs/chamelium: indent .igtrc code blockSimon Ser2019-08-151-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | This makes it easier to tell the code block apart from the rest of the document. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * lib/tests/igt_audio: silence uninitialized variable warningSimon Ser2019-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | GCC doesn't seem smart enough to figure out that everything is fine. Let's just initialize the variable to silence the warning. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * tests/kms_chamelium: add a link-status testSimon Ser2019-08-151-0/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test first checks that on normal hotplug, the link-status property is set to GOOD. It then triggers a link failure, checks that the property is updated to BAD. Checks are performed to make sure the new mode list is a subset of the previous one. After that, a new modeset is performed if necessary and the link-status property is set back to GOOD. This whole dance is repeated until we reach fallback modes. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
| | * lib/igt_kms: add support for link-statusSimon Ser2019-08-152-0/+2
| | | | | | | | | | | | | | | | | | | | | This patch simply adds link-status to our list of properties. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
| | * lib/igt_chamelium: add chamelium_trigger_link_failureSimon Ser2019-08-152-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new function triggers a link failure on the provided port. Another function called chamelium_supports_trigger_link_failure has been added to check whether the Chamelium board supports the new method. Support for TriggerLinkFailure in Chamelium has been added in [1]. [1]: https://chromium.googlesource.com/chromiumos/platform/chameleon/+/44866c7bc2af44da1f7bac4e782d0ed6d7c1400a Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * lib/igt_edid: merge edid_ext_update_cea_checksum into edid_update_checksumSimon Ser2019-08-153-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | Callers no longer need to call edid_ext_update_cea_checksum on each extension block. This makes it less error-prone to miss one block by mistake. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * lib/igt_edid: make HDMI VSDB data array unsignedSimon Ser2019-08-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This array is filled manually, some bytes might have the MSB set. This fixes the following warning: ../lib/igt_kms.c:357:18: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion] hdmi->data[0] = HDMI_VSDB_VIDEO_3D_PRESENT; /* HDMI video flags */ ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * lib/igt_kms: drop EDID_LENGTH, replace with EDID_BLOCK_SIZESimon Ser2019-08-155-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EDID_LENGTH is misleading because EDIDs are a variable size (they contain one or more 128-byte EDID blocks). This commit renames it to EDID_BLOCK_SIZE which makes it clear users need to call edid_get_size to get the total size. The declaration has also been moved to igt_edid. ("Size" has been chosen over "length" because it's clearer that it's a number of bytes, not a number of elements) Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * lib/igt_kms: use struct edid instead of unsigned charSimon Ser2019-08-158-43/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has several advantages: * No more need to convert back and forth between these two (everybody should use struct edid, the exception being lib/tests/igt_edid which performs sanity checks) * Makes it clearer that users can call edid_get_size on a returned EDID blob * Improves type safety (it's more obvious is a random blob is used as an EDID) Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
| | * tests/kms_chamelium: add InfoFrame checks to audio testsSimon Ser2019-08-141-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the DUT sends an InfoFrame, check that its values are correct. Per the HDMI and DP specs, most of the fields can be set to "refer to stream header" because some information is duplicated. The DP spec also says that InfoFrames are optional if mono or stereo audio is used (because there's no channel speaker allocation). Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
| | * lib/igt_chamelium: add support for GetLastInfoFrameSimon Ser2019-08-142-0/+76
| | | | | | | | | | | | | | | | | | | | | This new call retrieves the last InfoFrame received by the Chamelium board. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
| | * lib/igt_infoframe: new librarySimon Ser2019-08-144-0/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces a new igt_infoframe library, used to parse InfoFrames. For now only audio InfoFrames are supported. Support for AVI and other types of InfoFrames is planned (and will come with the matching tests). Unlike igt_edid, InfoFrames are parsed into a higher-level user-friendly struct. Signed-off-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
| | * lib/display_require: reset hdcp on all connectorsRamalingam C2019-08-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the start of every test, reset HDCP state to UNDESIRED on all connectors, so that we will not have any hdcp related noises in the subsequent tests. v2: igt_output_set_prop_enum is used. Documentation of display_reset is updated. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111390 Reviewed-by: Simon Ser <simon.ser@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
| | * i915/gem_userptr_blits: Apply some THP pressureChris Wilson2019-08-131-7/+42
| | | | | | | | | | | | | | | | | | | | | Still trying to hit a deadlock with userptr from kcompatcd. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reveiwed-by: Andi Shyti <andi.shyti@intel.com>
| | * i915/gem_shrink: Make some pages dirtyChris Wilson2019-08-131-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | Trying to hit a deadlock for invalidating dirty userptr pages (via kcompactd). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
| | * i915/gem_ctx_engine: Drip feed requests into 'independent'Chris Wilson2019-08-131-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The intent of the test is to exercise that each channel in the engine[] is an independent context/ring/timeline. It setups 64 channels pointing to rcs0 and then submits one request to each in turn waiting on a timeline that will force them to run out of submission order. They can only run in fence order and not submission order if the timelines of each channel are truly independent. However, we released the fences en masse, and once the requests are ready they are independent and may be executed in any order by the HW, especially true with timeslicing that may reorder the requests on a whim. So instead of releasing all requests at once, increment the timeline step by step and check we get our results advancing. If the requests can not be run in fence order and fall back to submission order, we will time out waiting for our incremental results and trigger a few GPU hangs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110987 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
| | * i915/gem_eio: Restrict number of batches of submittedChris Wilson2019-08-131-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure we don't block while setting up the stress case before the reset by only submitting less batches than would fill the ring. References: https://bugs.freedesktop.org/show_bug.cgi?id=111379 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
| | * i915/gem_exec_schedule: Limit the plug to fit small ringsChris Wilson2019-08-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we are not running with a scheduler, we are using a global ringbuffer which may not accommodate 16 extra batches. Fortunately, we only need one such batch to block the submission queue as without a scheduler, it is in order submission (and so the batch is after the main setup anyway!). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
| | * i915/gem_mmap_gtt: Test mmap_offset lifetimeChris Wilson2019-08-131-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | Closing the object on another file should not affect the local mmap_offset. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com> Reviewed-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
| | * gem_exec_fence: Really loop through all enginesPetri Latvala2019-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Continue instead of breaking on the first engine. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
| | * lib/sw_sync: Fix querying fence statusChris Wilson2019-08-121-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | To query the fence status, and only the fence status, you only need to pass .num_fences = 0. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
| | * lib/i915: Trim ring measurement by oneChris Wilson2019-08-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Be a little more conservative in our ring measurement and exclude one batch to leave room in case our user needs to wrap (where a request will be expanded to cover the unused space at the end of the ring). References: https://bugs.freedesktop.org/show_bug.cgi?id=111374 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
| | * debugfs_test: i915_emon_status is scheduled for removalChris Wilson2019-08-081-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | When we remove the debugfs fail, the test simply fails rather than skips. Kill the test as without the debugfs, it is defunct. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Andi Shyti <andi.shyti@intel.com> Reviewed-by: Andi Shyti <andi.shyti@intel.com>
| | * i915/gem_persistent_relocs: Don't call DROP_IDLE in the middle of submittingChris Wilson2019-08-082-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To actually DROP_IDLE means that we have to wait for ongoing submission, and any new concurrently submitted, i.e. it should only be called during single-threaded submission to ensure the GPU is idle before the new action. v2: Also include SHRINK for thrash-all-the-things, and find a dupe in gem_reloc_vs_gpu. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
| | * kms_ccs: Add the missing '\n' for igt_require_fChris Wilson2019-08-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the runner sees Starting subtest: pipe-C-bad-aux-stride Test requirement not met in function test_output, file ../tests/kms_ccs.c:324: Test requirement: valid_tests > 0 CCS not supported, skippingSubtest pipe-C-bad-aux-stride: SKIP (0.330s) and manages to implode. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
| | * i915/gem_eio: Break early for small ringsChris Wilson2019-08-061-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the shared legacy ringbuffer is too small to fit 64 new contexts, it will hang and report -EIO before we are expecting it. Accommodate this eio as it part of the ABI we are testing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
| | * kms_content_protection: SRM TestingRamalingam C2019-08-061-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we don't any uAPI to retrieve the downstream's device's ksv, we can't check the real revocation through SRM. This test just writes the facsimile SRM into the /lib/firmware/ and check the kernel parsing of it by invoking the hdcp authentication. v2: typos in commit msg is fixed. [Uma] file mode is added. [GG] reset test flag. [Uma] Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/315470/?series=57756&rev=10
| | * kms_content_protection: uevent for HDCP status changeRamalingam C2019-08-061-2/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To detect the HDCP status change we are reading the uevent sent with the corresponding connector id and property id. This avoids the polling of the property every mSec. v2: Made it as subtest. Remaining tests will use polling. [Daniel] v3: failure to receive the uevent is handled as failure [Uma] v4: For UNDESIRED state no uevent is expected. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/315470/?series=57756&rev=10
| | * kms_content_protection: test content type changeRamalingam C2019-08-061-10/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Testing the content type change when the content protection already enabled. v2: Rebased. v3: Type 0 -> Type 1 is included. Type check is removed [Uma] Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/315468/?series=57756&rev=10
| | * kms_content_protection: test teardown and rebuild of I915-mei I/FRamalingam C2019-08-061-5/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To validate the teardown and rebuild of the interface between I915 and mei hdcp this subtest execute the below sequence: 1. Test HDCP2.2 Type 1 (expected to pass) 2. Unload the mei_hdcp 3. Test HDCP2.2 Type 1 (expected to fail) 2. Reload the mei_hdcp 1. Test HDCP2.2 Type 1 (expected to pass) v2: Rebased. v3: Rebased. Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/315466/?series=57756&rev=10
| | * kms_content_protection: Content type supportRamalingam C2019-08-063-14/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a connector property called "CP_Content_Type" Content Type takes two values which classifies the content stream: Type 0: Stream that can be transmitted on HDCP1.4/HDCP2.2 Type 1: Stream that needs HDCP2.2 encryption only. So when Type 1 is set KMD is forced to enable HDCP2.2 only. For Type 0 request, Kernel chooses the highest capable HDCP version (v2.2) first. If that fails, then it fall back to the next available version(v1.4) before abondoning HDCP authentication attempts. Please note content_type is allowed to be updated when "Content Protection" is in UNDESIRED state. v2: s/cp_content_type/content_protection_type [danvet] v3: s/content_protection_type/HDCP Content Type [Pekka] v4: Rebased v5: Typos in the commit msg is fixed [Uma] Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/315467/?series=57756&rev=10
| | * kms_content_protection: Link Integrity Check subtestRamalingam C2019-08-061-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Existing Link integrity check test is moved into dedicated subtest. This helps to reduce the execution time of other tests by removing the repeated Link integrity check on every other tests. v2: s/reduced/reduce [Uma] Signed-off-by: Ramalingam C <ramalingam.c@intel.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/315465/?series=57756&rev=10