platform/upstream/intel-gpu-tools.git
10 years agolib/igt_debugfs: Don't fail if debugfs is already mounted
Ville Syrjälä [Wed, 11 Jun 2014 16:20:19 +0000 (19:20 +0300)]
lib/igt_debugfs: Don't fail if debugfs is already mounted

Remove the igt_assert() from the debugfs mount. It will fail if debugfs
is already mounted. With the assert in place it's very annying to use
igt without i915 loaded (eg. to dump BIOS configured registers).

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agotests: run igt.cocci
Daniel Vetter [Fri, 13 Jun 2014 16:27:59 +0000 (18:27 +0200)]
tests: run igt.cocci

Re-run with correct igt_fail rules. Again manually fixup missing
includes for igt_core.h.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoNEWS: Mention igt.cocci
Daniel Vetter [Fri, 13 Jun 2014 14:23:10 +0000 (16:23 +0200)]
NEWS: Mention igt.cocci

And also pimp the spatch file itself with usage hints.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib: Introduce igt_fail_on/_f
Daniel Vetter [Fri, 13 Jun 2014 16:01:33 +0000 (18:01 +0200)]
lib: Introduce igt_fail_on/_f

I've yet again totally screwed things up (this time automated with
cocci even, but not yet pushed luckily). So finally add a new version
for easier conversion and adjust the cocci script.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib/igt.cocci: Also add rule to use igt_warn_on_f
Daniel Vetter [Fri, 13 Jun 2014 13:45:30 +0000 (15:45 +0200)]
lib/igt.cocci: Also add rule to use igt_warn_on_f

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib/igt.cocci: Convert abort() to igt_fail
Daniel Vetter [Fri, 13 Jun 2014 13:45:12 +0000 (15:45 +0200)]
lib/igt.cocci: Convert abort() to igt_fail

abort should only be used for internal library checks - using
abort() we get a "crash" result, using igt_fail we get "fail"
in piglit.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib/igt.cocci: Conversion to igt logging
Daniel Vetter [Fri, 13 Jun 2014 13:41:28 +0000 (15:41 +0200)]
lib/igt.cocci: Conversion to igt logging

Also update old hunks to match on igt logging instead of fprintf.

v2: Don't forget about perror.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests: Don't use stderr for informational messages
Daniel Vetter [Fri, 13 Jun 2014 13:32:50 +0000 (15:32 +0200)]
tests: Don't use stderr for informational messages

These should go to stdout instead. The next patch will clean this up
with cocci, so no change from fprintf(stdout, to printf( here.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/pm_psr_sink_crc: Fix longjmp fun
Daniel Vetter [Fri, 13 Jun 2014 13:19:09 +0000 (15:19 +0200)]
tests/pm_psr_sink_crc: Fix longjmp fun

igt_fixture and igt_subtests use longjmp/setjmp internally, which
means local variables at the same stack frame are at risk. Best
practice is to move them out right in front of the igt_main block.

It would be awesome if someone could come up with a cocci patch to
auto-fix this, but unfortunately my attempts failed.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoRevert "tests: Run igt.cocci over tests"
Daniel Vetter [Fri, 13 Jun 2014 16:03:50 +0000 (18:03 +0200)]
Revert "tests: Run igt.cocci over tests"

This reverts commit 6903ab04e5f9048e3932eb3225e94b6a228681ba.

The igt_assert conversion rule is broken and doesn't invert the check
as it should.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoigt/gem_fence_upload: Exercise contention on the fault handler
Chris Wilson [Fri, 13 Jun 2014 14:46:33 +0000 (15:46 +0100)]
igt/gem_fence_upload: Exercise contention on the fault handler

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests: Run igt.cocci over tests
Daniel Vetter [Fri, 13 Jun 2014 09:06:18 +0000 (11:06 +0200)]
tests: Run igt.cocci over tests

Cocci is awesome

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib: add igt.cocci
Daniel Vetter [Fri, 13 Jun 2014 09:16:28 +0000 (11:16 +0200)]
lib: add igt.cocci

Small start but useful to collect refactorings/simplifications for
common igt patterns. Please add more if you stumble over some so that
we can occasionally run this to clean up the tests.

I haven't figured out yet how to do the assert_cmpint->assert_eq
transformation.

Run this with

spatch --sp-file lib/igt.cocci --in-place tests/*.c

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib/igt_core: Add igt_assert_eq
Daniel Vetter [Fri, 13 Jun 2014 08:46:55 +0000 (10:46 +0200)]
lib/igt_core: Add igt_assert_eq

Suggested by Chris Wilson. Not yet rolled out since I'm trying to use
cocci for this.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/prime_self_import: Use igt_assert_cmpint
Daniel Vetter [Fri, 13 Jun 2014 08:23:01 +0000 (10:23 +0200)]
tests/prime_self_import: Use igt_assert_cmpint

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_psr_sink_crc: Skip properly
Daniel Vetter [Fri, 13 Jun 2014 08:18:24 +0000 (10:18 +0200)]
tests/kms_psr_sink_crc: Skip properly

Aside: The test has way too many bool return values that are then
always checked with igt_assert. Imo cleaner to switch to a more
declarative approach and shovel the igt_assert/require into those
functions instead.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79962
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoigt/gem_fence_upload: Throw some threads into the mix
Chris Wilson [Thu, 12 Jun 2014 16:01:02 +0000 (17:01 +0100)]
igt/gem_fence_upload: Throw some threads into the mix

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoigt/gem_mmap_gtt: Exercise concurrent pagefaulting
Chris Wilson [Thu, 12 Jun 2014 10:50:01 +0000 (11:50 +0100)]
igt/gem_mmap_gtt: Exercise concurrent pagefaulting

This should hit the BUG inside remap_pfn_range in

commit c5158fabeaf53ed2c614c3333aaa4b3cce80f500
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jun 10 12:14:41 2014 +0100

[   27.767634] kernel BUG at mm/memory.c:2315!
[   27.767655] invalid opcode: 0000 [#1] SMP
[   27.767679] Modules linked in: cpufreq_userspace cpufreq_powersave cpufreq_stats cpufreq_conservative binfmt_misc nfs lockd fscache sunrpc hid_generic usbhid hid x86_pkg_temp_thermal microcode i2c_i801 lpc_ich mfd_core battery acpi_cpufreq evdev processor ac loop ehci_pci xhci_hcd ehci_hcd sr_mod usbcore cdrom usb_common fan thermal
[   27.767872] CPU: 3 PID: 912 Comm: gem_mmap_gtt Not tainted 3.15.0-rc8+ #953
[   27.767903] Hardware name: Intel Corporation Shark Bay Client platform/Flathead Creek Crb, BIOS HSWLPTU1.86C.0109.R03.1301282055 01/28/2013
[   27.767956] task: ffff880448415010 ti: ffff88044d22c000 task.ti: ffff88044d22c000
[   27.767988] RIP: 0010:[<ffffffff81130734>]  [<ffffffff81130734>] remap_pfn_range+0x2a4/0x400
[   27.768033] RSP: 0000:ffff88044d22fc28  EFLAGS: 00010282
[   27.768057] RAX: 0000000000020002 RBX: 00000000000a3b57 RCX: ffff880448b73fe8
[   27.768088] RDX: 0000000000000002 RSI: ffff880000000000 RDI: ffffea000efe8158
[   27.768119] RBP: ffff88044d22fcd8 R08: 00007fc7b57fe000 R09: 00007fc7b57fe000
[   27.768150] R10: 00000000000001fd R11: 0000000000000a9a R12: ffffea000efe8128
[   27.768180] R13: 0000000000000001 R14: 00007fc7b57fd000 R15: 800000000000002f
[   27.768212] FS:  00007fc7977fc700(0000) GS:ffff88045e380000(0000) knlGS:0000000000000000
[   27.768246] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   27.768272] CR2: 00007fc7b67fd000 CR3: 000000044866c000 CR4: 00000000001407e0
[   27.768303] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   27.768333] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[   27.768363] Stack:
[   27.768374]  ffff880448bbb6f8 00000000ffffffff 00007fc7b57fdfff 00007fc7b57fdfff
[   27.768414]  00007fc7b57fe000 ffff88044866c7f8 ffff8804496b08f0 00007fc7b57fdfff
[   27.768454]  fffffff8038ee35a 0000000000001000 ffff88044c208180 00007fc7b57fe000
[   27.768494] Call Trace:
[   27.768511]  [<ffffffff81365277>] i915_gem_fault+0x337/0x340
[   27.768538]  [<ffffffff8112d3c4>] __do_fault+0x34/0x70
[   27.768565]  [<ffffffff8109088e>] ? wake_up_process+0x1e/0x40
[   27.768592]  [<ffffffff8113015c>] do_shared_fault.isra.96+0x2c/0x1f0
[   27.768623]  [<ffffffff81502405>] ? rwsem_down_read_failed+0xe5/0x130
[   27.768654]  [<ffffffff810a2519>] ? __rwsem_do_wake+0x129/0x160
[   27.768682]  [<ffffffff81131085>] handle_mm_fault+0x2b5/0xb80
[   27.768712]  [<ffffffff81270a64>] ? call_rwsem_down_read_failed+0x14/0x30
[   27.768745]  [<ffffffff81036c67>] __do_page_fault+0x167/0x4c0
[   27.768774]  [<ffffffff8109a540>] ? pick_next_task_fair+0x700/0x870
[   27.768804]  [<ffffffff814ff23b>] ? __schedule+0x27b/0x860
[   27.768831]  [<ffffffff81036fec>] do_page_fault+0xc/0x10
[   27.768857]  [<ffffffff815034a2>] page_fault+0x22/0x30
[   27.768881] Code: 4d 85 ed 49 0f 44 d7 80 cc 02 49 81 c6 00 10 00 00 48 83 c3 01 48 83 c1 08 48 09 d0 48 89 41 f8 4d 39 f0 74 32 48 83 39 00 74 c4 <0f> 0b 66 2e 0f 1f 84 00 00 00 00 00 48 39 37 75 63 48 8b 45 c8
[   27.769081] RIP  [<ffffffff81130734>] remap_pfn_range+0x2a4/0x400
[   27.769113]  RSP <ffff88044d22fc28>

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agodocs: remove unused annotation glossary include
Thomas Wood [Wed, 11 Jun 2014 16:13:39 +0000 (17:13 +0100)]
docs: remove unused annotation glossary include

API annotations are not used anywhere in the documentation, so the
annotation glossary is not built.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agodocs: always rebuild the sections file
Thomas Wood [Wed, 11 Jun 2014 14:32:14 +0000 (15:32 +0100)]
docs: always rebuild the sections file

Always rebuild the sections file since it currently doesn't contain any
custom modifications.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agodocs: add private headers to IGNORE_HFILES
Thomas Wood [Wed, 11 Jun 2014 10:46:39 +0000 (11:46 +0100)]
docs: add private headers to IGNORE_HFILES

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agolib: various documentation fixes
Thomas Wood [Mon, 9 Jun 2014 16:23:21 +0000 (17:23 +0100)]
lib: various documentation fixes

Fix some documentation comments and mark some struct members private.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agogitignore: add missing files and keep lists sorted
Thomas Wood [Mon, 9 Jun 2014 13:45:44 +0000 (14:45 +0100)]
gitignore: add missing files and keep lists sorted

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agoREADME: update the section on modifying and rebuilding documentation
Thomas Wood [Mon, 9 Jun 2014 13:05:42 +0000 (14:05 +0100)]
README: update the section on modifying and rebuilding documentation

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agolib: remove /** from comments that are not API documentation
Thomas Wood [Mon, 9 Jun 2014 13:02:04 +0000 (14:02 +0100)]
lib: remove /** from comments that are not API documentation

These comments are not gtk-doc comments, so replacing /** with /*
prevents any gtk-doc warnings.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agoREADME: update piglit instructions
Thomas Wood [Mon, 9 Jun 2014 12:35:21 +0000 (13:35 +0100)]
README: update piglit instructions

Piglit now has a top level "piglit" command and the location of the
tests can now be read from an environment variable.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agoquick_dump: read the architecture files for items to add to EXTRA_DIST
Thomas Wood [Fri, 6 Jun 2014 14:28:50 +0000 (15:28 +0100)]
quick_dump: read the architecture files for items to add to EXTRA_DIST

Each architecture file contains a list of the text files it requires, so
use this to add to the list of files to distribute.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
10 years agotests/gem_fence_upload: Fix test wrapper
Daniel Vetter [Thu, 12 Jun 2014 07:05:55 +0000 (09:05 +0200)]
tests/gem_fence_upload: Fix test wrapper

- tests with subtests need to be in the _M target for correct
  enumeration.

- No need for igt_exit when using the igt_(simple_)main wrappers.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agolib/intel_os: Spelling fix
Daniel Vetter [Thu, 12 Jun 2014 07:04:20 +0000 (09:04 +0200)]
lib/intel_os: Spelling fix

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests: add gem_fence_upload
Chris Wilson [Mon, 3 Feb 2014 15:52:00 +0000 (15:52 +0000)]
tests: add gem_fence_upload

This test demonstrates the performance cliff clients face when they
unwittingly use too many fenced surfaces in a looped upload.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests/kms_psr_sink_crc: Create test to test PSR by checking panel CRC.
Rodrigo Vivi [Thu, 20 Mar 2014 01:43:51 +0000 (22:43 -0300)]
tests/kms_psr_sink_crc: Create test to test PSR by checking panel CRC.

v2: Wait psr enable with timeout and more subtest added.
v3: Add wait for v_blank leeting test more reliable and preparing to
    add Baytrail per-pipe tests.
v4: Call busy_ioctl on mmap_gtt to match the real usage and remove the need
    of inactivate on set_domain, what was semantically wrong.
v5: Adding more test cases to cover mmap_gtt with and without followed by
    busy ioctl and also without busy and waiting 10 seconds between
    set_domain and actual write.
v6: rebase after kms_plane added and debugfs api changed.
    Plus adding more test cases.
v7: Some rework and sprite test added

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
10 years agolist-workarounds/chv: Add Cherryview to the list of valid platorms
Damien Lespiau [Fri, 31 May 2013 14:33:21 +0000 (15:33 +0100)]
list-workarounds/chv: Add Cherryview to the list of valid platorms

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
10 years agoRevert "Add rc6_residency_counter subtest"
Daniel Vetter [Tue, 10 Jun 2014 09:05:16 +0000 (11:05 +0200)]
Revert "Add rc6_residency_counter subtest"

This reverts commit 9a70e29f8380c2fc6f9b43757c68e24bf2619061.

Patch needs polish and after a quick irc discussion Ben&I agreed that
the revert is in order.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_fbc_crc: Update blit code for BDW
Ville Syrjälä [Tue, 10 Jun 2014 11:51:44 +0000 (14:51 +0300)]
tests/kms_fbc_crc: Update blit code for BDW

Switch to XY_COLOR_BLT from COLOR_BLT and use the appropriate
macros to make the code work on BDW.

Also make the blit 8bpp instead if 16bpp. 8bpp is what it was
supposed to use all along.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76307
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoAPI docs for intel_check_memory()
Chris Wilson [Tue, 10 Jun 2014 13:29:00 +0000 (14:29 +0100)]
API docs for intel_check_memory()

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoNEWS: post-release bump
Daniel Vetter [Tue, 10 Jun 2014 06:18:37 +0000 (08:18 +0200)]
NEWS: post-release bump

10 years agobump version to 1.7 and add the release date intel-gpu-tools-1.7
Rodrigo Vivi [Mon, 9 Jun 2014 18:30:15 +0000 (11:30 -0700)]
bump version to 1.7 and add the release date

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
10 years agoFix make distclean by fixing includes of version.h
Rodrigo Vivi [Mon, 9 Jun 2014 18:15:47 +0000 (11:15 -0700)]
Fix make distclean by fixing includes of version.h

Actually only the igt_core was breaking the make distcheck,
but let's make it consistent and let the code cleaner.

Credits-to: Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
10 years agonull_state_gen: Fix Makefile.am for make distcheck
Rodrigo Vivi [Mon, 9 Jun 2014 17:48:10 +0000 (10:48 -0700)]
null_state_gen: Fix Makefile.am for make distcheck

10 years agoquick_dump: Fix vlv file names on Makefile.am
Rodrigo Vivi [Mon, 9 Jun 2014 17:47:13 +0000 (10:47 -0700)]
quick_dump: Fix vlv file names on Makefile.am

10 years agoigt/gem_evict_alignment: Fix the memory limits checking
Chris Wilson [Fri, 6 Jun 2014 07:43:08 +0000 (08:43 +0100)]
igt/gem_evict_alignment: Fix the memory limits checking

We actually allocate twice as many bo as needed to fill the aperture to
cause ENOSPC, but the entire payload has to still fit into RAM.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75138
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoigt/gem_evict_alignment: Fix the memory limits checking
Chris Wilson [Fri, 6 Jun 2014 07:43:08 +0000 (08:43 +0100)]
igt/gem_evict_alignment: Fix the memory limits checking

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75138
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoigt/gem_evict_alignment: Remove obsolete skip on gen8+
Chris Wilson [Fri, 6 Jun 2014 07:40:36 +0000 (08:40 +0100)]
igt/gem_evict_alignment: Remove obsolete skip on gen8+

If the BLT commands, aren't fixed yet, they should be. ASAP.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoAdd rc6_residency_counter subtest
Wendy Wang [Thu, 5 Jun 2014 02:27:42 +0000 (10:27 +0800)]
Add rc6_residency_counter subtest

Move rc6_residency_check to subtest, add new rc6_residency_counter subtest
for pm_rc6_residency IGT case.

Test results run on platforms show as below:
On HSW
---------------------------------------
[root@x-hswu opt]# ./pm_rc6_residency
IGT-Version: 1.6-g35b31df (x86_64) (Linux: 3.15.0-rc3_drm-intel-nightly_0791a3_20140520+ x86_64)
Subtest rc6-residency-check: SUCCESS
This machine doesn't support rc6pp
This machine doesn't support rc6p
This machine entry  rc6 status.
The residency counter : 0.999667
Subtest rc6-residency-counter: SUCCESS

On IVB
----------------------------------------
[root@IVB tests]# ./pm_rc6_residency
IGT-Version: 1.6-g35b31df (x86_64) (Linux: 3.13.6_20140318+ x86_64)
Subtest rc6-residency-check: SUCCESS
This machine entry  rc6p status.
The residency counter : 0.997000
Subtest rc6-residency-counter: SUCCESS

On BYT
----------------------------------------
root@x-byt:/opt# ./pm_rc6_residency
IGT-Version: 1.6-g0d39021 (x86_64) (Linux: 3.14.0_kcloud_ceabbb_20140521+ x86_64)
Subtest rc6-residency-check: SUCCESS
This machine doesn't support rc6pp
This machine doesn't support rc6p
The residency counter : 1.144333
Test assertion failure function rc6_residency_counter, file pm_rc6_residency.c:131:
Last errno: 0, Success
Failed assertion: counter_result <=1
Debug files must be wrong,
Subtest rc6-residency-counter: FAIL

On BDW
---------------------------------------
[root@x-bdw01 opt]# ./pm_rc6_residency
IGT-Version: 1.6-g0d39021 (x86_64) (Linux: 3.15.0-rc5_drm-intel-nightly_367653_20140521+ x86_64)
Subtest rc6-residency-check: SUCCESS
This machine doesn't support rc6pp
This machine doesn't support rc6p
The residency counter : 0.994333
This machine entry rc6 state.
Subtest rc6-residency-counter: SUCCESS

Signed-off-by: Liu, Lei A <lei.a.liu@intel.com>
Signed-off-by: Wendy Wang <wendy.wang@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
10 years agolib: Add debug to memory limits checks
Chris Wilson [Thu, 5 Jun 2014 12:33:25 +0000 (13:33 +0100)]
lib: Add debug to memory limits checks

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agoigt/gem_evict_everything: Compute number of surfaces to saturate the aperture
Chris Wilson [Thu, 5 Jun 2014 12:19:39 +0000 (13:19 +0100)]
igt/gem_evict_everything: Compute number of surfaces to saturate the aperture

The goal is to only fill the aperture, not all of memory, so fine-tune
the computed number of surfaces, hopefully avoiding an integer overflow
in the process.

References: https://bugs.freedesktop.org/show_bug.cgi?id=79573
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agolib/igt_debugfs: Fix spelling docs
Daniel Vetter [Thu, 5 Jun 2014 08:28:09 +0000 (10:28 +0200)]
lib/igt_debugfs: Fix spelling docs

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agorendercopy/gen8: Also emit 3DSTATE_WM_DEPTH_STENCIL.
Kenneth Graunke [Tue, 3 Jun 2014 21:52:30 +0000 (14:52 -0700)]
rendercopy/gen8: Also emit 3DSTATE_WM_DEPTH_STENCIL.

rendercopy was failing to emit 3DSTATE_WM_DEPTH_STENCIL, which is a new
packet on Broadwell.  Mesa emits this packet.

This appears to fix various tests on a fresh boot, when Mesa has never
run.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78890
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78891
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78935
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78936
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78937
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78938
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Tested-by: Guo Jinxian <jinxianx.guo@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
10 years agotests/kms_flip: Move EBUSY to a new busy-flip subtest
Ville Syrjälä [Wed, 28 May 2014 17:05:59 +0000 (20:05 +0300)]
tests/kms_flip: Move EBUSY to a new busy-flip subtest

The EBUSY checking is very fragile currently in case there's any kind
extra delay in the test loop. At least the flip-vs-rmfb fails reliably
on my IVB.

So to make the test less fragile remove the EBUSY check from all the
current flip tests, and instead add a specific busy-flip test. To
better guarantee that we get the EBUSY add a blocking vblank wait just
before we issue the first flip. This maximizes the time we have to
submit two flips during one frame.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agointel-gpu-tools: move kms_fence_pin_leak to single test list
Tim Gore [Wed, 4 Jun 2014 08:32:54 +0000 (09:32 +0100)]
intel-gpu-tools: move kms_fence_pin_leak to single test list

In Makefile.sources, kms_fence_pin_leak was in the "Multi" test list,
ie tests with subtests, whereas it is actually simple/single test.
This was confusing the Android script for enumerating tests.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoquick_dump: increase reg name column width
Imre Deak [Tue, 3 Jun 2014 13:52:48 +0000 (16:52 +0300)]
quick_dump: increase reg name column width

Needed by the new long audio register names.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: vlv: remove redundant base file specifications
Imre Deak [Tue, 3 Jun 2014 13:04:47 +0000 (16:04 +0300)]
quick_dump: vlv: remove redundant base file specifications

The registers in these files are included in the dumps for all platforms
by default, so no need to specify them explicitly.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: vlv: move flisdsi register group to its logical place
Imre Deak [Tue, 3 Jun 2014 12:44:27 +0000 (15:44 +0300)]
quick_dump: vlv: move flisdsi register group to its logical place

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: vlv: add missing dpio phy registers
Imre Deak [Tue, 3 Jun 2014 12:55:11 +0000 (15:55 +0300)]
quick_dump: vlv: add missing dpio phy registers

Also move the phy register block to its logical place.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: vlv: add missing display registers
Imre Deak [Tue, 3 Jun 2014 11:26:30 +0000 (14:26 +0300)]
quick_dump: vlv: add missing display registers

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: chv: add misc gen7 GT registers
Imre Deak [Tue, 3 Jun 2014 13:11:52 +0000 (16:11 +0300)]
quick_dump: chv: add misc gen7 GT registers

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: chv: add dsi (mipi) registers
Imre Deak [Mon, 2 Jun 2014 23:02:24 +0000 (02:02 +0300)]
quick_dump: chv: add dsi (mipi) registers

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: vlv: clean up dsi (mipi) registers
Imre Deak [Mon, 2 Jun 2014 22:59:45 +0000 (01:59 +0300)]
quick_dump: vlv: clean up dsi (mipi) registers

Split out the base offset into the third argument and rename MIPIB to
MIPIC to match the display cluster register HAS.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: chv: add full dpio phy dumps
Ville Syrjälä [Fri, 21 Mar 2014 17:07:43 +0000 (10:07 -0700)]
quick_dump: chv: add full dpio phy dumps

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agoquick_dump: chv: add display registers
Ville Syrjälä [Fri, 21 Mar 2014 08:51:29 +0000 (01:51 -0700)]
quick_dump: chv: add display registers

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
[imre: add audio regs]
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agoquick_dump: chv: add detection support
Ville Syrjälä [Wed, 28 May 2014 15:45:27 +0000 (18:45 +0300)]
quick_dump: chv: add detection support

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agoquick_dump: add support for accessing the dpio phy 2 registers
Ville Syrjälä [Wed, 28 May 2014 15:23:07 +0000 (18:23 +0300)]
quick_dump: add support for accessing the dpio phy 2 registers

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agolib/intel_iosf: add second phy support
Ville Syrjälä [Wed, 28 May 2014 15:26:39 +0000 (18:26 +0300)]
lib/intel_iosf: add second phy support

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agoquick_dump: allow passing display base as the third argument
Imre Deak [Mon, 2 Jun 2014 12:48:27 +0000 (15:48 +0300)]
quick_dump: allow passing display base as the third argument

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agoquick_dump: pass register offsets as int
Ville Syrjälä [Wed, 28 May 2014 15:32:39 +0000 (18:32 +0300)]
quick_dump: pass register offsets as int

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
[imre: fix s/regi/intreg/ typo]
Reviewed-by: Imre Deak <imre.deak@intel.com>
10 years agoquick_dump: fix typo breaking dpio reg dumps
Imre Deak [Tue, 3 Jun 2014 13:44:41 +0000 (16:44 +0300)]
quick_dump: fix typo breaking dpio reg dumps

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agoquick_dump: make autodetect the default option
Imre Deak [Tue, 3 Jun 2014 13:03:50 +0000 (16:03 +0300)]
quick_dump: make autodetect the default option

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Very-much-wanted-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agointel-gpu-tools: remove testdisplay.h from kms_render.c
Tim Gore [Tue, 3 Jun 2014 14:18:31 +0000 (15:18 +0100)]
intel-gpu-tools: remove testdisplay.h from kms_render.c

kms_render.c included testdisplay.h but did not need it.
This was preventing it from building on Android due to the
lack of a Glib port. So I have removed this #include and
changed Android.mk so that kms_render is built if we have
cairo.

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agointel-gpu-tools: re-enable gem_exec_params on Android
Tim Gore [Tue, 3 Jun 2014 14:05:56 +0000 (15:05 +0100)]
intel-gpu-tools: re-enable gem_exec_params on Android

The missing macro that was preventing the gem_exec_params
test from building is now in i915_drm.h, in ABT at least,
and this test can now build. So I have removed it from the
skip list in Android.mk

For Gmin I have added a patch for i915_drm.h to the Wiki

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotools/null_state_gen: generate null render state
Mika Kuoppala [Thu, 10 Apr 2014 12:15:13 +0000 (15:15 +0300)]
tools/null_state_gen: generate null render state

Generate valid (null) render state for each gen. Output
it as a c source file with batch and relocations.

v2: noinst and vs_start fixed for BDW GT3 (Damien Lespiau)

Acked-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
10 years agoigt/gem_evict_everything: Move assertion
Chris Wilson [Tue, 3 Jun 2014 06:31:49 +0000 (07:31 +0100)]
igt/gem_evict_everything: Move assertion

If we move the assertion from out of the callback, we can get a much
more useful error message.

References: https://bugs.freedesktop.org/show_bug.cgi?id=79573
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agokms_cursor_crc: Test cursor size change ioctl
Antti Koskipaa [Mon, 2 Jun 2014 10:43:18 +0000 (13:43 +0300)]
kms_cursor_crc: Test cursor size change ioctl

Now that we support cursor changes other than 64x64, a bug was found
where the size change was only applied at cursor enable time, rather
than at every update. Add a testcase for that.

Signed-off-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoNEWS: Fix spelling a bit
Daniel Vetter [Wed, 28 May 2014 14:19:16 +0000 (16:19 +0200)]
NEWS: Fix spelling a bit

10 years agoNEWS: Don't forget the runtime pm helpers!
Daniel Vetter [Wed, 28 May 2014 14:05:14 +0000 (16:05 +0200)]
NEWS: Don't forget the runtime pm helpers!

10 years agoNEWS: Updates ...
Daniel Vetter [Wed, 28 May 2014 14:02:08 +0000 (16:02 +0200)]
NEWS: Updates ...

10 years agobuild: Don't fail if SWIG isn't found
Damien Lespiau [Wed, 28 May 2014 13:18:34 +0000 (14:18 +0100)]
build: Don't fail if SWIG isn't found

People from distros have reported that packaging the newer versions is
more difficult because we now depend on SWIG. We don't have to, it's
needed for the python dumper and is an optional build dependency.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoFactor in kernel object overhead when checking available memory for tests
Chris Wilson [Wed, 28 May 2014 08:01:56 +0000 (09:01 +0100)]
Factor in kernel object overhead when checking available memory for tests

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests/kms_flip: Make flip-vs-panning-vs-hang change DSPSURF
Ville Syrjälä [Tue, 27 May 2014 18:33:10 +0000 (21:33 +0300)]
tests/kms_flip: Make flip-vs-panning-vs-hang change DSPSURF

Make sure DSPSURF will change during the panning operation
in flip-vs-panning-vs-hang.

This will now test agains bugs between the kernel's mmio vs.
CS flip race handling and GPU resets. If the kernel is buggy
if will fail to notice that the panning operation changed the
base address before the GPU reset had a chance to deal with the
pending page flips, and so the flip would never complete due to
DSPSURFLIVE not matching the expected value.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agointel-gpu-tools: Skip kms_mmio_vs_cs_flip if no cairo
Tim Gore [Tue, 27 May 2014 15:45:24 +0000 (16:45 +0100)]
intel-gpu-tools: Skip kms_mmio_vs_cs_flip if no cairo

The kms_mmio_vs_cs_flip test uses igt_kms.c which in turn
uses cairo. So in Android.mk add this test to the skip list
if we dont have cairo

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_pipe_crc_basic: Add gpu hang tests
Daniel Vetter [Thu, 22 May 2014 15:29:48 +0000 (17:29 +0200)]
tests/kms_pipe_crc_basic: Add gpu hang tests

Currently pipe CRC support is broken after gpu hangs. This tests for
this bug.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_pipe_crc_basic: Add suspend tests
Daniel Vetter [Thu, 22 May 2014 14:27:44 +0000 (16:27 +0200)]
tests/kms_pipe_crc_basic: Add suspend tests

Currently broken ...

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/drv_hangman: Add subtest for error state capture/dump
Mika Kuoppala [Tue, 20 May 2014 08:25:48 +0000 (11:25 +0300)]
tests/drv_hangman: Add subtest for error state capture/dump

Guarantees that error capture works at a very basic level.

v2: Also check that the ring object contains a reloc with MI_BB_START
for the presumed batch object's address.

v3: Chris review comments:
 - Move variables to local scope.
 - Do not assume there is only one request.
 - Some gen encode flags into the BB start address.
 Also, use igt_set/get_stop_rings as suggested by Mika Kuoppala.

v4: Make as a subtest of drv_hangman.
v5: Rebase

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com> <v4>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
10 years agotests/drv_hangman: Convert test from shell script to c
Mika Kuoppala [Mon, 19 May 2014 14:42:21 +0000 (17:42 +0300)]
tests/drv_hangman: Convert test from shell script to c

Mixing script and standlone tests didn't mix well with the
strict i915_ring_stop flags handling. Also squash drv_missed_irq_hang
to the new test.

v2: - Remove missed irq test (Daniel Vetter)
    - gitignore fixed (Oscar Mateo)
    - fix check_other_clients to handle dangling fd's

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78322
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Oscar Mateo <oscar.mateo@intel.com> <v1>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
10 years agoigt/gem_userptr_blits: Fix up last minute API changes
Chris Wilson [Thu, 22 May 2014 09:20:33 +0000 (10:20 +0100)]
igt/gem_userptr_blits: Fix up last minute API changes

When the patch was merged, the ioctl numbers had to be adjusted to leave
no holes. Also there was a final piece of munging of the API to
downgrade unsynced userptr for export over dma-buf.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests/kms_mmio_vs_cs_flip: Add a test case to exercise mmio vs. CS flip races
Ville Syrjälä [Mon, 14 Apr 2014 13:14:40 +0000 (16:14 +0300)]
tests/kms_mmio_vs_cs_flip: Add a test case to exercise mmio vs. CS flip races

kms_mmio_vs_cs_flip has two subtests:
- setplane_vs_cs_flip tests the interaction between
  fullscreen sprites and CS flips
- setcrtc_vs_cs_flip tests the interaction between
  primary plane panning and CS flips

v2: Skip sprite test when there are no sprites
    Reduce busy_bo to 64MB (now works on my gen2)
    Handle pipe vs. port incompatibility
v3: Handle missing auto pipe crc

Reviewed-by Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agotests/kms_sink_crc_basic: Use igt_assert
Daniel Vetter [Thu, 22 May 2014 07:34:36 +0000 (09:34 +0200)]
tests/kms_sink_crc_basic: Use igt_assert

Less verbose code makes for clearer test logic.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_sink_crc_basic: skip properly
Daniel Vetter [Thu, 22 May 2014 07:32:22 +0000 (09:32 +0200)]
tests/kms_sink_crc_basic: skip properly

Not running the test is not failing.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoRevert "Revert "store_dw_loop: make loops smaller""
Daniel Vetter [Thu, 22 May 2014 07:07:45 +0000 (09:07 +0200)]
Revert "Revert "store_dw_loop: make loops smaller""

This reverts commit 3005ac3ee8d7aede73a3e63d2068a6074156ebe5.

QA has done the testing we've wanted.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_flip: various improvements
Daniel Vetter [Tue, 20 May 2014 13:45:31 +0000 (15:45 +0200)]
tests/kms_flip: various improvements

- Some debug logging for the ts continuity checks.
- Add a plain vblank-vs-suspend test where kms_flip doesn't switch off
  the displays first.
- Ensure that we do at least 2 rounds, the suspend tests bailed out
  after 1 round and so didn't test anything.
- Frob the testnames a bit.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_flip: Add vblank vs. gpu hang testcase
Daniel Vetter [Tue, 20 May 2014 12:42:12 +0000 (14:42 +0200)]
tests/kms_flip: Add vblank vs. gpu hang testcase

Currently broken :(

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agoassembler: distinguish the channel of .z from the condition of .z
Xiang, Haihao [Tue, 25 Mar 2014 05:55:14 +0000 (13:55 +0800)]
assembler: distinguish the channel of .z from the condition of .z

The scratch patch only works for generic register

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75631
Tested-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
10 years agoassembler: switch the order of swizzle and regtype to match the BNF of the assembly
Xiang, Haihao [Tue, 25 Mar 2014 05:41:25 +0000 (13:41 +0800)]
assembler: switch the order of swizzle and regtype to match the BNF of the assembly

Fortunately our existing source didn't use swizzle.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75631
Tested-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
10 years agoigt/quickdump: vlv: dump FLISDSI regs too
Imre Deak [Sun, 18 May 2014 20:37:56 +0000 (23:37 +0300)]
igt/quickdump: vlv: dump FLISDSI regs too

Signed-off-by: Imre Deak <imre.deak@intel.com>
10 years agoigt/intel_iosf: rename IOSF sideband opcodes according to the spec
Imre Deak [Mon, 19 May 2014 10:26:35 +0000 (13:26 +0300)]
igt/intel_iosf: rename IOSF sideband opcodes according to the spec

These opcodes are not specific for an endpoint, but are the same for all
endpoints. So rename them accordingly, using the name the VLV2 sideband
HAS uses. Also move the macros to the .c file, since they aren't used
anywhere else.

Signed-off-by: Imre Deak <imre.deak@intel.com>
10 years agoRevert "store_dw_loop: make loops smaller"
Daniel Vetter [Mon, 19 May 2014 16:11:34 +0000 (18:11 +0200)]
Revert "store_dw_loop: make loops smaller"

This reverts commit f00efff326610fdba92dbc91d951790a3320052e.

This is a temporary revert since I want QA to first test with the
original testcase whether it got faster again. This is to test the
effects of

commit 227f782e4667fc622810bce8be8ccdeee45f89c2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 15 10:41:42 2014 +0100

    drm/i915: Retire requests before creating a new one

We should revert this revert again as soon as QA has completed
testing.

References: https://bugs.freedesktop.org/show_bug.cgi?id=78024
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agostore_dw_loop: make loops smaller
Jesse Barnes [Mon, 19 May 2014 15:44:12 +0000 (08:44 -0700)]
store_dw_loop: make loops smaller

These tests are really for catching TLB or GTT mapping failures due to
bad programming in the kernel driver.  We've never needed more than a
few pages worth of data write to actually see those.

10 years agoigt/gem_bad_reloc: Refine for limited kernel w/a
Chris Wilson [Mon, 19 May 2014 06:26:12 +0000 (07:26 +0100)]
igt/gem_bad_reloc: Refine for limited kernel w/a

One proposed solution only fixes up the SNA behaviour, so reduce the
test case to probe only that particular pathology.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
10 years agotests/kms_sink_crc_basic: Put into righ Makefile target
Daniel Vetter [Fri, 16 May 2014 21:36:25 +0000 (23:36 +0200)]
tests/kms_sink_crc_basic: Put into righ Makefile target

If it's a simple test, it needs to be in the simple lists. Tests with
subtests go into the _M tests.

Without that test enumeration is all screwed up.

Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
10 years agotests/kms_flip: test a fb backed by a bo too big/small for its own good
Oscar Mateo [Fri, 16 May 2014 13:07:12 +0000 (14:07 +0100)]
tests/kms_flip: test a fb backed by a bo too big/small for its own good

This is a "review by igt test" for a bug located in
i915_gem_object_pin_to_display_plane and fixed by:

commit 392013bdd4b6128795e33c84bd6d6d3fd66ff0a3
Author: Oscar Mateo <oscar.mateo@intel.com>
Date:   Fri May 16 11:23:12 2014 +0100

    drm/i915: Gracefully handle obj not bound to GGTT in is_pin_display

    Otherwise, we do a NULL pointer dereference.

    I've seen this happen while handling an error in
    i915_gem_object_pin_to_display_plane():

    If i915_gem_object_set_cache_level() fails, we call is_pin_display()
    to handle the error. At this point, the object is still not pinned
    to GGTT and maybe not even bound, so we have to check before we
    dereference its GGTT vma.

    v2: Chris Wilson says restoring the old value is easier, but that
    is_pin_display is useful as a theory of operation. Take the solomonic
    decision: at least this way is_pin_display is a little more robust
    (until Chris can kill it off).

v2: Avoid code duplication by using igt_create_fb_with_bo_size() as
requested by Ville Syrjälä (original author of the "too big" test idea).

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
10 years agolib/igt_fb: igt_create_fb_with_bo_size
Oscar Mateo [Fri, 16 May 2014 13:07:11 +0000 (14:07 +0100)]
lib/igt_fb: igt_create_fb_with_bo_size

Useful for testing bigger/smaller fb-wrapped buffer objects.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>